Inhaltsverzeichnis
3.2 Konfiguration
Konfigurationsoptionen für die PQ-Kryptographie-Infrastruktur.
Umgebungsvariablen
| Variable | Beschreibung | Beispiel | Priorität |
|---|---|---|---|
OPENSSL_PATH | Pfad zu OpenSSL-Binaries | C:\OpenSSL\bin | Hoch |
WVDS_CRYPTO_MODE | Standard-Krypto-Modus | Hybrid | Mittel |
WVDS_PQ_KEYSTORE | Pfad zum PQ-Schlüsselspeicher | %LOCALAPPDATA%\WvdS.Crypto\PqKeys | Optional |
Windows (PowerShell als Administrator)
# Permanent für alle Benutzer (Machine-Scope) [Environment]::SetEnvironmentVariable("OPENSSL_PATH", "C:\Program Files\OpenSSL\bin", "Machine") [Environment]::SetEnvironmentVariable("WVDS_CRYPTO_MODE", "Hybrid", "Machine") # Verifizieren (neue PowerShell öffnen) $env:OPENSSL_PATH $env:WVDS_CRYPTO_MODE
Linux
# Systemweit (/etc/profile.d/) sudo tee /etc/profile.d/wvds-crypto.sh << 'EOF' export OPENSSL_PATH=/usr/local/openssl/lib export WVDS_CRYPTO_MODE=Hybrid EOF # Für aktuellen Benutzer (~/.bashrc oder ~/.profile) echo 'export OPENSSL_PATH=/usr/local/openssl/lib' >> ~/.bashrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.bashrc # Aktivieren source ~/.bashrc # Verifizieren echo $OPENSSL_PATH echo $WVDS_CRYPTO_MODE
macOS
# In ~/.zshrc (Standard-Shell auf macOS) echo 'export OPENSSL_PATH=$(brew --prefix openssl@3)/lib' >> ~/.zshrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.zshrc source ~/.zshrc
Krypto-Modi
| Modus | Beschreibung | Verwendung |
|---|---|---|
Classic | Nur RSA/ECDSA | Legacy-Systeme, Rückwärtskompatibilität |
Hybrid | RSA + ML-DSA parallel | Empfohlen für Migration |
PostQuantum | Nur ML-DSA/ML-KEM | Neue PQ-only Systeme |
Empfehlung: Verwenden Sie Hybrid während der Übergangsphase. Dies bietet Sicherheit auch wenn ein Algorithmus kompromittiert wird.
PQ-Schlüsselspeicher
Der Windows Certificate Store unterstützt keine nativen PQ-Schlüssel. Die Bibliothek verwendet einen separaten Side-Store:
Standardpfade:
| OS | Pfad |
|---|---|
| Windows | %LOCALAPPDATA%\WvdS.Crypto\PqKeys\ |
| Linux | ~/.local/share/wvds-crypto/pqkeys/ |
| macOS | ~/Library/Application Support/WvdS.Crypto/PqKeys/ |
Berechtigungen prüfen
Windows (PowerShell):
# Pfad ermitteln $pqKeyStore = "$env:LOCALAPPDATA\WvdS.Crypto\PqKeys" # Existenz prüfen Test-Path $pqKeyStore # Berechtigungen anzeigen Get-Acl $pqKeyStore | Format-List # Berechtigungen setzen (nur aktueller Benutzer) icacls $pqKeyStore /inheritance:r /grant:r "$env:USERNAME:(OI)(CI)F"
Linux:
# Pfad PQ_KEYSTORE=~/.local/share/wvds-crypto/pqkeys # Existenz prüfen ls -la $PQ_KEYSTORE # Berechtigungen setzen (nur Owner lesen/schreiben) chmod 700 $PQ_KEYSTORE chmod 600 $PQ_KEYSTORE/* # Verifizieren stat $PQ_KEYSTORE
Wichtig: Der PQ-Schlüsselspeicher ist nicht im Windows Certificate Store Backup enthalten! Sichern Sie diesen Ordner separat.
FIPS-Modus (OpenSSL)
Für FIPS 140-3 Compliance muss der OpenSSL FIPS Provider aktiviert werden.
FIPS Provider Status prüfen
# Provider auflisten openssl list -providers # Erwartete Ausgabe mit FIPS: # Providers: # default # fips
FIPS Provider aktivieren
openssl.cnf konfigurieren:
# OpenSSL Konfigurationspfad ermitteln openssl version -d # Ausgabe: OPENSSLDIR: "/usr/local/openssl" # Konfiguration editieren sudo nano /usr/local/openssl/openssl.cnf
Erforderliche Einträge in openssl.cnf:
# Am Anfang der Datei openssl_conf = openssl_init [openssl_init] providers = provider_sect [provider_sect] fips = fips_sect base = base_sect default = default_sect [fips_sect] activate = 1 [base_sect] activate = 1 [default_sect] activate = 1
Verifizierung:
# FIPS Status prüfen openssl list -providers | grep -i fips # FIPS-validierte Algorithmen openssl list -signature-algorithms -provider fips
Algorithmen-Konfiguration
Verfügbare ML-DSA Varianten (Signaturen):
| Algorithmus | NIST Level | Public Key | Signatur | Empfehlung |
|---|---|---|---|---|
| ML-DSA-44 | Level 2 | 1,312 B | 2,420 B | Ressourcenbeschränkte Systeme |
| ML-DSA-65 | Level 3 | 1,952 B | 3,309 B | Standard (empfohlen) |
| ML-DSA-87 | Level 5 | 2,592 B | 4,627 B | Höchste Sicherheit |
Verfügbare ML-KEM Varianten (Schlüsselaustausch):
| Algorithmus | NIST Level | Public Key | Ciphertext | Shared Secret |
|---|---|---|---|---|
| ML-KEM-512 | Level 1 | 800 B | 768 B | 32 B |
| ML-KEM-768 | Level 3 | 1,184 B | 1,088 B | 32 B |
| ML-KEM-1024 | Level 5 | 1,568 B | 1,568 B | 32 B |
Algorithmus-Support prüfen:
# Alle verfügbaren Signatur-Algorithmen openssl list -signature-algorithms # ML-DSA spezifisch openssl list -signature-algorithms | grep -i "ml-dsa" # Alle KEM-Algorithmen openssl list -kem-algorithms # ML-KEM spezifisch openssl list -kem-algorithms | grep -i "ml-kem"
Weiterführend
- Betrieb – Health Checks, Zertifikate via CLI
- Troubleshooting – Konfigurationsfehler
- Algorithmen – Technische Details
- CryptoConfig API – Für Entwickler
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional