~~NOTOC~~ {{wvds:title>Arhitektura}} ===== Sistemska Arhitektura ===== ==== Arhitektura z Dvema Daemonoma ==== WvdS Crypto Service sestoji iz dveh neodvisnih daemonov na L4Re: L4Re Sistem +---------------------------------------------------------------------+ | | | +------------------+ +------------------+ +--------------+ | | | crypto_service | | est_service | | OEM Gateway | | | | | | | | | | | | * AES-256-GCM | | * EST Protokol | | * Vaša koda | | | | * ML-DSA Sign | | * Zahteva cert. | | * Senzorski | | | | * ML-KEM KeyGen | | * Obnova cert. | | podatki | | | +--------+---------+ +--------+---------+ +------+-------+ | | | | | | | +------------------------+----------------------+ | | Skupni Pomnilnik IPC | | | +---------------------------------------------------------------------+ === crypto_service === | Funkcija | Kriptografske operacije | | Protokol | Zahteva/odgovor preko skupnega pomnilnika | | Knjižnica | OpenSSL 3.6 s FIPS providerjem | crypto_service izvaja vse kriptografske operacije: * AES-256-GCM šifriranje/dešifriranje * ML-DSA podpisovanje/preverjanje * ML-KEM KeyGen/Encaps/Decaps === est_service === | Funkcija | Upravljanje certifikatov | | Protokol | EST (Enrollment over Secure Transport) | | RFC | RFC 7030 | est_service upravlja: * Začetno zahtevo za certifikat (Enrollment) * Obnovo certifikata (Re-Enrollment) * Pridobivanje CA certifikata ---- ==== Komunikacija preko Skupnega Pomnilnika ==== Komunikacija med OEM Gateway in Crypto Service poteka preko skupnega pomnilnika: OEM Gateway crypto_service | | | 1. Zahteva v skupni pomnilnik | +------------------------------------->| | | | 2. Signal (IPC) | +------------------------------------->| | | | 3. Obdelava | | | | 4. Odgovor v skupni pomnilnik | |<-------------------------------------+ | | | 5. Signal (IPC) | |<-------------------------------------+ **Prednosti:** * Brez kernel overhead za prenos podatkov * Zero-copy pri velikih vsebinah * Maksimalna zmogljivost **Omejitve:** * Maks. vsebina: 64 KB * Sinhrona obdelava (ena zahteva naenkrat) ---- ==== Obseg Dostave ==== wvds-crypto-svc-0.2.0-oem-delivery.tar.gz | +-- bin/ | +-- aarch64/ | +-- wvds_crypto_service # KONČNI DAEMON (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 # FIPS Konfiguracija | +-- x86_64/ # x86_64 (za lokalne teste) | +-- [enake datoteke] | +-- include/ | +-- wvds_crypto.h # C Header za pomožne funkcije | +-- certs/ # Testni certifikati | +-- root_ca.pem / .der | +-- service_cert.pem / .der | +-- client_cert.pem / .der | +-- scripts/ | +-- extract_certs.py # Orodje za certifikate | +-- install.sh # Namestitveni skript +-- README_OEM.md # Hiter začetek +-- WvdS_KB_OEM.md # Baza znanja ---- ==== Shranjevanje Ključev ==== Crypto Service podpira različne možnosti shranjevanja ključev: | Možnost | Varnost | Konfiguracija | | File | Osnovna | Ključi v datotečnem sistemu (šifrirani) | | TPM | Visoka | Ključi v Trusted Platform Module | | HSM | Maksimalna | Ključi v Hardware Security Module | Konfiguracija poteka preko ''config.json'' (glejte [[.:installation|Namestitev]]). ---- ==== Varnostne Meje ==== +---------------------------------------------------------------+ | L4Re Microkernel | +---------------------------------------------------------------+ | | | | | | | +--+--+ +---+---+ +---+---+ +---+---+ | | | Sigma0 | | Moe | | Crypto | | OEM | | | | (Root) | | (Mem) | | Service| | Gateway| | | +--------+ +-------+ +--------+ +--------+ | | | | | | +--------------+ | | Skupni pomnilnik | | (samo ta dva) | +---------------------------------------------------------------+ **Izolacija:** * Vsak task ima svoj naslovni prostor * Crypto Service je dosegljiv le preko definiranega IPC * Kernel uveljavlja nadzor dostopa na osnovi zmožnosti ---- [[.:start|< Nazaj na pregled]]