Un certificato client identifica il proprietario in siti Web non collegati?

57

Se installo un certificato client nel mio browser, quali siti web possono vedere qualsiasi informazione su questo certificato client o sulla CA che lo ha emesso?

Una volta ho visitato un sito di diagnostica SSL che riportava immediatamente le informazioni di uno dei miei certificati client, incluso il mio nome (che avevo inserito nella CA che ha rilasciato il certificato client).

Questo è relativo a: Protezione delle informazioni nei certificati client TLS Ma si tratta di come il certificato viene inviato al sito Web a cui è destinato il certificato. Sto chiedendo di siti web non collegati.

    
posta user13097 10.12.2018 - 23:37
fonte

1 risposta

68

Domanda interessante! Mi è capitato di avere un browser pieno di test tester e un certo numero di siti di test a cui connettersi! Proviamo questo!

(Vai in fondo per un sommario)

Investigation

Test su Firefox

Firefox caricato con certs, un sito di test che richiede un certificato client TLS, Wireshark.

Ho riavviato Firefox per ottenere una sessione pulita. Quindi ho inserito l'URL di un sito Web che chiederà un certificato client TLS e si è interrotto una volta ottenuto il popup "Please choose a certificate". Questo è il pacchetto wireshark che cattura fino a quel punto:

Cosedanotare:

IlclientinviaunClientHellogenerico.

IlserverinviaunServerHellocheincludeilcertificatodelservereunarichiestaperuncertificatocliente.

AquestopuntoFirefoxpresentailpopuppermeperselezionarequalecertificatodesideroinviare.SepremoAnnulla,nonc'èpiùtrafficodirete,cioènonvieneinviatonullaalserveroltrealClientHellogenericochenoncontieneinformazionipersonaliidentificabili.(apartel'elencodellesuitedicrittografiasupportate,chepotrebberoessereutilizzateperdeterminarequaleversionedelbrowserstaiutilizzando)

Nota1:Hoprovatolostessotestconunsolocertificatoclientenelmiobrowser,ehoanchefattoclicsu"Ricorda questa decisione" sul popup di selezione del certificato e ottengo lo stesso risultato. Quindi non sono in grado di riprodurre il risultato di dati privati inviati al server senza che io clicchi su "OK".

Nota 2: come sottolineato da @JohnWu nei commenti, puoi modificare il comportamento di Firefox nelle impostazioni, nel qual caso si comporta nello stesso modo insicuro di Chrome. L'impostazione predefinita è:

TestsuChrome

Esattamentelostessoscenarioditestdicuisopra,maconChrome.(SinoticheChromenonhaunpropriocertstore,mautilizzainveceiltuocertstorediWindows,cheèunpo'piùcomplicatodamanipolarerispettoaFirefox.Dettagliperquestononinclusiqui.)

BINGO!!Chromeavviaimmediatamentel'inviodicertificaticlientfinoalserversenzaalcunarichiestadell'utente.QuestocertificatoèstatorifiutatodalserverperchéquelcertificatoeraperunsitoWebdiverso.Sì,èunproblemadiprivacy.

Nota1: @JohnWu sottolinea che è possibile modificare questo comportamento e avere il prompt di Chrome, ma non è il comportamento predefinito, e devi fare immersioni in Criteri di gruppo di Windows (GPO) per farlo.

Nota 2: la riproducibilità di questo può dipendere dal modo in cui è stato configurato il sistema operativo Windows poiché Chrome tende ad ereditare molte delle sue impostazioni di sicurezza da IE.

Sommario

Nei miei test con i due browser che ho nel mio ambiente di test (Firefox e Chrome), Chrome mostrava il comportamento che descrivi (spamming client certs sul server indipendentemente dal fatto che siano da un altro sito), mentre Firefox educatamente mi ha chiesto di confermare quale certificato inviare, anche quando ho installato un solo certificato.

Conclusione: se ti interessa la privacy, Chrome non è tuo amico. Utilizza invece Firefox.

    
risposta data 11.12.2018 - 00:26
fonte

Leggi altre domande sui tag