-
HTTPS란 무엇인가CS지식/네트워크 2021. 6. 23. 22:29
HTTP에는 사용자를 식별해주고 인증해주는 좋은 기능이 존재한다.
하지만, HTTP에서 제공하는 식별과 인증기능은 악의적인 사용자들의 도청이나 위조같은 위협에 있어 안전하지 않다.
강력한 보안이 보장되지 않는다면 사용자 입장에서 안심하고 서비스를 이용할 수 없을 것이다.
HTTP를 이용하는 통신에서 강력한 보안을 제공하기 위해서는 추가로 디지털 암호화 기술을 결합해야한다.
그 중 하나가 HTTPS라는 것이다.
HTTPS는 HTTP를 안전하게 만드는 방식 중 하나로 가장 보편적으로 사용하는 것이다.
우리가 URL을 보면 http://로 시작하는 것을 볼 수 있고 https://로 시작하는 것을 볼 수 있을 것이다.
여깃 https://로 시작한다면 해당 웹 페이지는 HTTPS로 통신이 이루어진다는 것을 알 수 있다.
HTTPS를 사용하면 모든 HTTP 요청과 응답 데이터는 네트워크 상에서 보내지기 전에 암호화된다.
HTTPS는 HTTP와 별개의 프로토콜이 아니라 TCP/IP계층을 보면 HTTP의 하부에 전송 레벨 암호 보안 계층을 추가하여 동작하는 방식이다.
여기서 말하는 보안 계층은 SSL(Secure Sockets Layer) 또는 TLS(Transport Layer Security)가 있다.
이렇게 보안 계층을 추가하여 HTTP 메시지를 TCP로 바로 보내기 전에 보안 계층에 전달하여 암호화를 진행한다.
암호화를 진행하기 위해서는 클라이언트와 서버는 SSL 핸드셰이크를 할 필요가 있는데 SSL 핸드 셰이크에서 발생하는 일은 다음과 같다.
- 프로토콜 버전 번호 교환
- 클라이언트, 서버 둘 다 알고 있는 암호 선택
- 클라이언트와 서버 신원 인증
- 채널을 암호화하기 위한 임시 세션 키 생성
'CS지식 > 네트워크' 카테고리의 다른 글
HTTP/2.0이란 무엇인가 (0) 2021.07.16 내용 협상(content negotiation)이란 무엇인가 (0) 2021.07.12 다이제스트 인증이란 무엇인가 (0) 2021.06.20 HTTP 인증이란 무엇인가 (0) 2021.06.17 쿠키(Cookie)란 무엇인가? (0) 2021.06.14