Inhaltsverzeichnis
Mapping BSI IT-Grundschutz
Mapping della libreria WvdS Post-Quantum-Cryptography sui moduli BSI IT-Grundschutz.
Panoramica
Il compendio BSI IT-Grundschutz1) definisce i requisiti di sicurezza per i sistemi IT. Questa pagina documenta come WvdS soddisfa i moduli rilevanti.
Concetto crypto"] CON5["CON.5
Gestione
chiavi"] OPS115["OPS.1.1.5
Logging"] APP31["APP.3.1
Applicazioni web"] NET31["NET.3.1
Router/Switch"] end subgraph WVDS["WvdS PQ-Crypto"] CFG["CryptoConfig"] KDF["KeyDerivation"] LOG["Audit-Events"] TLS["TLS-Extensions"] CERT["Certificati X.509"] 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 Concetto crittografico
Modulo: Concezione e procedure - Concetto crittografico2)
| Requisito | ID BSI | Implementazione WvdS | Stato |
|---|---|---|---|
| Selezione procedure crittografiche appropriate | CON.1.A1 | ML-DSA (FIPS 204), ML-KEM (FIPS 203) | ✅ |
| Backup chiavi crittografiche | CON.1.A2 | KeyDerivation, export PEM con cifratura | ✅ |
| Cifratura delle comunicazioni | CON.1.A3 | TLS 1.3 con algoritmi PQ | ✅ |
| Lunghezze chiavi appropriate | CON.1.A4 | ML-DSA-44/65/87, ML-KEM-512/768/1024 | ✅ |
| Documentare concetto crypto | CON.1.A5 | Documentazione concetti | ✅ |
| Verifica regolare | CON.1.A6 | API versionata, conformita NIST | ✅ |
Dettagli implementazione
CON.1.A1 - Selezione procedure crittografiche appropriate:
// WvdS utilizza esclusivamente algoritmi standardizzati NIST CryptoConfig.DefaultMode = CryptoMode.Hybrid; // Algoritmi disponibili: // - ML-DSA-44/65/87 (NIST FIPS 204) // - ML-KEM-512/768/1024 (NIST FIPS 203) // - RSA-2048/3072/4096 (classico) // - ECDSA P-256/384/521 (classico)
CON.1.A4 - Lunghezze chiavi appropriate:
Le lunghezze chiavi corrispondono alle raccomandazioni BSI3):
| Algoritmo | Livello sicurezza | Raccomandazione BSI |
|---|---|---|
| ML-DSA-44 | NIST Level 2 (~128 Bit) | Certificati a breve termine |
| ML-DSA-65 | NIST Level 3 (~192 Bit) | Raccomandazione standard |
| ML-DSA-87 | NIST Level 5 (~256 Bit) | Massima sicurezza |
CON.5 Sviluppo e impiego di sistemi di gestione chiavi
Modulo: Gestione chiavi4)
| Requisito | ID BSI | Implementazione WvdS | Stato |
|---|---|---|---|
| Analisi requisiti | CON.5.A1 | API documentata, scenari | ✅ |
| Generazione chiavi | CON.5.A2 | OpenSSL 3.6 CSPRNG | ✅ |
| Archiviazione chiavi | CON.5.A3 | Export PEM cifrato | ✅ |
| Distribuzione chiavi | CON.5.A4 | Certificati X.509, workflow CSR | ✅ |
| Derivazione chiavi | CON.5.A5 | HKDF, PBKDF2, Argon2id | ✅ |
| Distruzione chiavi | CON.5.A6 | SecureZeroMemory, IDisposable | ✅ |
| Archiviazione chiavi | CON.5.A7 | PEM/PFX con protezione password | ✅ |
Dettagli implementazione
CON.5.A5 - Derivazione chiavi:
Le funzioni di derivazione chiavi corrispondono alle raccomandazioni BSI5) e agli standard NIST6).
// HKDF (RFC 5869) per derivazione chiavi var derivedKey = KeyDerivationExtensions.DeriveKey( sharedSecret, salt: cryptoRandom, info: contextInfo, outputLength: 32, HashAlgorithmName.SHA256 ); // Argon2id per derivazione basata su password (Memory-Hard) var key = OpenSslKdf.Argon2id( password, salt, outputLength: 32, iterations: 3, memoryKiB: 65536, // 64 MB parallelism: 4 );
CON.5.A6 - Distruzione chiavi:
// Distruzione automatica chiavi via IDisposable using var keyPair = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); // ... utilizzo ... // Dispose() chiama SecureZeroMemory sui byte della chiave privata
OPS.1.1.5 Logging
Modulo: Logging7)
| Requisito | ID BSI | Implementazione WvdS | Stato |
|---|---|---|---|
| Creazione policy di logging | OPS.1.1.5.A1 | Eventi documentati | ✅ |
| Garanzia integrita | OPS.1.1.5.A3 | Log di audit firmati | ⏳ |
| Protezione dati di log | OPS.1.1.5.A4 | Log cifrati | ⏳ |
Eventi registrabili
| Evento | Dati | Scopo |
|---|---|---|
| KeyGeneration | Algoritmo, KeyId, Timestamp | Audit-Trail |
| CertificateCreation | Subject, Serial, Validita | Monitoraggio PKI |
| SignatureOperation | KeyId, DataHash, Modalita | Tracciabilita |
| ValidationResult | CertChain, Stato, Motivo | Security monitoring |
APP.3.1 Applicazioni web e servizi web
Rilevanza: Configurazione TLS per server web
| Requisito | ID BSI | Implementazione WvdS | Stato |
|---|---|---|---|
| Cifratura TLS | APP.3.1.A14 | Certificati TLS ibridi | ✅ |
| Autenticazione sicura | APP.3.1.A15 | mTLS con certificati PQ | ✅ |
// Certificato server ibrido per TLS var serverCert = request.CreateServerCertificate( intermediateCa, dnsNames: new[] { "api.example.com" }, mode: CryptoMode.Hybrid // ECDSA + ML-DSA );
NET.3.1 Router e Switch
Rilevanza: Dispositivi di rete con certificati
| Requisito | ID BSI | Implementazione WvdS | Stato |
|---|---|---|---|
| Proteggere accesso management | NET.3.1.A4 | Certificati mTLS | ✅ |
| Protocolli sicuri | NET.3.1.A9 | SSH/TLS con PQ | ✅ |
Checklist documentazione per auditor
Per audit BSI utilizzare questa checklist:
| # | Punto di verifica | Documentazione | ✓ |
| — | ———– | ———- | — |
| 1 | Concetto crypto documentato | Concetti | ☐ |
| 2 | Algoritmi conformi NIST | Riferimenti FIPS 203/204 | ☐ |
| 3 | Generazione chiavi via CSPRNG | Sorgente OpenSSL 3.6 | ☐ |
| 4 | Derivazione chiavi documentata | API KeyDerivation | ☐ |
| 5 | Distruzione sicura chiavi | Pattern IDisposable nel codice | ☐ |
| 6 | Crittografia ibrida | CryptoMode.Hybrid | ☐ |
| 7 | Gestione certificati | Scenari PKI | ☐ |
BSI TR-03116 (Specifiche crittografiche)
La direttiva tecnica BSI TR-031168) definisce specifiche crittografiche concrete:
| Specifica | TR-03116 Parte | Conformita WvdS |
|---|---|---|
| TLS 1.3 Cipher Suites | Parte 4 | ✅ Supportato |
| Algoritmi firma | Parte 1 | ✅ ML-DSA (NIST) |
| Scambio chiavi | Parte 4 | ✅ ML-KEM (NIST) |
| Funzioni hash | Parte 1 | ✅ SHA-256/384/512 |
Approfondimenti
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional