~~NOTOC~~ {{wvds:title>Arhitektura}} ===== Arhitektura Sustava ===== ==== Arhitektura s Dva Daemona ==== WvdS Crypto Service sastoji se od dva neovisna daemona na L4Re: L4Re Sustav +---------------------------------------------------------------------+ | | | +------------------+ +------------------+ +--------------+ | | | crypto_service | | est_service | | OEM Gateway | | | | | | | | | | | | * AES-256-GCM | | * EST Protokol | | * Vaš kod | | | | * ML-DSA Sign | | * Zahtjev cert. | | * Senzorski | | | | * ML-KEM KeyGen | | * Obnova cert. | | podaci | | | +--------+---------+ +--------+---------+ +------+-------+ | | | | | | | +------------------------+----------------------+ | | Dijeljena Memorija IPC | | | +---------------------------------------------------------------------+ === crypto_service === | Funkcija | Kriptografske operacije | | Protokol | Zahtjev/odgovor preko dijeljene memorije | | Biblioteka | OpenSSL 3.6 s FIPS providerom | crypto_service izvršava sve kriptografske operacije: * AES-256-GCM šifriranje/dešifriranje * ML-DSA potpisivanje/provjera * ML-KEM KeyGen/Encaps/Decaps === est_service === | Funkcija | Upravljanje certifikatima | | Protokol | EST (Enrollment over Secure Transport) | | RFC | RFC 7030 | est_service upravlja: * Početni zahtjev za certifikat (Enrollment) * Obnova certifikata (Re-Enrollment) * Dohvaćanje CA certifikata ---- ==== Komunikacija preko Dijeljene Memorije ==== Komunikacija između OEM Gatewaya i Crypto Servicea koristi dijeljenu memoriju: OEM Gateway crypto_service | | | 1. Zahtjev u dijeljenu memoriju | +------------------------------------->| | | | 2. Signal (IPC) | +------------------------------------->| | | | 3. Obrada | | | | 4. Odgovor u dijeljenu memoriju | |<-------------------------------------+ | | | 5. Signal (IPC) | |<-------------------------------------+ **Prednosti:** * Bez kernel overheada za prijenos podataka * Zero-copy za velike sadržaje * Maksimalne performanse **Ograničenja:** * Maks. sadržaj: 64 KB * Sinkrona obrada (jedan zahtjev odjednom) ---- ==== Sadržaj Isporuke ==== wvds-crypto-svc-0.2.0-oem-delivery.tar.gz | +-- bin/ | +-- aarch64/ | +-- wvds_crypto_service # GOTOV 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 lokalno testiranje) | +-- [iste 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 # Alat za certifikate | +-- install.sh # Instalacijska skripta +-- README_OEM.md # Brzi početak +-- WvdS_KB_OEM.md # Baza znanja ---- ==== Pohrana Ključeva ==== Crypto Service podržava različite opcije pohrane ključeva: | Opcija | Sigurnost | Konfiguracija | | File | Osnovna | Ključevi u datotečnom sustavu (šifrirani) | | TPM | Visoka | Ključevi u Trusted Platform Module | | HSM | Maksimalna | Ključevi u Hardware Security Module | Konfiguracija se vrši preko ''config.json'' (vidi [[.:installation|Instalacija]]). ---- ==== Sigurnosne Granice ==== +---------------------------------------------------------------+ | L4Re Microkernel | +---------------------------------------------------------------+ | | | | | | | +--+--+ +---+---+ +---+---+ +---+---+ | | | Sigma0 | | Moe | | Crypto | | OEM | | | | (Root) | | (Mem) | | Service| | Gateway| | | +--------+ +-------+ +--------+ +--------+ | | | | | | +--------------+ | | Dijeljena memorija | | (samo ova dva) | +---------------------------------------------------------------+ **Izolacija:** * Svaki task ima vlastiti adresni prostor * Crypto Service dostupan samo preko definiranog IPC * Kernel provodi kontrolu pristupa temeljenu na mogućnostima ---- [[.:start|< Natrag na pregled]]