포럼
XE의 암호화 알고리즘은 어떤걸 사용하나요?
2014.02.23 19:43
지난번 카드사대란으로 보안에 대한 이슈가 아주 중요한데요, 그래서 저도 이후의 사이트 개발을 의뢰할 때 보안요소에 더 신경을 쓰려고 합니다.
가장 중요한건 개인/보안정보의 유출을 막는 것이지만 언제나 그렇듯 사고는 예상하지 못한 곳에서 발생하기 때문에, 가능한 높은 수준의 보안대책을 유지하는게 법적으로나 사이트 운영자로서의 양심으로나 모두 꼭 필요한 것이라고 요즘들어 특히 많이 느끼고 있습니다.
그리고 비교적 안전한 암호화 알고리즘을 사용하고 있다면 그것도 XE의 어필요소가 될 수 있고요.
그래서 XE가 최근에 버전업도 많이 되서 어떤 암호화 알고리즘을 사용하고 있는지 궁금해지더라구요. 소개페이지에는 관련 내용이 없고, 검색을 해봐도 1.5 버전대의 오래전 글들이어서 최근 내용은 아닌듯 하네요.
XE가 어떤 암호화 알고리즘을 사용하고 있는지 혹시 아시는 분 있으신가요?
댓글 9
-
푸시아
2014.02.23 19:57
-
scepter83
2014.02.23 20:59
SSL은 통신단계의 암호화로 알고 있습니다.. 물론 SSL도 중요하지만요.
-
LI-NA
2014.02.23 20:09
아직 MD5를 사용하고 있는 것으로 알고 있습니다.
-
scepter83
2014.02.23 21:21
그렇군요.. MD5가 문제점이 많지만 salt를 잘 활용하면 rainbow table 검색에서 어느정도 자유로워 지기는 하죠... 그런데 제가 XE를 다뤄본 경험이 아직 부족해서 그런데 salt 규칙을 설정하는 부분을 발견하지 못했거든요.. 어디에 숨어있는건지 혹시 아시는지요.. 스탠다드 규칙이면 그대로 사용할 수 없으니까요.
http://www.privacy.go.kr/cmm/fms/FileDown.do?atchFileId=FILE_000000000453933&fileSn=1&nttId=4000&toolVer=&toolCntKey_1=
정부 지침에 따르면 단방향은 SHA-2부터 쓰라고 하고 있는데 영 걸리네요..
-
LI-NA
2014.02.23 21:26
개인적으로 암호화 개선 모듈/애드온도 생각해보고는 있지만요 ㅋ;;
그리고 salt...
소금아 아닙니다. 여튼 그 부분은 저도 찾아본 적이 없어서 잘 모르겠네요...
-
misol
2014.02.23 21:38
하위 호환성 때문에 아직 건드리지 못한 부분입니다. 기본값은 SALT 없이 md5 만 적용합니다.
./modules/member/member.controller.php 파일 안에서 찾아보시면 아마 있을겁니다.
변수 하나를 바꿔주면 md5(sha1(md5()) 를 적용하기는 합니다. -
scepter83
2014.02.23 23:25
그렇군요.. salt없이 md5로 패스워드가 저장되고 있다면 굉장히 위험한 상태입니다. 어찌보면 왠만한 사용자들의 패스워드는 이미 웹사이트에 공개되어 있다고 볼 수도 있겠네요. 인터넷에서 바로 검색할 수 있는건 실질적으로 암호화 된 데이터는 아니니까요. 레인보우 테이블은 다수의 사이트에서 수년째 누적되고 있습니다..
그런데 잘 이해는 안갑니다.. 하위호환성 때문이라고 하셨지만, 설치단계에서 인크립션을 지정하도록 하면 문제는 없어보입니다. 이미 php 5.3.2 부터는 SHA-256보다도 견고한 Bcrypt를 함수로 쓸 수 있는데, sha-256 적용까지 미루고 있는건 의아합니다..
XE가 salt 없이 md5로만 패스워드 저장으로 쓰이는게 알려지면, 해커들의 집중 공격대상이 될까 걱정되네요.
이건 상상도 못했던 내용이네요.. XE 사이트 털리면 한마디로 비번까지 같이 공개되는거나 마찬가지라는 의미니까요.
-
misol
2014.02.24 15:08
그래서 특수문자+영대소문자+숫자 포함해서 비밀번호를 만들라고 권고가 필요합니다.
매칭 테이블이 만들어지고 있는거지 변환 함수가 있는 것은 아니니까요.
PHP4 버전의 지원을 끊은지 시간상 얼마되지 않아서 기존 사용자 지원 차원에서 당분간은 어렵지 않을까 싶습니다. 좋은 방법이 있다면 XE팀에 깃 허브로 공헌해주세요. 알고리즘도 좋고 코드도 좋구요.. -
misol
2014.02.25 03:18
https://www.nuricms.org/developersDiscussion/4394 참고해보세요 :)
그런 보안 이슈에 대응하려면 SSL 을 설치 해야겠지요..