Published on

네트워크-프로토콜-및-보안

Authors
  • avatar
    Name
    Jihwan Seong
    Twitter

배경

  • TLS에 대한 궁금증이 생겨서 TLS와 이와 관련된 개념들을 정리해보는 시간을 갖겠습니다.

관련 개념

SSL (Secure Sockets Layer)

  • 정의 : 인터넷 커뮤니케이션 보안을 제공하는 프로토콜

  • 특징

    • 웹 브라우저와 서버 간의 암호화된 세션을 구성합니다.
    • 총 3개의 버전이 있습니다. 1.0,2.0 그리고 3.0입니다.
    • 현재 모든 버전이 사용되지 않습니다.
      • 2015년에 SSL 3.0버전이 폐기되고 TLS 프로토콜로 대체되었습니다.
  • 참조 CBT-nuggets : ssl vs tls what's difference

TLS

  • 정의 : 인터넷 전반에 안전한 커뮤니케이션을 제공하는 산업 표준 암호화 프로토콜

  • 목적 : 암호화를 통해서 프라이버시,진실성 그리고 인가성을 최우선적으로 보장합니다.

  • 특징

    • 어플리케이션 계층에서 동작합니다.
    • 웹 브라우저와 서버간의 상호작용의 보안을 제공하며, 다른 어플리케이션(email, message 등)에서도 사용됩니다.
    • HTTPS 프로토콜에 사용되어 HTTP 프로토콜의 보안을 생성합니다.
    • Public Key Infrastructure에서 키 교환 시스템을 통해 브라우저와 서버간의 신뢰성을 구축합니다.
      • 서버의 신뢰성은 Certificate Authority가 발행한 TTL/SSL 인증서를 통해 확인됩니다.
  • 참조

SSL과 TLS 차이

  • SSL과 TSL은 동일한 목적인 웹사이트 보안을 갖고 있지만 TLS가 뛰어난 성능을 갖습니다.
  1. 명명법
  • SSL와 TLS은 많은 공통점이 있지만, 서로 다른 기술 입니다.
  • 각각 다른 근간에서 개발되었습고, 각각 주어진 명칭이 다릅니다.
  • 다만, 현재는 TLS를 SSL의 더 높은 버전이라 지칭되며 사용됩니다.
  1. 근간 차이
  • SSL은 웹사이트 보호를 목적으로 1994년에 만들어 졌고 여러 버전이 나왔지만, 최신버전(3.0)에서 보안 취약점이 발견되어 사용이 폐기되었습니다.
    • SSL의 최신버전(3.0)은 recode layer와 키 교환 문제 그리고 프로토콜의 확장성 문제가 있었습니다.
  • TLS도 웹사이트 보호를 목적으로 1999년에 만들어 졌고 여러버전이 나왔고, SSL을 대체하였습니다.
    • TLS의 초기 버전은 폐기된 암호화 묶음 사용, 비의도적 위험 설정 상태 그리고 널리 사용되는 라이브러리에서 미지원 문제가 있었습니다.
    • 이후 1.2버전에서 제기된 문제를 해결하여 상호보완성과 확장성을 안정성과 독립적으로 확보하였습니다.
  1. Handshake 보호
  • SSL 2.0은 MD5을 사용하여 메세지 인증을 수행하였지만, MD5 사용이 Handshake 메세지를 보호해주지 못하였습니다.
  • 해당 문제 제기 후, 해당 문제는 SSL 3.0와 이후의 TLS 버전에서 해결되었습니다.
  1. 암호화 묶음
  • TLS가 암호화 묶음을 사용하고 활용하는데 더욱 뛰어났습니다.
  • 특히 새롭고 강력한 암호화 알고리즘에 SSL보다 적합했습니다.
  1. 결함 수정
  • SSL 존재 이전에는 웹 보안성은 매우 취약했습다.
  • 다만 TLS와 비교했을 때, SSL은 비효율적이었습니다.
  • TLS의 최신버전은 이외에 다양한 취약점을 보안하기 위해 발전하고 있습니다.
  • 참조 CBT-nuggets : ssl vs tls what's difference