IT

보안 소켓 계층 SSL / 전송 계층 보안 TLS 개념 이해

유아마루 2020. 10. 24. 21:51
반응형

SSL(Secure Socket Layer)/TLS(Transport Layer Security)

SSL/TLS는 인터넷망에서 안전한 통신을 위해 개발된 보안 프로토콜로,

보안 서비스(기밀성, 무결성, 인증)를 제공합니다. (IETF에서 SSL 3.1을 TLS 1.0으로 표준화)

TLS 레코드 프로토콜, TLS 핸드 셰이크 프로토콜로 구성되며

세션 키 교환 후 데이터 암호화 통신으로 데이터 보안 통신을 처리합니다.

 

  SSL

보안 소켓 계층(SSL, Secure Socket Layer)이라고 하며 네트워크상에 존재하는 어떤 위협들로부터 데이터를 보호하는 프로토콜입니다.

SSL은 Netscape에서 WWW(World Wide Web)를 이용하여 안전한 통신을 보장하기 위해 개발하였으며, TCP/IP계층 상위에서 동작합니다.

SSL을 사용하여 클라이언트와 서버 간의 데이터를 암호화하거나 인증함으로써 중요 데이터를 보호하는 것입니다.

웹 브라우저에서 URL이 https://로 시작하는 경우 자물쇠 표시가 있을 텐데 이것이 SSL 통신이 암호화되어 데이터가 보호되고 있음을 나타내는 것입니다. 

< SSL 여부를 알 수 있는 웹 브라우저의 자물쇠 표시 >

  TLS

전송 계층 보안(Transport Layer Security)이라고 하며 SSL이 일반적으로 사용되면서 이를 표준화할 필요가 있었고 SSL 3.0을 기준으로 IETF(Internet Engineering Task Force)의 Transport Area에서 표준화(1996년)한 보안 프로토콜입니다.

- SSL 3.1이 TLS 1.0으로 표준화

 

 

  그렇다면 SSL/TLS 프로토콜의 구조와 목적은 무엇일까요?

TLS 핸드 셰이크
프로토콜

(TLS Handshake Protocol)
TLS 암호 규격
프로토콜

(TLS Change Clipher Spec Protocol)
TLS 경보
프로토콜
(TLS Alert Protocol)
Ftp Telnet HTTP
TLS 기록 프로토콜 (TLS Record Protocol)
TLP
IP

<TLS 프로토콜 스택>

 

- TLS Handshake Protocol

보안 인수 결정, 인증, 서술, 에러 조건 보고를 위한 세 가지 하위 프로토콜로 구성

서버-클라이언트 간 데이터 전송 전 인증할 수 있도록 사용할 암호 알고리즘을 결정하고 키 분배 작업을 수행

 

- TLS Record Protocol

상위계층 데이터 캡슐화를 위해 암호화 및 복호화, 검증, 압축 및 해제, 패킷의 분할 및 재결합 담당

TCP에 위치하며 데이터에 대한 기밀성과 무결성 인증의 보안 서비스를 제공

핸드 셰이크 과정 중 블록 암호 알고리즘이 결정되고 비밀키를 이용해 송수신되는 자료의 암호화 및 복호화를 수행

 

▶ TLS 프로토콜의 구현 목적

1. 효율성 (efficiency) : 세션 캐싱(chaching) 기능 제공

2. 확장성 (extensibility) : 구성 방식이 모듈화 되어 새로운 보안 알고리즘 추가 가능

3. 호환성 (interoperability) : 표준 인터페이스 제공으로 인한 쉬운 암호화 통신 구현 가능, 서로 다른 OS 버전 간 통신 가능

4. 보안서비스 (security) : 서버-클라이언트 교환 데이터에 기밀성, 무결성, 사용자 인증 제공

 

 

  SSL/TLS Handshake protocol 과정

<SSL/TLS Handshake 상호인증 세션 형성 절차>

 

- 세션키 교환(1~5)

서버에서 서버 인증서와 공개키를 클라이언트로 발송

클라이언트는 인증서를 검증 후 데이터 통신 시 암호화를 위해 암호화용 세션 키를 생성

생성된 세션키를 서버 공개키로 암호화하여 암호화된 세션 키를 서버로 전송

서버는 사설키를 이용하여 세션 키 복호화

 

- 데이터 암호화 교환(6~7)

세션 키를 이용해 전송할 데이터 암호화, 전송받은 암호 데이터 복호화

반응형