HTTPS(HTTP Over TLS)
HTTPS는 SSL을 통한 HTTP로, 웹 브라우저와 웹 서버 간의 보안 통신을 제공합니다.
모든 웹 브라우저에 내장 되어 있습니다.
HTTPS URL 주소는 "https://"로 시작하며, HTTPS는 보안 통신을 위해 SSL을 활용하여 포트 443에서 작동합니다.
암호화 요소
- 요청 문서 URL
- 문서 내용
- (브라우저 사용자가 입력한) 브라우저 양식 내용
- 브라우저가 서버에게 보낸 쿠키와 서버가 브라우저로 보낸 쿠키
- HTTP 헤더 내용
연결 개시
HTTP 클라이언트(TLS 클라이언트)는 적절한 포트를 통해 서버에 연결을 시작하고, TLS 핸드쉐이크를 시작하기 위해 TLS ClientHello를 전송한다
TLS 핸드쉐이크가 마무리되면, 첫 번재 HTTP 요청을 전송한다. 이 때 모든 HTTP 데이터는 TLS 응용 데이터로서 전송 된다.
연결 수준(HTTPS가 연결 된 사실을 인지하는 단계)
- HTTP 수준
- 하위계층으로 연결 요청 메시지 전달
- TLS 수준
- TLS 클라이언트와 TLS 서버 사이의 세션 설정
- TCP 수준
- 클라이언트 측 TCP와 서버 측 TCP 연결
연결 종료
HTTP 클라이언트나 서버는 HTTP 레코드에 Connection: close 줄을 집어넣어 연결이 종료되는 걸 나타낼 수 있다.
HTTPS 연결을 종료하기 위해, 먼저 TLS가 원격에 있는 상대방의 TLS 개체와의 연결을 종료해야한다.
TLS 수준에서 연결을 종료하기 위한 적합한 방법은 양 측에서 close_notify 경보를 보내는 TLS 경보 프로토콜을 사용하는 것이다.
불완전 종료
TLS를 종료하기 전에 종료 경보를 보낼 때까지 기다리지 않고 연결을 종료해버려서 불완전 종료(incomplete close) 상태로 남아있기도 한다.
불완전 종료는 세션을 재사용하려고 할 때에도 사용되는 전략이다
하지만, 세션 재사용을 하려면 응용 프로그램이 필요한 모든 메시지를 수신했다는 사실을 알고 있을 때에만 불완전 종료를 해야 한다.
레퍼런스
부족한 점이나 잘못 된 점을 알려주시면 시정하겠습니다 :>
728x90
'Computer Science > 네트워크' 카테고리의 다른 글
이메일 요소 (0) | 2023.06.03 |
---|---|
SSH (0) | 2023.05.22 |
TLS (0) | 2023.05.17 |
핸드 쉐이크 프로토콜 (0) | 2023.05.17 |
TLS 세션 (0) | 2023.05.15 |