TLS(Transport Layer Security) 란?
전송 계층 보안 TLS(Transport Layer Security)은 인터넷 상의 커뮤니케이션을 위해
개인 정보와 데이터 보안을 용이하게 하기 위해 설계되어 있는 보안 프로토콜 입니다.
현재 주 사용으로는 웹 사이트를 로드하는 웹 브라우저와 같이 웹 응용 프로그램과
서버 간의 커뮤니케이션을 암호화하기 위해 사용 됩니다.
TLS 장점
① 암호화 : 제 3자로부터 전송되는 데이터를 숨깁니다.
② 인증 : 정보를 교환하는 당사자가 요청된 당사자임을 확인합니다.
③ 무결성 : 데이터가 위조되거나 변조되지 않았는지 확인합니다.
TLS와 SSL 차이점
① 메세지 인증
SSL은 메세지 인증 코드 MAC을 사용하여 전송 중에 메세지가 변조 되지 않도록 하지만,
TLS은 보호를 위해 MAC을 사용하지 않는 대신 암호화와 같은 다른 수단을 사용하여 변조를 방지합니다.
② 기록 프로토콜
SSL은 패킷당 여러 개의 레코드가 전송되는 반면에,
TLS은 패킷당 하나의 레코드만 가져올 수 있습니다.
③ 사이퍼 스위트
SSL은 1024비트 RSA 키를 사용하는 PFS를 사용하는 하나의 암호 제품만 지원하는 반면에,
TLS은 완벽한 순방향 비밀성 PFS을 제공하며 모든 키 길이에 사용할 수 있습니다.
④ 알림 메세지
SSL은 프로토콜은 경고 메세지를 사용하여 통신 중 특정 오류에 대해 클라이언트 또는 서버에 알리는 반면에,
TLS은 따로 알림이 없습니다.
TLS 작동원리
TLS Handshake 동안 사용자 장치와 웹 서버는 다음과 같은 일을 수행하며
각각의 TLS인증서는 공개 키와 개인 키로 이루어진 키 쌍으로 구성되어 있습니다.
① 웹사이트를 방문할 때마다 클라이언트 서버와 웹 브라우저는 서로 통신하여 TLS암호화 연결하는지 확인합니다.
② 웹 브라우저가 보안 웹 사이트로 향할 때 웹 사이트 서버는 자신의 TLS 인증서와
공개 키를 클라이언트와 공유하여 안전한 연결과 고유한 세션 키를 설정합니다.
③ 브라우저는 인증기관인 발급자를 인식하고 확인 후 해지되지 않았다면 신뢰할 수 있는지 확인합니다.
④ 브라우저는 대칭 세션 키를 돌려보내고 서버는 자신의 개인키를 사용해 해당 대칭 세션키를 해독합니다.
이후, 서버는 다시 세션키로 암호화된 승인을 보내 암호화된 세션을 시작합니다.
⑤ 서버와 브라우저는 이제 전송되는 모든 데이터를 세션 키로 암호화하고
메세지 프라이버시, 메시지 무결성, 서버보안을 보호하는 보안 세션을 시작합니다.