SSL 없이 패스워드를 암호화해서 서버에 전송할려면,
보통 activex를 사용해야합니다만, 그외 일반 웹브라우져 상에서만 가능하게 할려면,
1. 플래시
2. 자바스크립트
인데, 스마트폰에서는 플래시가 안되거나 디폴트로 로딩되어 있지 않는 경우가 많음.
와 같이 자바스크립트에서 암호화 라이브러리를 통해, 암호화 시킨값을 PHP로 전송해야 함.
그런데, 암호화 할려면 암호화키가 필요한데, 암호화 키가 이미 노출됨.
(아 어쩌라고,, 욕나옴.)
그래서 1회성 토큰키와 암호화키를 발급
서버에서는 토큰키와 암호화키를 세션값으로 가지고 있음
암호화키를 가지고 패스워드 암호화 처리후 서버로 아이디와 전송
서버에서는 토큰키 검증, 받은 암호화된 패스워드를 세션값의 암호화키를 가지고 복호화 처리
인증 처리 완료
좀더 안전한 암호화키 발급을 위해서 토큰값을 클라이언트 IP를 이용하여 생성(역변환 가능암호화방식 사용)
암호화 알고리즘은 PHP/JAVASCRIPT 둘다 AES 방식을 추천함.
결론) 차리리 SSL 쓰자.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 5개
오늘 많은 내용들 검색해가면서 글들을 읽어보다보니
조금씩 이해가 가는중입니다.^^
가이드라인을 만족하느냐 안하느냐를 누군가 판단해야 하고,
판단하는데 돈을 받을거 같고,,,,,
역시 결론은 SSL이군요.
단순히 암호화만 한다고 SSL 대안이 되지 않을듯 합니다....
실컷 작업해 놓고 kisa에서 딴지 걸면 대책없어요...