Kontrolni seznam za revizije
Kontrolne točke za revizorje in pooblaščence za IT-varnost za validacijo izvedbe post-kvantne kriptografije.
Uporaba
Ta kontrolni seznam služi kot dokazilo za:
Revizije BSI IT-Grundschutz
Preverjanja skladnosti z NIS2
Certifikacije ISO 27001
Interne varnostne preglede
Revizorje (IDW PS 330)
Opomba: Kopirajte ta kontrolni seznam in izpolnite stolpec statusa (✓/✗) med revizijo.
1. Kriptografske osnove
1.1 Skladnost algoritmov
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 1.1.1 | Podpisni algoritem | NIST FIPS 204 (ML-DSA) | FIPS 204 | ☐ |
| 1.1.2 | Enkapsulacija ključev | NIST FIPS 203 (ML-KEM) | FIPS 203 | ☐ |
| 1.1.3 | Klasični podpisi | RSA-2048+ ali ECDSA P-256+ | OpenSSL 3.6 | ☐ |
| 1.1.4 | Zgoščevalni algoritmi | SHA-256/384/512 | OpenSSL 3.6 | ☐ |
| 1.1.5 | Brez zastarelih algoritmov | Brez MD5, SHA-1, 3DES | Pregled kode | ☐ |
1.2 Dolžine ključev
| # | Kontrolna točka | Minimalna dolžina | Priporočeno | ✓ |
| — | —————– | ——————- | ————- | — |
| 1.2.1 | ML-DSA podpisni ključ | ML-DSA-44 | ML-DSA-65 | ☐ |
| 1.2.2 | ML-KEM enkapsulacija ključev | ML-KEM-512 | ML-KEM-768 | ☐ |
| 1.2.3 | RSA dolžina ključa | 2048 bitov | 3072 bitov | ☐ |
| 1.2.4 | ECDSA krivulja | P-256 | P-384 | ☐ |
| 1.2.5 | AES dolžina ključa | 128 bitov | 256 bitov | ☐ |
2. Upravljanje ključev
2.1 Generiranje ključev
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 2.1.1 | Generator naključnih števil | CSPRNG (kriptografsko varen) | OpenSSL RAND | ☐ |
| 2.1.2 | Vir entropije | Strojni RNG ali /dev/urandom | OS-konfiguracija | ☐ |
| 2.1.3 | Brez predvidljivih seedov | Brez statičnih seedov | Pregled kode | ☐ |
2.2 Shranjevanje ključev
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 2.2.1 | Zasebni ključi šifrirani | AES-256-GCM ali enakovredno | Test PEM-izvoza | ☐ |
| 2.2.2 | Zaščita z geslom | Min. 20 znakov, visoka entropija | Politika | ☐ |
| 2.2.3 | Brez nešifriranih ključev | Brez plaintext v datotečnem sistemu | grep-iskanje | ☐ |
| 2.2.4 | Zaščita dostopa | Dovoljenja datotek (600) | ls -la | ☐ |
2.3 Izpeljava ključev
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 2.3.1 | KDF-algoritem | HKDF (RFC 5869) ali Argon2id | Uporaba API | ☐ |
| 2.3.2 | Salt uporabljen | Min. 16 bajtov, naključno | Pregled kode | ☐ |
| 2.3.3 | Iteracije | PBKDF2 ≥100.000, Argon2id ≥3 | Konfiguracija | ☐ |
| 2.3.4 | Memory-Hard KDF za gesla | Argon2id prednostno | Uporaba API | ☐ |
2.4 Uničenje ključev
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 2.4.1 | Varno brisanje | SecureZeroMemory ali enakovredno | Pregled kode | ☐ |
| 2.4.2 | IDisposable izvedeno | Samodejno sproščanje virov | Analiza API | ☐ |
| 2.4.3 | Brez ključnega materiala v dnevnikih | Ključi niso zabeleženi | Analiza dnevnikov | ☐ |
3. Upravljanje certifikatov
3.1 PKI-struktura
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 3.1.1 | Root-CA offline | Air-Gapped ali HSM | Operativna doku | ☐ |
| 3.1.2 | Intermediate-CA prisoten | Ločitev Root/Issuing | Certifikatna veriga | ☐ |
| 3.1.3 | pathLenConstraint nastavljen | CA-hierarhija omejena | Analiza certifikata | ☐ |
3.2 Razširitve certifikatov
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 3.2.1 | Basic Constraints | CA=true/false pravilno | openssl x509 -text | ☐ |
| 3.2.2 | Key Usage | keyCertSign samo za CA | openssl x509 -text | ☐ |
| 3.2.3 | Extended Key Usage | serverAuth/clientAuth | openssl x509 -text | ☐ |
| 3.2.4 | Subject Key Identifier | Prisoten | openssl x509 -text | ☐ |
| 3.2.5 | Authority Key Identifier | Pri ne-Root-CA | openssl x509 -text | ☐ |
3.3 Hibridni certifikati
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 3.3.1 | PQ-razširitev prisotna | OID za ML-DSA podpis | Izpis certifikata | ☐ |
| 3.3.2 | Klasični podpis prisoten | RSA ali ECDSA | Izpis certifikata | ☐ |
| 3.3.3 | Oba podpisa validirljiva | Dvojna validacija | Testni skript | ☐ |
4. Konfiguracija
4.1 CryptoConfig
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 4.1.1 | DefaultMode nastavljen | Hybrid ali PostQuantum | Pregled kode | ☐ |
| 4.1.2 | OpenSSL-pot konfigurirana | Pot do libcrypto.so/dll | Okoljska spremenljivka | ☐ |
| 4.1.3 | FIPS-Mode aktiviran (opcijsko) | Za regulirana okolja | OpenSSL-Config | ☐ |
4.2 OpenSSL
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 4.2.1 | Verzija ≥3.6.0 | PQ-algoritmi na voljo | openssl version | ☐ |
| 4.2.2 | Brez zastarele verzije | Varnostne posodobitve | Changelog | ☐ |
| 4.2.3 | OQS-Provider ni potreben | Nativno v OpenSSL 3.6 | openssl list -providers | ☐ |
5. Delovanje
5.1 Revocation
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 5.1.1 | CRL konfiguriran | Distribution Point v certifikatih | Analiza certifikata | ☐ |
| 5.1.2 | CRL redno posodobljen | Maks. 24h/7d glede na politiko | Scheduler/Cron | ☐ |
| 5.1.3 | OCSP na voljo (opcijsko) | AIA-razširitev v certifikatih | Analiza certifikata | ☐ |
5.2 Nadzor
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 5.2.1 | Iztekanje certifikatov nadzorovano | Opozorila pred iztekom | Konfig. nadzora | ☐ |
| 5.2.2 | Kripto-operacije zabeležene | Revizijska sled | Analiza dnevnikov | ☐ |
| 5.2.3 | Napake alarmirane | Izjeme zabeležene | Konfig. alarmiranja | ☐ |
6. Dokumentacija
| # | Kontrolna točka | Zahteva | Dokazilo | ✓ |
| — | —————– | ——— | ———- | — |
| 6.1 | Kripto-koncept prisoten | BSI CON.1 | Koncepti | ☐ |
| 6.2 | Algoritmi dokumentirani | Izbira utemeljena | Algoritmi | ☐ |
| 6.3 | API dokumentiran | Popolna referenca | API | ☐ |
| 6.4 | Scenariji opisani | Primeri izvedbe | Scenariji | ☐ |
| 6.5 | Pot migracije dokumentirana | Classic→Hybrid→PQ | Migracija | ☐ |
Povzetek
| Kategorija | Kontrolne točke | Uspešno | Neuspešno |
| ———— | —————– | ——— | ———– |
| 1. Kriptografske osnove | 10 | | | |
| 2. Upravljanje ključev | 14 | | | |
| 3. Upravljanje certifikatov | 11 | | | |
| 4. Konfiguracija | 6 | | | |
| 5. Delovanje | 6 | | | |
| 6. Dokumentacija | 5 | | | |
| Skupaj | 52 | | | |
Rezultat revizije
| Polje | Vrednost |
| ——- | ———- |
| Revizor | |
| Organizacija | |
| Datum | |
| Pregledani sistem | |
| WvdS-verzija | |
| OpenSSL-verzija | |
| Rezultat | ☐ Uspešno ☐ Neuspešno ☐ S pogoji |
| Naslednja revizija | __ |
Nadaljnje branje
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional