Quanto possono essere lunghe le catene di certificati X.509?

14

Solitamente, vedo solo catene di certificati con una CA radice, una intermedia e una terza per il sito Web specifico SSL / TLS; ma le catene di certificati X.509 possono essere più profonde di 3 livelli? C'è un limite a quanto possono essere? Non utilizzare catene più lunghe più interconnesse con altre CA radice e intermedie contribuisce a rendere la catena della fiducia più strong, più decentralizzata e meno incline a un singolo punto di errore?

Questa sembra essere l'idea alla base del DNSChain di OkTurtles - un sistema decentralizzato, blockchain basato su una rete DNS che risolve il problema di dover fare affidamento su una rete centralizzata di CA; quindi, è resistente agli attacchi man-in-the-middle (MitM).

    
posta Geremia 11.03.2016 - 17:24
fonte

2 risposte

13

Non esiste un limite tecnico / di specifica imposto sulla lunghezza delle catene di certificati. (Tuttavia, ci sono sono attributi X509v3 che possono imporre limiti basati sulla politica sulla lunghezza di una catena di certificati per una CA; vedere il campo pathLenConstraint di Vincoli di base, < a href="https://tools.ietf.org/html/rfc5280#section-4.2.1.9"> RFC 5280, Sezione 4.2.1.9 .)

Con catene più lunghe, verificare i clienti deve eseguire un po 'più di lavoro di validazione, costruire e camminare e verificare ogni certificato in quella catena, ogni convalida, ogni volta. Ma non è necessariamente una brutta cosa. Tuttavia, aumenta le probabilità che, ad un certo punto nel tempo, uno dei certificati nella catena sia scaduto o sia stato revocato. Molte catene di certificati sono costruite in modo tale che esista un solo percorso dal certificato foglia e.g. (server / client) a una CA radice attendibile; se quel percorso dovesse essere invalidato ovunque lungo la strada, quel certificato foglia non sarebbe considerato attendibile.

Ci sono modi per le CA di eseguire certificazione incrociata , indicando che due CA si fidano l'una dell'altra (discusso in RFC 5280, Sezione 3.2 ). Non sono sicuro di quanto sia comune / diffuso l'utilizzo di questo meccanismo. Permette il tipo di tipo di delega, ma è ancora molto gerarchico e gestito centralmente, piuttosto che essere completamente decentralizzato.

Spero che questo aiuti!

    
risposta data 11.03.2016 - 17:40
fonte
16

Teoricamente, le catene X.509 sono illimitate. L'estensione Vincoli di base può applicare un limite per catena; questo è usato principalmente per CA che accetta di rilasciare un certificato CA secondario ma desidera limitare tale CA secondaria a emettere solo certificati di entità finale.

Le implementazioni potrebbero avere limitazioni. In effetti, con alcuni certificati accuratamente elaborati, è possibile creare un'applicazione per la creazione di percorsi per esplorare n ! potenziali percorsi di profondità n , e poiché i fattoriali aumentano abbastanza velocemente, ciò può portare a enormi attacchi denial-of-service. Corrispondentemente, le implementazioni tendono a imporre una lunghezza massima relativamente bassa (so che ho usato "8" per le mie implementazioni).

In termini concettuali generali , i trust si diluiscono abbastanza velocemente sulla delega. Quando una CA rilascia un certificato a una CA secondaria, non solo asserisce che la chiave pubblica sub-CA è di proprietà di tale CA secondaria, ma consente anche di eseguire tale tipo di verifica per conto della CA principale. Quando una CA rilascia un certificato per un'entità finale, ne verifica l'identità; quando emette un certificato per una CA secondaria, anche deve assicurarsi che la CA secondaria non sia ingenua. Con un terzo livello, la CA deve garantire che la CA secondaria non sia ingenua e non emetterà un certificato per una CA secondaria subordinata credulona.

Quindi il riflesso sarebbe cercare di mantenere le catene brevi anziché lunghe.

Diffida dell'espressione "single point of failure". Normalmente si applica alla continuità operativa. Qui parliamo di sicurezza: una singola CA canaglia compromette la sicurezza, indipendentemente da quanti altri percorsi crei. Questo va in qualche modo in senso inverso rispetto alla regola SPOF: si evita SPOF aggiungendo ridondanza, ma nel caso della certificazione, qualsiasi CA coinvolta è di natura in grado di compromettere le cose - più CA si aggiunge nel mescolare, più vulnerabile si ottiene.

    
risposta data 11.03.2016 - 17:44
fonte