본문 바로가기

정보보호/정보보호론(박승철)

정보보호론-(24) SSL/TLS

정보보호론-(24) SSL/TLS

SSL/TLS 개발 및 표준화
- 1994년 Netscape사에서 전자 상거래 서비스를 안전하게 보호하기 위해 SSL(Secure Socket Layer)를 개발
- 1999년 TLS(Transport Layer Security)로 표준화됨

SSL/TLS란?
인터넷에서의 정보를 암호화해서 송수신하는 프로토콜

SSL/TLS의 보안 서비스 기능
- 클라이언트에 의한 서버 인증 : 인증서(Certificate)를 통한 서버 인증성 확보
- 암호화된 세션 서비스 : 기밀성
- 메시지 인증 서비스 : HMAC - 무결성, 인증성

<그림 1: SSL/TLS 프로토콜 구조>

Handshake Protocol
- 클라이언트와 서버에 대한 인증
- 메시지 인증 알고리즘을 무엇으로 할지 결정
- 암호 알고리즘을 무엇으로 할지 결정
- 키 교환 알고리즘을 무엇으로 할지 결정

Change Cipher Spec Protocol
- handshake 과정을 통해 협상된 암호 사양을 새로운 값으로 변경(=update)

Alert Protocol
- 보안 통신 과정에서 발생하는 오류 또는 잠재적 오류를 상대방에게 통보

SSL Record Protocol
- 데이터를 동일한 크기의 블록으로 단편화(Fragmentation)
- 각 블록을 압축(Compression)
- 각 블록마다 MAC(Message Authentication Code) 생성
- 각 블록+MAC을 암호화(Encryption)
- SSL Record Protocol 헤더 추가

<그림 2: SSL/TLS 프로토콜 동작 절차>


- 키 교환 알고리즘 : RSA, DH etc 중 무엇으로 할지 결정
* RSA 키 교환? 클라이언트가 대칭키를 생성한 후 서버의 공개키로 대칭키를 암호화하여 서버에게 전송.
- 메시지 인증 알고리즘(MAC) : MD5, SHA-1, SHA-2 etc 중 무엇으로 할지 결정
- 암호화 알고리즘 : DES, 3DES, AES etc 중 무엇으로 할지 결정

키 교환 알고리즘으로 RSA가 채택된 경우 클라이언트는 서버에게 ClientKeyExchange에 서버의 공개키로 암호화한 대칭키를 전달한다.

SSL 세션과 연결
- 위 과정이 끝나면 SSL 세션 설정을 완료한 것
- 클라이언트와 서버는 세션을 유지한 채 TCP 연결을 종료하고 재설정을 반복하며 웹 페이지를 접근할 수 있음
- 연결 단위로 메시지 인증 및 암호화 키만 새롭게 설정함

<그림 3: TLS Record 구조>

TLS Record Protocol 수행 단계
(1) 데이터를 일정한 크기 블록으로 단편화(Fragmentation)
(2) 단편화된 블록들을 압축(Compression) // TLS 1.3에서 삭제됨
(3) 각 블록에 MAC을 추가
(4) 각 블록+MAC을 암호화(Encryption)
(5) 암호화된 데이터 블록과 MAC의 적절한 위치에 TLS Record Protocol의 헤더를 추가

Reference
1.

제24강+SSL_TLS.pdf
0.48MB

2. https://www.youtube.com/watch?v=iXP3sd2s5fg