Il WvdS Crypto Service consiste in due daemon indipendenti su L4Re:
Sistema L4Re +---------------------------------------------------------------------+ | | | +------------------+ +------------------+ +--------------+ | | | crypto_service | | est_service | | OEM Gateway | | | | | | | | | | | | * AES-256-GCM | | * Protocollo EST| | * Il tuo cod.| | | | * ML-DSA Sign | | * Richiesta cert| | * Dati sens. | | | | * ML-KEM KeyGen | | * Rinnovo cert. | | * Business | | | +--------+---------+ +--------+---------+ +------+-------+ | | | | | | | +------------------------+----------------------+ | | Memoria Condivisa IPC | | | +---------------------------------------------------------------------+
| Funzione | Operazioni crittografiche |
| Protocollo | Richiesta/Risposta via memoria condivisa |
| Libreria | OpenSSL 3.6 con FIPS Provider |
Il crypto_service esegue tutte le operazioni crittografiche:
| Funzione | Gestione certificati |
| Protocollo | EST (Enrollment over Secure Transport) |
| RFC | RFC 7030 |
L'est_service gestisce:
La comunicazione tra OEM Gateway e Crypto Service usa la memoria condivisa:
OEM Gateway crypto_service
| |
| 1. Richiesta in memoria condivisa |
+------------------------------------->|
| |
| 2. Segnale (IPC) |
+------------------------------------->|
| |
| 3. Elaborazione |
| |
| 4. Risposta in memoria condivisa |
|<-------------------------------------+
| |
| 5. Segnale (IPC) |
|<-------------------------------------+
Vantaggi:
Limitazioni:
wvds-crypto-svc-0.2.0-oem-delivery.tar.gz | +-- bin/ | +-- aarch64/ | +-- wvds_crypto_service # DAEMON PRONTO (L4Re Task) | +-- lib/ | +-- aarch64/ # ARM64 Target (L4Re) | | +-- libl4re_crypto_service.so # Crypto Service Library | | +-- libcrypto.so.3 # OpenSSL 3.6 | | +-- libssl.so.3 # OpenSSL 3.6 | | +-- fips.so # FIPS Provider | | +-- fipsmodule.cnf # Configurazione FIPS | +-- x86_64/ # x86_64 (per test locali) | +-- [stessi file] | +-- include/ | +-- wvds_crypto.h # Header C per funzioni helper | +-- certs/ # Certificati di test | +-- root_ca.pem / .der | +-- service_cert.pem / .der | +-- client_cert.pem / .der | +-- scripts/ | +-- extract_certs.py # Tool per certificati | +-- install.sh # Script di installazione +-- README_OEM.md # Quick Start +-- WvdS_KB_OEM.md # Knowledge Base
Il Crypto Service supporta varie opzioni di archiviazione chiavi:
| Opzione | Sicurezza | Configurazione |
| File | Base | Chiavi nel filesystem (cifrate) |
| TPM | Alta | Chiavi nel Trusted Platform Module |
| HSM | Massima | Chiavi nell'Hardware Security Module |
La configurazione avviene via config.json (vedi Installazione).
+---------------------------------------------------------------+ | L4Re Microkernel | +---------------------------------------------------------------+ | | | | | | | +--+--+ +---+---+ +---+---+ +---+---+ | | | Sigma0 | | Moe | | Crypto | | OEM | | | | (Root) | | (Mem) | | Service| | Gateway| | | +--------+ +-------+ +--------+ +--------+ | | | | | | +--------------+ | | Memoria condivisa | | (solo questi due) | +---------------------------------------------------------------+
Isolamento: