Supponendo che tutto sia fatto bene ( tutto , che non è un dato, specialmente se lo fai da solo), HTTPS
non proteggerebbe la tua email in quanto le email non stanno usando quel protocollo per essere trasmesso Perché in realtà devi inviare l'email effettiva ad altri server utilizzando il "protocollo email": SMTP
. Ma anche allora, questa è una cattiva idea.
Ad esempio, quali sono esattamente questi "altri server"? Ad esempio, se il destinatario è a Gmail, devi inviare l'email ai server di Gmail, giusto? Tuttavia, questo non è esattamente il modo in cui SMTP
funziona: l'email salterà dai server di posta ai server di posta fino a quando non raggiunge la destinazione finale. Questa connessione può essere diretta, ma non ci sono garanzie che sarà effettivamente, tutt'altro. Questo semplice fatto rende la crittografia end-to-end entro SMTP
impossibile di design : ogni singolo / MTA è un MitM! Sì, ci sono stati tentativi di rendere SMTP
sicuro, ma il design è ancora male da un punto di vista della sicurezza. Vedi questo articolo Wiki per esempio, in particolare:
Mandatory certificate verification is not viable for Internet mail delivery. As a result, most email that is delivered over TLS uses only opportunistic encryption.
Opportunistico qui significa che il valore predefinito è deselezionare ogni volta che qualcuno vuole leggere illegittimamente, se qualcosa nel mezzo è rotto, se qualcosa non è configurato correttamente, ecc. E il peggio è che non è perché la tua connessione al primo relay (chiamato MTA, nell'altra risposta) è effettivamente sicura (perché hai fatto un buon lavoro sprecando 8 ore di tempo nella configurazione e controlli approfonditi) che la connessione tra il primo relè con il secondo sarà sicuro. Non hai garanzia di ciò (e ancora, i relè stessi possono essere malvagi).
Soluzioni?
-
Non inviare email in chiaro. Usa PGP / GPG, S / MIME o equivalente per criptare le tue e-mail se vuoi la segretezza. Questi forniscono la crittografia end-to-end ma richiedono un bel po 'di configurazione da parte tua e dal tuo lato utente. Per essere eseguito correttamente (e in realtà fornire privacy), è necessario autenticare manualmente ciascun utente. Questo potrebbe non essere possibile.
-
Un'altra soluzione sarebbe quella di utilizzare un protocollo già progettato per essere sicuro che fornisce la crittografia end-to-end (alcuni protocolli IM sono in realtà abbastanza buoni per questo).
-
Come proposto nell'altra risposta, fornisci un'email con un link a una pagina HTTPS
protetta accessibile solo agli utenti autenticati (un token nell'URL non funzionerà).
Tuttavia, non utilizzare mai SMTP
(con o senza TLS / StartTLS) se hai bisogno di una garanzia di una minima quantità di privacy . SMTP
non è sicuro.