웹의 암호화라고 하면, 두가지가 다입니다.
1. 전송전
a. 지금 글 쓰는 이 타이밍에 키보드를 칠때마다 입력값 훔쳐가기
b. 화면 캡쳐떠서 퍼가기 (비밀번호 필드는 ** 로 표기되니..)
c. 웹브라우저의 컨트롤 입력값들 훔쳐가기
.. 또 뭐가 있을까요?? 생각해보면 별게 다 있긴 하겠네요.
2. 전송시
- 서버에 GET/POST 등으로 요청하는 데이터들 훔쳐가기.
1번은 웹브라우저랑은 아무 관련없습니다.
많이 내다보더라도, 접속중인 서버의 html 에서 js로 원격지 전송을 하지 않는 이상은 불가능하죠.
악의적인 목적의 프로그램이 사용중인 PC에 깔리면 별짓을 다 할 수 있기 때문에 가능하게 될겁니다.
그래서 은행 등에서는 activex 로 이것들을 원천 차단하고 있죠.
(사실상 설치의 번거로움이 없는 activex 밖에 대안이 없긴합니다)
감리에서 말하는 부분은 여기서 "c" 항목에 해당될겁니다. ssl이고 뭐고 키보드에서 두들기는 입력데이터 자체는 raw 데이터일 수 밖에 없습니다.
2번을 회피하기 위해서 SSL을 쓰는겁니다. 어떤 할배도 아직까진 SSL을 뚫진 못합니다.
이 역시 PC에 프록시가 깔려있어서 SSL전송 앞에서 가로채지 않는 이상은..
다만..
억지로 짜내보자면, 감리가 말한 내용은,
2번에서 전송 전에 악의적인 프록시가 설치되어 있는 가정하에 말을 할겁니다.
해서, 더 빡시게 가자고 치면, get/post 전에 입력한 값이 특정 암호화를 해서 넘겨라는 의미가 있을수도 있습니다.
(이는 대형 포털에서 다 적용하고 있을거라 생각합니다)