메시지 인증 코드(Message Authentication Code, MAC)는 주어진 메시지에 대한 무결성과 인증을 제공하는 보안 기능입니다. MAC는 메시지와 비밀 키를 사용하여 생성되며, 메시지를 수신하는 측에서도 동일한 키를 사용하여 메시지에 대한 MAC을 생성하여 원래 전송된 MAC과 비교함으로써 메시지의 무결성을 검증할 수 있습니다.
송신사실을 부정하는 목적으로는 사용되지 않음.
MAC의 주요 특징은 다음과 같습니다:
1. **무결성 검증**: MAC은 데이터가 전송 중에 변경되었는지 확인하는 데 사용됩니다. 이는 수신자가 메시지를 받을 때 해당 MAC을 확인하고, 동일한 키를 사용하여 수신한 메시지에서 새 MAC을 생성한 다음, 두 MAC을 비교하여 메시지가 변경되었는지 여부를 판단함으로써 이루어집니다. 두 MAC이 일치하지 않으면 메시지가 변경되었음을 나타냅니다.
2. **인증**: MAC은 메시지가 특정 송신자(비밀 키를 가진 사람)로부터 왔음을 확인하는 데도 사용됩니다. MAC은 비밀 키를 알고 있는 사람만이 생성할 수 있기 때문에, 올바른 MAC을 가진 메시지는 해당 키를 가진 사람으로부터 왔음을 나타냅니다.
3. **비밀 키 기반**: MAC은 비밀 키 기반의 방식입니다. 따라서 송신자와 수신자 모두 메시지 인증 코드를 생성하고 검증하기 위해 동일한 비밀 키를 공유해야 합니다.
일반적으로 MAC은 두 가지 주요 유형이 있습니다:
- **HMAC (Hash-based Message Authentication Code)**: 이 방식은 해시 함수(예: SHA-256, SHA-3 등)를 기반으로 하며, HMAC-<해시 함수 이름> 형식으로 표시됩니다. HMAC은 주어진 메시지와 비밀 키를 입력으로 사용하는 해시 함수를 사용하여 MAC을 생성합니다.
- **CMAC (Cipher-based Message Authentication Code)**: 이 방식은 블록 암호(예: AES)를 기반으로 합니다. CMAC은 메시지를 블록으로 나누고, 각 블록을 암호화한 후 이들을 합쳐 MAC을 생성합니다.
이러한 방법 모두 무결성과 인증을 제공하며, 선택할 구체적인 방법은 사용자의 요구 사항과 환경에 따라 다를 수 있습니다.
'ISMS-P > 보안' 카테고리의 다른 글
ECDSA (Elliptic Curve Digital Signature Algorithm) (0) | 2023.07.05 |
---|---|
전자 코드북 모드(Electronic Code Book mode, ECB mode) (0) | 2023.07.05 |
생일의 역설 (0) | 2023.07.05 |
SSL/TLS 암호화 스위트(Cipher Suite) (0) | 2023.07.05 |
접근통제 모델 (0) | 2023.07.05 |