~~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]]