티스토리 뷰

암호학

메세지 인증

삼전동해커 2020. 10. 3. 13:19

메세지 무결성과 메세지 인증에 대해 공부해 봤다.


메세지 무결성

메세지의 무결성, 즉 내가 보낸 메세지는 진짜 내가 보낸게 맞다.라는 증명을 어떻게 해야할까.


무결성을 증명하기 위해서 메세지를 해시 함수를 이용해 알고리즘을 적용해야 한다. 해시값으로 메세지의 압축된 이미지를 생성한다. 이 이미지를 메세지 다이제스트라고 한다.


무결성을 점검하기 위해 새로운 다이제스트를 생성해서 이전의 다이제스트 값과 비교해본다.

값이 같으면 증명된다.


해시 함수의 기준

1.프리이미지 저항성
2.제2 프리이미지 저항성
3.충돌 저항성

위 3가지 조건을 만족하는 함수를 해시함수로 사용해야 한다.

프리이미지 저항성

프리이미지 저항성이란 해시함수h 와 y=h(M)에 대해 y=h(M`)을 만족하는 M`을 찾기 매우 어려워야 한다.

y=h(M)만 가지고 동일한 다이제스트를 갖는 메세지(M`)를 만드는건 매우 어려워야 한다는 의미이다.


제2 프리이미지 저항성

제2 프리이미지 저항성이란 M과 h(M)만으로 h(M)=h(M`)을 만족하는 M`을 찾기 매우 어려워야 한다.
프리이미지 저항성과 비슷하지만 주어진 정보가 다르다.

충동 저항성

동일한 다이제스트 값을 가지는 2개의 메세지를 구하지 못해야 한다.

공격자는 어떠한 정보도 없이 같은 다이제스트 값을 가지는 2개의 메세지를 생성 할 수 있다. 



메세지 인증

메세지 다이제스트를 이용해 무결성을 증명했다. 즉, 메세지가 변경되지 않았다는 것을 증명했다.
메세지가 변경되지는 않았지만 정말 송신자가 보낸게 맞는지가 궁금할 수 도 있다.
위에서 배운 메세지 다이제스트로는 내가 진짜 송신자 인지 증명이 불가능 하다.

MDC(변경 감지 코드)

MDC는 메세지의 무결성을 보장하는 메세지 다이제스트이다.

송신자는 메세지와 MDC를 같이 전송하고, 수신자는 메세지로부터 다이제스트를 생성해 수신받은 MDC와 비교해 본다.


MAC(메세지 인증 코드)

MDC로는 증명되지 않는 진짜 송신자임을 증명하기 위해 MDC 대신 MAC를 사용한다. 

MDC와 MAC의 차이점은 MAC에는 수신자와 송신자 사이의 비밀값이 포함되어 있다는 점이다.


MAC 인증과정

1)송신자는 비밀키와 메세지를 이어붙인 다음 해시함수로 암호화한 해시값을 MAC로 하여 메세지와 함께 전달한다.

2)수신자는 메세지와 MAC을 분리한 후 메세지로 부터 새로운 MAC값을 생성한 후 전달받은 MAC과 비교한다.

3)같으면 제대로된 송신자 임을 증명.


공격자가 메세지를 가로챌 수는 있지만 메세지를 위조하고 싶어도 비밀키가 없기 때문에 위조가 불가능하다. 따라서 동일한 MAC생성도 불가능하다.



'암호학' 카테고리의 다른 글

전자서명  (0) 2020.10.13
블럭 암호 운용 방식  (0) 2020.10.13
대칭키, 공개키  (0) 2020.10.13
키 분배 프로토콜  (0) 2020.10.05
해시함수란?hash function?  (0) 2020.08.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함