암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유
암호화와 인증을 올바른 순서로 결합해야 한다는 암호학적 근거를 이해합니다.
암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
세 가지 조합 순서
암호화와 MAC을 결합할 때는 세 가지 순서가 있습니다. 암호화 후 MAC(EtM), MAC 후 암호화(MtE), 암호화 및 MAC(E&M)입니다. 각각의 보안 특성은 근본적으로 다르며 모든 환경에서 증명 가능한 안전성을 갖는 것은 하나뿐입니다.
암호화 후 MAC 정의
암호화 후 MAC에서는 먼저 평문을 암호화하여 암호문을 만든 다음 해당 암호문에 대해 MAC을 계산합니다. 수신자는 복호화를 시도하기 전에 MAC을 검증할 수 있으므로 변조된 메시지는 정보가 노출되기 전에 즉시 거부됩니다.
MAC 후 암호화 정의
MAC 후 암호화에서는 평문에 대해 MAC을 계산한 다음 평문과 MAC을 함께 암호화합니다. 수신자는 MAC을 검증하기 전에 메시지를 복호화해야 하므로 패딩 오라클 및 복호화 오라클 공격의 가능성이 생깁니다.
SSL 3.0과 TLS 1.0의 결함
SSL 3.0과 TLS 1.0은 CBC 모드의 블록 암호에 MAC 후 암호화 순서를 사용했습니다. 이러한 설계 결함은 2011년의 BEAST 공격과 2014년의 POODLE 공격에 악용되었습니다. 두 공격 모두 MAC을 검증하기 전에 복호화할 때 존재하는 오라클을 이용했습니다.
Bellare-Namprempre 증명
2000년에 Bellare와 Namprempre는 세 가지 조합 순서 중 암호화와 MAC 기본 요소가 안전하게 조합된 모든 경우에 IND-CCA2 보안(선택 암호문 보안)을 달성하는 것은 암호화 후 MAC뿐임을 형식적으로 증명했습니다. MtE와 E&M은 특정 조합에서 실패할 수 있습니다.
SSH에서의 암호화 및 MAC
SSH는 암호화 및 MAC을 사용합니다. MAC은 평문에 대해 계산되며 암호문과 함께 평문 형태로 전송됩니다. SSH는 SSL/TLS의 MAC 후 암호화 방식과 같은 공격을 겪지는 않았지만, 암호화되지 않은 MAC을 통해 평문 정보가 유출될 수 있으므로 이 조합 역시 이론적으로 결함이 있습니다.
안전한 추상화로서의 AEAD
연관 데이터가 있는 인증 암호화(AEAD)는 설계 단계에서 조합 문제를 해결하는 현대적인 추상화입니다. AEAD는 암호화와 인증을 하나의 기본 요소로 통합하여 개발자가 조합 순서를 선택하지 않아도 항상 올바르게 결합되도록 합니다.
AES-GCM: AEAD 표준
AES-GCM(갈루아/카운터 모드)은 가장 널리 배포된 AEAD 암호 스위트입니다. CTR 모드 암호화와 GHASH 인증을 결합하여 인증된 암호화를 제공하며, 최신 CPU에서는 AES-NI와 CLMUL 명령을 통해 하드웨어 가속을 지원합니다.
TLS 1.3은 AEAD만 적용합니다
TLS 1.3은 모든 비-AEAD 암호 스위트를 제거하여 과거와 결정적으로 결별했습니다. 모든 TLS 1.3 암호 스위트는 AEAD를 사용하므로, 이전 TLS 버전에서 암호화와 MAC 기본 요소를 부적절하게 수동으로 조합하여 발생했던 여러 유형의 취약점이 제거됩니다.
기본 요소를 수동으로 조합하지 마십시오
수십 년간 발생한 암호학적 공격에서 얻을 수 있는 핵심 교훈은 암호화와 MAC 기본 요소를 수동으로 조합하는 것이 전문가에게도 오류가 발생하기 쉽다는 점입니다. 최신 암호학 라이브러리는 개발자가 실제 환경의 취약점으로 이어지는 조합 실수를 하지 않도록 특별히 AEAD 인터페이스를 제공합니다.
실용적인 지침
오늘날 시스템을 구축할 때는 항상 AES-GCM이나 ChaCha20-Poly1305와 같은 AEAD 기본 요소를 사용하십시오. 별도의 MAC과 암호화를 사용하는 기존 시스템과 상호 운용해야 한다면 암호화 후 MAC 순서를 사용하고 MAC 후 암호화나 암호화 및 MAC은 절대 사용하지 마십시오.
EtM과 MtE 확인
암호화 후 MAC과 MAC 후 암호화의 보안 차이를 올바르게 설명한 문장은 무엇입니까?
수업 복습: 조합 순서가 중요합니다
EtM은 암호화와 MAC 기본 요소를 별도로 사용할 때 증명 가능한 안전성을 갖는 유일한 조합 순서입니다. TLS 1.3은 AEAD만 사용하는 암호 스위트를 의무화하여 이 문제를 완전히 제거합니다. 확실하지 않을 때는 AES-GCM이나 ChaCha20-Poly1305와 같은 AEAD 기본 요소를 사용하고 라이브러리가 조합을 올바르게 처리하도록 하십시오.
자주 묻는 질문
“암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유” 강의는 무료인가요?
네 — “암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유”에서 뭘 배우나요?
암호화와 인증을 올바른 순서로 결합해야 한다는 암호학적 근거를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 암호화 후 MAC이 MAC 후 암호화보다 뛰어난 이유
- SIV 모드: 논스 오용에 강한 AEAD
- AEGIS: 고속 인증 암호화
- 프로덕션 시스템에 사용할 AEAD 선택