11/8
14.1 HTTP를 안전하게 만들기
대량 구매, 은행 업무, 보안 자료 접근 등을 위해서는 HTTP와 디지털 암호 기술을 결합해야 한다.
- 효율적, 이식성이 좋고, 쉬운 관리, 현실 세계의 변화에 대한 적응력, 사회와 정부의 요구사항 만족
- 서버 인증 - 클라이언트는 자신이 위조된 서버가 아닌 진짜와 이야기 하고 있음을 보장받아야 함.
- 클라이언트 인증 - 서버는 자신이 진짜 사용자와 이야기하고 있음을 알 수 있어야 함.
- 무결성 - 데이터 위조 방지
- 암호화 - 도청 걱정 x
- 효율 - 저렴한 클라이언트나 서버도 이용할 수 있도록 충분히 빠른 알고리즘
- 편재성(Ubiquity) - 거의 모든 클라이언트와 서버에서 지원되는 프로토콜
- 관리상 확장성 - 누구든 어디서든 즉각적인 보안 통신 가능
- 적응성 - 현재 알려진 최선의 보안 방법 지원
- 사회적 생존성 - 사회의 문화적, 정치적 요구 만족
14.1.1 HTTPS
애플리케이션 계층과 전송 계층 사이에 보안 계층이 존재함.
- SSL(Secure Sockets Layer)
- TLS(Transport Layer Security)
어려운 인코딩, 디코딩 작업은 SSL 라이브러리 안에서 일어남 → 프로토콜 처리 로직을 크게 변경할 필요 없음