====== 3.2 Konfiguracija ====== Konfiguracijske opcije za PQ-kriptografsku infrastrukturu. ---- ===== Varijable okruženja ===== ^ Varijabla ^ Opis ^ Primjer ^ Prioritet ^ | ''OPENSSL_PATH'' | Putanja do OpenSSL binarnih datoteka | ''C:\OpenSSL\bin'' | Visok | | ''WVDS_CRYPTO_MODE'' | Standardni kripto-način rada | ''Hybrid'' | Srednji | | ''WVDS_PQ_KEYSTORE'' | Putanja do PQ-pohrane ključeva | ''%LOCALAPPDATA%\WvdS.Crypto\PqKeys'' | Opcionalno | ==== Windows (PowerShell kao administrator) ==== # Trajno za sve korisnike (Machine-Scope) [Environment]::SetEnvironmentVariable("OPENSSL_PATH", "C:\Program Files\OpenSSL\bin", "Machine") [Environment]::SetEnvironmentVariable("WVDS_CRYPTO_MODE", "Hybrid", "Machine") # Verifikacija (otvorite novi PowerShell) $env:OPENSSL_PATH $env:WVDS_CRYPTO_MODE ==== Linux ==== # Sistemski (/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 trenutnog korisnika (~/.bashrc ili ~/.profile) echo 'export OPENSSL_PATH=/usr/local/openssl/lib' >> ~/.bashrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.bashrc # Aktiviranje source ~/.bashrc # Verifikacija echo $OPENSSL_PATH echo $WVDS_CRYPTO_MODE ==== macOS ==== # U ~/.zshrc (standardna ljuska na macOS-u) echo 'export OPENSSL_PATH=$(brew --prefix openssl@3)/lib' >> ~/.zshrc echo 'export WVDS_CRYPTO_MODE=Hybrid' >> ~/.zshrc source ~/.zshrc ---- ===== Kripto-načini rada ===== ^ Način rada ^ Opis ^ Upotreba ^ | ''Classic'' | Samo RSA/ECDSA | Naslijeđeni sustavi, povratna kompatibilnost | | ''Hybrid'' | RSA + ML-DSA paralelno | **Preporučeno** za migraciju | | ''PostQuantum'' | Samo ML-DSA/ML-KEM | Novi sustavi samo s PQ | **Preporuka:** Koristite ''Hybrid'' tijekom prijelaznog razdoblja. Ovo pruža sigurnost čak i ako je jedan algoritam kompromitiran. ---- ===== PQ-pohrana ključeva ===== Windows Certificate Store ne podržava izvorne PQ-ključeve. Biblioteka koristi zasebnu sporednu pohranu: **Standardne putanje:** ^ OS ^ Putanja ^ | Windows | ''%LOCALAPPDATA%\WvdS.Crypto\PqKeys\'' | | Linux | ''~/.local/share/wvds-crypto/pqkeys/'' | | macOS | ''~/Library/Application Support/WvdS.Crypto/PqKeys/'' | ==== Provjera dozvola ==== **Windows (PowerShell):** # Određivanje putanje $pqKeyStore = "$env:LOCALAPPDATA\WvdS.Crypto\PqKeys" # Provjera postojanja Test-Path $pqKeyStore # Prikaz dozvola Get-Acl $pqKeyStore | Format-List # Postavljanje dozvola (samo trenutni korisnik) icacls $pqKeyStore /inheritance:r /grant:r "$env:USERNAME:(OI)(CI)F" **Linux:** # Putanja PQ_KEYSTORE=~/.local/share/wvds-crypto/pqkeys # Provjera postojanja ls -la $PQ_KEYSTORE # Postavljanje dozvola (samo vlasnik čita/piše) chmod 700 $PQ_KEYSTORE chmod 600 $PQ_KEYSTORE/* # Verifikacija stat $PQ_KEYSTORE **Važno:** PQ-pohrana ključeva **nije** uključena u sigurnosnu kopiju Windows Certificate Store! Sigurnosno kopirajte ovaj direktorij zasebno. ---- ===== FIPS-način rada (OpenSSL) ===== Za FIPS 140-3 usklađenost mora se aktivirati OpenSSL FIPS Provider. ==== Provjera statusa FIPS Providera ==== # Popis providera openssl list -providers # Očekivani izlaz s FIPS: # Providers: # default # fips ==== Aktiviranje FIPS Providera ==== **Konfiguracija openssl.cnf:** # Određivanje putanje OpenSSL konfiguracije openssl version -d # Izlaz: OPENSSLDIR: "/usr/local/openssl" # Uređivanje konfiguracije sudo nano /usr/local/openssl/openssl.cnf **Potrebni unosi u openssl.cnf:** # Na poč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 **Verifikacija:** # Provjera statusa FIPS openssl list -providers | grep -i fips # FIPS-validirani algoritmi openssl list -signature-algorithms -provider fips ---- ===== Konfiguracija algoritama ===== **Dostupne ML-DSA varijante (potpisi):** ^ Algoritam ^ NIST razina ^ Javni ključ ^ Potpis ^ Preporuka ^ | ML-DSA-44 | Razina 2 | 1.312 B | 2.420 B | Sustavi s ograničenim resursima | | ML-DSA-65 | Razina 3 | 1.952 B | 3.309 B | **Standard (preporučeno)** | | ML-DSA-87 | Razina 5 | 2.592 B | 4.627 B | Najviša sigurnost | **Dostupne ML-KEM varijante (razmjena ključeva):** ^ Algoritam ^ NIST razina ^ Javni ključ ^ Šifrirani tekst ^ Dijeljeni tajni ključ ^ | ML-KEM-512 | Razina 1 | 800 B | 768 B | 32 B | | ML-KEM-768 | Razina 3 | 1.184 B | 1.088 B | 32 B | | ML-KEM-1024 | Razina 5 | 1.568 B | 1.568 B | 32 B | **Provjera podrške za algoritme:** # Svi dostupni algoritmi za potpise openssl list -signature-algorithms # Specifično za ML-DSA openssl list -signature-algorithms | grep -i "ml-dsa" # Svi KEM-algoritmi openssl list -kem-algorithms # Specifično za ML-KEM openssl list -kem-algorithms | grep -i "ml-kem" ---- ===== Daljnje informacije ===== * [[.:betrieb|Rad]] – Health provjere, certifikati putem CLI * [[.:troubleshooting|Rješavanje problema]] – Konfiguracijske pogreške * [[..:konzepte:algorithmen|Algoritmi]] – Tehnički detalji * [[..:api:cryptoconfig|CryptoConfig API]] – Za programere ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>konfiguration umgebungsvariablen fips openssl}}