Audit Checklist

Checkpoints for auditors and IT security officers to validate post-quantum cryptography implementations.


Usage

This checklist serves as documentation for:

  • BSI IT-Grundschutz audits
  • NIS2 compliance reviews
  • ISO 27001 certifications
  • Internal security reviews
  • Auditors (IDW PS 330)

Note: Copy this checklist and fill in the status column (check/cross) during the audit.


1. Cryptographic Fundamentals

1.1 Algorithm Compliance

# Checkpoint Requirement Evidence Status
———–————-———-
1.1.1 Signature algorithm NIST FIPS 204 (ML-DSA) FIPS 204 [ ]
1.1.2 Key encapsulation NIST FIPS 203 (ML-KEM) FIPS 203 [ ]
1.1.3 Classical signatures RSA-2048+ or ECDSA P-256+ OpenSSL 3.6 [ ]
1.1.4 Hash algorithms SHA-256/384/512 OpenSSL 3.6 [ ]
1.1.5 No deprecated algorithms No MD5, SHA-1, 3DES Code review [ ]

1.2 Key Lengths

# Checkpoint Minimum Length Recommended Status
———–————–———–
1.2.1 ML-DSA signature key ML-DSA-44 ML-DSA-65 [ ]
1.2.2 ML-KEM key encapsulation ML-KEM-512 ML-KEM-768 [ ]
1.2.3 RSA key length 2048 bit 3072 bit [ ]
1.2.4 ECDSA curve P-256 P-384 [ ]
1.2.5 AES key length 128 bit 256 bit [ ]

2. Key Management

2.1 Key Generation

# Checkpoint Requirement Evidence Status
———–————-———-
2.1.1 Random number generator CSPRNG (cryptographically secure) OpenSSL RAND [ ]
2.1.2 Entropy source Hardware RNG or /dev/urandom OS configuration [ ]
2.1.3 No predictable seeds No static seeds Code review [ ]

2.2 Key Storage

# Checkpoint Requirement Evidence Status
———–————-———-
2.2.1 Private keys encrypted AES-256-GCM or equivalent PEM export test [ ]
2.2.2 Password protection Min. 20 characters, high entropy Policy [ ]
2.2.3 No plaintext keys No plaintext in filesystem grep search [ ]
2.2.4 Access protection File permissions (600) ls -la [ ]

2.3 Key Derivation

# Checkpoint Requirement Evidence Status
———–————-———-
2.3.1 KDF algorithm HKDF (RFC 5869) or Argon2id API usage [ ]
2.3.2 Salt used Min. 16 bytes, random Code review [ ]
2.3.3 Iterations PBKDF2 >=100,000, Argon2id >=3 Configuration [ ]
2.3.4 Memory-hard KDF for passwords Argon2id preferred API usage [ ]

2.4 Key Destruction

# Checkpoint Requirement Evidence Status
———–————-———-
2.4.1 Secure deletion SecureZeroMemory or equivalent Code review [ ]
2.4.2 IDisposable implemented Automatic resource release API analysis [ ]
2.4.3 No key material in logs No keys logged Log analysis [ ]

3. Certificate Management

3.1 PKI Structure

# Checkpoint Requirement Evidence Status
———–————-———-
3.1.1 Root CA offline Air-gapped or HSM Operations documentation [ ]
3.1.2 Intermediate CA present Separation of Root/Issuing Certificate chain [ ]
3.1.3 pathLenConstraint set CA hierarchy limited Certificate analysis [ ]

3.2 Certificate Extensions

# Checkpoint Requirement Evidence Status
———–————-———-
3.2.1 Basic Constraints CA=true/false correct openssl x509 -text [ ]
3.2.2 Key Usage keyCertSign only for CAs openssl x509 -text [ ]
3.2.3 Extended Key Usage serverAuth/clientAuth openssl x509 -text [ ]
3.2.4 Subject Key Identifier Present openssl x509 -text [ ]
3.2.5 Authority Key Identifier For non-root CAs openssl x509 -text [ ]

3.3 Hybrid Certificates

# Checkpoint Requirement Evidence Status
———–————-———-
3.3.1 PQ extension present OID for ML-DSA signature Certificate dump [ ]
3.3.2 Classical signature present RSA or ECDSA Certificate dump [ ]
3.3.3 Both signatures validatable Dual validation Test script [ ]

4. Configuration

4.1 CryptoConfig

# Checkpoint Requirement Evidence Status
———–————-———-
4.1.1 DefaultMode set Hybrid or PostQuantum Code review [ ]
4.1.2 OpenSSL path configured Path to libcrypto.so/dll Environment variable [ ]
4.1.3 FIPS mode enabled (optional) For regulated environments OpenSSL config [ ]

4.2 OpenSSL

# Checkpoint Requirement Evidence Status
———–————-———-
4.2.1 Version >=3.6.0 PQ algorithms available openssl version [ ]
4.2.2 No outdated version Security updates Changelog [ ]
4.2.3 OQS provider not needed Native in OpenSSL 3.6 openssl list -providers [ ]

5. Operations

5.1 Revocation

# Checkpoint Requirement Evidence Status
———–————-———-
5.1.1 CRL configured Distribution point in certs Certificate analysis [ ]
5.1.2 CRL regularly updated Max. 24h/7d per policy Scheduler/Cron [ ]
5.1.3 OCSP available (optional) AIA extension in certs Certificate analysis [ ]

5.2 Monitoring

# Checkpoint Requirement Evidence Status
———–————-———-
5.2.1 Certificate expiry monitored Alerting before expiry Monitoring config [ ]
5.2.2 Crypto operations logged Audit trail Log analysis [ ]
5.2.3 Errors alerted Exceptions logged Alerting config [ ]

6. Documentation

# Checkpoint Requirement Evidence Status
———–————-———-
6.1 Crypto concept present BSI CON.1 Concepts [ ]
6.2 Algorithms documented Selection justified Algorithms [ ]
6.3 API documented Complete reference API [ ]
6.4 Scenarios described Implementation examples Scenarios [ ]
6.5 Migration path documented Classic→Hybrid→PQ Migration [ ]

Summary

Category Checkpoints Passed Not Passed
———–———————–—————–
1. Cryptographic Fundamentals 10 |
2. Key Management 14 |
3. Certificate Management 11 |
4. Configuration 6 |
5. Operations 6 |
6. Documentation 5 |
Total 52 |

Audit Result

Field Value
————
Auditor | | Organization |
Date | | Audited System |
WvdS Version | | OpenSSL Version |
Result [ ] Passed [ ] Not Passed [ ] Conditional
Next Audit __

Further Reading


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

Zuletzt geändert: on 2026/01/29 at 11:32 PM