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?