HTTPS란?
HTTPS는 월드 와이드 웹 통신 프로토콜인 HTTP의 보안이 강화된 버전이다.
HTTPS는 소켓 통신에서 일반 텍스트를 이용하는 대신에, SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하여 데이터의 적절한 보호를 보장한다.
통신 과정
1. 클라이언트에서 서버로 연결을 시도하는 패킷을 전송한다. Client가 사용가능한 Cipher suite 목록이 포함되어있다.
어떤 프로토콜(TLS/SSL)을 사용할지, 인증서 검증 또는 데이터를 어떤 방식으로 암호화할지 등이 표시된다.
2. 클라이언트에게서 받은 패킷에 대해 서버가 응답을 한다. 여기에는 클라이언트에게서 받은 Cipher suite 중 하나를 보낸다.
3. 2번 패킷 외에도 인증서에 대한 패킷을 보낸다. 인증서는 서버가 발급받은 SSL인증서를 말한다.
4. SSL 인증서에 서버의 공개키가 없는 경우 서버가 직접 공개키를 전달한다. 인증서에 공개키가 있는 경우 생략된다.
5. 인증서 확인
6. 서버가 행동을 마무리 했다고 응답을 보낸다.
7. 1, 2 단계에서 생성한 난수를 조합하여 pre-master secret을 생성하고, 인증서 안에 들어있는 공개키를 이용하여 pre-master-secret 값을 암호화하여 서버로 전송한다.
8. 클라이언트로 부터 전송받은 pre-master-secret를 서버는 자신의 비공개 키로 정상적으로 복호화 후 master-key(대칭키)로 승격 후 보안 파라미터를 적용하거나 변경될때 보낸다.
위 과정을 통해서 대칭키 암호화 방식으로 데이터를 송, 수신하게된다.
출처 : https://mysterico.tistory.com/30?category=938083
'Etc.' 카테고리의 다른 글
애플페이 드디어 한국에서도 가능! (0) | 2023.03.21 |
---|---|
ChatGPT-4 무엇이 다를까? 사용법은? (0) | 2023.03.20 |
HTTP/3 란? (0) | 2022.03.21 |
OSI 7계층 (0) | 2022.02.21 |
경기지역화폐 사용처 확인 방법 알아보기! (0) | 2020.04.16 |