본문 바로가기
정보보안(산업)기사

[정보보안기사] 2.암호학 - 메시지 인증 코드(Message Authentication Code, MAC)

by 다니엘(Daniel) 2023. 7. 28.
반응형

 

MAC(Message Authentication Code) 이란?

MAC은 메시지 인증 코드 입니다. 쉽게 말하면, 데이터의 무결성과 인증을 위해서 사용되는 단방향 암호화 기술입니다. 특정한 메시지에 대한 MAC 값을 생성하는데, 이 MAC 값은 오직 메시지 송신자만이 생성할 수 있으며, 이 값이 메시지 수신측에게 전송되어 메시지가 정확한 송신자로부터 전송된 것임을 인증하는 데 사용됩니다. MAC 기술은 대칭키 암호화기법을 사용하며, MAC 코드를 생성하기 위한 비밀키를 메시지 송수신 측이 공유하고 있어야 합니다. 이를 통해 비밀키가 공격자에게 노출되지 않는이상 데이터 인증이 보장됩니다.

 

MAC을 사용하는 이유는?

MAC은 메시지 무결성 보호와 인증을 위해 사용됩니다. 메시지 무결성 보호는 메시지를 보낸 사람이 보낸 그대로의 메시지를 수신한다는 보장을 제공합니다. 그리고 인증은 메시지를 보내는 사람의 신원을 확인하고, 해당 메시지가 위조되거나 간섭을 받지 않았다는 것을 증명합니다. 따라서 MAC은 메시지의 안전성을 보장하며, 메시지의 인증과 무결성 보호를 위해 사용됩니다.

 

MAC을 사용하지 않으면 어떤 문제가 발생할 수 있나요?

MAC을 사용하지 않으면 메시지의 무결성과 인증을 보장할 수 없으므로, 많은 보안 문제가 발생할 수 있습니다. 예를 들어 다음과 같은 문제들이 발생합니다.

 

중간자 공격: 메시지가 중간에 조작될 수 있기 때문에 중간자 공격을 받을 가능성이 높아집니다.

위조 메시지: 메시지가 왜곡되거나 송신자를 위조할 수 있는 위조 메시지가 전송될 수 있습니다.

변조된 데이터: 메시지가 수정되거나 데이터가 변경될 수 있습니다.

 

이러한 문제는 민감한 정보 전송에서 특히 치명적일 수 있으며, 따라서 데이터의 무결성과 인증을 보장하기 위해 MAC의 사용을 권장합니다.

 

MAC의 동작원리는 어떻게 되나요?

MAC은 메시지 무결성을 검증할 수 있는 메시지 인증 코드로, 대칭키 암호화 기술의 한 종류입니다. 동작 원리는 다음과 같습니다.

 

1. 송신자는 이전에 합의된 대칭키를 이용하여 메시지를 암호화 합니다.

2. 이때, 송신자는 암호화된 메시지와 대칭키를 함께 전송합니다.

3. 수신자는 수신한 키와 암호화된 메시지를 이용해 평문 메시지를 추출합니다.

4. 이후, 수신자는 별도의 암호화 없이 추출한 평문 메시지를 이곳저곳에 확인해서 무결성 여부를 확인합니다.

5. 만약 메시지가 변조되었다면, 이를 확인하고 오류를 보고합니다.

 

즉, MAC은 송신회선을 통해 전달된 메시지의 무결성을 보장할 수 있는 간단하면서도 유용한 암호화 기능입니다.

 

MAC이 메시지 무결성을 어떻게 보장하나요?

MAC은 대칭키 암호화 기법을 사용하여 메시지 무결성을 보장합니다. 기본적으로 MAC는 메시지와 함께 전송되는 간단한 코드입니다. 송신자는 이 코드를 생성할 때 메시지와 함께 비밀 키를 사용하여 해시 함수를 실행합니다. 이렇게 생성된 코드는 메시지와 함께 수신자에게 전송됩니다. 수신자는 메시지와 코드를 받으면 메시지에 대한 해시 함수를 다시 실행하여 암호화시 사용되었던 비밀 키와 일치하는지 확인합니다. 이러한 과정을 통해 송신자와 수신자는 동일한 비밀 키에 기반하여 메시지와 MAC를 검증하므로, 메시지의 무결성을 보호할 수 있습니다.

 

MAC을 활용하는 사례는 어떻게 되나요?

MAC은 네트워크 보안 분야에서 다양하게 활용됩니다.

 

SSL/TLS: SSL/TLS에서는 메시지 무결성을 보장하고 서버 인증을 위해 MAC을 사용합니다.

VPN: VPN에서는 데이터를 안전하게 전송하기 위해 MAC을 사용합니다.

이메일 보안: 이메일 암호화 및 MAC 보호를 사용하여 안전하게 이메일을 보낼 수 있습니다.

디지털 지문: 같은 데이터가 있는 경우, MAC 값은 동일합니다.따라서, 파일의 중복 여부를 확인하기 위해 MAC 값을 활용하는 경우가 있습니다.

디지털 서명: 디지털 서명은 MAC을 사용하여 서명자를 인증하고, 서명된 데이터의 무결성을 검증합니다.

암호화된 저장소: 파일 및 데이터베이스 내의 콘텐츠에 대한 MAC을 활용하여 손상되지 않았음을 감시합니다.

OTP(One Time Password): MAC을 이용하여 OTP를 생성하는 경우가 있습니다.

 

따라서, MAC은 데이터 무결성을 보장하고 데이터 무결성 검증 및 인증을 위해 다양하게 활용됩니다.

 

요약정리

 

 

 

 

반응형