소개합니다

주요 웹 브라우저(Chrome, Firefox, Edge, Safari, Explore 등)가
TLS 1.0 및 TLS 1.1 통신에 대한 지원을 중지한다고 발표했는데요,
TLS가 무엇인지, 가장 최신 버전 TLS1.3에서 개선된 부분은 무엇인지 소개합니다.

01.TLS란?
  • TLS(Transport Layer Security)는 SSL v3.0을 기반으로 개발된 통신용 암호화 프로토콜이며,
    클라이언트-서버 간 네트워크 통신 과정에서 도청/간섭/위조방지를 위해 암호화된 통신 채널을 설정하는데 사용된다.
  • TLS 프로토콜은 모든 종류의 인터넷 트래픽을 암호화하며, 가장 일반적으로는 웹 트래픽 암호화가 있다.
    웹사이트 URL이 https로 시작하고, 연결이 안전하게 이뤄지고 있음을 알려주는 자물쇠 표시가 뜨면 이는 브라우저가 TLS를 통해 연결되어 있다는 의미다.
  • 버전 HISTORY
    • - TLS 1.0 (RFC 2246, ‘1999)
    • - TLS 1.1 (RFC 4346, ‘2006)
    • - TLS 1.2 (RFC 5246, ‘2008)
    • - TLS 1.3 (RFC 8446, ‘2018)
  • TLS1.0 및 TLS1.1 종료 일정
    개발사 웹 브라우저 서비스 종료 일정 출처
    Apple Safari 2020년 3월 Link
    Google Chrome 2020년 1월 (Chrome 81) Link
    Microsoft IE 2020년 상반기 Link
    Mozilla Firefox 2020년 3월 Link
02.이메일과 TLS 관계
  • 이메일을 안전하게 만들기 위해서는 2가지를 암호화해야 한다. 이메일 제공업체와의 연결, 그리고 이메일 그 자체다.
    첫 번째 단계는 전송 과정에서 문제가 생기는 것을 방지하고, 이메일 자체를 암호화하는 것은 중간에 이메일을 가로챈 다른 사람이 보는 것을 방지한다. 우선 이메일 제공업체와 컴퓨터 간의 안전한 연결망이 필요하다. SSL(Secure Socket Layer)와 TLS(Transport Layer Security) 암호화를 설정해야 한다.
    SSL/TLS가 활성화되어 있다면, 웹사이트 주소가 http가 아니라 https로 시작한다. http 뒤에 s를 붙여 접속해보면 보통 이메일 제공업체가 연결을 암호화한다.
03.TLS 1.2 취약점
  • TLS 1.2는 서버 클라이언트 간 통신을 위한 여러 가지 새로운 암호화 옵션을 제공하고 있다.
    그러나 이전 버전이 그랬듯, 오래된 컴퓨터들을 지원해야 하므로 기존의 암호화 기술 사용도 허용하고 있다.
    하지만 이로 인해 여러 가지 취약점이 생기게 되었는데,
    기존 암호화 기술들은 시간이 지남에 따라 더더욱 공격에 취약해지기 때문이다.

    특히 TLS 1.2는 소위 중간자(Man in The Middle, MiTM) 공격에 갈수록 더 취약해지고 있다.
    MiTM 공격이란 해커가 커뮤니케이션 중간에 패킷을 가로채서 이를 읽거나 수정한 후에 송신하는 공격 방식을 말한다.
    TLS 1.2는 또한 POODLE(Padding Oracle On Downloaded Legacy Encryption), SLOTH(Security Losses from Obsolete and Truncated Transcript Hashes), 그리고 DROWN(Decrypting RSA with Obsolete and Weakened eNcryption) 공격에도 취약하다.
    특히 지난 2년 동안 이런 취약점들이 불거져 나오면서 TLS 프로토콜 갱신이 더욱 시급해지고 있다.
04.TLS 1.3 개선사항

TLS 1.3이 이전 버전에서 개선한 것들을 정리해보면 크게 속도와 정리 그리고 보안으로 볼 수 있다.

  • 1) 속도

    TLS1.3은 RTT(Round Trip Time)를 줄여서 속도를 개선했다.
    어떤 데이터를 상대방에게 보내기 시작한 시간부터 그것에 대한 응답을 받기 시작하는 시간까지, 즉 데이터가 네트워크를 한 바퀴 돌아서 다시 돌아오는데 걸리는 시간을 말한다. 즉, 왔다 갔다 하는데 걸리는 시간이다.
    TLS는 보안 채널을 구성하기 위해서 Handshake 과정이 필요한데, 이 과정에서 많은 시간이 소요된다. Handshake는 크게 처음 연결하는 경우와 기존에 연결했던 것을 다시 연결하고자 하는 경우가 존재한다.
    TLS 1.3은 기존과 비교해서 각각 1 RTT만큼 감소되 개선된 것을 볼 수 있다.

  • 2) 보안

    이전 버전까지는 기존의 버전과의 호환성을 위해 지원하던 legacy 기능이 많이 존재했지만, 이러한 호환성을 위한 것들 때문에 보안에 위협이 되기도 했다.
    TLS 1.3에서는 보안 강화를 위해 TLS 1.2의 오래되고 안전하지 않은 6가지 기능(SHA-1, RC4, DES, 3DES, AES-CBC, MD5)이 제거되었다.