본문 바로가기

server/http

SSL / TLS

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