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

< Torna alla panoramica

Zuletzt geändert: il 29/01/2026 alle 22:00