웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
md5 암호화 알고리즘을 488bit blf 알고리즘으로 바꾸기
2003.04.04 03:45
대부분의 유닉스체제나 리눅스체제는 md5 암호 알고리즘을
쓸것입니다... 보안에 많이취약하다고 합니다.
이에 488bit 의 blowfish 알고리즘으로 변환 하여 군사기밀을
담아 놓은 서버처럼 만들어 봅시다..
이 작읍은 루트로 하여야합니다..
#su --
#vi /etc/login.conf
:passwd_format=md5: 이 항목을
:passwd_format=blf: 로 수정 하시고 저장하고 vi 를 빠져 나옵니다.
그런 다음 로그인 설정 db 를 바꾸어 줘야 합니다.
#cap_mkdb /etc/login.conf
다음은 /etc/auth.conf 파일을 열어 다음과 같이 바꾸어 줍니다.
# vi /etc/auth.conf
crypt_default = md5 를 아래와 같이 바꾸어 줍니다. --->
crypt_default = blf
#wq
자 이제 모든 설정이 끝났습니다.. 테스트로 유저를 한번 생성하셔서
vi 로 /etc/master.passwd 파일을 열어 확인해보시기 바랍니다.
아주 복잡한 구조로 바뀌었음을 알수 있습니다..
** blf 암호 알고리즘 : Blowfish , Military Grade ,256 to 448 bit Shared Secret ,Fastest <--- 군사기밀 수준의 암호와 알고리즘이란걸 알수 잇습니다.
쓸것입니다... 보안에 많이취약하다고 합니다.
이에 488bit 의 blowfish 알고리즘으로 변환 하여 군사기밀을
담아 놓은 서버처럼 만들어 봅시다..
이 작읍은 루트로 하여야합니다..
#su --
#vi /etc/login.conf
:passwd_format=md5: 이 항목을
:passwd_format=blf: 로 수정 하시고 저장하고 vi 를 빠져 나옵니다.
그런 다음 로그인 설정 db 를 바꾸어 줘야 합니다.
#cap_mkdb /etc/login.conf
다음은 /etc/auth.conf 파일을 열어 다음과 같이 바꾸어 줍니다.
# vi /etc/auth.conf
crypt_default = md5 를 아래와 같이 바꾸어 줍니다. --->
crypt_default = blf
#wq
자 이제 모든 설정이 끝났습니다.. 테스트로 유저를 한번 생성하셔서
vi 로 /etc/master.passwd 파일을 열어 확인해보시기 바랍니다.
아주 복잡한 구조로 바뀌었음을 알수 있습니다..
** blf 암호 알고리즘 : Blowfish , Military Grade ,256 to 448 bit Shared Secret ,Fastest <--- 군사기밀 수준의 암호와 알고리즘이란걸 알수 잇습니다.
댓글 17
-
Elsa
2003.04.30 18:19
-
okw1003
2003.04.22 07:00
한글이님 // 옳지만, md5는 PHP에서는 같은 문자열을 사용한다면 취약한 듯. -
Dopesoul
2003.04.12 02:04
한글이님이 잘 설명해주셨네요. 제 말이 한글이님 말입니다^^;
반나절에 푼다는게 좀 -_- -
한글이
2003.04.10 15:48
xtersh님
조금 잘못 알고 계시는 것 같은데
md5나 des, rsa모두 단방향이라구 해서 역방향으로 풀수 없는 것은 아닙니다. 모두 역방향으로 암호를 푸는 것이 가능 합니다. 하지만 그 방법이 어렵고 수학적인 계산이 많이 필요하기 때문에 쉬운 대입방법으로 암호를 푸는 것입니다. 이것은 암호의 길이나 암호의 단순성에 상관없이 일정한 시간이 걸립니다. 중요한것은 암호화 알고리즘과 몇 비트로 암호화하였는 가가 중요합니다.
des의 경우도 40비트로 암호화하지만 역방향으로 암호를 푸는 것은 팬티엄 컴퓨터로 오랜시간이 걸립니다.(요새의 최상위 슈퍼컴으로 몇일안에 푸는 것으로 알고 있습니다.팬티엄으로 풀경우 더 오래 걸리겠지요.)
des도 물론 역으로 풀기가 어렵기 때문에 많은 유닉스에서 사용하고요. 하지만 des가 취약한 이유는 이러한 단방향 암호화 알고리즘이 아니라 암호의 길이 입니다. des로는 그 암호의 길이가 8자이내입니다.
그러니깐 키 입력을 받을수 있는 수가 40개 정도라고 생각을 하면 40의 8제곱입니다. 이정도의 수면 팬티엄 컴퓨터로 대입법을 사용한다고 했을경우 그렇게 오랜시간을 걸리지 않을 것입니다.
하지만 md5의 경우는 128비트로 암호화 하기도 하지만 그 암호의 길이가 기억은 잘안나지만(ㅡㅡ?) 128자 아니면 256자일것입니다.
그럼 40개의 256제곱입니다. 이 모든 것을 대입법으로 풀기라는 아마 엄청난 시간이 걸립것입니다.
지금의 일반 컴퓨터의 수준으로는 암호의 비트수는 128비트 이상이면 중요하지 않습니다. 어짜피 128비트의 암호화 알고리즘을 역으로 풀기에는 일반 컴퓨터로는 엄청난 시간이 걸리니깐요.
그래서 아직까지는 거의 모든 암호화 알고리즘들의 기준이 128비트가 되어있는 것입니다. -
장석문
2003.04.09 20:10
아무리 좋은 암호화 알고리즘이 있다고 한들 사용하는 암호로 qwerty, 12345, 123abc와 같은 것을 사용하면 3일 이전에 사전대입법과 bruteforce로 깨집니다.
과하게 과장해서 비밀번호 1을 md5로 암호화 한다음에 md5로 비번이 뭔지 알아내 보라고 해보세요. 그럼 하루가 가기전에 암호화된값이 1이라고 답을 할 것입니다. 그렇기 때문에 반나절에 알아맞출수 있는 것이지요. 초기 입력값을 조금복잡하게 해도 md5로 입력값을 알아맞추는 것은 10년은 족히 걸리게 될 것입니다. -
Zeriad
2003.04.04 17:09
이 작읍은 루트로 하여야합니다..
. ..작읍...-_-; -
[sOon DiE] WHAN+
2003.04.05 00:02
좋은자료 감사합니다. ^^ -
Dopesoul
2003.04.05 01:27
Blowfish는 DES를 대체하는데 사용될 수 있는 암호화 알고리즘이다. 이것은 32~488 비트까지 가변적인 길이의 키를 사용하는 대칭 블록을 쓰고 있으므로, 미국내 뿐 아니라 수출용으로도 이상적으로 사용될 수 있다 (미국 정부는 특별한 경우를 제외하고는 길이가 40 비트 이상 되는 키를 사용하는 암호화 소프트웨어의 수출을 금지하고 있다). Blowfish는 기존의 암호화 알고리즘의 대안으로서, 1993년 Bruce Schneier에 의해 설계되었다. Blowfish는 32 비트 명령어 프로세서를 염두에 두고 설계되었으므로, DES에 비해 현저히 빠르다. Blowfish는 특허를 얻지 않아 사용 승인이 필요 없고, 모든 용도에 자유로이 사용할 수 있다. -
Dopesoul
2003.04.05 01:28
MD5는 입력 데이터 (길이에 상관없는 하나의 메시지)로부터 128 비트 메시지 축약을 만듦으로써 데이터 무결성을 검증하는데 사용되는 알고리즘이다. MD5는 전자 서명 응용프로그램들과 함께 사용할 목적으로 미국 MIT의 로널드 리베스트 교수가 개발하였으며, 큰 파일들은 RSA와 같은 공개키 암호 사용법하에서 개인키와 함께 암호화되기 전에 안전한 방법으로 압축되어야만 한다. MD5 규격은 현재 IETF RFC 1321에 명시되어 있다. MD5 규격에 따르면, MD5 알고리즘에 입력된 어떤 두 개의 메시지가 동일한 메시지 축약을 결과로 내거나, 또는 어떤 메시지 축약을 통해 엉뚱한 메시지가 만들어지는 것은 "계산적으로 불가능"하다고 한다. MD5는 리베스트가 만들어낸 메시지 축약 알고리즘으로는 세 번째이다. 초기의 8 비트 버전인 MD2, 그리고 MD4와 최신 버전인 MD5 등은 비슷한 구조를 가지고 있지만, MD2는 8 비트 컴퓨터에 최적화되어 있는데 비해, MD4와 MD5는 32 비트 컴퓨터에 최적화되어 있다. MD5 알고리즘은 MD4의 확장판인데, MD4에 비해 속도가 빠르지는 않지만, 데이터 보안성에 있어 더 많은 확신을 제공한다. -
Dopesoul
2003.04.05 01:31
Blowfish 보다는 MD5 가 좋은것같은데요? 제가듣기로는 MD5 값을 decrypt 해서 해킹한 사례는 없는것같습니다.
MD5 값은 생성당시의 Hash 값에따라 암호화코드가 달라지므로, 위에서 명시했듯이 같은 문자로도 같은 암호화
코드가 생성되지않는 고도의 암호화 기술입니다.
" 한마디로 보안에 취약 " 이라는 말은 어불성설입니다. -_-;; -
김령현
2003.04.05 08:45
어불성설이라 ... 음.. 보통 md5의 암호화 알고리즘은..보안에 취약하다고
듣고 온터라 ... 모르겠습니다.. 님이 그렇게 말하면 그렇겠죠
또한 md5 의 암호화 알고리즘은 분명 비교분석표에서도 보안레벨 높음으로
분류 되어 있고 .. blf 는 군사용 암호 알고리즘으로 분류 되어있습니다.
마침 ... 슈퍼 유저 코리아에 위와 같은 글이 있더군요 ...
http://www.superuser.co.kr/freebsd/algochange.htm -
xtersh
2003.04.05 09:26
freebsd로 5년간 서버 운영해오면서..
md5암호화 방식이 보안에 취약하단 이야기는 처음 들어 보네요;;; -
Dopesoul
2003.04.05 16:03
군사용이라고 다 안전한거아닙니다 -_- 군대가 무슨 최고의 기술로만 운영되는줄 아시는것같지만.. 군사용이라는 관점에서 보안 레벨이 더 높다고 할수없습니다.
군용이라하면 군사장비에 암,복호화 기술을 적용할수도있는것이고..
고도의 암호화 기술 = 군용
이라는 고정관념을 없애시길^^; 일례로 PGP 라는 개인이 만든 암호화 방법은 알카에다에서도
썼습니다 -_-;; 가장 폭넓게쓰이는 이메일 암호화방법이기도 하구요..
물론 슈퍼컴퓨터로 1주일이면(?) 풀리는 MD5 라고 하지만, 현존하는 펜티엄컴퓨터로는
1억년이걸린다나? 못돼도 100년이상걸립니다^^;;
전혀 취약하지않답니다. -
xtersh
2003.04.06 16:23
Dopesoul#
md5암호화 방식은..
단방향 암호화 방식입니다.. 즉, 암호화 되는 방법은 있어도..
푸는 방법은 없다는것이지요.....
그만큼 암호를 알아 낼려면..
일일이 대입 방식으로 맞춰보는것입니다.. (현재는;;)
현존하는 펜티엄컴퓨터로는.. 100년 이상 걸린다?
틀린 말입니다..
암호화.. 유니코스, 아스키코드 등등
일일이 대입해볼때..
제 짧은생각으로는.. 반나절이면 알아 맞출수 있을것 같습니다.. -
Dopesoul
2003.04.06 18:32
반나절이요? 어떤케이스의 경우 반나절이죠 -_-?
제가 암호화된 값을 여기다가 올려놓을테니 반나절에 알아맞춰보시렵니까?
Bruteforce 로 반나절에 md5 값을 알아맞춘다구요?
-_- 그야말로 말이 안되는것같은데요.
그러면 지구상의 모든서버는 반나절에뚤리나요 -_-;
저도 bruteforce 로 여러가지 공격을 시도해봤었습니다만.. 반나절에뚤린경우는
드문걸로압니다. md5 가아닌 초간단 암호화방식조차도요.
어떤 상황을두고 반나절이라는 시간을 제시하셨는지는 잘 이해가 안갑니다만...
제가 100년이라는 시간을 제시한것이 상식선에서 틀렸다고 보여지진않습니다.
원하시면 제가 md5 값을 올려놓을테니 한번 반나절에 알아맞춰주셨으면// -
Dopesoul
2003.04.06 23:16
뭐 간단한예로 수학을 예로들어보면요
제가 행렬을 이용한 암호화 함수를 하나 구상했다고 치면,
(md5 의경우는 단방향이기때문에 이에 해당하진않겠지만)
그의 역행렬을 이용한 decoding 을 하게될텐데 2x2 행렬 이상만 넘어가도
-_- 반나절 넘게걸릴껄요..
행렬을 이용한 간단한 암호화조차도 반나절에 안뚤릴진데, md5가 반나절이라는것자체가
이해가 안가는군요.
유니코드나 아스키는 암호화가아니라는것도 말씀드리고싶네요. -
박군
2008.09.20 15:41
MD5、HAVAL-128、MD4와 RIPEMD 등 벌써 40대 중국인 교수에 의해서 깨졌습니다. http://ggaman.com/tt/88 <-참고 하시길 그다지 안전한 방식도 아니고 권장하지도 않는 추세 입니다. 요즘에 AES 256bit 가 대세 깨는 공식을 사진으로 첨부 해뒀습니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
[진자 유용한] www 자동으로 붙여주기 [6] | Dopesoul | 2003.05.24 |
[간단팁] 윈도우즈 2003 에서 mysql 사용할때.. [5] | 오종선 | 2003.05.22 |
ie60이상버전의 개인정보기능으로 인한 서비스문제 [2] | 날파리 | 2003.05.21 |
한컴 리눅스 2.2 apach php mysql phpmyadmin zeroboard 서버구축기 예전에 쓴글 약간 수정판 입니다. [6] | 한돌 | 2003.05.19 |
IIS 5.0 WebDAV Buffer Overflow 취약점에 대한 공격빈도 증가 | DearMai | 2003.05.17 |
커널에러 복구 하기~~~ [5] | 서인구 | 2003.05.11 |
윈도2000 서버에서 DNS 서버 운영하기 | DearMai | 2003.05.10 |
apache 98 % 활용하기 ! (윈도우버젼) [13] | 이성헌 | 2003.05.09 |
DNS서버 만들기 [4] | 제르디스™ | 2003.05.04 |
NSLOOKUP 으로 서브도메인과 메일서버 알아보기 [6] | 환군+ | 2003.05.02 |
MASQUERADE 클라이언트 IP 자동으로 부여해주기 [1] | 엔포게이트 | 2003.05.01 |
MASQUERADE 클라이언트 컴퓨터 인터넷 되게..^^; [4] | 김도진 | 2003.04.25 |
APM_Setup4에서 CGI 쉽게 설치하기 [3] | RedEye | 2003.04.14 |
(더 성공률 높은)Apache에서 ASP돌리기(초간다안!!) [6] | okw1003 | 2003.04.09 |
mysqldump를 이용해서 원하는 조건의 record만 뽑아내기 [2] | 겨울늑대 | 2003.04.08 |
mysql DB 주기적 자동 백업 하기 [8] | 김령현 | 2003.04.04 |
md5 암호화 알고리즘을 488bit blf 알고리즘으로 바꾸기 [17] | 김령현 | 2003.04.04 |
센드메일 에라타.. | 선장 | 2003.04.01 |
특정 유저만 su root 허용 | 군고구마 | 2003.04.01 |
서버의 아파치보안 테스트 해보세요 [12] | 김령현 | 2003.03.26 |
암호화는 공개키 암호화든 아니든간에 A에 K라는 키를 넣어서 B를 만들면, B에서 A로 만드는것도 알고리즘을 만들때부터 가능하게 만들어졌다고 봐야지요 -_-;
MD5는 A를 Hash하면 무조건 B가 나오고요, B로 A를 구할 수가 없는 함수입니다 -_-
DES가 이전에 Distributed.net에서 @home으로 풀린예가 있는데요.
이때 전체 1경 8천조 개의 키 가운데 24.6%만의 검색을 하였는데도 22시간 15분이 걸렸다고 합니다.
사용된 컴퓨터는 @home만 봐도 아시겠지만 인터넷으로 연결된 10만개의 프로세스이고요.
일반 컴퓨터로는 도저히 무리입니다 ㅡㅡ
뭐 풀수있는건.. NSA(National Security Agench: 미 국가안보국) 지하 몇층이 통째로 슈퍼컴퓨터라고 하더군요.
그거로는 DES도 몇초만에 뚝딱이라는 말을 들었습니다.
그런데 40^8이면 6553600000000, 즉 6경 5천조 아닐까요? 책에 나온거라 -_-.