Computer Science

[정보보안] MDC / MAC의 차이점

imsunbow 2023. 12. 18. 00:14

 

MDC(modification detection code)는 메세지의 변경, 즉 무결성과 관련된 코드이다. 반면 MAC(message authentication code)는 메세지의 인증과 연관되어 있는 코드이다.

 

MDC에서는 해당 메세지가 변경되지 않았다는 것을 보장하기 위하여 메세지와 MDC(메세지 다이제스트)를 함께 진행한다. 단방향 해시함수를 사용하여 Hash시 메세지와 키를 같이 hashing한다는 점이 특징이다. 반면 MAC에서는 대칭키 암호 기술을 사용하여 메세지에 대한 인증 코드를 생성한다. 주로 무결성 검증과 함께 메세지의 출처를 인증하는 데에 이용한다.

 

 Q1) MDC를 써서 메세지의 무결성을 보장하고자 할 때, 메세지는 보안되지 않은 채널로 보내도 되지만 MDC는 보안된 채널로 보내야 하는 이유?

A1) 보안되지 않은 채널을 통해 MDC를 전송하면 중간에서 공격자가 MDC값을 가로챌 수 있다. 공격자가 MDC값을 변경하게 될 경우 무결성을 해치게 된다. 

 

Q2) MAC를 사용할 때에는 메세지와 MAC를 같이 보내도 되는 이유?

A2) 대칭키 알고리즘을 이용하여 비밀 키를 공유하는 구조이기 때문이다. 해싱 시 h(K/M)을 생성할 경우 프리픽스 MAC를 h(M/K)를 생성할 경우 포스트픽스 MAC를 사용한다.

 

요약

 

MDC : 해시함수 사용, 키 사용 X, 데이터 무결성을 보호하기 위함

MAC :  대칭키 암호화 알고리즘 사용, 키 사용 O, 데이터 인증을 위함

반응형