HTTP 와 HTTPS 모두 웹에서 데이터를 전송하는 프로토콜
HTTPS 는 HTTP + S 로 Sequre 를 의미한다
S 를 구성하는 요소는 주로 TLS
차이점
HTTP (HyperText Transfer Protocol)
- 보안 없음: 데이터를 암호화하지 않고 전송하기 때문에 데이터가 전송 중에 도청당할 가능성
- 기본 포트: defult 80
- 속도: 암호화 과정이 없으므로 HTTPS 보다 조금 더 빠를 수 있다
- 사용 용도: 주로 보안이 덜 중요한 환경에서 사용
HTTPS (HyperText Transfer Protocol Secure)
- 보안: 데이터를 암호화하여 전송, TLS 프로토콜을 사용하여 데이터의 무결성과 기밀성을 보장
- 기본 포트: default 443
- 속도: 데이터 암호화와 복호화 과정으로 HTTP 보다 약간 느릴 수 있다
- 사용 용도: 보안이 중요한 웹사이트, 예를 들어 은행, 쇼핑, 로그인 페이지 등에서 사용
- 신뢰성: TLS 인증서를 통해 웹사이트의 신뢰성을 확인, 사용자는 웹 브라우저의 주소창에 자물쇠 아이콘을 통해 보안 연결 여부를 알 수 있다
- 대칭키 방식과 비대칭키를 함께 사용한다
HTTPS 는 훨씬 더 안전하고 신뢰할 수 있는 통신을 제공한다
대부분의 현대 웹사이트는 보안을 위해 HTTPS 를 사용
SSL/TLS
이 두 프로토콜은 안전한 통신을 보장하지만
SSL 은 보안 취약점이 발견되어 더 이상 사용되지 않는다
SSL (Secure Sockets Layer)
- 역사: SSL은 1990년대 중반에 넷스케이프(Netscape)에 의해 개발
- 버전: SSL 2.0과 3.0이 널리 사용되었으나, 보안 취약점이 발견되어 더 이상 사용되지 않는다
- 기능: 클라이언트와 서버 간의 데이터 암호화, 무결성 확인, 인증을 제공하여 데이터가 안전하게 전송되도록 한다
- 보안 취약점: SSL 3.0 이후로 발견된 여러 보안 취약점으로 인해 더 이상 사용되지 않습니다.
TLS (Transport Layer Security)
- 역사: TLS는 SSL의 후속 프로토콜로, 1999년에 표준화되었다
SSL 3.0의 개선된 버전
- 버전: TLS 1.0, 1.1, 1.2, 1.3이 있으며, 가장 최신 버전은 TLS 1.3
- 기능: 데이터 암호화, 무결성 확인, 인증을 제공
- 보안: SSL보다 더 강력한 암호화 알고리즘과 보안성
- 프로토콜 핸드셰이크: SSL보다 더 효율적이고 안전한 핸드셰이크 과정