Audit-Checkliste
Prüfpunkte für Auditoren und IT-Sicherheitsbeauftragte zur Validierung der Post-Quantum-Kryptographie-Implementierung.
Verwendung
Diese Checkliste dient als Nachweis für:
BSI IT-Grundschutz Audits
NIS2-Konformitätsprüfungen
ISO 27001 Zertifizierungen
Interne Sicherheitsreviews
Wirtschaftsprüfer (IDW PS 330)
Hinweis: Kopieren Sie diese Checkliste und füllen Sie die Status-Spalte (✓/✗) während des Audits aus.
1. Kryptographische Grundlagen
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 1.1.1 | Signaturalgorithmus | NIST FIPS 204 (ML-DSA) | FIPS 204 | ☐ |
| 1.1.2 | Schlüsselkapselung | NIST FIPS 203 (ML-KEM) | FIPS 203 | ☐ |
| 1.1.3 | Klassische Signaturen | RSA-2048+ oder ECDSA P-256+ | OpenSSL 3.6 | ☐ |
| 1.1.4 | Hash-Algorithmen | SHA-256/384/512 | OpenSSL 3.6 | ☐ |
| 1.1.5 | Keine veralteten Algorithmen | Kein MD5, SHA-1, 3DES | Code-Review | ☐ |
1.2 Schlüssellängen
| # | Prüfpunkt | Mindestlänge | Empfohlen | ✓ |
| — | ———– | ————– | ———– | — |
| 1.2.1 | ML-DSA Signaturschlüssel | ML-DSA-44 | ML-DSA-65 | ☐ |
| 1.2.2 | ML-KEM Schlüsselkapselung | ML-KEM-512 | ML-KEM-768 | ☐ |
| 1.2.3 | RSA Schlüssellänge | 2048 Bit | 3072 Bit | ☐ |
| 1.2.4 | ECDSA Kurve | P-256 | P-384 | ☐ |
| 1.2.5 | AES Schlüssellänge | 128 Bit | 256 Bit | ☐ |
2. Schlüsselmanagement
2.1 Schlüsselerzeugung
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 2.1.1 | Zufallszahlengenerator | CSPRNG (kryptographisch sicher) | OpenSSL RAND | ☐ |
| 2.1.2 | Entropiequelle | Hardware-RNG oder /dev/urandom | OS-Konfiguration | ☐ |
| 2.1.3 | Keine vorhersagbaren Seeds | Keine statischen Seeds | Code-Review | ☐ |
2.2 Schlüsselspeicherung
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 2.2.1 | Private Keys verschlüsselt | AES-256-GCM oder äquivalent | PEM-Export-Test | ☐ |
| 2.2.2 | Passwortschutz | Min. 20 Zeichen, hohe Entropie | Policy | ☐ |
| 2.2.3 | Keine Klartext-Schlüssel | Kein plaintext im Filesystem | grep-Suche | ☐ |
| 2.2.4 | Zugriffsschutz | Datei-Permissions (600) | ls -la | ☐ |
2.3 Schlüsselableitung
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 2.3.1 | KDF-Algorithmus | HKDF (RFC 5869) oder Argon2id | API-Verwendung | ☐ |
| 2.3.2 | Salt verwendet | Min. 16 Bytes, zufällig | Code-Review | ☐ |
| 2.3.3 | Iterationen | PBKDF2 ≥100.000, Argon2id ≥3 | Konfiguration | ☐ |
| 2.3.4 | Memory-Hard KDF für Passwörter | Argon2id bevorzugt | API-Verwendung | ☐ |
2.4 Schlüsselvernichtung
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 2.4.1 | Sichere Löschung | SecureZeroMemory oder äquivalent | Code-Review | ☐ |
| 2.4.2 | IDisposable implementiert | Automatische Ressourcenfreigabe | API-Analyse | ☐ |
| 2.4.3 | Kein Key-Material in Logs | Keine Schlüssel protokolliert | Log-Analyse | ☐ |
3. Zertifikatsmanagement
3.1 PKI-Struktur
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 3.1.1 | Root-CA offline | Air-Gapped oder HSM | Betriebsdoku | ☐ |
| 3.1.2 | Intermediate-CA vorhanden | Trennung Root/Issuing | Zertifikatskette | ☐ |
| 3.1.3 | pathLenConstraint gesetzt | CA-Hierarchie begrenzt | Zertifikats-Analyse | ☐ |
3.2 Zertifikats-Extensions
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 3.2.1 | Basic Constraints | CA=true/false korrekt | openssl x509 -text | ☐ |
| 3.2.2 | Key Usage | keyCertSign nur für CAs | openssl x509 -text | ☐ |
| 3.2.3 | Extended Key Usage | serverAuth/clientAuth | openssl x509 -text | ☐ |
| 3.2.4 | Subject Key Identifier | Vorhanden | openssl x509 -text | ☐ |
| 3.2.5 | Authority Key Identifier | Bei nicht-Root-CAs | openssl x509 -text | ☐ |
3.3 Hybrid-Zertifikate
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 3.3.1 | PQ-Extension vorhanden | OID für ML-DSA Signatur | Zertifikats-Dump | ☐ |
| 3.3.2 | Klassische Signatur vorhanden | RSA oder ECDSA | Zertifikats-Dump | ☐ |
| 3.3.3 | Beide Signaturen validierbar | Dual-Validation | Test-Script | ☐ |
4. Konfiguration
4.1 CryptoConfig
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 4.1.1 | DefaultMode gesetzt | Hybrid oder PostQuantum | Code-Review | ☐ |
| 4.1.2 | OpenSSL-Pfad konfiguriert | Pfad zu libcrypto.so/dll | Umgebungsvariable | ☐ |
| 4.1.3 | FIPS-Mode aktiviert (optional) | Für regulierte Umgebungen | OpenSSL-Config | ☐ |
4.2 OpenSSL
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 4.2.1 | Version ≥3.6.0 | PQ-Algorithmen verfügbar | openssl version | ☐ |
| 4.2.2 | Keine veraltete Version | Sicherheitsupdates | Changelog | ☐ |
| 4.2.3 | OQS-Provider nicht nötig | Nativ in OpenSSL 3.6 | openssl list -providers | ☐ |
5. Betrieb
5.1 Revocation
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 5.1.1 | CRL konfiguriert | Distribution Point in Certs | Zertifikats-Analyse | ☐ |
| 5.1.2 | CRL regelmäßig aktualisiert | Max. 24h/7d je nach Policy | Scheduler/Cron | ☐ |
| 5.1.3 | OCSP verfügbar (optional) | AIA-Extension in Certs | Zertifikats-Analyse | ☐ |
5.2 Monitoring
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 5.2.1 | Zertifikatsablauf überwacht | Alerting vor Ablauf | Monitoring-Config | ☐ |
| 5.2.2 | Krypto-Operationen geloggt | Audit-Trail | Log-Analyse | ☐ |
| 5.2.3 | Fehler alarmiert | Exceptions protokolliert | Alerting-Config | ☐ |
6. Dokumentation
| # | Prüfpunkt | Anforderung | Nachweis | ✓ |
| — | ———– | ————- | ———- | — |
| 6.1 | Kryptokonzept vorhanden | BSI CON.1 | Konzepte | ☐ |
| 6.2 | Algorithmen dokumentiert | Auswahl begründet | Algorithmen | ☐ |
| 6.3 | API dokumentiert | Vollständige Referenz | API | ☐ |
| 6.4 | Szenarien beschrieben | Implementierungsbeispiele | Szenarien | ☐ |
| 6.5 | Migrationspfad dokumentiert | Classic→Hybrid→PQ | Migration | ☐ |
Zusammenfassung
| Kategorie | Prüfpunkte | Bestanden | Nicht bestanden |
| ———– | ———— | ———– | —————– |
| 1. Kryptographische Grundlagen | 10 | | | |
| 2. Schlüsselmanagement | 14 | | | |
| 3. Zertifikatsmanagement | 11 | | | |
| 4. Konfiguration | 6 | | | |
| 5. Betrieb | 6 | | | |
| 6. Dokumentation | 5 | | | |
| Gesamt | 52 | | | |
Audit-Ergebnis
| Feld | Wert |
| —— | —— |
| Auditor | |
| Organisation | |
| Datum | |
| Geprüftes System | |
| WvdS-Version | |
| OpenSSL-Version | |
| Ergebnis | ☐ Bestanden ☐ Nicht bestanden ☐ Mit Auflagen |
| Nächster Audit | __ |
Weiterführend
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional