SSL(Secure Sockets Layer) / TLS(Transport Layer Security) 는 통신상의 패킷에 암호화를 통한 보안을 제공.
1. SSL
보안 소켓 계층의 약자로, 1990년대 넷스케이프가 처음 개발한 것으로 데이터를 안전하게 전송하기 위한 인터넷 통신 규약 프로토콜. 1.0 (비공개) -> 2.0 (결함으로 빠른 칼퇴) -> 3.0을 1996년 표준으로 지정.
2. TLS
전송 계층 보안의 약자로 1999년 SSL 프로토콜의 다음 버전으로 출시. IETF( Internet Engineering Task Force)에서 표준화. SSL 3.0과 큰 차이가 없다.
TLS프로토콜은 모든 종류의 인터넷 통신을 암호화 한다. URL의 https / 이메일 / 유즈넷 등에서 사용된다.
3. 작동 (핸드쉐이크)
지원 가능한 알고리즘 서로 교환
- 클라이언트가 서버에 보안 연결을 요청. 서버는 사용가능한 암호 모음을 클라이언트에 알려준다.
클라이언트는 자신의 암호 목록과 비교 하여 하나를 선택, 서버에 어떤 암호를 선택 했는지 알려준다.
키 교환, 인증
- 서버는 클라이언트에게 자신의 신원을 확인 해줄 서드파티 기관이 발급한 인증서를 제공. 인증서엔 퍼블릭 암호화 키를 내장, 클라이언트는 서버의 인증서를 받아 그 진위를 서드파티 기관에 확인.
대칭키 암호로 암호화하고 메시지 인증
- 클라이언트와 서버는 퍼블릭 키를 사용해 세션키를 설정. 해당 키값의 교환 및 확인으로 인증 확인. 세션키의 설정은 아래 동영상 참조
'server > http' 카테고리의 다른 글
http status 307 (0) | 2023.02.16 |
---|---|
Difference between the Accept and Content-Type HTTP headers (0) | 2020.05.18 |
cors 쉽게 이해하기 (0) | 2019.11.23 |
http 통신 (0) | 2018.12.07 |
http 동작 방식 (0) | 2018.12.06 |