Stavo parlando con un amico di come SSL può essere Man-in-the-Middled con relativa facilità. Ha affermato questo:
- Chiunque può compromettere la catena dell'autorità di richiesta DNS (true).
- Chiunque può generare una chiave privata / pub personalizzata (true).
- Chiunque può richiedere (acquistare) un certificato per conto di qualsiasi nome di dominio (true?)
Con questo in mente, potrei:
- Compromettere una rete (in tutto il paese, per esempio - Supponiamo che io sia un governo)
- intercetta le richieste DNS con un server DNS personalizzato (di nuovo in tutto il paese)
- emettere un certificato per qualsiasi dominio (ad esempio un carattere jolly per * .google.com e spendere più denaro per i caratteri jolly in ogni ccTLD in quel dominio)
- accetta le richieste HTTPS, che risolvono (tramite il mio DNS compromesso) al mio proxy personalizzato con l'intenzione di passare proxy le richieste http al vero e proprio server google, ma avendo un certificato valido (dato che in realtà erano problemi legalmente, ha la sua catena valida), quindi nessun browser web si lamenterebbe di un certificato non valido.
Non ho avuto parole per rispondere e ho iniziato a dubitare, solo pensando che le autorità di certificazione controllano che sei il proprietario del dominio a cui vuoi rilasciare un certificato.
C'è un modo per MitM come ha detto il mio amico? O cosa mi manca?