PBKDF2 암호화 방식에 대해서...
2015.11.20 09:45
휴... 어제 슈퍼스타K 생방 마무리 하고 모든 세트 구조물 해체후 집에 도착하니 9시가 넘었군요 OTL...샤워 하고 또각또각 게시글 하나 남겨봅니다.
이번에 서버 업데이트를 하면서 MD5로 저장하던 페스워드 방식을 PBKDF2로 바꾸었습니다.
MD5는 간단하게 설명하면 암호를 abcd1234라고 가정할때 텍스트를 단방향으로 암호화 하여 e19d5cd5af0378da05f63f891c7467af라는 암호화된 텍스트로 변형해줍니다.
예전에는 이정도로만 암호화를 해도 복호화를 하는데 어려울것이며, 해독이 되지 않을것이라고 했죠.
하지만, 인간이 생각해 낼수 있는 암호 문자열은 매우 한정적이라는 사회공학적인 방법과 발달된 컴퓨터 파워로 레인보우 테이블 이라는 것을 만들어 냅니다.
일종의 사전 같은 것인데, 암호화된 문자 "e19d5cd5af0378da05f63f891c7467af"를 찾아서 만약 사전에 존재한다면 그의 복호화값인 abcd1234를 찾을 수 있는것입니다. 용량에 따라 다르지만 a 부터 zzzzzzzzzzzz 까지 영문+숫자+특수문자의 조합에 대한 레인보우 테이블을 만들어 놓고, 해킹된 DB에서 MD5로 암호화된 문자열을 복호화하는 것이지요..
아무튼 MD5가 안전하지 않은 터라, 여러가지 대안이 나왔지만, PBKDF2 방식이 지금은 가장 대중적이면서 나쁘지 않은 것 같습니다.
PBKDF2에 대한 정보는 네이버 http://d2.naver.com/helloworld/318732 링크를 참고해 보시고, 잡지식 한점 하시고 가셔요~
yohan님, 애쓰셨어요.