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

flowchart TB subgraph ROOT["Root-CA (Scenario 1.1)"] R[("Root-CA
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
Key Usage keyCertSign, cRLSign
Subject Key Identifier SHA-256(publicKey) No

Intermediate-CA

Estensione Valore Critical
Basic Constraints CA=true, pathLen=0
Key Usage keyCertSign, cRLSign
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

flowchart TB subgraph P1["1. PREPARAZIONE"] V1["Preparare sistema air-gapped"] V2["Documentare Certificate Policy"] V3["Definire struttura DN"] V4["Pianificare periodi di validità"] end subgraph P2["2. CREARE ROOT-CA"] R1["Coppia chiavi ML-DSA-65/87"] R2["Certificato autofirmato"] R3["Crittografare chiave privata"] R4["Esportare certificato root"] end subgraph P3["3. INTERMEDIATE-CA"] I1["Coppia chiavi ML-DSA-65"] I2["Creare CSR"] I3["Root firma certificato"] I4["Deploy online"] end subgraph P4["4. TRUST & REVOCATION"] T1["Configurare Trust Store"] T2["CRL Distribution Points"] T3["OCSP-Responder"] T4["Pubblicare prima CRL"] end subgraph P5["5. OPERATIVITÀ"] B1["Emettere certificati"] B2["Aggiornare CRL"] B3["Risposte OCSP"] B4["Monitorare audit log"] end P1 ==> P2 ==> P3 ==> P4 ==> P5 style P1 fill:#e3f2fd style P2 fill:#e8f5e9 style P3 fill:#fff8e1 style P4 fill:#fce4ec style P5 fill:#f3e5f5


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

Zuletzt geändert: il 30/01/2026 alle 06:35