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)란?