네트워크 보안에서 메시지 인증 코드(MAC)란?
메시지 인증 코드(Message Authentication Code, MAC)는 두 당사자 간에 전송되는 중요한 정보의 무결성을 검증하는 디지털 인증 장치입니다. 송신자와 수신자가 미리 공유한 비밀 키를 기반으로 작동하며, 암호화 해시 함수나 대칭키 암호 알고리즘을 활용해 메시지가 전송 도중 변조되지 않았는지 확인합니다.
메시지 인증 코드는 어떻게 생성할까?
먼저 통신 당사자들이 사전에 비밀 키(예: DES 키)를 공유해야 합니다. 이 공유 키를 사용해 송신자는 DES 같은 대칭 암호로 메시지를 처리하고, MD5나 SHA-1 같은 해시 알고리즘을 적용하여 HMAC(해시 기반 메시지 인증 코드)을 만들어냅니다.
MAC의 다른 이름은 무엇일까?
메시지 인증 코드는 '키 기반 해시 함수(keyed hash function)'라고도 불립니다. 디지털 서명 역시 메시지의 해시 값을 키로 암호화한다는 점에서 MAC과 유사하지만, 공개키 기반 구조를 사용한다는 점에서 차이가 있습니다.
메시지 인증 절차란?
메시지 인증은 전송된 메시지가 진본인지, 그리고 변조되지 않았는지 확인하는 과정입니다. MAC 처리를 통해 수신자는 메시지가 전송 중 변경되거나 위조되지 않았음을 검증할 수 있습니다.
MAC은 암호화와 같은 개념일까?
아닙니다. MAC은 메시지 내용을 감추는 암호화와 달리, 메시지 자체에 체크섬 형태의 인증 값을 덧붙여 진위 여부를 확인하는 기술입니다. 공개된 MAC 알고리즘에 메시지와 비밀 키 K를 입력하면 MAC 값이 생성되며, 이 값이 메시지와 함께 전송되어 인증에 사용됩니다.
내 메일이 인증되었는지 확인하는 방법
안드로이드 기기에서 Google Play 스토어를 통해 Gmail 앱을 실행한 뒤 해당 이메일을 엽니다. 이어서 '세부정보 보기'를 클릭하고 '보안 세부정보'를 선택하면, 이 메시지가 진본인지 여부를 확인할 수 있습니다.
메시지 인증에 대한 주요 공격 유형
내용 수정: 전송 중 메시지의 내용 자체를 변경하는 공격입니다.
시퀀스 수정: 메시지 삽입, 삭제, 재배열 등 일련의 메시지 흐름을 조작하는 공격입니다.
타이밍 수정: 메시지 전달을 지연시키거나 이전 메시지를 재생(replay)하는 공격입니다.
메시지 인증의 보안 요구사항
기밀성 유지: 적절한 암호화 키가 없는 사람이나 프로세스에 메시지 내용이 노출되어서는 안 됩니다.
트래픽 분석 방지: 통신 당사자들이 서로 어떻게 소통하는지 외부가 파악하지 못하도록 해야 합니다.
위장(masquerade) 방지: 가짜 발신원이 정상적인 출처인 것처럼 위장해 메시지를 네트워크에 삽입하는 행위를 차단해야 합니다.
메시지를 인증하는 다양한 방법
DES 같은 암호화 제품과 연동하여 사용하는 방식이 대표적입니다. 또한 VTAM의 내부 알고리즘은 순환 중복 검사(CRC)를 활용해 메시지 인증 코드를 생성하기도 합니다.
메시지 인증의 목표
메시지 인증 프로토콜의 목표는 수신 메시지의 '무결성'을 보호하는 것입니다. 즉, 메시지가 발신될 때와 동일하거나 거의 동일한 상태로 수신되었는지, 불필요한 비트가 추가·누락·수정되지 않았는지 확인하는 것이 핵심입니다.
메시지 인증 코드(MAC)의 개념 정리
MAC은 메시지를 인증하는 코드입니다. 다시 말해 메시지가 주장하는 발신자로부터 실제로 전송되었는지(진본성), 그리고 어떠한 방식으로도 변경되지 않았는지를 검증합니다. 암호학 분야에서는 MAC을 '태그(tag)'라고 부르기도 합니다.
MAC과 해시 값은 같은 개념일까?
개념적으로 다릅니다. MAC은 무결성과 인증을 모두 보장하는 반면, 일반적인 해시 함수는 무결성만 보장합니다. 비밀 키가 포함되느냐가 두 기술의 핵심적인 차이입니다.
메시지 인증 코드에 필요한 요소
메시지 데이터 인증에는 일반적으로 암호화 기술이 사용되며, 입력값으로 암호화 키가 필요합니다. 또한 우발적인 변경과 의도적인 변조를 모두 식별할 수 있는 체크섬이어야 하며, 대칭 키 방식을 사용합니다.
메시지 인증의 의미
메시지 인증이란 전송 중 메시지가 변경되지 않았음을 보장하는 것(데이터 무결성)과 메시지의 출처가 유효한지 검증하는 것(출처 인증)을 모두 포함하는 개념입니다.
메시지 인증의 요구사항 정리
메시지 인증은 메시지가 변경되지 않았는지, 그리고 주장된 발신 원으로부터 실제로 전송되었는지를 검증하는 작업입니다. 디지털 서명은 발신자와 수신자 양측 모두 전자 문서의 진본성을 확인할 수 있게 해주는 대표적인 인증 수단입니다.