====== 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 ===== * [[.:betrieb|Obratovanje]] – Zdravstveni pregledi, certifikati preko CLI * [[.:troubleshooting|Odpravljanje napak]] – Napake pri konfiguraciji * [[..:konzepte:algorithmen|Algoritmi]] – Tehnične podrobnosti * [[..:api:cryptoconfig|CryptoConfig API]] – Za razvijalce ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>konfiguration umgebungsvariablen fips openssl}}