Transport Layer Security에 대해 알아보고 SSL과의 차이점도 알아보겠습니다.
TLS
TLS란?
TLS(Transport Layer Security)
- 인터넷 상의 커뮤니케이션을 위한 개인정보와 데이터 보안을 용이하게 하기 위해 설계되어 널리 채택된 보안 프로토콜
- 웹 사이트를 로드하는 웹 브라우저와 같이 웹 응용 프로그램과 서버 간의 커뮤니테이션을 암호화
- 이메일, 메시지, VoIP 등 다른 커뮤니케이션을 암호화하기 위해서도 사용
- IETF에 의해 제안되었으며 프로토콜의 첫 번째 버전은 1999년에 발표됨
- 가장 최신 버전은 2018년에 발표된 TLS1.3
TLS와 SSL의 차이점
- TLS는 Netscape가 개발한 SSL(Secure Sockets Layer)이라고 불리는 이전의 암호화 프로토콜에서 발전한 것
- TLS 버전 1.0은 SSL 버전 3.1로서 개발을 시작했지만 Netscape와 더 이상 연관이 없음을 명시하기 위해 발표 전에 프로토콜의 이름이 변경됨
TLS와 HTTPS의 차이점
HTTPS
- HTTP 프로토콜 상위에서 TLS 암호화를 구현한 것
- HTTPS를 사용하는 웹 사이트는 TLS 암호화를 이용함
TLS 프로토콜을 사용해야 하는 이유
- TLS 암호화는 데이터 유출 및 기타 공격으로부터 웹 애플리케이션을 보호하는 데 도움
- TLS로 보호되는 HTTPS는 웹 사이트의 표준 관행
TLS가 하는 일
TLS 프로토콜은 암호화, 인증, 무결성이라는 세 가지 주요 요소를 달성
- 암호화: 제3자로부터 전송되는 데이터를 숨김
- 인증: 정보를 교환하는 당사자가 요청된 당사자임을 보장
- 무결성: 데이터가 위조되거나 변조되지 않았는지 확인
TLS 인증서
- 웹 사이트나 응용 프로그램이 TLS를 사용하기 위해서는 원본 서버에 TLS 인증서가 설치되어 있어야 함
- 인증 기관이 도메인을 소유한 사람 혹은 비즈니스에게 TLS 인증서를 발행
- 인증서는 서버의 공개 키와 더불어 누가 도메인 소유자인지에 대한 중요한 정보를 포함
TLS의 작동 방식
TLS 연결은 TLS 핸드셰이크로 알려진 일련의 순서를 사용하여 초기화됨
- 사용자가 TLS를 사용하는 웹사이트를 돌아다니면 사용자 장치(클라이언트 장치)와 웹 서버 간에 TLS Handshake가 시작됨
TLS Handshake 동안 사용자 장치와 웹 서버는 다음과 같은 일을 수행
- 사용할 TLS 버전(TLS 1.0, 1.2, 1.3 등)을 지정
- 사용할 암호 제품군을 결정
- 서버의 TLS 인증서를 사용하여 서버의 신원을 인증
- 핸드셰이크가 완료된 후 키 간의 메시지를 암호화하기 위한 세션 키를 생성
TLS와 성능
TLS의 최신 버전은 웹 응용 프로그램 성능에 거의 영향을 미치지 않음