전송 계층 보안

전송 계층 보안(, TLS, 과거 명칭: 보안 소켓 레이어/Secure Sockets Layer, SSL)는 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약이다. 그리고 '트랜스포트 레이어 보안'이라는 이름은 '보안 소켓 레이어'가 표준화 되면서 바뀐 이름이다. 이 규약은 인터넷 같이 TCP/IP 네트워크를 사용하는 통신에 적용되며, 통신 과정에서 전송계층 종단간 보안과 데이터 무결성을 확보해준다. 이 규약은 웹 브라우징, 전자 메일, 인스턴트 메신저, voice-over-IP (VoIP) 같은 응용 부분에 적용되고 있다. 국제 인터넷 표준화 기구(IETF)에 의해 현재 구식(deprecate)으로 간주되어 있다. 최종 갱신은 RFC 5246이고, 최종 갱신 버전은 넷스케이프에서 만든 SSL 표준을 바탕으로 했다.

설명 
TLS는 클라이언트/서버 응용 프로그램이 네트워크로 통신을 하는 과정에서 도청, 간섭, 위조를 방지하기 위해서 설계되었다. 그리고 암호화를 해서 최종단의 인증, 통신 기밀성을 유지시켜 준다.

TLS의 3단계 기본 절차:
 지원 가능한 알고리즘 서로 교환
 키 교환, 인증
 대칭키 암호로 암호화하고 메시지 인증

우선 첫 단계에서 서버와 클라이언트는 암호 스위트를 교환한다. 이 단계에서 키 교환과 인증에 사용될 암호화 방법, 메시지 인증 코드(MAC)가 결정된다. 키 교환과 인증 알고리즘은 공개키 방법을 사용하거나 미리 공유된 키(TLS-PSK)를 사용할 수도 있다. 메시지 인증 코드들은 HMAC 해시 함수로 만든다. SSL에서는 비표준 무작위 함수를 사용한다.

일반적인 알고리즘:
 키교환: RSA, Diffie-Hellman, ECDH, SRP, PSK
 인증: RSA, DSA, ECDSA
 대칭키 암호: RC4, 트리플 DES, AES, IDEA, DES, 아리아, ChaCha20, Camellia. 옛날 버전 SSL에서는 RC2가 쓰임.
 해시 함수: TLS에서는 HMAC-MD5 또는 HMAC-SHA. SSL에서는 MD5와 SHA. 옛날 버전 SSL에서는 MD2와 MD4가 쓰임

개발 역사 

SSL 규약은 처음에 넷스케이프가 만들었다. 1.0 버전은 공개된 적이 없고, 2.0 버전이 1995년 2월에 이르러서야 릴리스가 된다. 그러나 이 버전은 많은 보안 결함 때문에 3.0 버전으로 곧바로 이어진다. 3.0은 1996년 릴리스 된다. 결국 3.0 버전은 TLS 버전 1.0의 기초가 되고, IETF에서 1999년 1월에 RFC 2246 표준 규약으로 정의하게 된다. 마지막 갱신은 RFC 5246 이었다.

보안부분 약점  
패킷이 암호화되어 송수신 되므로 정보탈취 부분에서는 강하다. 기밀성이 우선이므로 스니핑 공격(sniffing attack)에서 뛰어난 보안성을 보인다. 다만 암호화된 패킷이 클라이언트 PC 또는 서버로 전송되기 때문에 송수신자간 데이터 교환이 일어나는 일에 대해서는 무력해진다. 개인정보 유출, 기밀정보 유출, DDoS, APT, 악성코드 공격이 발생할 경우 무력화된다.

같이 보기 
 TLS 구현의 비교

각주

외부 링크 

 사양
 RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2
 IETF (Internet Engineering Task Force) TLS Workgroup

 
인터넷 표준
인터넷 프로토콜
암호 프로토콜
전자 상거래
인터넷 보안