
HTTP(Hypertext Transfer Protocol)는 웹 상에서 서버와 브라우저가 데이터를 주고 받을 때 사용하는 프로토콜(통신 규약)입니다. 이름에 Hypertext가 포함되어있지만, HTML 문서 뿐만 아니라, 이미지와 오디오 등의 여러 데이터 형식을 주고 받을 수 있습니다.
HTTPS(Hypertext Transfer Protocol Secure)는 HTTP의 보안이 강화된 것으로, 브라우저와 서버가 데이터를 전송하기 전에 인증서를 공유하여 암호화된 연결을 설정합니다.
대칭키는 암복호화에 필요한 키가 같은 키를 의미합니다.공개키는 키가 공개되어있기 때문에 모든 사람이 접근 가능한 키를 말합니다.대칭키 암호화 방식은 암복호화에 사용하는 키가 동일한 암호화 방식을 말합니다.
공개키 암호화 방식은 암복호화에 사용하는 키가 서로 다른 암호화 방식을 말합니다. 비대칭키 암호화 방식이라고도 합니다.
SSL(Socket Secure Layer) 프로토콜은 전송되는 데이터를 암호화하고 보호하는 데 항상 사용됩니다. 새로운 버전이 공개될 때마다 버전 번호만 바뀌어 변경을 나타냅니다(예: SSLv2.0). 그러나 SSLv3.0에서 업데이트되는 시점부터 새로운 버전을 SSLv4.0이라 하는 대신 TLSv1.0으로 개명되었습니다.
TLS(Transport Layer Security)은 SSL의 후속 버전입니다. 하지만 TLS 연결을 설명하는 데 SSL이라는 용어가 많이 사용됩니다. 대부분의 경우 SSL 및 SSL/TLS라는 용어 모두 TLS 프로토콜과 TLS 인증서를 나타냅니다.
따라서 TLS는 SSL의 취약점이나 장점을 업그레이드한 버전으로 차이를 두어도 무방할 것 같습니다. 아래는 주요 차이를 요약한 테이블입니다.
| SSL | TLS | |
|---|---|---|
| 의미 | SSL은 Secure Sockets Layer 즉, 보안 소켓 계층을 의미합니다. | TLS는 Transport Layer Security 즉, 전송 계층 보안을 의미합니다. |
| 버전 기록 | SSL은 이제 TLS로 대체되었습니다. SSL은 버전 1.0, 2.0 및 3.0이 있습니다. | TLS는 SSL의 업그레이드된 버전입니다. TLS는 버전 1.0, 1.1, 1.2 및 1.3이 있습니다. |
| 메시지 인증 | SSL은 MAC을 사용합니다. | TLS는 HMAC을 사용합니다. |
| 암호그룹 | SSL은 알려진 보안 취약점이 있는 이전 알고리즘을 지원합니다. | TLS는 고급 암호화 알고리즘을 사용합니다. |
| 핸드셰이크 | SSL 핸드셰이크는 복잡하고 느립니다. | TLS 핸드셰이크는 단계가 적고 연결 속도가 빠릅니다. |
🙏 본 개념의 정리에 대한 피드백과 질문은 환영입니다!
본 개념의 다른 정리 및 피드백, 인터뷰 주제의 순서는 테크 인터뷰 스터디 Repository에서 확인 가능합니다.
티스토리 - HTTP(Hypertext Transfer Protocol)란?