Instalacija: 3-Koračna OEM Integracija
WvdS Crypto Service je gotova crna kutija. Ne trebate ništa kompajlirati ili konfigurirati. Jednostavno slijedite ova tri koraka.
Korak 1: Uključite Daemon u L4Re Image
Dodajte Crypto Service u vašu modules.list:
-- modules.list module wvds_crypto_service module libcrypto.so.3 module libssl.so.3
Korak 2: Pokrenite Daemon (Ned-Script)
Pokrenite daemon u vašem Ned-scriptu:
local L4 = require("L4") -- Kreiraj dijeljenu memoriju za komunikaciju local crypto_ds = L4.Env.ram:create(64 * 1024, L4.Dataspace.ALL):m("rw") -- Pokreni Crypto Daemon local crypto_daemon = L4.default_loader:start( { caps = { crypto_ep = crypto_ds:svr() } }, "rom/wvds_crypto_service" ) -- Vaš Gateway dobiva klijentsku stranu local gateway = L4.default_loader:start( { caps = { crypto_ep = crypto_ds } }, "rom/iss_gateway" )
Objašnjenje:
crypto_ds- Dijeljena memorija Dataspace (64 KB)crypto_ep = crypto_ds:svr()- Serverska strana za daemoncrypto_ep = crypto_ds- Klijentska strana za vaš Gateway
Korak 3: Komunicirajte iz Vašeg Koda
Uključite header i koristite pomoćne funkcije:
#include "wvds_crypto.h" void encrypt_sensor_data(const uint8_t* data, size_t len) { uint8_t request[1024]; size_t request_len = sizeof(request); // Izgradi zahtjev int rc = wvds_build_aes_encrypt_request( request, &request_len, 1, // Key-ID "sensor", 6, // AAD data, len // Čisti tekst ); if (rc == 0) { // Kopiraj zahtjev u dijeljenu memoriju memcpy(shared_memory, request, request_len); // Signaliziraj daemon signal_crypto_daemon(); // Čekaj na odgovor wait_for_response(); // Parsiraj odgovor uint8_t nonce[12], tag[16], ciphertext[1024]; size_t ct_len; wvds_parse_aes_encrypt_response( shared_memory, response_len, nonce, tag, ciphertext, &ct_len ); } }
To je sve!
Opcionalna Konfiguracija
Ako želite promijeniti zadane postavke, možete pružiti config.json:
{
"version": "0.2.0",
"key_storage": {
"type": "file",
"path": "/data/keys",
"encryption": "aes-256-gcm"
},
"rate_limit": {
"max_requests_per_second": 1000,
"burst": 100
},
"logging": {
"level": "info",
"destination": "syslog"
}
}
Opcije Pohrane Ključeva
| Tip | Opis |
file | Ključevi u datotečnom sustavu (zadano) |
tpm | Ključevi u TPM 2.0 |
hsm | Ključevi u vanjskom HSM |
Verifikacija
Provjerite radi li daemon ispravno:
# L4Re Console l4> ps ... wvds_crypto_service ... # Pošalji testni zahtjev l4> crypto_test encrypt "Hello World" OK: Ciphertext = 0x...
Rješavanje Problema
| Problem | Rješenje |
| Daemon se ne pokreće | libcrypto.so.3 u modules.list? |
| Greška dijeljene memorije | Dataspace dovoljno velik (min 64 KB)? |
| Greška mogućnosti | crypto_ep ispravno mapiran? |
| FIPS greška | fipsmodule.cnf prisutan? |
Vidi također Sigurnost > Rješavanje problema za dodatne greške.
Zuletzt geändert: 29.01.2026. u 21:57