Protocol SSL과 TLS란 어떤 프로토콜인가?

SSL은 기존의 프로토콜에 보안 계층을 추가할 수 있도록 하는 프로토콜

  • SSL이란 Secure Socket Layer의 약자로, 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약입니다. 이 프로토콜은 인터넷과 같이 TCP/IP 네트워크를 사용하는 통신에 적용됩니다.
  • 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해주는데, 이 규약은 웹 브라우징, 전자 메일, 인스턴트 메신저, Voice-over-IP 등의 응용 부분에 적용되고 있습니다.
  • 주로 HTTP, FTP, TELNET 등과 같은 프로토콜에 SSL과 같은 보안 프로토콜을 결합하여 HTTPS, SFTP, SSH 등과 같은 프로토콜로 사용합니다.

  • TLSTransport Layer Security의 약자로, SSL과 거의 동일한 프로토콜입니다. 단, TLS는 SSL에 대한 IETF에서 1999년 1월 RFC 2246과 같은 표준 규약으로 정의된 버전이라고 할 수 있습니다.

  • SSL(TLS)의 3단계 기본 절차는 다음과 같습니다.

    • 1. 지원 가능한 알고리즘 서로 교환
    • 2. 키 교환 및 인증
    • 3. 대칭키 암호로 암호화하고 메시지 인증

암호화 통신(SSL, TLS)의 간단한 원리

Photo

  1. SSL과 TLS 통신도 여느 통신과 마찬가지로 연결성을 유지하는 통신입니다. 따라서 연결을 먼저 수행합니다.
  2. 서버는 연결이 가능한가에 대한 응답을 주게 되는데, 연결 가능 시에만 SYN/ACK라는 패킷을 보내게 됩니다.
  3. 연결이 가능하다라는 응답을 들었다는 패킷인 ACK 패킷을 보내 연결을 완전하게 수행합니다. 이후부터 SSL과 TLS 보안 통신을 위한 암호화 통신 준비과정을 시작하게 됩니다.
  • SSL, TLS 암호화 통신 과정

  1. SSL과 TLS는 통신을 수행하기 전에 먼저 암호화를 수행하기 위한 준비를 수행하게 됩니다. 이러한 암호화를 수행하기 위해 각 사용자와 서버는 연결을 수행할 준비를 하고, 암호화를 수행할 알고리즘을 교환합니다.
  2. 사용자는 서버와 암호화 통신을 수행하기 위해, 4번에서와 같이 자신이 사용할 수 있는 암호알고리즘 리스트를 전송합니다. 그렇게 되면 서버에서 암호화에 사용할 알고리즘을 선택할 수 있게 됩니다.
  3. 암호화 통신은 중간자 공격이라는 공격을 수행할 수 있습니다. 이러한 공격으로부터 안전하기 위해서는 제 3자에게 인증받은 인증서를 기반으로 통신하게 됩니다. 그러므로 5~6번에서는 먼저, 정상적인 서버(인증받은 서버)인지 확인할 수 있는 인증서를 공유합니다.
  4. 이후 인증이 정상적으로 완료되었다면, 암호화 통신에 사용할 암호 알고리즘을 최종적으로 교환하게 됩니다.
  5. 위의 과정이 모두 정상적으로 완료되었다면, 이후부터는 암호화가 적용된 안전한 데이터 통신이 가능합니다.

학습 키워드

  • SSL과 TLS
  • 암호화 통신
  • 연결지향통신, 비연결지향통신, 3 Way HandShake