SSL/TSL 개념과 기본 동작 원리


SSL (Secure Socket Layer)


  • 1994년 netscape사의 웹 브라우저 보안 프로토콜로 처음 고안됨
  • 1996년까지 버전 3.0까지 발표됨
    • 3.0을 표준화로 한 것이 바로 TLS
    • 통상적으로 SSL과 TLS는 같은 의미로 사용됨



SSL 탄생 배경


  • 대칭키를 공유할 때 외부로의 노출이 발생됨
    • 이 키를 누군가가 중간에서 가로챈다면…?
  • 따라서 비대칭키로 암호화 통신을 진행하면 됨
    • 그런데 이는 너무 느리고 비효율적
  • 가장 효율적이고 빠른 방법: 처음 대칭키를 교환할때만 비대칭키 암호를 사용 -> TLS의 역할



TLS에서 제공하는 보안 서비스


  • 기밀성: 남들이 데이터를 훔쳐가도 볼 수 없는 비밀 제공
  • 무결성
    • 메시지 인증 코드 (MAC: Message Authentication Code)를 통해서 메시지 인증 제공
    • 위, 변조 여부 확인 가능
  • 인증: 연결 초기 설정에서 주고 받은 인증서를 통해 신뢰할 수 있는 개체인지 인증 가능



TLS Layer (Transport Layer Security)


  • TLS는 Transection Layer 위에서 TLS 계층을 따로 두어 동작함
  • TLS를 사용하는 어플리케이션 프로토콜은 끝에 s가 붙음
    • TLS 기반의 HTTP는 HTTPS라고 지칭
    • TLS 기반의 FTP 또한 FTPS라고 부름

  1. Handshake: 양쪽 간에 연결을 설정할 때 보안 협상을 위한 프로토콜
  2. Change Cipher Spec: 보안 파라미터를 변경하거나 적용할 때 사용 (ex. 대칭키 알고리즘을 변경할 때)
  3. Alert: 오류 전송 시 사용
  4. Application Data: 실제 데이터를 전송할 때 사용
  5. Record: 협상된 보안 파라미터를 이용하여 암, 복호화, 무결성 검증 등을 수행할 때 사용

Author: Ruby Kim
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source Ruby Kim !
Comments
  TOC