====== 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}}