------------------------------------------------------------------------------------------------
Contents
1. 개요
2. md5(Message-Digest algorithm 5)란?
3. md5sum을 이용하여 무결성 체크 하기
------------------------------------------------------------------------------------------------
1. 개요
리눅스를 공부하면서 파일을 다운 받을때 보면 무결성을 체크 할 수 있게 파일 옆에 해쉬값을 써 놓거나 해쉬값을 저장한 파일을 같이 제공한다. 예전에 가짜 sendmail 홈페이지를 만들어 놓고 사용자에게 파일을 제공한 사이트가 있었다. 물론 가짜 파일 안에는 악성코드가 존재 하였고 한때 많은 유저들이 이러한 사실을 모른채 바이러스에 감염되었다고 한다. 이를 방지 하기 위해서라도 보안에 민감한 사람은 파일을 다운 받을때 무결성을 체크 하는게 좋다. md5는 임의의 길이의 메세지를 입력받아 128비트 길이의 출력값을 나타낸다 만약 원본 파일이 1비트라도 달라지면 결과값이 상이하게 달라지기 때문에 무결성 체크를 할 때 많이 이용된다.
2. md5(Message-Digest algorithm 5)란?
MD5(Message-Digest algorithm 5)는 128비트 암호화 해시 함수이다. RFC 1321로 지정되어 있으며, 주로 프로그램이나 파일이 원본 그대로인지를 확인하는 무결성 검사 등에 사용된다. 1991년에 로널드 라이베스트가 예전에 쓰이던 MD4를 대체하기 위해 고안했다. 1996년에 MD5의 설계상 결함이 발견되었다. 이것은 매우 치명적인 결함은 아니었지만, 암호학자들은 해시 용도로 SHA-1와 같이 다른 안전한 알고리즘을 사용할 것을 권장하기 시작했다. 2004년에는 더욱 심한 암호화 결함이 발견되었고. 2006년에는 노트북 컴퓨터 한 대의 계산 능력으로 1분 내에 해시 충돌을 찾을 정도로 빠른 알고리즘이 발표되기도 하였다. 현재 MD5 알고리즘을 보안 관련 용도로 쓰는 것은 권장하지 않으며, 심각한 보안 문제를 야기할 수도 있다. 2008년 12월에는 MD5의 결함을 이용해 SSL 인증서를 변조하는 것이 가능하다는 것이 발표되기도 했다.
[ Ref. http://ko.wikipedia.org/wiki/MD5 ]
3. md5sum을 이용하여 무결성 체크 하기
말은 거창하지만 실제로 테스트 하는건 간단하다.
우선 아래의 링크를 따라가서 snort 소스파일을 다운 받는다. 그 옆에 보면 MD5라고 적힌 링크된 파일을 볼 수가 있다
http://www.snort.org/downloads
MD5라고 적힌 파일은 원본 snort 파일의 무결성을 검사하여 해쉬값을 적어 놓은 파일 이다. 소스 파일과 md5 파일을 다운 받자.
우리는 두개의 파일을 다운 받았다
snort-2.8.5.3.tar.gz
snort-2.8.5.3.tar.gz.md5.txt
(아래의 그림에 [1]이라고 쓰여진 이유는 필자가 이미 받은 파일을 중복되게 받아서 생긴거니 무시 한다.)
위의 그림과 같이 md5sum 이라는 명령을 통해서 다운받은 snort파일의 해쉬값을 출력하고
이전에 받은 md5.txt파일의 내용을 출력해 두개의 해쉬값을 비교 하면 된다.
'Papers > Linux' 카테고리의 다른 글
^M: bad interpreter: no such a directory (0) | 2011.11.16 |
---|---|
ERROR: failed to open PAM security session (0) | 2011.11.03 |
Definition of Configure, Make, Make Install (0) | 2010.03.18 |
Mysql 사용자계정 생성하기 (0) | 2010.02.18 |
틸드(~)없이 사용자계정 홈페이지 로딩하기 (0) | 2010.02.18 |