Riguardo alla tua prima domanda: la risposta dipende dalla definizione di "trasparente". Per me, l'intercettazione trasparente implicherebbe che nessun certificato o autorità di certificazione debba essere aggiunto manualmente dai client al "trust store" dei loro dispositivi. Finché questa condizione mantiene e il tuo browser controlla correttamente il certificato presentato per la sua validità , un utente malintenzionato non sarà in grado di intercettare la tua connessione, a meno che non riesca a svolgere una delle seguenti operazioni:
- compromette una delle CA che il tuo dispositivo si fida di
- in qualche modo ottenere una CA attendibile per firmare un certificato contraffatto per un sito che in realtà non possiede
- manipola l'archivio fidato sul tuo dispositivo
- o ottieni una chiave privata del server specifico.
Il motivo per cui questi sono gli unici vettori di attacco (anche in questo caso, se il controllo di validità è implementato correttamente sul lato client) è che il server presenterà un certificato (inclusa la chiave pubblica del server) a sua volta firmato con la chiave privata di CA . Il client controlla se la firma corrisponde alla chiave pubblica che ha memorizzato per la CA corrispondente e, in tal caso, avvia un handshake TLS / SSL con il server. È a un certo punto di questo protocollo di handshake che il client crittografa alcune informazioni specifiche della connessione con la chiave pubblica del server. Chiunque stia intercettando il messaggio dovrà quindi decifrare le informazioni con la chiave privata del server e rispedirle per dimostrare di non essere, in effetti, qualcun altro.
Riguardo alla tua seconda domanda, non so cosa si intenda esattamente nella frase che hai citato. Quello che so è che tutti i browser moderni più diffusi convalidano correttamente i certificati. C'è, tuttavia, un altro meccanismo interessante per quanto riguarda la sicurezza dei certificati che è non adottato da tutti i browser moderni, almeno per quanto ne so. Pinning chiave pubblica è un concetto relativo a trust al primo utilizzo : quando visiti per la prima volta un sito web, "pin" la chiave pubblica che ti è stata mostrata e controlla se è sempre lo stesso nelle successive visite alla pagina. Questo protegge dagli scenari di attacco 1 e 2 delineati sopra: non devi più preoccuparti di emettere certificati falsi se solo una volta hai visto il certificato legittimo. Il blocco della chiave pubblica non può essere eseguito solo per server specifici ma per qualsiasi CA nella catena di fiducia. Per rispondere alla tua domanda, Chrome e Firefox sono in grado di eseguire il blocco della chiave pubblica (e probabilmente ce ne sono altri, ma non ne conosco tutti).