Inhaltsverzeichnis
3.2 Konfiguracija
Konfiguracijske možnosti za infrastrukturo PQ-kriptografije.
Okoljske spremenljivke
| Spremenljivka | Opis | Primer | Prioriteta |
|---|---|---|---|
OPENSSL_PATH | Pot do binarnih datotek OpenSSL | C:\OpenSSL\bin | Visoka |
WVDS_CRYPTO_MODE | Privzeti kriptografski način | Hybrid | Srednja |
WVDS_PQ_KEYSTORE | Pot do shrambe PQ-ključev | %LOCALAPPDATA%\WvdS.Crypto\PqKeys | Opcijsko |
Windows (PowerShell kot administrator)
# Trajno za vse uporabnike (Machine-Scope) [Environment]::SetEnvironmentVariable("OPENSSL_PATH", "C:\Program Files\OpenSSL\bin", "Machine") [Environment]::SetEnvironmentVariable("WVDS_CRYPTO_MODE", "Hybrid", "Machine") # Preverite (odprite novo PowerShell okno) $env:OPENSSL_PATH $env:WVDS_CRYPTO_MODE
Linux
# Sistemsko (/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 # Za trenutnega uporabnika (~/.bashrc ali ~/.profile) echo 'export OPENSSL_PATH=/usr/local/openssl/lib' >> ~/.bashrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.bashrc # Aktivirajte source ~/.bashrc # Preverite echo $OPENSSL_PATH echo $WVDS_CRYPTO_MODE
macOS
# V ~/.zshrc (privzeta lupina na macOS) echo 'export OPENSSL_PATH=$(brew --prefix openssl@3)/lib' >> ~/.zshrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.zshrc source ~/.zshrc
Kriptografski načini
| Način | Opis | Uporaba |
|---|---|---|
Classic | Samo RSA/ECDSA | Starejši sistemi, povratna združljivost |
Hybrid | RSA + ML-DSA vzporedno | Priporočeno za migracijo |
PostQuantum | Samo ML-DSA/ML-KEM | Novi sistemi samo s PQ |
Priporočilo: Uporabite Hybrid med prehodnim obdobjem. To zagotavlja varnost tudi če je en algoritem ogrožen.
Shramba PQ-ključev
Windows Certificate Store ne podpira nativnih PQ-ključev. Knjižnica uporablja ločeno stransko shrambo:
Privzete poti:
| OS | Pot |
|---|---|
| Windows | %LOCALAPPDATA%\WvdS.Crypto\PqKeys\ |
| Linux | ~/.local/share/wvds-crypto/pqkeys/ |
| macOS | ~/Library/Application Support/WvdS.Crypto/PqKeys/ |
Preverjanje dovoljenj
Windows (PowerShell):
# Določite pot $pqKeyStore = "$env:LOCALAPPDATA\WvdS.Crypto\PqKeys" # Preverite obstoj Test-Path $pqKeyStore # Prikažite dovoljenja Get-Acl $pqKeyStore | Format-List # Nastavite dovoljenja (samo trenutni uporabnik) icacls $pqKeyStore /inheritance:r /grant:r "$env:USERNAME:(OI)(CI)F"
Linux:
# Pot PQ_KEYSTORE=~/.local/share/wvds-crypto/pqkeys # Preverite obstoj ls -la $PQ_KEYSTORE # Nastavite dovoljenja (samo lastnik bere/piše) chmod 700 $PQ_KEYSTORE chmod 600 $PQ_KEYSTORE/* # Preverite stat $PQ_KEYSTORE
Pomembno: Shramba PQ-ključev ni vključena v varnostno kopijo Windows Certificate Store! Ta mapo varnostno kopirajte ločeno.
FIPS-način (OpenSSL)
Za skladnost s FIPS 140-3 je treba aktivirati OpenSSL FIPS Provider.
Preverjanje stanja FIPS Provider
# Seznam ponudnikov openssl list -providers # Pričakovani izhod s FIPS: # Providers: # default # fips
Aktivacija FIPS Provider
Konfiguracija openssl.cnf:
# Določite pot do konfiguracije OpenSSL openssl version -d # Izhod: OPENSSLDIR: "/usr/local/openssl" # Uredite konfiguracijo sudo nano /usr/local/openssl/openssl.cnf
Potrebni vnosi v openssl.cnf:
# Na začetku datoteke 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
Preverjanje:
# Preverite stanje FIPS openssl list -providers | grep -i fips # Algoritmi, validirani za FIPS openssl list -signature-algorithms -provider fips
Konfiguracija algoritmov
Razpoložljive variante ML-DSA (podpisi):
| Algoritem | NIST Level | Javni ključ | Podpis | Priporočilo |
|---|---|---|---|---|
| ML-DSA-44 | Level 2 | 1.312 B | 2.420 B | Sistemi z omejenimi viri |
| ML-DSA-65 | Level 3 | 1.952 B | 3.309 B | Standard (priporočeno) |
| ML-DSA-87 | Level 5 | 2.592 B | 4.627 B | Najvišja varnost |
Razpoložljive variante ML-KEM (izmenjava ključev):
| Algoritem | NIST Level | Javni ključ | Šifrirno besedilo | Skupna skrivnost |
|---|---|---|---|---|
| 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 |
Preverjanje podpore algoritmov:
# Vsi razpoložljivi algoritmi za podpise openssl list -signature-algorithms # Specifično ML-DSA openssl list -signature-algorithms | grep -i "ml-dsa" # Vsi KEM-algoritmi openssl list -kem-algorithms # Specifično ML-KEM openssl list -kem-algorithms | grep -i "ml-kem"
Nadaljnje branje
- Obratovanje – Zdravstveni pregledi, certifikati preko CLI
- Odpravljanje napak – Napake pri konfiguraciji
- Algoritmi – Tehnične podrobnosti
- CryptoConfig API – Za razvijalce
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional