Inhaltsverzeichnis

BSI IT-Grundschutz preslikava

Preslikava knjižnice WvdS za post-kvantno kriptografijo na gradnike BSI IT-Grundschutz.


Pregled

Kompendij BSI IT-Grundschutz1) določa varnostne zahteve za IT-sisteme. Ta stran dokumentira, kako WvdS izpolnjuje ustrezne gradnike.

flowchart LR subgraph BSI["BSI IT-Grundschutz"] CON1["CON.1
Kripto-koncept"] CON5["CON.5
Upravljanje
ključev"] OPS115["OPS.1.1.5
Beleženje"] APP31["APP.3.1
Spletne aplikacije"] NET31["NET.3.1
Usmerjevalniki/stikala"] end subgraph WVDS["WvdS PQ-Crypto"] CFG["CryptoConfig"] KDF["KeyDerivation"] LOG["Revizijski dogodki"] TLS["TLS-razširitve"] 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 Kripto-koncept

Gradnik: Koncepti in postopki - Kripto-koncept2)

Zahteva BSI-ID WvdS-izvedba Status
Izbira primernih kriptografskih postopkov CON.1.A1 ML-DSA (FIPS 204), ML-KEM (FIPS 203)
Varnostna kopija kriptografskih ključev CON.1.A2 KeyDerivation, PEM-izvoz s šifriranjem
Šifriranje komunikacije CON.1.A3 TLS 1.3 s PQ-algoritmi
Primerne dolžine ključev CON.1.A4 ML-DSA-44/65/87, ML-KEM-512/768/1024
Dokumentiranje kripto-koncepta CON.1.A5 Dokumentacija konceptov
Redna preverjanja CON.1.A6 Verzioniran API, NIST-skladnost

Podrobnosti izvedbe

CON.1.A1 - Izbira primernih kriptografskih postopkov:

// WvdS uporablja izključno NIST-standardizirane algoritme
CryptoConfig.DefaultMode = CryptoMode.Hybrid;
 
// Razpoložljivi 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 - Primerne dolžine ključev:

Dolžine ključev ustrezajo BSI-priporočilom3):

Algoritem Varnostna raven BSI-priporočilo
ML-DSA-44 NIST Level 2 (~128 bitov) Kratkoživljajoči certifikati
ML-DSA-65 NIST Level 3 (~192 bitov) Standardno priporočilo
ML-DSA-87 NIST Level 5 (~256 bitov) Najvišja varnost

CON.5 Razvoj in uporaba sistemov za upravljanje ključev

Gradnik: Upravljanje ključev4)

Zahteva BSI-ID WvdS-izvedba Status
Analiza zahtev CON.5.A1 Dokumentiran API, scenariji
Generiranje ključev CON.5.A2 OpenSSL 3.6 CSPRNG
Shranjevanje ključev CON.5.A3 Šifriran PEM-izvoz
Distribucija ključev CON.5.A4 X.509-certifikati, CSR-potek
Izpeljava ključev CON.5.A5 HKDF, PBKDF2, Argon2id
Uničenje ključev CON.5.A6 SecureZeroMemory, IDisposable
Arhiviranje ključev CON.5.A7 PEM/PFX z zaščito z geslom

Podrobnosti izvedbe

CON.5.A5 - Izpeljava ključev:

Funkcije za izpeljavo ključev ustrezajo BSI-priporočilom5) in NIST-standardom6).

// HKDF (RFC 5869) za izpeljavo ključev
var derivedKey = KeyDerivationExtensions.DeriveKey(
    sharedSecret,
    salt: cryptoRandom,
    info: contextInfo,
    outputLength: 32,
    HashAlgorithmName.SHA256
);
 
// Argon2id za izpeljavo na podlagi gesla (Memory-Hard)
var key = OpenSslKdf.Argon2id(
    password,
    salt,
    outputLength: 32,
    iterations: 3,
    memoryKiB: 65536,  // 64 MB
    parallelism: 4
);

CON.5.A6 - Uničenje ključev:

// Samodejno uničenje ključev preko IDisposable
using var keyPair = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65);
// ... uporaba ...
// Dispose() pokliče SecureZeroMemory na bajtih zasebnega ključa

OPS.1.1.5 Beleženje

Gradnik: Beleženje7)

Zahteva BSI-ID WvdS-izvedba Status
Ustvarjanje smernic za beleženje OPS.1.1.5.A1 Dokumentirani dogodki
Zagotavljanje celovitosti OPS.1.1.5.A3 Podpisani revizijski dnevniki
Zaščita podatkov beleženja OPS.1.1.5.A4 Šifrirani dnevniki

Dogodki za beleženje

Dogodek Podatki Namen
KeyGeneration Algorithm, KeyId, Timestamp Revizijska sled
CertificateCreation Subject, Serial, Validity Nadzor PKI
SignatureOperation KeyId, DataHash, Mode Sledljivost
ValidationResult CertChain, Status, Reason Varnostni nadzor

APP.3.1 Spletne aplikacije in spletne storitve

Relevantnost: TLS-konfiguracija za spletne strežnike

Zahteva BSI-ID WvdS-izvedba Status
TLS-šifriranje APP.3.1.A14 Hibridni TLS-certifikati
Varna avtentikacija APP.3.1.A15 mTLS s PQ-certifikati
// Hibridni strežniški certifikat za TLS
var serverCert = request.CreateServerCertificate(
    intermediateCa,
    dnsNames: new[] { "api.example.com" },
    mode: CryptoMode.Hybrid  // ECDSA + ML-DSA
);

NET.3.1 Usmerjevalniki in stikala

Relevantnost: Omrežne naprave s certifikati

Zahteva BSI-ID WvdS-izvedba Status
Zavarovanje upravljalskega dostopa NET.3.1.A4 mTLS-certifikati
Varni protokoli NET.3.1.A9 SSH/TLS s PQ

Kontrolni seznam dokazil za revizorje

Za BSI-revizije uporabite ta kontrolni seznam:

# Kontrolna točka Dokazilo
—————–———-
1 Kripto-koncept dokumentiran Koncepti
2 NIST-skladni algoritmi Reference FIPS 203/204
3 Generiranje ključev preko CSPRNG Izvorna koda OpenSSL 3.6
4 Izpeljava ključev dokumentirana KeyDerivation API
5 Varno uničenje ključev Vzorec IDisposable v kodi
6 Hibridna kriptografija CryptoMode.Hybrid
7 Upravljanje certifikatov PKI-scenariji

BSI TR-03116 (Kriptografske zahteve)

Tehnična smernica BSI TR-031168) določa konkretne kriptografske zahteve:

Zahteva TR-03116 del WvdS-skladnost
TLS 1.3 Cipher Suites Del 4 ✅ Podprto
Podpisni algoritmi Del 1 ✅ ML-DSA (NIST)
Izmenjava ključev Del 4 ✅ ML-KEM (NIST)
Zgoščevalne funkcije Del 1 ✅ SHA-256/384/512

Nadaljnje branje


Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional

3)
BSI TR-02102-1: „Kryptographische Verfahren: Empfehlungen und Schlüssellängen“, Version 2024-01, Kapitel 3: https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR02102/BSI-TR-02102.pdf
6)
NIST SP 800-56C Rev. 2: „Recommendation for Key-Derivation Methods in Key-Establishment Schemes“: https://csrc.nist.gov/pubs/sp/800/56/c/r2/final