Inhaltsverzeichnis
Vzporedna operacija
Kompleksnost: Srednja
Trajanje: Neomejeno (dokler se klasičnega ne ugasne)
Tveganje: Nizko
Hkratno upravljanje klasičnega in post-kvantnega PKI za maksimalno združljivost.
Arhitektura
flowchart TB
subgraph CLASSIC["KLASIČNI PKI"]
CR[Klasični Root-CA]
CI[Klasični Intermediate]
CC[Klasični certifikati]
end
subgraph HYBRID["HIBRIDNI PKI"]
HR[Hibridni Root-CA]
HI[Hibridni Intermediate]
HC[Hibridni certifikati]
end
subgraph CLIENTS["ODJEMALCI"]
OLD[Podedovani odjemalci]
NEW[Moderni odjemalci]
end
CR --> CI --> CC
HR --> HI --> HC
CC --> OLD
HC --> NEW
CC -.->|Nadomestno| NEW
style CLASSIC fill:#ffebee
style HYBRID fill:#e8f5e9
Kdaj vzporedna operacija?
| Scenarij | Priporočilo |
| ———- | ————- |
| Podedovani sistemi, ki jih ni mogoče posodobiti | Da vzporedno |
| Postopna migracija čez leta | Da vzporedno |
| Regulativne zahteve za združljivost nazaj | Da vzporedno |
| Greenfield / nov projekt | Ne, neposredno hibridno |
| Vsi odjemalci posodobljivi | Ne, hibridna migracija |
Nastavitev
Struktura imenikov
/etc/pki/
├── classic/
│ ├── root-ca.pem
│ ├── intermediate-ca.pem
│ ├── intermediate-ca.key
│ ├── crl/
│ └── issued/
├── hybrid/
│ ├── root-ca.pem
│ ├── intermediate-ca.pem
│ ├── intermediate-ca.key
│ ├── crl/
│ └── issued/
└── scripts/
├── issue-classic.sh
├── issue-hybrid.sh
└── issue-both.sh
Skripta za dvojno izdajo
#!/bin/bash # /etc/pki/scripts/issue-both.sh # Izda certifikat iz OBEH PKI-jev CSR_FILE="$1" OUTPUT_PREFIX="$2" if [ -z "$CSR_FILE" ] || [ -z "$OUTPUT_PREFIX" ]; then echo "Uporaba: $0 <csr-datoteka> <predpona-izhoda>" exit 1 fi # Izdaja klasičnega certifikata echo "Izdajam klasični certifikat..." openssl ca -config /etc/pki/classic/openssl.cnf \ -in "$CSR_FILE" \ -out "${OUTPUT_PREFIX}-classic.pem" \ -days 365 \ -batch # Izdaja hibridnega certifikata echo "Izdajam hibridni certifikat..." /usr/local/bin/wvds-sign --mode hybrid \ --ca /etc/pki/hybrid/intermediate-ca.pfx \ --csr "$CSR_FILE" \ --out "${OUTPUT_PREFIX}-hybrid.pem" \ --days 365 echo "Končano:" echo " Klasični: ${OUTPUT_PREFIX}-classic.pem" echo " Hibridni: ${OUTPUT_PREFIX}-hybrid.pem"
Konfiguracija strežnika
Nginx: Dvojni certifikat
server { listen 443 ssl; server_name api.example.com; # Primarno: Hibridni certifikat ssl_certificate /etc/ssl/certs/api-hybrid.pem; ssl_certificate_key /etc/ssl/private/api.key; # Nadomestno: Klasični certifikat (za stare odjemalce) # Opomba: Nginx podpira samo en certifikat na strežniški blok # Za pravi dvojni način: Ločeni strežniški bloki ali SNI } # Alternativa: Ločen strežnik za podedovano server { listen 443 ssl; server_name api-legacy.example.com; ssl_certificate /etc/ssl/certs/api-classic.pem; ssl_certificate_key /etc/ssl/private/api.key; }
Apache: Dvojni certifikat
<VirtualHost *:443> ServerName api.example.com # Moderni odjemalci → Hibridno SSLCertificateFile /etc/ssl/certs/api-hybrid.pem SSLCertificateKeyFile /etc/ssl/private/api.key SSLCertificateChainFile /etc/ssl/certs/hybrid-chain.pem </VirtualHost> <VirtualHost *:443> ServerName api-legacy.example.com # Podedovani odjemalci → Klasično SSLCertificateFile /etc/ssl/certs/api-classic.pem SSLCertificateKeyFile /etc/ssl/private/api.key SSLCertificateChainFile /etc/ssl/certs/classic-chain.pem </VirtualHost>
Upravljanje shrambe zaupanja
Odjemalci z obema CA
# Shramba zaupanja z obema Root-CA cat /etc/pki/classic/root-ca.pem /etc/pki/hybrid/root-ca.pem > /etc/ssl/certs/ca-bundle.pem # Ali posamično dodati update-ca-trust extract
Windows shramba zaupanja
# Uvoz obeh Root-CA Import-Certificate -FilePath "classic-root.cer" -CertStoreLocation Cert:\LocalMachine\Root Import-Certificate -FilePath "hybrid-root.cer" -CertStoreLocation Cert:\LocalMachine\Root
CRL/OCSP za oba PKI
# CRL distribucijske točke # Klasično: http://crl.example.com/classic/intermediate.crl # Hibridno: http://crl.example.com/hybrid/intermediate.crl # Nginx za distribucijo CRL location /crl/classic/ { alias /etc/pki/classic/crl/; types { application/pkix-crl crl; } } location /crl/hybrid/ { alias /etc/pki/hybrid/crl/; types { application/pkix-crl crl; } }
Nadzor
# Prometheus: Nadzor obeh PKI scrape_configs: - job_name: 'pki-classic' static_configs: - targets: ['localhost:9793'] params: path: ['/etc/pki/classic/issued/*.pem'] relabel_configs: - target_label: pki replacement: 'classic' - job_name: 'pki-hybrid' static_configs: - targets: ['localhost:9793'] params: path: ['/etc/pki/hybrid/issued/*.pem'] relabel_configs: - target_label: pki replacement: 'hybrid'
Metrike nadzorne plošče:
| Metrika | Klasično | Hibridno |
| ——— | ———- | ———- |
| Aktivni certifikati | count(x509{pki=„classic“}) | count(x509{pki=„hybrid“}) |
| Potečejo < 30d | count(…) | count(…) |
| CRL naslednja posodobitev | crl_next_update{pki=„classic“} | crl_next_update{pki=„hybrid“} |
Sledenje migraciji
#!/bin/bash # migration-status.sh - Napredek migracije echo "=== Status migracije PKI ===" classic_count=$(find /etc/pki/classic/issued -name "*.pem" | wc -l) hybrid_count=$(find /etc/pki/hybrid/issued -name "*.pem" | wc -l) total=$((classic_count + hybrid_count)) if [ "$total" -gt 0 ]; then hybrid_percent=$((hybrid_count * 100 / total)) else hybrid_percent=0 fi echo "Klasično: $classic_count" echo "Hibridno: $hybrid_count" echo "Skupaj: $total" echo "Migracija: $hybrid_percent%" # Grafična predstavitev echo "" echo -n "Napredek: [" for i in $(seq 1 50); do if [ $i -le $((hybrid_percent / 2)) ]; then echo -n "█" else echo -n "░" fi done echo "] $hybrid_percent%"
Postopna ukinitev klasičnega
flowchart LR
subgraph ACTIVE["AKTIVNO"]
A1[Oba PKI aktivna]
end
subgraph TRANSITION["PREHOD"]
T1[Klasično: samo obnova]
T2[Hibridno: novi certifikati]
end
subgraph SUNSET["SONČNI ZAHOD"]
S1[Klasično: samo še aktivno]
S2[Ni novih klasičnih cert.]
end
subgraph END["KONEC"]
E1[Klasično deaktivirano]
end
ACTIVE --> TRANSITION --> SUNSET --> END
style ACTIVE fill:#e8f5e9
style END fill:#ffebee
Časovnica:
| Faza | Akcija | Sprožilec |
| —— | ——– | ———– |
| Aktivno | Oba PKI izdajata | Začetek |
| Prehod | Klasično samo obnova | 80% hibridno |
| Sončni zahod | Klasično samo poteka | 95% hibridno |
| Konec | Klasični CA brez povezave | Vsi klasični potekli |
Kontrolni seznam
| # | Kontrolna točka | |
| — | —————– | — |
| 1 | Oba PKI vzpostavljena | |
| 2 | Skripte za dvojno izdajo delujejo | |
| 3 | Shrambe zaupanja vsebujejo oba CA | |
| 4 | CRL/OCSP za oba na voljo | |
| 5 | Nadzor za oba aktiven | |
| 6 | Sledenje migraciji vzpostavljeno | |
| 7 | Načrt ukinitve dokumentiran |
Povezana dokumentacija
- Klasično → Hibridno – Neposredna migracija
- Strategija povrnitve – Načrt v sili
- Nadzor – Spremljanje obeh PKI
« ← Klasično → Hibridno | → Strategija povrnitve »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: dne 30.01.2026 ob 07:30