이메일 암호화의 종류

이메일 암호화는 크게 ① 구간 암호화(Transport Encryption)와 ② 종단간 암호화(End-to-End Encryption)로 나눠집니다.

구분 구간 암호화
(In-Transit Encryption)
종단간 암호화
(End-to-End Encryption)
개념 메일 서버와 서버 사이를 이동하는 통로(도로)를 암호화 메일 내용(화물) 자체를 암호화
관련 기술 STARTTLS, MTA-STS, TLSA, DANE S/MIME, PGP, PEM
특징 메일 서버 간 네트워크 도청/위변조 방지.
(서버 내부에서는 평문 저장)
송신자만 암호화하고 수신자만 복호화.
(중간 서버도 내용 확인 불가)
■ 구간 암호화 (In-Transit Encryption)
  1. STARTTLS
    • 원래 평문(Plaintext)으로 작동하던 프로토콜(SMTP, IMAP, POP3) 위에서 “지금부터 TLS(SSL) 암호화 통신으로 전환하자”고 요청하는 명령어(명령 방식)입니다.
    • 기본적으로 “상대방이 암호화를 지원하면 암호화하고, 지원 안 하거나 에러가 나면 평문으로 보낸다”는 정책을 취합니다.
    • 이로 인해 해커가 중간에서 STARTTLS 요청 신호를 찌그러뜨리거나 삭제하는 STARTTLS Strip 공격(다운그레이드 공격)을 감행하면, 두 메일 서버는 보안이 해제된 줄 알고 암호화 없이 평문으로 메일을 주고받게 되는 치명적인 허점이 존재합니다.
  2. MTA-STS(Mail Transfer Agent Strict Transport Security)
    • 위에서 언급한 STARTTLS의 기회적 암호화 약점을 완벽히 보완하기 위해 등장한 표준 기술으로, 웹 브라우저의 HSTS(HTTP 통신을 HTTPS로 강제하는 기술)와 개념이 똑같습니다.
    • 메일 수신 서버는 “우리 도메인으로 메일을 보낼 때는 무조건 TLS 암호화를 강제하고, 인증서가 유효하지 않으면 메일을 발송하지 마!”라는 정책을 선언하고, 메일 발신 서버는 수신 도메인의 MTA-STS 정책을 조회합니다.
    • 메일 발신 서버가 수신 도메인의 MTA-STS 적용 여부를 DNS로 먼저 파악한 뒤, 수신 웹 서버에 접속하여 세부 정책 파일을 다운로드받아 검증합니다.
    • 등록 절차:
      1. 웹 서버 및 SSL 인증서 세팅:
        https://mta-sts.yourdomain.com/에 접근 가능하도록 웹 서버 구성 및 도메인 서비스용 TLS/SSL 인증서 발급
      2. mta-sts.txt 파일 등록:
        웹 서버의 “https://mta-sts.yourdomain.com/.well-known/mta-sts.txt” 경로에 정확히 파일이 배치되어야 합니다.
        $ vi mta-sts.txt
        version: STSv1
        mode: enforce
        mx: mail.yourdomain.com
        mx: *.yourdomain.com
        max_age: 604800
        
        • version: STSv1 (현재 버전)
        • mode:
          – testing: 모니터링 모드 (TLS 연결 실패 시에도 메일 수신 허용 + 리포트 수집)
          – enforce: 강제 모드 (TLS 연결 실패 또는 인증서 에러 시 메일 수신 차단)
        • mx: 메일을 실제로 수신하는 MX 레코드의 호스트 이름 (여러 개일 경우 줄바꿈하여 추가 등록)
        • max_age: 발신 서버가 이 정책을 캐싱(기억)할 시간(초 단위). 보통 604800 (1주일) 또는 864000 (10일) 설정
      3. DNS 레코드 등록
        • 호스트 이름: _mta-sts
        • 타입: TXT
        • Value: id=는 날짜나 타임스탬프 기반의 고유한 문자열(예: 2026073001)을 입력합니다. 웹 서버의 mta-sts.txt 내용을 수정할 때마다 이 id 값을 변경해 주어야 발신 서버들이 변경된 정책을 즉시 다시 불러옵니다.
          v=STSv1; id=2026073001
          
■ 종단간 암호화(End-to-End Encryption)

PGP이든, S/MIME이든 종단간 암호화(E2EE) 메일 표준은 메일 배달을 위해 외부 헤더(발신자, 수신자, 제목 등)를 평문으로 유지합니다. 따라서 이메일 이동 통로 전체의 메타데이터 노출까지 막으려면 앞서 다룬 STARTTLS / MTA-STS 같은 구간 암호화(Transport Layer Security)를 반드시 병행해서 적용해야 합니다. 물론 Header Protection 규격과 같 헤더를 보호하는 보완책이 있기는 합니다.

  1. S/MIME(Secure/Multipurpose Internet Mail Extensions)
    • 특징(중앙집권형): 공인인증기관(CA)에서 발급받은 디지털 인증서(X.509)를 이용하는 기업/기관 표준 방식입니다.
    • 장점: Outlook, Apple Mail 등 주요 메일 클라이언트 프로그램에 기본 내장되어 있어 설정이 상대적으로 편리합니다.
    • 주요 용도: 기업 간 보안 메일, 정부/금융/군사 기관의 보안 통신.
  2. PGP(Pretty Good Privacy) / OpenPGP
    • 특징(분산형): 중앙 인증기관 없이 사용자 간에 직접 공개키를 교환(Web of Trust)하여 사용하는 방식입니다.
    • 장점: 중앙 통제 기관이 없으므로 개인정보 보호 및 보안성이 매우 뛰어납니다.
    • 주요 용도: 언론인, 보안 전문가, 개인 간의 강력한 비밀 통신.
  3. PEM(Privacy-Enhanced Mail)
    • 특징: 원래 이메일 보안용으로 개발되었으나, 현재는 인증서·공개키·비밀키 데이터를 텍스트 기반인 Base64 ASCII 인코딩으로 저장하고 전달하는 글로벌 표준 인코딩 포맷입니다.
    • 장점: 메일 본문, SSH 터널, HTTP 헤더 등 텍스트만 허용하는 통신 환경에서도 데이터 손상 없이 안전하게 키와 인증서를 전달할 수 있습니다.
    • 주요 용도: Nginx/Apache 등 웹 서버의 SSL/TLS 인증서 및 비밀키 관리, SSH 접속용 키 페어(.pem), OpenSSL을 활용한 키 및 인증서 교환.

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다