• 전송 계층 보안(Transport Layer Security)

    • 통신 보안을 제공하기 위해 설계된 암호 규약으로 정의된다.
    • 보안 소켓 레이어(Secure Sockets Layer, SSL)로 불리기도 한다.
  • HTTPS 와의 관계

    • HTTPS는 SSL/TLS를 사용하여 서버와 클라이언트 간의 통신을 암호화한다.
    • 또한 서버의 신원을 확인할 수 있는 인증서를 사용하여 서버의 신뢰성을 보장한다.
  • TLS과 SSL은 다르다.

    • SSL은 1990년 넷스케이프(Netscape)에 의해 개발되었다.
    • SSL 3.0은 여러 심각한 보안 취약점이 발견되어 더 이상 사용되지 않는다.
    • TLS는 IETF(Internet Engineering Task Force)에 의해 개발되었으며, SSL 3.0을 기반으로 한다.
    • TLS의 발전
      • SSL보다 더 강력하고 최신의 암호화 알고리즘을 지원한다.
        • SHA-256 해시 함수가 널리 사용되어, MD5(128비트)나 SHA-1(160비트) 같은 충돌 공격에 취약한 해시 함수 사용을 방지한다.
        • 충돌 공격(Collision Attack): 해시 함수가 두 개의 다른 입력값에 대해 같은 해시값을 출력하게 만드는 공격
      • HMAC(Hash-based Message Authentication Code)를 사용하여 메시지 무결성을 보장한다.
        • SSL의 MAC은 충돌 저항성이 TLS에 비해 상대적으로 부족하다. (추가 스터디 필요)
      • 핸드셰이크 과정에서 대칭키를 설정할 때 더 안전한 방법인 Diffie-Hellman 키 교환 방식을 사용한다.
        • 더 강력한 키 교환 방식으로 ECDHE (Elliptic Curve Diffie-Hellman Ephemeral)가 있으니 참고
        • 단, SSL 3.0에서도 Diffie-Hellman 키 교환 방식의 사용은 가능하다.
  • 데이터전달 프로세스

    • TLS 레이어 위에 HTTP 를 통과시킨다.
    • 평문의 HTTP 문서는 TLS 레이어를 통과하면서 암호화된다.
    • 목적지에 도착한 데이터는 상대 엔드 포인트인 TLS 레이어를 통과하면서 복호화된다.
  • OSI 7 계층 모델의 관점에서 바라보는 SSL과 TLS

    %EA%B7%B8%EB%A6%BC4.PNG

    • 어느 계층에 속한다고 확실히 정의하기 쉽지 않다.
      • https://learningnetwork.cisco.com/s/question/0D53i00000Kt0q0CAB/which-layer-of-the-osi-model-do-ssl-and-tls-belongo-t
    • OSI 7계층만 가지고는 실제 세계의 네트워크 통신을 정확히 매칭시켜 설명하기 힘들기 때문
      • 해당 프로토콜의 존재 의의만 파악하는 것으로도 충분하다.
      • All of this just shows that the OSI model does not apply to the real world.