~~NOTOC~~ ====== 5. Validazione e fiducia ====== **Scenari:** 5 \\ **Funzioni FFI:** ~40 \\ **Stato:** Pianificato Questa categoria comprende tutti gli scenari per la validazione di certificati e catene di certificati. Chain Building, controlli di revoca e validazione delle policy. ---- ===== Scenari ===== ^ ID ^ Scenario ^ Descrizione ^ Complessità ^ Stato ^ | [[.:chain_building|5.1]] | Chain Building | Costruire catena certificati | Media | Pianificato | | [[.:chain_validation|5.2]] | Validazione Chain | Verifica completa della catena | Alta | Pianificato | | [[.:revocation_check|5.3]] | Controllo revoca | Verifica stato CRL/OCSP | Media | Pianificato | | [[.:policy_validation|5.4]] | Validazione Policy | Verificare Certificate Policies | Media | Pianificato | | [[.:name_constraints|5.5]] | Name Constraints | Verificare restrizioni namespace | Alta | Pianificato | ---- ===== Processo di validazione ===== flowchart TB START[Certificato ricevuto] --> BUILD[Chain Building] BUILD --> SIG[Verificare firma] SIG --> TIME[Verificare validità] TIME --> REV[Verificare revoca] REV --> POLICY[Verificare policy] POLICY --> CONSTR[Verificare constraints] CONSTR --> RESULT{Risultato} RESULT --> |OK| VALID[Valido] RESULT --> |Errore| INVALID[Non valido] style VALID fill:#e8f5e9 style INVALID fill:#ffcdd2 ---- ===== Passi di validazione ===== ^ Passo ^ Verifica ^ Errore se ^ | 1. Chain Building | Costruire catena fino al Trust Anchor | Intermediate mancante | | 2. Firma | Ogni certificato firmato dall'emittente | Firma non valida | | 3. Validità | notBefore <= now <= notAfter | Scaduto / Non ancora valido | | 4. Basic Constraints | Flag CA, pathLen | Non-CA firma certificato | | 5. Key Usage | keyCertSign per CA | Scopo d'uso errato | | 6. Revoca | CRL o OCSP | Revocato | | 7. Policy | Certificate Policies | Policy non accettata | | 8. Name Constraints | permitted/excluded Subtrees | Nome fuori ambito | ---- ===== Strategie di revoca ===== ^ Metodo ^ Vantaggi ^ Svantaggi ^ Utilizzo ^ | **CRL** | Possibile offline, semplice | File grandi, ritardo | Enterprise, Offline | | **OCSP** | Tempo reale, compatto | Richiede server | Servizi online | | **OCSP Stapling** | Performance, privacy | Richiede supporto TLS-server | Webserver | ---- ===== Requisiti specifici per settore ===== ^ Settore ^ Revoca ^ Particolarità ^ | **Energia/SCADA** | CRL (Offline) | Nessuna connessione Internet possibile | | **Sanità** | OCSP | Validazione in tempo reale per eRicetta | | **Automotive** | CRL + OCSP | V2X richiede verifica rapida | | **Industria 4.0** | CRL | Reti di produzione isolate | ---- ===== Guida rapida al codice ===== using WvdS.Security.Cryptography.X509Certificates.Extensions.PQ; // Caricare Trust Store var trustStore = ctx.LoadTrustStore("trust-store.p7b"); // Validare certificato var result = ctx.ValidateCertificate( certificate: serverCert, trustStore: trustStore, options: new ValidationOptions { CheckRevocation = true, RevocationMode = RevocationMode.Online, // CRL + OCSP ValidatePolicy = true, AcceptedPolicies = new[] { "1.3.6.1.4.1.99999.1.1" } // Policy OID personalizzata } ); if (result.IsValid) { Console.WriteLine("Certificato valido"); Console.WriteLine($"Chain: {string.Join(" → ", result.Chain.Select(c => c.Subject))}"); } else { Console.WriteLine($"Errore: {result.ErrorCode} - {result.ErrorMessage}"); } ---- ===== Categorie correlate ===== ^ Categoria ^ Relazione ^ | [[it:int:pqcrypt:szenarien:pki:start|1. Infrastruttura PKI]] | Configurare Trust Store | | [[it:int:pqcrypt:szenarien:widerruf:start|6. Revoca]] | Fornire CRL/OCSP | | [[it:int:pqcrypt:szenarien:tls:start|10. TLS/mTLS]] | Validazione nell'handshake TLS | ---- << [[it:int:pqcrypt:szenarien:verwaltung:start|← 4. Gestire certificati]] | [[it:int:pqcrypt:szenarien:start|↑ Scenari]] | [[it:int:pqcrypt:szenarien:widerruf:start|6. Revoca →]] >> ---- //Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional// {{tag>categoria validazione chain trust revoca policy}}