Shinnara's Blog
Talking with Shinnara :: NaraTalk.com

md5, sha1

Computer/Programming/FreeBSD 2007/09/17 11:18 by Shinnara

오픈 소스 커뮤니티에서 자료등을 찾다보면 md5 라는 것을 자주 보게 될것입니다. 이는 문서의 위변조 여부를 확인 하는 방법으로 작동원리는 매우 간단합니다.

친한 친구에게 약속이 담긴 메모를 보내는 과정을 생각해보기로 합시다.

meeting.txt 라는 파일에 다음과 같이 적습니다.

[shinnara ~/work/md5]$ cat meeting.txt
I want to meet you at 3 o'clock.
[shinnara ~/work/md5]$ md5 meeting.txt
MD5 (meeting.txt) = 9b9831820378f107a5aedb38a404a045


세시에 만나고 싶다고 전하고 있군요. 이를 md5  를 이용해서 값을 생성해보면 꽤 여러자리의 이상한 (?) 값들이 생기는 것을 볼 수 있습니다. 이 값은 단방향 해시 함수를 이용해서 만들어진 것입니다. 해시 함수이므로 인풋이 동일하다면 같은 값을 생성하게 됩니다.

자, 이제 친구에게  meeting.txt 와 md5 의 값을 같이 전달합니다. 친구는 받은 메시지에 대해 마찬가지로 md5 로 인코딩해보고, 이 값을 받은 md5 의 값과 비교해봅니다. 만약 중간에 어떤 해커에 의해 다음과 같이 값이 변경되었다고 해봅시다.

[shinnara ~/work/md5]$ cat meeting.txt
I want to meet you at 5 o'clock.
[shinnara ~/work/md5]$ md5 meeting.txt
MD5 (meeting.txt) = 7088740a144adb9e4e7fe9568cdfed9a


세시에 만나기로 한 약속이 5시로 변경되어 있군요. 이 메시지에 대해 md5 를 적용하게되면 위와 같은 값을 나타내게 되므로 원본 메시지의 md5 와 다른 값이됩니다. 따라서 문서가 변조 되었음을 확인할 수 있습니다.

물론, 함께 보내는 md5 마저 변조시킨다면 방법이 없겠지요. 하지만 위변조에 대한 어떠한 장치도 없는 것 보다는 충분히 훌륭한 방법이며, 여전히 많은 곳에서 쓰이고 있답니다.


TAG , , ,
0 Trackback, 0 Comment

TRACKBACK :: http://naratalk.com/trackback/141 관련글 쓰기

댓글을 달아 주세요

1  ... 172 173 174 175 176 177 178 179 180  ... 264 
다...... (264)
Computer/Programming (106)
Links (14)
책 읽는 즐거움 (7)
끄적임 (66)
즐거운 과학 나라 (7)
일본 (5)
Study (4)