ComplessitΓ : Media
Durata: Illimitata (fino alla disattivazione Classic)
Rischio: Basso
Funzionamento simultaneo di PKI classica e Post-Quantum per massima compatibilitΓ .
| Scenario | Raccomandazione |
| βββ- | ββββββ |
| Sistemi legacy non aggiornabili | β Parallelo |
| Migrazione graduale su anni | β Parallelo |
| Requisiti normativi per retrocompatibilitΓ | β Parallelo |
| Greenfield / Nuovo progetto | β Direttamente Hybrid |
| Tutti i client aggiornabili | β Migrazione Hybrid |
/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
#!/bin/bash # /etc/pki/scripts/issue-both.sh # Emette un certificato da ENTRAMBE le PKI CSR_FILE="$1" OUTPUT_PREFIX="$2" if [ -z "$CSR_FILE" ] || [ -z "$OUTPUT_PREFIX" ]; then echo "Utilizzo: $0 <file-csr> <prefisso-output>" exit 1 fi # Emissione certificato classico echo "Emissione certificato classico..." openssl ca -config /etc/pki/classic/openssl.cnf \ -in "$CSR_FILE" \ -out "${OUTPUT_PREFIX}-classic.pem" \ -days 365 \ -batch # Emissione certificato ibrido echo "Emissione certificato ibrido..." /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 "Completato:" echo " Classico: ${OUTPUT_PREFIX}-classic.pem" echo " Ibrido: ${OUTPUT_PREFIX}-hybrid.pem"
server { listen 443 ssl; server_name api.example.com; # Primario: Certificato ibrido ssl_certificate /etc/ssl/certs/api-hybrid.pem; ssl_certificate_key /etc/ssl/private/api.key; } # Alternativa: Server separato per Legacy 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; }
# Trust Store con entrambe le Root-CA cat /etc/pki/classic/root-ca.pem /etc/pki/hybrid/root-ca.pem > /etc/ssl/certs/ca-bundle.pem # Oppure aggiungerle singolarmente update-ca-trust extract
# Importare entrambe le Root-CA Import-Certificate -FilePath "classic-root.cer" -CertStoreLocation Cert:\LocalMachine\Root Import-Certificate -FilePath "hybrid-root.cer" -CertStoreLocation Cert:\LocalMachine\Root
# Distribuzione 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; } }
# Prometheus: Monitorare entrambe le PKI scrape_configs: - job_name: 'pki-classic' static_configs: - targets: ['localhost:9793'] relabel_configs: - target_label: pki replacement: 'classic' - job_name: 'pki-hybrid' static_configs: - targets: ['localhost:9793'] relabel_configs: - target_label: pki replacement: 'hybrid'
#!/bin/bash # migration-status.sh - Stato avanzamento migrazione echo "=== Stato migrazione 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 "Classici: $classic_count" echo "Ibridi: $hybrid_count" echo "Totale: $total" echo "Migrazione: $hybrid_percent%"
Timeline:
| Fase | Azione | Trigger |
| ββ | βββ | βββ |
| Attivo | Entrambe PKI emettono | Inizio |
| Transizione | Classic solo rinnovi | 80% Hybrid |
| Sunset | Classic lasciare scadere | 95% Hybrid |
| Fine | Classic-CA offline | Tutti Classic scaduti |
| # | Punto di verifica | β |
| β | ββββββ- | β |
| 1 | Entrambe PKI configurate | β |
| 2 | Script dual-issue funzionanti | β |
| 3 | Trust Store contengono entrambe CA | β |
| 4 | CRL/OCSP disponibili per entrambe | β |
| 5 | Monitoraggio attivo per entrambe | β |
| 6 | Tracciamento migrazione configurato | β |
| 7 | Piano phase-out documentato | β |
Β« β Classic β Hybrid | β Strategia di rollback Β»
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional