686. MAC-then-Encrypt 패러다임과 AEAD 전환 보안 구조

핵심 인사이트: 편지를 안전하게 보내려면 1) 못 읽게 암호화하고, 2) 변조를 막기 위해 도장(MAC)을 찍어야 한다. 그런데 "도장을 먼저 찍고 편지지를 암호화할까? 아니면 암호화부터 하고 그 겉면에 도장을 찍을까?" 이 사소해 보이는 순서의 차이가 과거 인터넷을 해커들의 놀이터로 만든 치명적인 취약점(Padding Oracle Attack)을 낳았다. 이를 완벽히 부수고 나온 것이 두 개를 퓨전시킨 AEAD 구조다.

Ⅰ. 3가지 고전적인 조합 패러다임 (어떤 순서로 할 것인가?)

네트워크 보안(TLS, IPsec 등)에서 원본 데이터(평문)에 기밀성(암호)과 무결성(MAC 도장)을 적용하는 순서는 역사적으로 3가지가 있었습니다.

  1. MAC-and-Encrypt: 원본 편지에 도장(MAC)을 쾅 찍어 따로 두고, 원본 편지를 암호화한 뒤 두 개를 나란히 묶어서 보냅니다. (보안성 취약, SSH 초기 모델)
  2. MAC-then-Encrypt (MtE) 🌟: 원본 편지 뒤에 도장(MAC)을 찰싹 붙인 다음, [편지+도장] 전체를 커다란 암호화 자물쇠(AES-CBC 등)로 통째로 잠가서 보냅니다. (과거 SSL/TLS 1.2까지의 기본 표준 방식이었습니다.)
  3. Encrypt-then-MAC (EtM): 원본 편지부터 먼저 꽁꽁 암호화(잠그기)를 한 다음, 그 겉면 암호문 껍데기 위에다가 도장(MAC)을 쾅 찍어 보냅니다. (IPsec에서 쓰는 가장 안전한 방식입니다.)

Ⅱ. MAC-then-Encrypt (MtE)의 몰락 사유 (패딩 오라클 공격)

TLS 통신에서 10년 넘게 써오던 MtE 방식이 해커들에게 와르르 무너졌습니다. 그 이유는 '패딩(Padding)' 때문이었습니다.

  • 약점 원리: AES 블록 암호는 데이터를 16바이트 단위로 딱딱 맞게 잘라야 하므로, 끄트머리에 빈자리가 생기면 쓰레기 값(Padding)을 채워 넣습니다. MAC-then-Encrypt 방식은 [편지+도장]을 먼저 묶고 패딩을 채운 뒤 암호화를 합니다.
  • 해커의 꼼수 (Padding Oracle Attack): 해커가 암호문 끄트머리 비트를 살짝 조작해서 서버로 툭툭 던져봅니다. 서버가 에러 메시지를 뱉을 때 "패딩이 깨졌네!" 에러와 "도장(MAC)이 틀렸네!" 에러를 다르게 뱉어주는 것을(오라클) 악용하여, 수천 번 찔러보며 수학적 역산을 통해 암호문을 통째로 해독(평문 추출)해 버리는 대재앙(POODLE, BEAST 공격 등)이 터졌습니다.

Ⅲ. AEAD (Authenticated Encryption with Associated Data)로의 진화 🌟

도장을 먼저 찍네 마네, 패딩을 어디 채우네 하는 구조적 결함 때문에 털리는 것을 본 암호학자들은 결단을 내립니다.

  • 해결책: "아예 암호화와 도장(MAC) 찍는 과정을 분리하지 말고, 하나의 거대한 수학 공식(블랙박스) 안에 집어넣어 단 한 번의 연산으로 [암호화 + 무결성 도장]을 동시에 완벽하게 찍어내는 AEAD(인증된 암호화) 구조로 완전히 갈아타자!"
  • AEAD의 위력: 659번 문서에서 배운 **GCM(Galois/Counter Mode)**이나 ChaCha20-Poly1305가 바로 이 AEAD의 대표 주자입니다.
    • 패딩 오라클 공격이 물리적으로 불가능해집니다.
    • 두 번 돌리던 연산을 한 번에 끝내므로 속도(CPU 효율)가 미친 듯이 빨라집니다.

Ⅳ. TLS 1.3의 강제 규정

최신 웹 브라우저 통신 표준인 TLS 1.3은, 해킹당할 여지가 있는 과거의 구질구질한 **MAC-then-Encrypt 조합(예: AES-CBC + HMAC) 방식을 법으로 완전히 폐지(삭제)**해 버렸습니다. 현재 인터넷은 오직 무결점이 입증된 AEAD 구조의 암호 알고리즘만 쓰도록 강제되어 있습니다.

📢 섹션 요약 비유: MAC-then-Encrypt는 편지지에 도장을 찍고(MAC), 빈 공간에 신문지를 구겨 넣어(패딩) 금고에 잠그는 방식입니다. 해커가 금고를 살짝 흔들어 신문지 부스럭거리는 소리(오라클 에러)를 힌트로 금고 번호를 맞춰버렸습니다. 빡친 보안 업계는 이 허술한 방식을 다 갖다 버리고, 아예 편지지를 집어넣자마자 기계가 알아서 내용물을 완벽히 숨김과 동시에 절대 변조 불가능한 특수 홀로그램 코팅을 한 방에 입혀 뱉어내는 최첨단 일체형 기계(AEAD, GCM)로 시스템을 100% 전면 교체했습니다.