ただし、私の知る限り、メールサーバー間の通信に関しては、ほとんどの電子メールは暗号化されずにプレーンテキストで転送されるため、ネットワーク上の誰でもコンテンツを読むことができます。
正しい。HTTPと同様に、SMTPはデフォルトでプレーンテキストです。
最近では、多くのメールサーバーがSMTPのTLS(以前はSSLとして知られていました)をサポートしています。(これはGmailに含まれています。)しかし、それはHTTPと同じ問題を持っている[S]:よく知られているが発行した証明書のCAのコストのお金、および自己署名のものが無価値ある1から保護するためのMITM攻撃。メールサーバーが受信者の証明書の厳密な検証を行う場合(Webブラウザーのように)、自己署名証明書または社内CAを使用しているサーバーへのメッセージの配信に失敗する可能性があります。そうでない場合、偽者ではなく適切なサーバーと通信していることを確認できません。
また、TLSはSMTPへの比較的最近の追加であるため、受信者のメールサーバーがTLSをサポートしている場合でも、送信者はTLSをサポートしていないか、デフォルトで無効になっている可能性があります。
1(送信側サーバーがDANE(TLSA)をサポートし、受信側サーバーの管理者がDNSでTLSAレコードを公開する場合を除きます。これはめったに行われず、面倒です。)
エンドツーエンドでメールが安全に送信されることをユーザーに保証する技術はありますか?
最も一般的な2つの電子メールセキュリティ標準:
どちらの場合も、暗号化では、受信者がすでにシステムを使用しており、キーペアを生成/取得している必要があります。(署名には、送信者のキーペアが使用されます。通常は、メッセージに署名して暗号化します。)
暗号化がサポートされていないことをユーザーに知らせ、電子メールを引き続き配信するかどうかをユーザーに選択してください。
通常、送信されたメッセージはキューに入れられ、ユーザーもMTAもネクストホップがTLSをサポートしているかどうかを知ることができません。メッセージが送信されるまで、ユーザーに確認を求める信頼できる方法はありません。(AFK、オフライン、スリープ、またはスクリプト/プログラムの可能性があります。メッセージを送信した場合は、できるだけ早く配信されるようにします。)
また、SMTPを使用すると、ネクストホップが最終的なものなのか、それとも別の場所にメールを中継するだけなのかがわかりません。バックアップMXがまったく異なるネットワーク上にあることは珍しくありません。
したがって。エンドツーエンドのセキュリティは、両側がOpenPGPまたはS / MIMEを使用している場合にのみ可能です。