Architettura di Sistema
Architettura a Due Daemon
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 | | | +---------------------------------------------------------------------+
crypto_service
| Funzione | Operazioni crittografiche |
| Protocollo | Richiesta/Risposta via memoria condivisa |
| Libreria | OpenSSL 3.6 con FIPS Provider |
Il crypto_service esegue tutte le operazioni crittografiche:
- AES-256-GCM Encrypt/Decrypt
- ML-DSA Sign/Verify
- ML-KEM KeyGen/Encaps/Decaps
est_service
| Funzione | Gestione certificati |
| Protocollo | EST (Enrollment over Secure Transport) |
| RFC | RFC 7030 |
L'est_service gestisce:
- Richiesta iniziale certificato (Enrollment)
- Rinnovo certificato (Re-Enrollment)
- Recupero certificato CA
Comunicazione via Memoria Condivisa
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:
- Nessun overhead kernel per trasferimento dati
- Zero-copy per payload grandi
- Massime prestazioni
Limitazioni:
- Payload massimo: 64 KB
- Elaborazione sincrona (una richiesta alla volta)
Contenuto della Consegna
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
Archiviazione Chiavi
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).
Confini di Sicurezza
+---------------------------------------------------------------+ | L4Re Microkernel | +---------------------------------------------------------------+ | | | | | | | +--+--+ +---+---+ +---+---+ +---+---+ | | | Sigma0 | | Moe | | Crypto | | OEM | | | | (Root) | | (Mem) | | Service| | Gateway| | | +--------+ +-------+ +--------+ +--------+ | | | | | | +--------------+ | | Memoria condivisa | | (solo questi due) | +---------------------------------------------------------------+
Isolamento:
- Ogni task ha il proprio spazio di indirizzamento
- Crypto Service raggiungibile solo via IPC definito
- Kernel impone controllo accessi basato su capability
Zuletzt geändert: il 29/01/2026 alle 22:00