이메일 암호화는 승인되지 않은 사람이 보거나 변조할 수 없도록 이메일 메시지의 내용을 위장합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
글 링크 복사
이메일 암호화는 승인되지 않은 사람이 보거나 변경하지 못하도록 이메일 메시지의 내용을 위장하는 방법입니다.암호화는 이 콘텐츠를 인코딩하여 위장합니다. 즉, 암호화 키*를 사용하여 읽을 수 있는 텍스트를 해독할 수 없는 무작위 문자 조합으로 변경합니다.수신자의 이메일 공급자는 키를 사용하여 텍스트를 해독하고 이메일 메시지가 의도한 받은 편지함으로 안전하게 전달되면 내용을 표시할 수 있습니다.
많은 이메일 공급자는 암호화를 사용하여 발신자와 수신자의 이메일 서버 간에 메시지를 안전하게 전송합니다. 이렇게 하면 공격자가 이메일이 전송되는 동안 가로채어 해당 메시지에 포함된 중요한 정보를 보거나 변경하거나 훔치는 것을 막는 데 도움이 될 수 있습니다. 그러나 일부 이메일 서비스는 암호화를 제공하지 않으므로 사용자가 데이터 도난 및 기타 공격에 더 취약합니다.
*암호화 키는 암호화 알고리즘이 데이터를 변환하는 데 사용하는 문자열입니다.
이메일 암호화는 사용자 간의 이메일 메시지 저장, 전송, 수신을 담당하는 이메일 서비스 공급자가 처리합니다. 이메일을 암호화하는 기본 방법에는 전송 수준 암호화와 엔드투엔드 암호화의 두 가지가 있습니다.
전송 수준 암호화
전송 수준 암호화는 전송 계층 보안(TLS) 프로토콜을 사용하여 이메일 메시지를 암호화하고 해독합니다. 전송 수준 암호화는 공격자가 메시지를 가로챌 수 없도록 이메일 메시지 전송과 관련된 서버의 ID를 인증하는 역할도 합니다.
메시지를 암호화하고 클라이언트(즉, 사용자 장치)와 웹 서버의 ID를 인증하는 프로세스를TLS 핸드셰이크라고 하며, 이는 4단계로 수행됩니다.
전송 수준 암호화로 SMTP 프로세스 중에 이메일이 보호됩니다.SMTP(Simple Mail Transfer Protocol)는 이메일 클라이언트와 서버 간의 데이터 교환을 담당하는 이메일 전달 프로토콜입니다.이 프로세스 동안 이메일 메시지는 일반적으로 의도한 대상에 도달하기 전에 여러 이메일 서버로 전송됩니다. TLS 암호화로 서버에서 서버로 전달되는 중에 메시지가 보호됩니다.각 서버-클라이언트 또는 서버-서버 연결에는 새로운 TLS 핸드셰이크 프로세스가 사용됩니다.즉, 메시지가 잠시 해독된 다음 각 홉에 대해 다시 암호화됩니다.(SMTP 작동 방식에 대해 자세히 알아보세요.)
이 과정을 시각화하기 위해 Alice가 샌프란시스코에서 도쿄로 선물을 보내고 있다고 상상해 보세요. 선물은 상자에 담겨 내용물이 비공개로 안전하게 보호됩니다(암호화로 이메일 메시지의 콘텐츠가 비공개로 유지되는 것처럼). 패키지를 집배원이 수거하여 지역 우체국으로 가져갑니다. 우체국에서는 패키지를 검사하여 내용물과 배송 정보가 모두 정확한지 확인합니다. 그런 다음 도쿄로 배송되어 세관을 거쳐 다시 검사를 받습니다. 마지막으로 소포는 배달을 위해 지역 우체국으로 옮겨져 최종 검사를 거쳐 목적지에 도착합니다.
이는 이메일이 최종 목적지에 전달되기 전에 이동하는 모든 서버에서 이메일이 해독되고 다시 암호화되는 TLS 암호화와 유사합니다.
*세션 키는 TLS 핸드셰이크 중에 양 당사자가 사용하는 임시 암호화 문자열입니다.
엔드투엔드 암호화
전송 계층 암호화와 달리 엔드투엔드 암호화(E2EE라고도 함)는 이메일 메시지가 전송되는 동안 암호를 해독하고 다시 암호화하지 않습니다.대신 메시지는 발신자와 이메일의 최종 수신자의 두 당사자만 해독할 수 있습니다.따라서 제3자가 이메일 메시지를 가로채서 그 내용을 스누핑, 변경, 복사하는 것이 방지됩니다.
TLS 암호화와 마찬가지로 E2EE도 공개 키 암호화(또는 비대칭 암호화)를 사용하여 보낸 사람과 받는 사람 간의 메시지를 암호화하고 보호합니다.그러나 TLS가 클라이언트와 서버 간의 메시지를 암호화하는 반면, E2EE는 이메일 발신자와 수신자 간의 통신을 암호화하여 서비스 공급자라도 메시지를 해독할 수 없게 됩니다.(E2EE가 TLS 암호화와 어떻게 다른지 자세히 알아보세요.)
이전 예시로 돌아가서 이제 Alice가 샌프란시스코의 한 지역에서 다른 지역으로 소포를 보내고 있다고 상상해 보세요. 패키지는 우편 배송업체에서 픽업하여 중간 검사 없이 최종 목적지까지 직접 배송됩니다. 이는 발신자의 이메일 메시지가 의도한 수신자에게 도달하기 전에 해독되지 않는 엔드투엔드 암호화와 유사합니다.
1970년대에 이메일이 처음 개발되었을 때 사용자 간의 메시지는 암호화되지 않았습니다. 메시지 본문의 중요한 데이터를 포함하여 이메일 메시지에 포함된 모든 콘텐츠는 일반 텍스트로 되어 있어 누구나 쉽게 읽을 수 있었습니다. 공격자가 먼저 메시지를 해독하지 않고도 메시지를 가로채고 데이터를 훔칠 수 있었기 때문에 사용자는 공격에 취약했습니다.
암호화 프로토콜의 개발로 사용자와 이메일 공급자는 일반 텍스트 메시지를 암호문으로 변환할 수 있으므로 권한이 없는 당사자가 패킷 스니퍼(네트워크를 통해 전송되는 데이터를 수집하고 분석하도록 설계된 프로그램)를 통해 데이터를 스누핑하거나 훔치는 것을 방지할 수 있었습니다.
그러나 이러한 암호화 프로토콜은 공격으로부터 이메일을 보호하는 데 중요한 역할을 하지만, 여전히 위험에 취약합니다.
TLS를 사용하여 암호화된 이메일 메시지는 서버 릴레이 간에 필요에 따라 해독되므로 이메일이 전송되는 동안 경로상 공격(때로는 메시지 가로채기 공격이라고도 함)으로부터 데이터를 완전히 보호하기 어렵습니다.경로상 공격 중 공격자는 중요한 데이터가 의도한 수신자에게 도달하기 전에 가로채게 됩니다.
한편, E2EE를 제공하는 서비스 공급자는 암호화 백도어를 서비스에 통합할 수 있습니다. 백도어는 암호화 방법을 우회하고 중요한 사용자 데이터에 액세스하는 비밀 방법입니다. 공급자는 이러한 백도어를 사용하여 사용자 활동을 감시하거나 데이터를 불법적으로 사용할 수 있습니다.
이메일 암호화는 일반적으로 서비스 공급자가 처리하거나(예: Gmail) 사용자가 구성합니다. 메시지를 보호하기 위해 강력한 암호화가 필요한 조직에서는 게이트웨이 소프트웨어 또는 웹 기반 서비스를 사용할 수 있습니다. 둘 다 정책을 설정하여 암호화해야 할 이메일을 결정하고 메시지를 암호화하는 데 사용할 프로토콜을 지정할 수 있습니다.
가장 일반적인 암호화 도구에는 다음이 포함됩니다.
암호화 도구 | 암호화의 유형 | 장점 | 단점 |
---|---|---|---|
STARTTLS는 이메일 서버에 TLS 연결을 시작하도록 지시하는 명령입니다 | 전송 계층 |
|
|
STARTTLS와 같은 STLS는 POP3에 대하여 TLS 연결을 시작하는 명령임 | 전송 계층 |
|
|
PGP(Pretty Good Privacy) 및 OpenPGP는 공개 및 개인 키 암호화를 사용하는 프로그램임 | 엔드투엔드 |
|
|
S/MIME(Secure/Multipurpose Internet Mail Extensions) 는 서버에 MIME 데이터를 암호화하는 방법을 알려주는 공개 키 암호화 표준입니다 | 엔드투엔드 |
|
|
다른 이메일 암호화 프로토콜에는 PGP의 무료 대안인 GPG(GNU Privacy Guard)와 암호화폐 비트코인을 본뜬 암호화 프로토콜인 Bitmessage가 있습니다.
이메일 암호화로 이메일 내용이 보호됩니다. 그러나 이메일 메시지 자체의 내용은 여전히 안전하지 않거나 위험할 수 있습니다. 예를 들어 공격자가 의도된 피해자에게 완전히 암호화된 피싱 이메일을 보낼 수 있으며 그들이 사용하는 암호화 방법은 피해자가 공격에 빠지는 것을 막는 데 아무 역할도 하지 않습니다.
이메일 보안은 해결해야 할 여러 공격 벡터가 있는 광범위한 분야입니다.이메일의 받은 편지함을 안전하게 유지하는 방법에 대해 자세히 알아보려면 이메일 보안이란?을 참조하세요.