Inhaltsverzeichnis
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
- Rad – Health provjere, certifikati putem CLI
- Rješavanje problema – Konfiguracijske pogreške
- Algoritmi – Tehnički detalji
- CryptoConfig API – Za programere
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional