TLS (Transport Layer Security) — 컴퓨터 네트워크에 통신 보안을 제공하기 위해 설계된 암호 규약. 도청·간섭·위조를 방지하며, SSL 3.0을 기초로 IETF가 만든 프로토콜로 현재 표준은 TLS 1.3 (SSL 3.0이 TLS 1.0). OTA에서는 OTA Server ↔ MODEM 구간의 기밀성·무결성·인증을 책임지는 핵심 계층이다.

프로토콜 스택 위치

HTTP 클라이언트 (Web 브라우저)SMTP 클라이언트POP3 클라이언트
HTTPSSMTPSPOP3S
SSL / TLS
TCP
IP

TLS 3단계 기본 절차

  1. [Handshake Protocol] 지원 가능한 알고리즘 서로 교환.
  2. [Handshake Protocol] 키 교환, 인증.
  3. [Record Protocol] 대칭키 암호로 암호화하고 메시지 인증.

Handshake Protocol — 4 Phases

협상된 cipher suite와 암호학적 secret들의 생성 절차. Client와 Server는 4단계를 거쳐 공유 키를 설정한다.

Phase I — Establishing Security Capabilities

Client Hello (client → server):

  • 사용 가능한 버전 번호, 현재 시각, client random
  • Session ID (최초 연결 시 빈 값, 재사용 시 기존 ID)
  • 사용 가능한 Cipher Suite 목록
  • 사용 가능한 압축 방법 목록

Server Hello (server → client):

  • 사용하는 버전 번호, 현재 시각, Server random
  • Session ID
  • 결정된 Cipher Suite, 결정된 압축 방법

Phase I 이후 Client·Server가 공유하는 정보:

  • SSL/TLS 버전
  • 키 교환·메시지 인증·암호화 알고리즘
  • 압축 방법
  • 키 생성용 2개의 난수 (client random, server random)

Phase II — Server Authentication and Key Exchange

  • Server Certificate (server → client) — 서버 인증서 목록 전송. 클라이언트는 인증서로 서버 신뢰성 확인.
  • Server Key Exchange (server → client) — 키 교환에 필요한 정보 제공 (Cipher Suite에 따라 다름).
  • Certificate Request (server → client) — 서버가 클라이언트 인증을 요구할 때 인증서 타입·CA 이름 목록 전송 (선택적).
  • Server Hello Done — Server Hello 종료 신호.

Phase II의 4가지 케이스:

케이스CertificateServerKeyExchange 내용
a. RSARSA Enc-cert없음
b. Anonymous DH없음
c. Ephemeral DHRSA or DSS Sig-cert
d. Fixed DHDH cert없음

Phase II 이후: 서버가 클라이언트에 인증됨. 필요 시 클라이언트가 서버 공개키 획득.

Phase III — Client Authentication and Key Exchange

  • Certificate (client → server) — 서버가 요청한 경우에만 클라이언트 인증서 전송.
  • Client Key Exchange (client → server)Pre-master secret 전송. Pre-master secret은 대칭키 생성 기반이 되므로 절대 노출 금지 → Client random + Pre-master secret을 조합하고, 서버 인증서의 공개키로 암호화하여 전송. 서버는 자기 개인키로 복호화.
  • 양측이 동일한 master secret 생성 (키 생성 알고리즘에 따라).
  • Certificate Verify (client → server) — Certificate Request를 받은 경우, 인증서 개인키 소유를 증명하기 위해 master secret 등을 이용한 서명 전송.

Phase III의 4가지 케이스:

케이스CertificateClientKeyExchange 내용
a. RSA없음서버 공개키로 암호화한 Pre-master secret
b. Anonymous DH없음ClientKeyExchange
c. Ephemeral DHRSA or DSS CertificateClientKeyExchange
d. Fixed DHDH Certificate없음

Phase IV — Finalizing the Handshake Protocol

  • Change Cipher Spec. (client → server) — 협상된 security parameter 적용·변경 통보.
  • Finished (client → server) — 클라이언트 Handshake 종료 선언.
  • Change Cipher Spec. (server → client) — 서버가 parameter 변경 통보.
  • Finished (server → client) — 서버 Handshake 종료 선언.

Finished 메시지는 MD5 Hash + SHA Hash를 포함한다.

Phase IV 이후: Client·Server가 데이터 교환 준비 완료.

Handshake의 4가지 목적

  1. 클라이언트가 서버의 공개키 확인 및 서버 인증.
  2. 서버가 클라이언트의 공개키 확인 및 클라이언트 인증.
  3. Client·Server가 암호 통신용 공유 키 획득 (from master secret).
  4. Client·Server가 메시지 인증 코드용 공유 키 획득 (from master secret).

Record Protocol

Handshake 이후 실제 데이터 전송 단계. 협상된 대칭키로 암호화하고 MAC으로 메시지 인증한다.

Key Exchange — Handshake의 핵심

Diffie-Hellman (DH) 동의 프로토콜

공개 파라미터 하에서:

  • Alice: 생성 후 전송
  • Bob: 생성 후 전송
  • 공유 키:

문제점 — Man-in-the-Middle (MITM) 공격:

인증이 없는 순수 DH는 중간자 공격에 취약.

  • Alice → Eve → Bob 경로에서 Eve가 중간 개입
  • , (Eve가 Alice에게 보냄), (Bob이 Eve에게 보냄)
  • — Alice-Eve 키
  • — Eve-Bob 키
  • Alice·Bob은 Eve의 존재를 모른 채 Eve가 중계하는 모든 메시지를 교환

STS (Station-To-Station) 프로토콜

DH 교환에 서명 기반 상호 인증을 결합하여 MITM을 차단.

  • Alice → Bob:
  • Bob: 생성
  • Bob → Alice: , ,
  • Alice: 생성 + Bob 서명 검증
  • Alice → Bob: ,
  • Bob: Alice 서명 검증

TLS의 Ephemeral DH 케이스가 STS의 개념적 구현에 해당한다.

키 교환 프로토콜의 안전성 속성

속성정의
Forward Secrecy (전방향 안전성)사용자의 장기 비밀키가 노출되어도 이전에 성공적으로 확립된 세션키의 정보는 획득 불가. 사례: 들이 저장된 상태에서 가 노출되면 이전 세션들이 모두 복호화 — Forward Secrecy 결여
Known-Key Secrecy (기지-키 안전성)이전 세션키가 노출되어도 향후·다른 세션키의 기밀성에는 영향 없음. 형태로 이전 세션키에서 도출하는 방식은 위배
Session State Reveal 안전성세션키 생성에 사용된 난수가 노출되어도 세션키 획득 불가. 장기 비밀키보다 일회성 난수가 더 쉽게 노출될 수 있음
Key Compromise Impersonation 안전성Alice의 비밀키를 획득한 Eve가 Bob으로 가장하는 공격을 차단
Unknown Key Share 안전성Alice가 Bob과 키 교환 중이라 인식하면 Bob도 Alice와 통신 중임을 인식해야 함 (파트너 혼돈 공격 방지)

OTA에서의 역할

OTA 통신 스택에서 OTA Server ↔ MODEM 구간의 보안 계층으로 사용된다. OTA 보안 5요소 중:

  • 기밀성: Record Protocol의 대칭키 암호화
  • 무결성: Record Protocol의 MAC
  • 인증: Handshake Phase II·III의 인증서 기반 상호 인증
  • 최신성: client/server random으로 replay 방지

같이 보기