서명 기반 MAC과 같은 것은 없습니다. 목록에서 잘못된 선택이므로 이 질문에 대한 최선의 답변입니다.
메시지 인증 코드(MAC)란 무엇입니까?
암호화에서는 MAC(메시지 인증 코드)를 암호화라고도 합니다.
체크섬은 비밀 키를 사용하여 생성된 다음 추가되는 작은 데이터 블록입니다.
메시지에. 메시지가 수신되면 수신자는 자신의 MAC을 생성할 수 있습니다.
비밀 키를 사용하여 메시지도 변경되지 않았음을 알 수 있습니다.
실수로 또는 의도적으로 운송 중. 물론 이 확신은 다음과 같은 경우에만 강력합니다.
두 당사자 모두 다른 누구도 비밀 키에 접근할 수 없다는 것을 신뢰합니다.
MAC는 메시지의 작은 표현이며 다음과 같은 특징을 갖습니다.
MAC은 이를 생성하는 메시지보다 훨씬 작습니다.
MAC이 주어지면 이를 생성한 메시지를 계산하는 것은 비현실적입니다.
MAC과 이를 생성한 메시지가 주어지면 다른 메시지를 찾는 것은 비현실적입니다.
동일한 MAC을 생성합니다.
MAC 값 생성을 보여주는 Wikipedia의 아래 그래픽을 참조하십시오.

메시지 인증 코드 MAC HMAC 위의 예에서 메시지 발신자는 MAC 알고리즘을 통해 메시지를 실행하여 MAC 데이터 태그를 생성합니다. 그런 다음 메시지와 MAC 태그가 수신자에게 전송됩니다. 그러면 수신자는 동일한 키를 사용하여 동일한 MAC 알고리즘을 통해 전송의 메시지 부분을 실행하여 두 번째 MAC 데이터 태그를 생성합니다. 그런 다음 수신기는 전송에서 수신된 첫 번째 MAC 태그를 두 번째로 생성된 MAC 태그와 비교합니다. 동일한 경우 수신자는 메시지의 무결성이 손상되지 않았으며 전송 중에 메시지가 변경되거나 변조되지 않았다고 안전하게 가정할 수 있습니다.
그러나 수신자가 재생 공격을 탐지할 수 있도록 하려면 메시지 자체에 동일한 메시지가 한 번만 전송될 수 있음을 보장하는 데이터(예: 타임 스탬프, 시퀀스 번호 또는 일회성 MAC 사용)가 포함되어야 합니다. 그렇지 않으면 공격자는 내용을 이해하지 못한 채 이 메시지를 녹음하고 나중에 재생할 수 있어 원래 보낸 사람과 동일한 결과를 얻을 수 있습니다. 참고: MAC 값을 생성하는 방법에는 여러 가지가 있습니다. 아래에는 일부 구현에 대한 짧은 목록이 있습니다.
다음은 이 질문에 대한 잘못된 답변입니다.
그것들은 모두 실제 유형의 MAC 구현이기 때문에 모두 오답이었습니다. DES-CBC의 경우 CBC 모드에서 DES 알고리즘을 사용하여 MAC을 생성하고 비밀 DES 키를 송신자와 수신자가 공유합니다. MAC는 실제로 알고리즘에 의해 생성된 암호문의 마지막 블록입니다. 이 데이터 블록(64비트)은 암호화되지 않은 메시지에 첨부되어 상대방에게 전송됩니다. MAC 자체에 대한 공격을 방지하기 위해 이전의 암호화된 데이터 블록은 모두 삭제됩니다. 수신자는 메시지 무결성과 인증을 보장하기 위해 공유하는 비밀 DES 키를 사용하여 자신의 MAC를 생성할 수 있습니다. 그는 메시지의 어느 부분에서든 비트가 변경된 경우 CBC의 연결 기능이 데이터의 마지막 블록을 크게 변경하기 때문에 메시지가 변경되지 않았다는 것을 알고 있습니다. 오직 한 사람만이 비밀 키를 갖고 있기 때문에 그는 메시지의 출처(인증)를 알고 있습니다.
HMAC(키 해시 메시지 인증 코드)는 비밀 암호화 키와 결합된 암호화 해시 함수를 포함하는 메시지 인증 코드(MAC)를 계산하기 위한 특정 구성입니다. 다른 MAC과 마찬가지로 데이터 무결성과 메시지 인증을 동시에 확인하는 데 사용할 수 있습니다. MD5, SHA-1과 같은 암호화 해시 함수를 HMAC 계산에 사용할 수 있습니다. 결과적인 MAC 알고리즘은 그에 따라 HMAC-MD5 또는 HMAC-SHA1로 명명됩니다. HMAC의 암호화 강도는 기본 해시 함수의 암호화 강도, 해시 출력 크기, 키의 크기 및 품질에 따라 달라집니다.
UMAC(Universal Hashing) 기반 메시지 인증 코드는 일부 비밀(임의) 프로세스에 따라 해시 함수 클래스에서 해시 함수를 선택하고 이를 메시지에 적용하여 계산된 메시지 인증 코드(MAC) 유형입니다. 그런 다음 결과 다이제스트 또는 지문이 암호화되어 사용된 해시 함수의 신원을 숨깁니다. 모든 MAC과 마찬가지로 데이터 무결성과 메시지의 신뢰성을 동시에 확인하는 데 사용될 수 있습니다. UMAC는 RFC 4418에 지정되어 있으며 암호화 강도가 입증되었으며 일반적으로 다른 MAC보다 계산 집약도가 훨씬 낮습니다.
MIC와 MAC이 있는 MicMac(혼란)이란 무엇입니까?
메시지 무결성 코드(MIC)라는 용어는 특히 통신 분야에서 MAC이라는 용어를 대체하는 경우가 많습니다. 여기서 약어 MAC는 전통적으로 네트워킹을 참조할 때 미디어 액세스 제어(Media Access Control)를 나타냅니다. 그러나 일부 저자는 MIC를 MAC과 완전히 다른 용어로 사용합니다. MIC 작업이라는 용어를 사용할 때 비밀 키를 사용하지 않습니다. 이러한 보안 부족은 메시지 무결성을 측정하는 데 사용되는 모든 MIC를 암호화하거나 변조로부터 보호해야 함을 의미합니다. MIC 알고리즘은 동일한 알고리즘이 둘 다 생성하는 데 사용된다는 가정하에 주어진 메시지가 항상 동일한 MIC를 생성하도록 생성됩니다. 반대로, MAC 알고리즘은 동일한 메시지, 비밀 키 및 초기화 벡터가 동일한 알고리즘에 입력되는 경우에만 일치하는 MAC을 생성하도록 설계되었습니다. MIC는 비밀 키를 사용하지 않으므로 자체적으로 사용할 경우 MAC보다 메시지 무결성에 대한 신뢰성이 훨씬 낮습니다. MAC는 비밀 키를 사용하기 때문에 동일한 수준의 보증을 제공하기 위해 반드시 암호화할 필요는 없습니다.
이 질문에 사용된 참고 자료:
에르난데스 CISSP, 스티븐(2012-12-21). CISSP CBK 공식 (ISC)2 가이드, 제3판((ISC)2 Press)(Kindle 위치 15799-15815). 아우어바흐 출판물. 킨들 에디션. 및 http://en.wikipedia.org/wiki/Message_authentication_code 및 http://tools.ietf.org/html/rfc4418