
SSL, TLS 프로토콜을 활용한 HTTPS 통신의 개념을 알아봅시다.

😜 추가 지식
- 장점
- 통신하고자 하는 서버가 신뢰할 수 있는 서버인지 판별할 수 있음.
- 통신 과정에서 데이터가 노출될 가능성이 적음.

😜 추가 지식
- SSL과 TLS 관계
- 네스케이프에 의해서 SSL이 먼저 발명되고, 점차 폭넓게 사용되다가 표준화 기구인 IETF의 관리로 변경되면서 TLS라는 이름으로 바뀜.
- 다른 것처럼 분리해서 말하는데 같은 것이고 구버전 신버전 느낌!

SSL 프로토콜에 사용되는 인증서
역할
내용
CA(Certificate Authority)

😜 추가 지식
- 예시로 보는 암호화, 복호화, 키 개념
- Love라는 것을 다음 알파벳인 MPZF로 보냄 (암호화)
- 받은 사람이 규칙을 알고 Love로 치환함 (복호화)
- 보내는 사람이 다음 알파벳으로 치환해서 보낸다는 정보 (키)
증거이므로 데이터 제공자의 신원을 보장하는 개념
😜 추가 지식
- 같은 말
- 비밀키 = 개인키, 비공개키
데이터 전달에는 대칭키를 쓰고, 그 대칭키를 교환할 때는 공개키 사용Client hello라 불리며 다음과 같은 데이터를 서버에 전송
Session Id (이미 SSL handshake를 한번 완료했다면 기존 session 재활용, 처음에는 전송 X)Server hello라 불리며 다음과 같은 데이터를 클라이언트에 전송
클라이언트는 먼저 인증서를 발행한 CA를 신뢰할 수 있는지 판단 (갖고 있는 CA 리스트와 비교)
진짜 그 CA가 발행한 인증서가 맞는지 확인
복호화에 성공한다면, 신뢰 할 수 있는 CA가 보증한 서버임을 확신할 수 있음 이후 Client hello 의 랜덤 데이터와 Server hello 의 랜덤 데이터를 조합하여 pre master secret key 생성
pre master key를 암호화(인증서에 포함된 서버측 공개키 사용)하여 서버에 전송
이 때 사용할 암호화 기법은 대칭키이기 때문에 pre master secret 값은 제 3자에게 절대로 노출되어서는 안됨서버의 공개키로 pre master secret 값을 암호화해서 서버로 전송하면 서버는 자신의 비공개키로 안전하게 복호화 할 수 있음pre master key를 복호화대칭키로 사용해 데이터를 암호화하여 클라이언트-서버 통신이 이루어짐😜 추가 지식
- 이후 세션 단계로 통신할 땐 세션 키를 이용해서 대칭키 방식으로 암호화
- 암호화된 정보는 상대방에게 전송될 것이고, 상대방도 세션키 값을 알고 있기 때문에 암호를 복호화 할 수 있음
참고
해당 사이트의 내용을 참고로 작성했습니다. 추후에 더 알게 되는 내용들을 추가하겠습니다.
SSL, TLS, HTTPS는 무엇인가요?
장구리
HTTPS와 SSL/TLS 정리
SSL/TLS 와 HTTPS
4D v18.4 Using TLS Protocol (HTTPS)
생활코딩