1. Costruzione dell'infrastruttura PKI
Scenari: 6
Funzioni FFI: ~45
Stato: In pianificazione
Questa categoria comprende tutti gli scenari per la costruzione e la gestione di una Public Key Infrastructure (PKI) compatibile con Post-Quantum. Dalla creazione di una Root-CA alle gerarchie CA multilivello fino alla configurazione dei servizi di revoca (CRL/OCSP).
Scenari
| ID | Scenario | Descrizione | Complessità | Stato |
|---|---|---|---|---|
| 1.1 | Creare Root-CA | Root-CA autofirmata con ML-DSA-65 | Alta | In pianificazione |
| 1.2 | Creare Intermediate-CA | CA subordinata firmata dalla Root | Media | In pianificazione |
| 1.3 | Costruire gerarchia CA | Struttura PKI multilivello | Alta | In pianificazione |
| 1.4 | Configurare Trust Store | Gestire CA affidabili | Media | In pianificazione |
| 1.5 | Definire Certificate Policy | Stabilire policy di emissione | Media | In pianificazione |
| 1.6 | Infrastruttura CRL/OCSP | Configurare servizi di revoca | Molto alta | In pianificazione |
Panoramica dell'architettura
ML-DSA-65/87
20 anni")] end subgraph INTERMEDIATE["Intermediate-CA (Scenario 1.2)"] I1["Intermediate-CA
Server
10 anni"] I2["Intermediate-CA
Client
10 anni"] I3["Intermediate-CA
CodeSign
10 anni"] end subgraph ENDENTITY["Certificati End-Entity"] E1["Server-Certs
TLS/HTTPS"] E2["Client-Certs
mTLS/Auth"] E3["CodeSign-Certs
Firma"] end R -->|firma| I1 R -->|firma| I2 R -->|firma| I3 I1 -->|emette| E1 I2 -->|emette| E2 I3 -->|emette| E3 subgraph TRUST["Trust Store (Scenario 1.4)"] T1["Certificati Root-CA"] T2["Cross-certificati"] end subgraph REVOCATION["Revoca (Scenario 1.6)"] CRL["CRL Distribution Points"] OCSP["OCSP Responder"] end R -.->|pubblica| TRUST I1 & I2 & I3 -.->|pubblica| CRL I1 & I2 & I3 -.->|risponde| OCSP
Requisiti specifici per settore
A seconda del settore si applicano requisiti diversi per le durate PKI e la conformità:
| Settore | Validità Root-CA | Particolarità | Regolamentazione |
|---|---|---|---|
| Energia/SCADA | 25 anni | Durata impianti eolici, CRL offline | NIS21), KRITIS-VO |
| Sanità | 20 anni | OID gematik, compatibile ePA | GDPR Art. 32, DiGAV |
| Automotive | 30 anni | V2X-PKI, certificati pseudonimi | UN R1552), ISO 21434 |
| Industria 4.0 | 20 anni | Separazione OT/IT, IEC 62443 | NIS2, Regolamento Macchine |
| IT Standard | 15 anni | PKI Enterprise standard | BSI IT-Grundschutz |
Tipi di chiave per CA
| Tipo CA | Algoritmo consigliato | Validità | Motivazione |
|---|---|---|---|
| Root-CA | ML-DSA-65 o ML-DSA-87 | 15-25 anni | Massima sicurezza, uso raro |
| Intermediate-CA | ML-DSA-65 | 8-12 anni | Equilibrio sicurezza/prestazioni |
| OCSP-Responder | ML-DSA-44 | 1-3 anni | Firma frequente, prestazioni critiche |
Raccomandazione ibrida: Per la fase di transizione si possono utilizzare chiavi ibride (ECDSA P-384 + ML-DSA-65) per garantire la compatibilità con i sistemi classici.
Estensioni importanti per certificati CA
Root-CA
| Estensione | Valore | Critical |
|---|---|---|
| Basic Constraints | CA=true, pathLen=1 o 2 | Sì |
| Key Usage | keyCertSign, cRLSign | Sì |
| Subject Key Identifier | SHA-256(publicKey) | No |
Intermediate-CA
| Estensione | Valore | Critical |
|---|---|---|
| Basic Constraints | CA=true, pathLen=0 | Sì |
| Key Usage | keyCertSign, cRLSign | Sì |
| Subject Key Identifier | SHA-256(publicKey) | No |
| Authority Key Identifier | SKI della Root-CA | No |
| CRL Distribution Points | URL alla CRL | No |
| Authority Info Access | URL OCSP, URL CA Issuers | No |
| Certificate Policies | OID Policy | No |
Note sulla sicurezza
Requisiti critici per l'operatività CA:
- Chiave privata Root-CA: Conservare offline (HSM air-gapped o chiavetta USB crittografata in cassaforte)
- Chiave privata Intermediate-CA: HSM o fortemente crittografata con token hardware
- Password: Almeno 20 caratteri, alta entropia, conservazione sicura
- Audit-Logging: Protocollare tutte le operazioni CA
- Backup: Backup crittografati in sedi separate
- Key Ceremony: Processo documentato per le operazioni Root-CA
Mai:
- Conservare la chiave privata Root-CA su sistemi connessi alla rete
- Password CA in chiaro in script/configurazioni
- Emettere certificati CA senza limitazione pathLength
- Utilizzare certificati end-entity autofirmati in produzione
Workflow tipico
Quick start codice
Esempio minimo: Creare Root-CA (C#)
using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; using var ctx = PqCryptoContext.Initialize(); // Root-CA con ML-DSA-65 using var rootKey = ctx.GenerateKeyPair(PqAlgorithm.MlDsa65); var rootDn = new DnBuilder().AddCN("My Root CA").AddO("My Org").AddC("DE").Build(); using var rootCert = ctx.CreateRootCertificate(rootKey, rootDn, validYears: 20, extensions: new ExtBuilder() .BasicConstraints(ca: true, pathLen: 1) .KeyUsage(KeyUsageFlags.KeyCertSign | KeyUsageFlags.CrlSign) .SubjectKeyIdentifier(rootKey) .Build() ); // Salvare File.WriteAllText("root-ca.crt.pem", rootCert.ToPem()); File.WriteAllText("root-ca.key.pem", rootKey.ToEncryptedPem("SecurePassword123!"));
→ Esempio completo: Scenario 1.1
Categorie correlate
| Categoria | Relazione |
|---|---|
| 2. CSR | Creazione CSR per Intermediate-CA |
| 3. Emissione certificati | Certificati end-entity firmati dalla CA |
| 5. Validazione | Validare certificati contro Trust Store |
| 6. Revoca | Operazioni CRL/OCSP |
| 11. Gestione chiavi | Gestire, ruotare, distruggere chiavi CA |
« Panoramica scenari | 1.1 Creare Root-CA »
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional