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