Fidati delle CA radice

3

Il sistema di CA con le CA radice e le CA subordinate sono in linea di principio IMHO simile al sistema di banche con i loro siti principali e sussidi. Nel caso delle banche, un cliente di una banca ha comunemente fiducia in quella banca ma non necessariamente si fida dell'altra banche del mondo. Qualsiasi cosa proveniente dalle altre banche può quindi essere affidabile per lui solo attraverso un'azione corrispondente della sua banca che gli fornisce la necessaria fiducia. Ciò implica che le CA radice devono in qualche modo manange fidarsi l'una dell'altra in modo che i certificati dall'area di una CA radice possano essere utilizzati nella regione di altre CA radice. In che modo questa fiducia tra le CA radice viene effettivamente stabilita nella pratica?

    
posta Mok-Kong Shen 23.06.2013 - 13:25
fonte

4 risposte

2

Le CA radice non si fidano l'una dell'altra e in realtà non parlano tra loro. Ogni CA radice vive nel proprio mondo, da solo. La CA principale non si fida di nessuno; va il contrario. Questo è anche il punto in cui l'analogia bancaria si rompe: le banche devono parlare tra loro, mentre le CA radice si ignorano a vicenda.

Tu (o il tuo sistema operativo o browser) si fida di una o più CA radice per affermare cose su identità e chiavi pubbliche. Le varie radici non devono assumere o anche essere consapevoli che ci si fida di più di loro contemporaneamente. È il tuo problema, non il loro. In pratica, il tuo sistema operativo o il fornitore del browser ha scelto per te che ti fidi di un centinaio di CA radice, che puoi vedere ispezionando i menu di configurazione del browser.

La cross-trust tra CA è un evento raro, che di solito accade in natura come conseguenza delle fusioni: due aziende, ciascuna con la propria CA interna, decidono di fondersi in un'unica entità. Ma i sistemi desktop implementati in quello che prima era un business Un unico trust rootA, mentre i sistemi distribuiti dal business B si fidano solo di rootB. La soluzione ideale sarebbe quella di modificare tutti i sistemi in modo che tutti si fidino sia rootA che di rootB, ma questo è un lavoro duro (a seconda di come i computer sono gestiti nell'organizzazione, potrebbero devono inviare amministratori di sistema di fronte a ciascuna delle migliaia di PC, per fare le poche operazioni necessarie) e potrebbe richiedere del tempo. Quindi, nel frattempo, qualcosa può essere fatto a livello di CA: make rootA emette un certificato (un certificato CA intermedio ) per rootB (e viceversa). Ciò significa che rootA afferma che chiunque abbia fiducia in rootA può anche fidarsi di ciò che proviene da rootB (e viceversa).

Alcune persone hanno investito molto pensiero nell'elaborazione della terminologia per i vari casi di cross-trust; vedi RFC 5217 per (molti) dettagli. Tuttavia, insisto, questo non accade spesso nel "mondo reale".

    
risposta data 23.07.2013 - 21:30
fonte
1

This implies that the root-CAs must somehow manange to trust one another

Non è affatto così che funziona la fiducia nel modello X.509.

Un utente si fida di molte CA radice direttamente, attraverso le impostazioni SSL del loro client. Ogni root opera in modo indipendente - non si fidano l'un l'altro.

Se vai su site-A.com e il tuo browser non si fida di alcuna root o CA intermediaria sulla sua catena di certificati, sei sfortunato. Non c'è alcun meccanismo per prendere la parola di qualcun altro per questo.

(Ci sono altri modelli basati su più notai o reti di fiducia, ma X.509 è principalmente dove siamo oggi.)

    
risposta data 23.06.2013 - 14:44
fonte
1

Come hanno già detto le altre risposte, le CA principali non sono obbligate a fidarsi l'una dell'altra. Questa è considerata "tua" responsabilità *.

Ma al momento esiste anche un vincolo tecnico fondamentale, anche se noi o loro volessimo stabilire una verifica incrociata delle CA principali: I certificati X509 non consentono la presenza di catene fiduciarie con firme a radice multipla.

Quindi non è possibile ottenere un certificato firmato da più diverse CA principali diverse; sei costretto a scegliere una e una sola CA radice come un coniglio da un cappello. Il che è in parte il motivo per cui i produttori di browser e sistemi operativi mettono così tante CA radice nel cappello; con poco o nessun serio tentativo di controllare la rabbia.

Nel migliore dei casi, se tutti volessero farlo ** con la versione 3 esistente di X.509, avrebbero dovuto trattare tutte le permutazioni di certificato di A -> B -> C -> ... -> Z come equivalenti, per ottenere una firma multi-root di Z .

* Bene, non tuo ma la responsabilità del tuo browser e del sistema operativo in ogni caso. Spero ti fidi di quei venditori.
** I fornitori di CA root non vogliono farlo. Metterebbe a repentaglio sia il loro modello di business sia l'oligopolio.

    
risposta data 19.10.2013 - 09:37
fonte
0

Per SSL, l'utente si fida del produttore del browser, poiché ci sono molte CA elencate come affidabili per impostazione predefinita. Un utente attento alla sicurezza rimuoverà tutte le CA radice e aggiungerà solo quelle di cui si fida personalmente.

Per Windows, le CA sono memorizzate nelle "autorità radice attendibili", il che significa che qualsiasi certificato emesso da una qualsiasi di queste CA (per la firma del codice o altro) può essere considerato attendibile. Quindi lo stesso vale anche lì.

Il sistema CA significa che l'utente deve fidarsi di alcune CA che emettono solo certificati per le persone che sono realmente chi dicono di essere (o qualsiasi cosa che dice il certificato). Quindi da quel momento in poi puoi stabilire una connessione sicura o sapere che il codice è stato realmente firmato da quella persona.

    
risposta data 23.06.2013 - 19:48
fonte