xe에 좋은글 있어서 퍼옵니다. > 십년전오늘

십년전오늘

10년전 추억의 책장을 넘기며

xe에 좋은글 있어서 퍼옵니다. 정보

xe에 좋은글 있어서 퍼옵니다.

본문

http://www.xpressengine.com/userForum/20264651

MD5의 문제점은 오래되었지요...

그누에도 몇번 올라온것 같았는데....
이부분 변경하실 의사 없으신가요?

그누는 지금보니 mysql password방식이네요.
다른 보드랑 헛갈렸나보네요...
그누에서 어딘가 MD5를 쓴것으로 기억했는데 아닌가봐요 ㅎㅎ

무튼 타 보드든 자작 프로그램이든  MD5는 될수있으면 사용 안하는쪽이 좋을것 같습니다.


댓글 전체

보니까 그누보드 비밀번호가 mysql password의 방법으로 암호화 되고있네요 ㅎ.ㅎ;
MD5암호화가 그누가 아니면 어디서 본것일까요....
보드를 이것저것 만졌더니... ㄷㄷ
비밀번호를 20자이내로 작성할수 있다는 가정하에
비밀번호를 20자의 영문대.소문자, 숫자, 특수문자를 썩어서 만든뒤에,
하루마다 바꿔준다면 괜찮을꺼 같아요.

한마디로 아무리 암호화방식이 뛰어나도, 사용자가 비번을 "123" 같은걸로 만들면 소용없다는거죠 ㅎㅎ
MD5 was found to be weak back in 1996, and should not be used anymore for cryptographic purposes. SHA-1 is a commonly used replacement, but has similar problems. The SHA-2 family of hash functions are the current replacement of SHA-1. The members of SHA-2 are individually referred to as SHA-224, SHA-256, SHA-384, and SHA-512.

At the moment, several hash functions are competing to become SHA-3, the next standardised cryptographic hashing algorithm. A winner will be chosen in 2012. None of these should be used yet!

For password hashing, you may also consider using something like bcrypt. It is designed to be slow enough to make large scale brute force attacks infeasible. You can tune the slowness yourself, so it can be made slower when computers are becoming faster.

Warning: bcrypt is based on an older two-way encryption algorithm, Blowfish, for which better alternatives exist today. I do not think that the cryptographic hashing properties of bcrypt are completely understood. Someone correct me if I'm wrong; I have never found a reliable source that discusses bcrypt's properties (other than its slowness) from a cryptographic perspective.

It may be somewhat reassuring that the risk of collisions matters less for password hashing than it does for public-key cryptography or digital signatures. Using MD5 today is a terrible idea for SSL, but not equally disastrous for password hashing. But if you have the choice, simply pick a stronger one.

Using a good hash function is not enough to secure your passwords. You should hash the passwords together with salts that are long and cryptographically random. You should also help your users pick stronger passwords or pass phrases if possible. Longer always is better.
아.. 묘하네요..와우. 이 문제는 나름 생각하고 해결의 방법을 잡아서 작업중인데요. 이 내용을 풀면은 문제 지적은 아마 모두 비슷할 것입니다. 이것의 해결은 단순히 암호와 관련된 문제를 떠나 지금의 시장을 놓고 보면 페이스북이나 트위터정도는 상대도 안될 거대 시장에 대형사이트에 대한 종속적 사용자의 이용 변화에 주는 엄청난 가치있는 주제라고 개인적으로 평가하고 있어서 좀 극비에 해당합니다. 헤헤 oAuth는 말만 Open이지 결국 이런 대형사의 종횡무진하며 좀더 달리게 만드는 압박의 통로이고요.

검색 뿐만 아니라 컴퓨터 발전은 성능으로 이 문제는 더욱 위험해졌죠. 그래서 우리나라도 암호고도화 계획이라는 주제로 일정한 기간내 사용할 수 있게 제한을 두면서 MD5에서 SHA1, SHA1에서 이제는 SHA256.. RSA는 1024비트에서 2048비트로 키길이가 늘어나고... 앞으로 세월이 갈수록 계속 늘어나겠죠.
애초에 이렇게 개인 사용자 암호를 서버에서 관리할 필요 없이 그 위험부담을 가질 필요가 없습니다. 암호와 관련된 개인의 고유성 획득이라는 것은 서버에서 관리할 필요없이 선언적인 의미 정도이면 충분하고 보안에 관련하여 큰 비용부담을 가질 필요도 없습니다. 현실에서 늘상 인터넷에 다중 ID를 생성해서 사용하는 사람이 있기에 이건 지난 행동에  지속성이나 신뢰성부분이며, 다소 기술적인 것보다(<-어느정도는 필요) 사회적인 룰에 의해 형성되는 부분입니다. 따라서 서버에서 암호화를 위한 연산을 할필요도 없으며 그 자체를 모두 자바스크립트로 사용자에게 내놓고 이용해도 무방합니다. 헉... 보안유지보안요지..  ㅜ.ㅠ

저랑 같이 신세계를 만들고자 하실분 없나용? ㅎ.ㅎ  (기왕이면 홍보도... 최초이네용)
암호는 hash 함수를 이용하여 sha256, sha512 정도면 강력하겠죠..

$hash_pass = hash('sha512', $user_password );

더욱 강력하게 하려면..
- hash(SALT || 비밀번호 || SALT)
- hash(SALT || hash(비밀번호))
- hash(비밀번호 || hash(비밀번호 || SALT))
- hash(hash(SALT)||hash(비밀번호))
* SALT 값은 사용자마다 랜덤하게 생성하여 할당
전체 135,051
십년전오늘 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT