티스토리 뷰
http의 보안문제 때문에 https를 사용한다.
https는 ssl의 껍질을 덮어쓴 https다
ssl은 공개키 암호화 방식을 사용한다
* 공개키 암호화
서로 다른 두개의 키를 사용. 한쪽은 비밀키라 부름, 다른한쪽은 공개키라고 부른다.
공개키 암호화는 암호를 보내는 측이 상대의 공개키를 사용해 암호화를 한다. 상대는 자신의 비밀키를 사용해 복호화를 한다.
* https는 하이브리드 암호 시스템
키를 안전하게 교환하는 데는 공개키 암호화가 좋지만, 처리속도가 늦음
따라서 각각의 방식을 조합해서 통신함. 키를 교환하는 곳에서는 공개키 암호를 사용하고 그후의 통신에서 메세지를 교환하는 곳에서는 공통키 암호를 사용한다.
* 공개키 암호의 문제점
공개키가 진짜인지 아닌지 가릴수 없음. 그래서 CA인증기관과 그 기관이 발행하는 공개키 증명서가 이용되고 있음. (client와 server가 모두 신뢰하는 제3자 기관임)
인증기관 이용 순서
1. 서버운영자가 인증기관에 공개키 제출
2. 인증기관은 제출된 공개키에 디지털 서명을 하고 공개키인증서에 서명이 된 공개키를 담는다
3. 서버는 인증기관이 만든 공개키 인증서를 클라이언트에 보내고 공개키 암호로 통신
주의사항 : 인증 기관의 공개키는 안전하게 클라이언트에 전달되지 않으면 안됨..!! 근데 통신중엔 안전하지 않음ㅠ 따라서 공개키를 사전에 내장한 상태로 브라우저를 내놓음
ssl은 통신속도가 느리고, 리소스 부하가 있다. 따라서 개인정보 같은 민감한 정보만 https통신을 쓰고 그외에는 http를 쓴다