메시지 인증 코드(Message Authentication Code)란?

메시지와, 송신자와 수신자가 공유하는 대칭 키로부터 계산하는 짧은 값(MAC). 수신자가 같은 키로 다시 계산하여 비교함으로써, 메시지가 키를 아는 상대로부터 보내졌고 변조되지 않았음을 확인할 수 있다. 수신자도 같은 값을 만들 수 있으므로 부인 방지에는 사용할 수 없다. HMAC이 대표적이다.

일본어 명칭: メッセージ認証コード

메시지 인증 코드(Message Authentication Code)은(는) 정보 보안 기초 등 1개 분야의 연습 문제 1개에 나와요.

분야: 정보 보안 기초

도전해 보기: 메시지 인증 코드(Message Authentication Code) 관련 문제

메시지 인증 코드(MAC)와 디지털 서명을 비교한 설명으로 올바른 것은?

  1. AMAC은 공개 키로 누구나 검증할 수 있으므로 부인 방지 효과가 디지털 서명보다 강하다
  2. BMAC은 송신자와 수신자가 공유하는 대칭 키로 만들므로 변조 검출은 할 수 있지만, 수신자도 같은 MAC을 만들 수 있어 제3자에게 송신자가 만들었음을 증명하는 부인 방지에는 사용할 수 없다
  3. CMAC은 키를 사용하지 않고 해시값을 계산할 뿐이므로, 공격자가 메시지를 바꾼 뒤 MAC을 다시 계산해도 수신자는 알아챌 수 있다
정답과 해설 보기

정답: B. MAC은 송신자와 수신자가 공유하는 대칭 키로 만들므로 변조 검출은 할 수 있지만, 수신자도 같은 MAC을 만들 수 있어 제3자에게 송신자가 만들었음을 증명하는 부인 방지에는 사용할 수 없다

메시지 인증 코드(MAC)는 메시지와 대칭 키로 계산하는 짧은 값으로, 해시 함수를 사용하는 HMAC이 자주 쓰입니다. 수신자는 같은 키로 다시 계산하여 비교하고, 일치하면 키를 아는 상대가 보냈으며 도중에 변조되지 않았음을 알 수 있습니다. 키를 모르는 공격자는 바꾼 메시지에 맞는 올바른 MAC을 만들 수 없습니다. 다만 같은 키를 수신자도 가지고 있으므로 수신자도 MAC을 만들 수 있습니다. 그래서 수신자가 제3자에게 '이것은 송신자가 만든 것이다'라고 증명할 수 없으며, 부인 방지가 되지 않습니다. 디지털 서명은 송신자의 개인 키로만 만들 수 있고 공개 키로 누구나 검증할 수 있으므로 부인 방지에 사용할 수 있습니다. 한편 MAC은 계산이 가벼워 통신의 패킷 하나하나의 변조 검출 등 당사자끼리의 확인에 널리 사용됩니다. 키를 사용하지 않는 단순한 해시값은 공격자가 메시지와 함께 다시 계산할 수 있으므로 의도적인 변조의 검출에는 사용할 수 없습니다.

해설 속 메시지 인증 코드(Message Authentication Code)

메시지 인증 코드(Message Authentication Code)이(가) 나오는 문제 (1)

  1. 메시지 인증 코드(MAC)와 디지털 서명을 비교한 설명으로 올바른 것은?

관련 용어

디지털 서명(Digital Signature) 해시 함수(Hash Function) 공개 키 암호(Public-key Cryptography) 다요소 인증(Multi-factor Authentication) 대칭 키 암호(Symmetric-key Cryptography) 랜섬웨어(Ransomware) 사회공학 기법(Social Engineering) 솔트(Salt) 제로데이 공격(Zero-day Attack) 최소 권한의 원칙(Principle of Least Privilege)

용어집으로 돌아가기