TLS의 개념 및 역할
- TLS(Transport Layer Security)는 데이터 암호화, 인증, 무결성을 제공하여 안전한 통신 환경을 조성.
- 초기 SSL 프로토콜에서 발전된 것으로, TCP 위에서 작동하여 HTTP, 이메일 등 애플리케이션의 보안을 강화.
TLS의 작동 원리
- 핸드셰이크 과정: 클라이언트와 서버가 암호화 방식과 키를 협상하여 안전한 터널을 생성.
- 암호화: 대칭키 암호화를 통해 효율적이고 안전한 데이터 전송.
- 인증: 신뢰 사슬을 기반으로 클라이언트와 서버의 신원을 확인.
최적화 기법
- 세션 재개: TLS 핸드셰이크 과정에서 발생하는 레이턴시를 줄이기 위해 세션 캐시나 세션 티켓을 활용.
- TLS 레코드 크기 조정: 레코드 크기를 TCP MSS(Maximum Segment Size)에 맞춰 설정해 효율적 데이터 전송.
- 조기 종료: CDN(콘텐츠 전송 네트워크)나 프록시 서버를 활용해 클라이언트와 가까운 서버에서 세션을 종료해 레이턴시 최소화.
- 압축 비활성화: TLS 레벨에서의 압축은 보안 문제(CRIME 공격) 및 이중 압축 문제로 인해 비활성화 권장.
TLS 관련 최신 기술
- ALPN (Application-Layer Protocol Negotiation): 핸드셰이크 과정에서 애플리케이션 프로토콜 협상을 포함시켜 추가 레이턴시를 줄임.
- SNI(Server Name Indication): 하나의 서버에서 여러 도메인을 운영할 때 필요한 확장.
실무에서의 TLS 활용
- 최신 OpenSSL 및 TLS 버전 사용으로 성능 최적화.
- 인증서 길이 최소화 및 중간 인증서 포함으로 불필요한 레이턴시 방지.
- TLS를 지원하지 않는 구형 클라이언트를 고려해 세션 캐시와 세션 티켓을 병행 사용하는 것이 권장됨.
참고 자료
[1] 일리아 그리고릭, "구글 엔지니어에게 듣는 네트워킹과 웹 성능 최적화 기법", 정해권, 오현주 공역, 인사이트(insight)
'Multimedia Networking' 카테고리의 다른 글
High Performance Browser Networking: Ch 05 무선네트워크소개 (0) | 2025.03.05 |
---|---|
High Performance Browser Networking: Ch 03 UDP의구성요소 (0) | 2025.02.05 |
High Performance Browser Networking: Ch 02 TCP의구성요소 (1) | 2025.01.29 |
High Performance Browser Networking: Ch 01 Latency와 Bandwidth (0) | 2025.01.22 |
클라우드 게임 스트리밍: 초저지연 스트리밍 (Cloud Game Streaming: Ultra Low Latency Streaming) (0) | 2020.06.07 |