그러나 내가 아는 한, 메일 서버 간 통신의 경우 대부분의 전자 메일은 여전히 일반 텍스트로 전송되고 암호화되지 않으므로 네트워크의 모든 사용자가 내용을 읽을 수 있습니다.
옳은. HTTP와 같은 SMTP는 기본적으로 일반 텍스트입니다.
요즘 많은 메일 서버 는 SMTP에 대해 TLS (이전의 SSL)를 지원 합니다. (이 Gmail을 포함한다.) 그러나, HTTP와 같은 문제가 있습니다 [S] : 잘 알려진 발행 한 인증서 CA는 비용 비용, 자체 서명 된 사람은 쓸모 1 에 대한 보호를위한 MITM 공격 . 메일 서버가 웹 브라우저와 같이 수신자 인증서의 엄격한 유효성 검증을 수행하는 경우 자체 서명 된 인증서 또는 사내 CA를 사용하는 서버로 메시지를 전달하지 못할 수 있습니다. 그렇지 않다면 , 그것이 사기꾼이 아닌 올바른 서버와 대화하고 있는지 확신 할 수 없습니다 .
또한 TLS는 SMTP에 비교적 최근에 추가되었으므로받는 사람의 메일 서버가 TLS를 지원하더라도 보낸 사람이 기본적으로 사용하지 않거나 사용하지 않도록 설정했을 수 있습니다.
1 (송신 서버가 DANE (TLSA)를 지원하지 않고 수신 서버의 관리자가 DNS에 TLSA 레코드를 게시하도록 신경 쓰지 않는 한 거의 수행되지 않으며 다소 지루합니다.)
사용자의 전자 메일이 끝에서 끝까지 안전하게 전송되도록 보장하는 기술이 있습니까?
가장 일반적인 두 가지 이메일 보안 표준 :
신뢰의 웹을 기반으로하고 무료로 사용할 수있는 OpenPGP 오픈 소스 구현은 GnuPG ( Windows 용 , Thunderbird 용 )이며 원본 PGP는 상용 PGP Desktop 으로 발전했습니다 .
웹 기반 이메일 클라이언트의 경우, FireGPG는 가능성이다 - 젠장
X.509 인프라를 기반으로하는 S / MIME 대부분의 데스크톱 클라이언트 (Outlook, Thunderbird, Mail.app 포함)에 의해 구현됩니다. 그러나 TLS / SSL과 동일한 권한 기반 구조로 인해 상대적으로 인기가 없습니다. 서명 된 인증서는 비용이 많이 들고 자체 서명 된 인증서는 신뢰성있게 검증 할 수 없습니다.
두 경우 모두 암호화를 위해서는 수신자 가 이미 시스템을 사용 중이고 키 페어를 생성 / 수득해야합니다. (위해 서명 은 보낸 사람의 키 쌍은. 사용되는 일반적인 방법은 서명 및 암호화 된 메시지 모두에 있습니다.)
암호화가 지원되지 않는시기를 사용자에게 알리고 이메일을 계속 전달할 것인지 선택하도록 하시겠습니까?
일반적으로 제출 된 메시지는 큐에 대기 되며 사용자 나 MTA는 메시지가 전송 될 때까지 다음 홉이 TLS를 지원하는지 여부를 알 수 없습니다. (AFK, 오프라인, 잠자기 또는 스크립트 / 프로그램 일 수 있습니다. 메시지를 보낸 경우 최대한 빨리 전달하기를 원합니다.)
또한 SMTP를 사용하면 다음 홉이 최종인지 또는 다른 곳으로 메일을 릴레이할지 알 수 없습니다. 백업 MX가 완전히 다른 네트워크에있는 것은 드문 일이 아닙니다.
따라서. 엔드 투 엔드 보안은 양쪽에서 OpenPGP 또는 S / MIME을 사용하는 경우에만 가능합니다.