
SSL (Secure Socket Layer)
Transport layer에서 동작하는 security service이다.
TCP 프로토콜을 신뢰할만한 end-to-end service에 제공한다.
추후 TLS로 발전했다.
TLS (Transport Layer Security)
인터넷에서 데이터의 안전한 전송을 보장하기 위해 사용되는 암호화 프로토콜
SSL 3.0 이후의 후속작으로 SSL의 여러 보안 취약점을 수정하고 기능을 향상시킨 버전이다.
웹 통신의 표준으로 널리 사용되고 있다.
특징
TCP layer에서 작동한다.
추가적인 alert code를 가진다.
application data, handshake message, alert, change cipher spec 총 4개의 record를 가진다.

- TLS Session : TLS handshake protocol로 인해 만들어지는 세션이다. 암호화 파라미터를 정의할 수 있음.
- HMAC 사용 : message 무결성 검사
- 대칭키 암호화 (AES) 사용 : TLS Handshake Protocol로 인해 대칭키 암호화 (AES)를 사용하여 기밀성을 검사할 수 있다.
SSL(TLS) Record Protocol 동작

Application Data를 여러 개의 Fragment로 분할한 뒤, 압축(compress)한다.
압축한 각 Fragment에 HMAC을 추가하고 암호화한 뒤, SSL header를 추가한다.
TLS Change Cipher Spec Protocol
cipher suite를 업데이트하라는 내용의 단일 메시지를 전송하는 프로토콜이다.
TLS Handshake Protocol
- 핸드쉐이크 (Handshake):
- 클라이언트와 서버 간의 SSL/TLS 세션을 설정하기 위해 핸드쉐이크 과정을 수행합니다.
- 클라이언트가 서버에 연결 요청을 보내면, 서버는 인증서를 클라이언트에게 전송하여 인증합니다.
- 클라이언트는 인증서를 검증하고, 세션 키를 생성하여 서버에 전송합니다.
- 세션 키 생성:
- 클라이언트와 서버는 대칭 암호화에 사용할 세션 키를 생성합니다. 이 세션 키는 이후의 데이터 전송에 사용됩니다.
- 암호화된 통신 시작:
- 클라이언트와 서버는 생성된 세션 키를 사용하여 데이터를 암호화하여 안전하게 통신을 시작합니다.
동작 과정 상세 분석

1. Client Hello
- 클라이언트(Alice)가 서버(Bob)에 연결을 요청
- TLS 버전, 클라이언트 Random Number, Cipher suites (암호화 알고리즘 목록)
- Cipher suites -> Key exchange method (RSA, Diffie-Hellman, ... / 공개키 알고리즘), HMAC algorithm, cipher type(block, stream / 대칭키 알고리즘)
- 무결성, 기밀성이 지켜짐.
2. Server Hello, Server key Exchange, Server Hello Done
- Cipher Suites 중에서 알고리즘을 선정 및 전달.
- 서버의 공개 키 전달 및 완료 메시지 전달.
- 서버에서 Random Number를 생성하여 전달.
3. Client Key Exchange, Change Cipher Spec
- Client Key Exchange : Server의 Public Key로 암호화된 Session Key를 생성 후 서버에 전달.
- Alice의 Random number + Bob의 Random Number + Pre-master Secret 값 => 6개의 Session Key 생성
- 각각 양방향 통신을 위한 (AES256 (대칭키), IV, MAC)이 두 개씩 생성 된다. (Session Key)
- Change Cipher Spec : 이후 보내는 모든 메시지를 암호화하여 전송하겠다고 알림.
4. Change Cipher Spec
Server도 Client에게 자신의 암호화 방식이 변경되었음을 알림.
TLS 1.3 version
향상된 Forward Secrecy -> Diffie-Hellman 사용
Key share extension 사용

'Computer Science > 정보 보호와 시스템 보안' 카테고리의 다른 글
Chapter 9 - Attack & Defense (Network Security 1/3 - ARP level) (1) | 2024.10.24 |
---|---|
Chapter 7 - Security Protocol (Certificate Authority) (0) | 2024.10.24 |
Chapter 5 - Cryptography (Applied Cryptography) (0) | 2024.10.24 |
Chapter 4 - Cryptography (Public key algorithm) (3) | 2024.10.24 |
Chapter 3 - Cryptography (Hash Function) (0) | 2024.10.24 |