정보보호론-(24) SSL/TLS
SSL/TLS 개발 및 표준화
- 1994년 Netscape사에서 전자 상거래 서비스를 안전하게 보호하기 위해 SSL(Secure Socket Layer)를 개발
- 1999년 TLS(Transport Layer Security)로 표준화됨
SSL/TLS란?
- 인터넷에서의 정보를 암호화해서 송수신하는 프로토콜
SSL/TLS의 보안 서비스 기능
- 클라이언트에 의한 서버 인증 : 인증서(Certificate)를 통한 서버 인증성 확보
- 암호화된 세션 서비스 : 기밀성
- 메시지 인증 서비스 : HMAC - 무결성, 인증성
Handshake Protocol
- 클라이언트와 서버에 대한 인증
- 메시지 인증 알고리즘을 무엇으로 할지 결정
- 암호 알고리즘을 무엇으로 할지 결정
- 키 교환 알고리즘을 무엇으로 할지 결정
Change Cipher Spec Protocol
- handshake 과정을 통해 협상된 암호 사양을 새로운 값으로 변경(=update)
Alert Protocol
- 보안 통신 과정에서 발생하는 오류 또는 잠재적 오류를 상대방에게 통보
SSL Record Protocol
- 데이터를 동일한 크기의 블록으로 단편화(Fragmentation)
- 각 블록을 압축(Compression)
- 각 블록마다 MAC(Message Authentication Code) 생성
- 각 블록+MAC을 암호화(Encryption)
- SSL Record Protocol 헤더 추가
- 키 교환 알고리즘 : RSA, DH etc 중 무엇으로 할지 결정
* RSA 키 교환? 클라이언트가 대칭키를 생성한 후 서버의 공개키로 대칭키를 암호화하여 서버에게 전송.
- 메시지 인증 알고리즘(MAC) : MD5, SHA-1, SHA-2 etc 중 무엇으로 할지 결정
- 암호화 알고리즘 : DES, 3DES, AES etc 중 무엇으로 할지 결정
키 교환 알고리즘으로 RSA가 채택된 경우 클라이언트는 서버에게 ClientKeyExchange에 서버의 공개키로 암호화한 대칭키를 전달한다.
SSL 세션과 연결
- 위 과정이 끝나면 SSL 세션 설정을 완료한 것
- 클라이언트와 서버는 세션을 유지한 채 TCP 연결을 종료하고 재설정을 반복하며 웹 페이지를 접근할 수 있음
- 연결 단위로 메시지 인증 및 암호화 키만 새롭게 설정함
TLS Record Protocol 수행 단계
(1) 데이터를 일정한 크기 블록으로 단편화(Fragmentation)
(2) 단편화된 블록들을 압축(Compression) // TLS 1.3에서 삭제됨
(3) 각 블록에 MAC을 추가
(4) 각 블록+MAC을 암호화(Encryption)
(5) 암호화된 데이터 블록과 MAC의 적절한 위치에 TLS Record Protocol의 헤더를 추가함
Reference
1.
'정보보호 > 정보보호론(박승철)' 카테고리의 다른 글
정보보호론-(26) SET, WLAN 보안 (0) | 2019.06.07 |
---|---|
정보보호론-(25) 이메일 보안 프로토콜(PGP, S/MIME) (0) | 2019.06.07 |
정보보호론-(23) IPsec (0) | 2019.06.06 |
정보보호론-(22) 침입 탐지 시스템(IDS), 침입 방지 시스템(IPS) (0) | 2019.06.06 |
정보보호론-(21) 방화벽 - 2 (0) | 2019.06.06 |