Inhaltsverzeichnis
BSI IT-Grundschutz mapiranje
Mapiranje WvdS Post-Quantum kriptografske biblioteke na BSI IT-Grundschutz module.
Pregled
BSI IT-Grundschutz-Kompendium1) definira sigurnosne zahtjeve za IT sustave. Ova stranica dokumentira kako WvdS ispunjava relevantne module.
Kriptografski
koncept"] CON5["CON.5
Upravljanje
ključevima"] OPS115["OPS.1.1.5
Protokoliranje"] APP31["APP.3.1
Web aplikacije"] NET31["NET.3.1
Usmjerivači/Switchevi"] end subgraph WVDS["WvdS PQ-Crypto"] CFG["CryptoConfig"] KDF["KeyDerivation"] LOG["Audit-događaji"] TLS["TLS-proširenja"] CERT["X.509 certifikati"] end CON1 --> CFG CON5 --> KDF OPS115 --> LOG APP31 --> TLS NET31 --> CERT style CFG fill:#4caf50,color:#fff style KDF fill:#4caf50,color:#fff style LOG fill:#4caf50,color:#fff style TLS fill:#4caf50,color:#fff style CERT fill:#4caf50,color:#fff
CON.1 Kriptografski koncept
Modul: Koncepcije i postupci - Kriptografski koncept2)
| Zahtjev | BSI-ID | WvdS provedba | Status |
|---|---|---|---|
| Odabir prikladnih kriptografskih postupaka | CON.1.A1 | ML-DSA (FIPS 204), ML-KEM (FIPS 203) | ✅ |
| Sigurnosna kopija kriptografskih ključeva | CON.1.A2 | KeyDerivation, PEM-izvoz sa šifriranjem | ✅ |
| Šifriranje komunikacije | CON.1.A3 | TLS 1.3 s PQ-algoritmima | ✅ |
| Prikladne duljine ključeva | CON.1.A4 | ML-DSA-44/65/87, ML-KEM-512/768/1024 | ✅ |
| Dokumentiranje kriptografskog koncepta | CON.1.A5 | Dokumentacija koncepata | ✅ |
| Redovita provjera | CON.1.A6 | Verzioniran API, NIST-usklađenost | ✅ |
Provedba u detalje
CON.1.A1 - Odabir prikladnih kriptografskih postupaka:
// WvdS koristi isključivo NIST-standardizirane algoritme CryptoConfig.DefaultMode = CryptoMode.Hybrid; // Dostupni algoritmi: // - ML-DSA-44/65/87 (NIST FIPS 204) // - ML-KEM-512/768/1024 (NIST FIPS 203) // - RSA-2048/3072/4096 (klasično) // - ECDSA P-256/384/521 (klasično)
CON.1.A4 - Prikladne duljine ključeva:
Duljine ključeva odgovaraju BSI preporukama3):
| Algoritam | Sigurnosna razina | BSI preporuka |
|---|---|---|
| ML-DSA-44 | NIST Level 2 (~128 bita) | Kratkotrajni certifikati |
| ML-DSA-65 | NIST Level 3 (~192 bita) | Standardna preporuka |
| ML-DSA-87 | NIST Level 5 (~256 bita) | Najviša sigurnost |
CON.5 Razvoj i primjena sustava za upravljanje ključevima
Modul: Upravljanje ključevima4)
| Zahtjev | BSI-ID | WvdS provedba | Status |
|---|---|---|---|
| Analiza zahtjeva | CON.5.A1 | Dokumentirani API, scenariji | ✅ |
| Generiranje ključeva | CON.5.A2 | OpenSSL 3.6 CSPRNG | ✅ |
| Pohrana ključeva | CON.5.A3 | Šifrirani PEM-izvoz | ✅ |
| Distribucija ključeva | CON.5.A4 | X.509 certifikati, CSR tijek rada | ✅ |
| Derivacija ključeva | CON.5.A5 | HKDF, PBKDF2, Argon2id | ✅ |
| Uništavanje ključeva | CON.5.A6 | SecureZeroMemory, IDisposable | ✅ |
| Arhiviranje ključeva | CON.5.A7 | PEM/PFX sa zaštitom lozinkom | ✅ |
Provedba u detalje
CON.5.A5 - Derivacija ključeva:
Funkcije derivacije ključeva odgovaraju BSI preporukama5) i NIST standardima6).
// HKDF (RFC 5869) za derivaciju ključeva var derivedKey = KeyDerivationExtensions.DeriveKey( sharedSecret, salt: cryptoRandom, info: contextInfo, outputLength: 32, HashAlgorithmName.SHA256 ); // Argon2id za derivaciju temeljenu na lozinki (Memory-Hard) var key = OpenSslKdf.Argon2id( password, salt, outputLength: 32, iterations: 3, memoryKiB: 65536, // 64 MB parallelism: 4 );
CON.5.A6 - Uništavanje ključeva:
// Automatsko uništavanje ključeva putem IDisposable using var keyPair = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); // ... korištenje ... // Dispose() poziva SecureZeroMemory na bajtove privatnog ključa
OPS.1.1.5 Protokoliranje
Modul: Protokoliranje7)
| Zahtjev | BSI-ID | WvdS provedba | Status |
|---|---|---|---|
| Izrada smjernica protokoliranja | OPS.1.1.5.A1 | Dokumentirani događaji | ✅ |
| Osiguranje integriteta | OPS.1.1.5.A3 | Potpisani revizijski logovi | ⏳ |
| Zaštita podataka protokola | OPS.1.1.5.A4 | Šifrirani logovi | ⏳ |
Događaji za protokoliranje
| Događaj | Podaci | Svrha |
|---|---|---|
| KeyGeneration | Algoritam, KeyId, Timestamp | Revizijski trag |
| CertificateCreation | Subject, Serial, Validity | PKI nadzor |
| SignatureOperation | KeyId, DataHash, Mode | Pratljivost |
| ValidationResult | CertChain, Status, Reason | Sigurnosni nadzor |
APP.3.1 Web aplikacije i web servisi
Relevantnost: TLS konfiguracija za web poslužitelje
| Zahtjev | BSI-ID | WvdS provedba | Status |
|---|---|---|---|
| TLS šifriranje | APP.3.1.A14 | Hibridni TLS certifikati | ✅ |
| Sigurna autentifikacija | APP.3.1.A15 | mTLS s PQ certifikatima | ✅ |
// Hibridni serverski certifikat za TLS var serverCert = request.CreateServerCertificate( intermediateCa, dnsNames: new[] { "api.example.com" }, mode: CryptoMode.Hybrid // ECDSA + ML-DSA );
NET.3.1 Usmjerivači i switchevi
Relevantnost: Mrežni uređaji s certifikatima
| Zahtjev | BSI-ID | WvdS provedba | Status |
|---|---|---|---|
| Osiguranje upravljačkog pristupa | NET.3.1.A4 | mTLS certifikati | ✅ |
| Sigurni protokoli | NET.3.1.A9 | SSH/TLS s PQ | ✅ |
Kontrolna lista za revizore
Za BSI revizije koristite ovu kontrolnu listu:
| # | Točka provjere | Dokaz | ✓ |
| — | —————- | ——- | — |
| 1 | Kriptografski koncept dokumentiran | Koncepti | ☐ |
| 2 | NIST-usklađeni algoritmi | FIPS 203/204 reference | ☐ |
| 3 | Generiranje ključeva putem CSPRNG | OpenSSL 3.6 izvorni kod | ☐ |
| 4 | Derivacija ključeva dokumentirana | KeyDerivation API | ☐ |
| 5 | Sigurno uništavanje ključeva | IDisposable obrazac u kodu | ☐ |
| 6 | Hibridna kriptografija | CryptoMode.Hybrid | ☐ |
| 7 | Upravljanje certifikatima | PKI scenariji | ☐ |
BSI TR-03116 (Kriptografski zahtjevi)
BSI Tehnička smjernica TR-031168) definira konkretne kriptografske zahtjeve:
| Zahtjev | TR-03116 dio | WvdS usklađenost |
|---|---|---|
| TLS 1.3 Cipher Suites | Dio 4 | ✅ Podržano |
| Algoritmi potpisa | Dio 1 | ✅ ML-DSA (NIST) |
| Razmjena ključeva | Dio 4 | ✅ ML-KEM (NIST) |
| Hash funkcije | Dio 1 | ✅ SHA-256/384/512 |
Daljnje informacije
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional