Che cosa rende Let's Encrypt sicuro?

68

Let's Encrypt è un'iniziativa di Electronic Frontier Foundation (EFF), Mozilla, Cisco, Akamai, IdenTrust e ricercatori dell'Università di Michigan che mira a fornire automaticamente a ogni proprietario di dominio un certificato riconosciuto che può essere utilizzato per TLS.

Per dimostrare di possedere un dominio, è necessario installare un file con particolari contenuti (generati casualmente) su un particolare URL (generato casualmente) su quel dominio. Il server Let's Encrypt lo verificherà accedendo all'URL, prima di firmare il certificato.

Ora, supponiamo di avere qualche attacco che renderà il dominio awesomebank.example risolto sul mio server. Supponiamo che io possa anche MITM le connessioni di alcune persone a https://awesomebank.example/ . TLS ha lo scopo di impedirmi di vedere o alterare le loro comunicazioni al server senza essere rilevato.

Cosa mi impedisce di usare questo attacco sul server Let's Encrypt e ottenere un certificato per awesomebank.example , e quindi usarlo per i clienti MITM di AwesomeBank senza essere rilevato (perché ho un certificato valido)? L'esistenza di una CA completamente automatizzata non rende Internet meno sicuro?

    
posta immibis 04.05.2015 - 09:49
fonte

5 risposte

64

Stessa sicurezza di altri certificati DV

What prevents me from using this attack on the Let's Encrypt server, and obtaining a certificate for awesomebank.example, and then using it to MITM customers of AwesomeBank without being detected (because I have a valid certificate)?

Niente. Se possiedi la rete, allora sei il proprietario della rete. E i certificati di tipo DV (vedi sotto) si basano sulla rete per la prova della proprietà del dominio. Di solito non ci sono controlli fuori banda. (Nessuno chiamerà il tuo telefono, nessuno controllerà il tuo documento d'identità, nessuno ti visiterà nel luogo in cui è registrata la società, ecc.)

Doesn't the existence of a fully automated CA make the Internet less secure?

No. Lo stesso livello di sicurezza dei certificati di tipo DV.

Ci sono (attualmente) tre livelli di garanzia per x509 certs:

  • DV, Domain Validation
  • OV, Convalida organizzazione
  • EV, Extended Validation

DV è il più economico. Significa fondamentalmente "Se qualcuno può rispondere a un'email a [email protected], allora quella persona ottiene un certificato per example.com" .

Ci sono controlli aggiuntivi per OV, EV.

Maggiori informazioni sui tipi di certificato: GlobalSign.com: Quali sono le diverse tipi di certificati SSL? (archiviato qui .)

Ulteriori letture

risposta data 04.05.2015 - 11:41
fonte
13

Sì, il protocollo che descrivi si limita a garantire che "la persona che prende il telefono in una banca fantastica" quando la chiami, sia la stessa persona che ha preso il telefono in una banca meravigliosa quando il server Let's Encrypt li ha chiamati. Se ho la capacità di intercettare le chiamate verso la banca fantastica sia da Let's Encrypt che da te, allora ti posso fregare.

Idealmente, ciò che vorresti fosse che TLS ti dicesse, è che "la persona che prende il telefono in una banca fantastica" quando li chiami è in realtà un impiegato della splendida banca . Ma questo è difficile da automatizzare, dal momento che i computer non possono solo capire chi lavora per qualcuno, quindi i certificati meglio convalidati costano di più. Let's Encrypt non sta facendo nulla di meno sicuro di quanto facciano già altre CA.

Si spera che Let's Encrypt proverà a rendere più difficile intercettare le proprie chiamate verso una banca fantastica, piuttosto che intercettare il proprio. Alcuni punti di accesso a Internet sono più facili da manomettere rispetto ad altri (punteggi wireless non sicuri bassi) e la messaggistica con più access point contemporaneamente è più difficile di una sola (quindi forse Let's Encrypt confermerà che riceve lo stesso file quando lo scarica da molti diversi luoghi nel mondo, anche se non ho guardato se lo ritengono necessario). Ad eccezione di organizzazioni come la NSA, gli attacchi MITM in pratica tendono a essere localizzati e temporanei.

Quindi fornirà una certa misura di sicurezza solo nella misura in cui è più difficile per MITM Let's Encrypt che per MITM. Supponiamo che sia più facile controllare il tuo accesso a Internet piuttosto che controllare quello di Let's Encrypt o quello di bank fantastico, ed è per questo che ti fidi di "Let's Encrypt as a CA.

Naturalmente niente di tutto ciò è in realtà una telefonata, sono le connessioni socket in entrata.

    
risposta data 04.05.2015 - 19:40
fonte
8

Let's Encrypt è progettato per aiutare contro una serie di attacchi e per spingere la generalizzazione dell'uso di TLS ad avere un Internet globalmente più sicuro e più privato. È mirato più precisamente a rimuovere i vincoli tecnici e finanziari che potrebbero impedire ad alcuni webmaster di utilizzare i certificati TLS in modo più ampio.

Tuttavia, come misura di sicurezza, questo non sarà un prodotto miracoloso che risolve tutti i possibili problemi di titoli e ti consente di timbrare il tuo sito web come "sito web sicuro al 100%!" (anche se alcuni siti Web non esitano a utilizzare tali timbri ...). La sicurezza implica la combinazione di diversi livelli, ognuno progettato per affrontare la propria classe di minacce.

Se uno riesce davvero ad assumere la proprietà del nome del tuo dominio, la possibilità che il recapito del certificato Let'sEncrypt sia automatizzato non avrà in questo caso più impatto che in un'altra situazione.

Come promemoria, tutto ciò che serve per ottenere un certificato dalla CA classica è possedere un indirizzo amministrativo come "[email protected]" e pagare un po 'di soldi. Se riesci a ottenere la proprietà del dominio, sei libero di reindirizzare l'email a un tuo server di posta elettronica, quindi di possedere effettivamente l'indirizzo email di tua scelta.

Questa non è una minaccia teorica. trova qui e l'articolo scritto da qualcuno il cui dominio è stato rubato per diventare proprietario della sua email In questo preciso caso è stato per accedere alle e-mail di reimpostazione della password inviate da società terze, tuttavia nella sua posizione l'attaccante sarebbe stato in grado di generare nuovi certificati per questo dominio e creare un sito di phishing che sarà considerato protetto da i browser.

    
risposta data 04.05.2015 - 11:02
fonte
7

L'uso di un controllo automatico non è univoco per questa CA, ma è comune per i certificati entry-level. Come indicato in altre risposte, ci sono 3 livelli di certificato in uso:

  • La convalida di Doman dimostra solo che avevi il controllo del dominio al momento dell'emissione del certificato. (E che il certificato non è stato esplicitamente revocato da allora.)
  • La convalida dell'organizzazione implica un controllo supplementare che il nome della società elencato nel certificato sia valido.
  • Extended Validation include un audit molto più strong della società che richiede il certificato.

Per un certificato DV di base (e come primo passo nelle applicazioni OV ed EV), la maggior parte delle CA utilizzerà una qualche forma di "Domain Control Validation" automatizzata. Ad esempio, Comodo offre 3 opzioni :

  1. Un'e-mail deve essere ricevuta da uno di una breve lista di indirizzi generici del dominio, come "admin @", partendo dal presupposto che solo il personale autorizzato avrebbe accesso a queste caselle di posta.
  2. Un record CNAME specifico deve essere aggiunto nella zona DNS per il dominio, dimostrando che il richiedente ha il controllo DNS.
  3. Un URL deve essere aggiunto con contenuto specifico nella radice del dominio HTTP del dominio, a dimostrazione del fatto che il richiedente ha il controllo del server Web indicato dal dominio.

Il protocollo ACME sviluppato come parte dello sforzo di Lets Encrypt è quello di automatizzare il client lato di questo controllo. La Panoramica sulla tecnologia menziona in realtà sia i controlli basati su DNS sia quelli basati su HTTP come esempi che potrebbero essere automatizzati in questo modo.

L'idea è che il software che installi possa determinare automaticamente come affrontare queste sfide in base alla configurazione a cui ha accesso. Se riesce a trovare e scrivere nella radice del documento del dominio da convalidare, allora la sfida basata su HTTP è molto facile da automatizzare. Il metodo di convalida basato su e-mail più tradizionale sarebbe più complicato da automatizzare, a causa delle complessità del recapito della posta, ma in realtà non differisce in base alla quantità di prove fornite.

    
risposta data 04.05.2015 - 15:48
fonte
5

La difesa principale contro gli attacchi MITM durante l'emissione è di eseguire il controllo di validazione - osservando il server o il suo DNS - da molte posizioni geograficamente disperse. Questo è il numero di CA che oggi operano per i controlli web automatizzati per rilevare contraffazioni e frodi.

Da quello che ho sentito nella sala IRC, Let's Encrypt farà lo stesso per tutti i controlli di convalida.

    
risposta data 05.05.2015 - 08:05
fonte

Leggi altre domande sui tag