SSL/TLS 보안 통신과 성능·신뢰성 설계

SSL/TLS의 암호화·인증·무결성 기능부터 가속기, 정적 캐싱, PKI 기반 부인방지와 운영 고려사항을 정리한다.

2026-08-14 · 최초 발행 2025-06-02

HTTPS 통신을 지탱하는 SSL/TLS 계층

SSL(Secure Sockets Layer)은 인터넷 데이터 통신을 보호하는 암호화 프로토콜이다. 웹 브라우저와 서버의 통신에 주로 쓰이며, TCP/IP 스택에서는 응용 계층과 전송 계층 사이에 놓인다. 현재는 TLS(Transport Layer Security)로 발전했지만, 현장에서는 여전히 SSL이라는 이름이 널리 사용된다.

응용 계층: HTTP, FTP, SMTPSSL/TLS 계층전송 계층: TCP네트워크 계층: IP데이터 링크 계층물리 계층

SSL/TLS가 담당하는 일은 세 갈래로 정리할 수 있다. 연결을 만들 때는 공개키를 사용하는 비대칭키 암호화로 보안 채널을 수립하고, 이후 데이터 전송에는 대칭키 암호화를 사용해 효율을 확보한다. 디지털 인증서와 CA(Certificate Authority) 검증은 서버 또는 클라이언트의 신원을 확인하는 기반이다. 전송 중 데이터가 바뀌었는지는 MAC(Message Authentication Code)으로 확인한다.

세션 키를 합의하는 핸드셰이크

SSL 연결은 핸드셰이크를 거쳐 성립한다. 클라이언트는 지원하는 암호화 알고리즘과 임의의 숫자를 전달하고, 서버는 선택한 암호화 방식과 임의의 숫자로 응답한다. 이어 서버가 인증서를 보내면 클라이언트는 이를 검증하고, 세션 키를 생성해 서버 공개키로 암호화하여 전달한다. 양측이 Finished 메시지를 교환한 뒤 동일한 세션 키로 대칭 암호화 통신을 시작한다.

ServerClientServerClientClient Hello (지원 암호화 방식, 임의 숫자)Server Hello (선택된 암호화 방식, 임의 숫자)인증서 전송Server Hello Done인증서 검증암호화된 세션 키 전송Finished 메시지Finished 메시지

암호화 부담을 분리하는 SSL 가속기

암호화와 복호화는 CPU 자원을 많이 쓰는 연산이다. 웹 서버가 이 작업을 모두 맡으면 부하가 늘고, 대규모 트래픽에서는 병목이 생길 수 있다. SSL 가속기는 이 부담을 분리하는 방식이다.

전용 암호화 칩(ASIC)을 사용하는 하드웨어 가속기, 최적화된 알고리즘으로 CPU 사용 효율을 높이는 소프트웨어 가속기, 로드 밸런서나 프록시 서버에 가속 기능을 넣는 네트워크 장비 기반 방식이 있다. 이를 통해 웹 서버 CPU 부하를 낮추고 동시 SSL 연결 처리량을 높일 수 있으며, 인증서 관리도 중앙집중화할 수 있다.

HTTPS 요청복호화된 HTTP 요청HTTP 응답암호화된 HTTPS 응답클라이언트SSL 가속기 서버

복호화 지점에서 정적 콘텐츠를 재사용하기

SSL/TLS 트래픽은 암호화되어 있어 전통적으로 캐싱하기 어렵다. 사용자마다 다른 세션 키를 사용하므로 콘텐츠를 재사용하기도 쉽지 않고, 같은 리소스에 대해서도 암호화와 복호화가 반복된다.

SSL 종단 프록시에서 연결을 종료한 뒤 복호화된 콘텐츠를 캐싱하거나, CDN 엣지 서버에서 SSL 처리와 캐싱을 함께 수행할 수 있다. 스마트 로드 밸런서는 복호화 뒤 캐시를 확인해 서버 요청 전에 응답할 수도 있다. 이 방식은 반복적인 SSL 핸드셰이크와 암호화 작업을 줄이고, 서버 부하·응답 시간·대역폭 사용량을 낮추는 데 쓰인다.

전송 사실을 부인하지 못하게 만드는 장치

부인방지(Non-repudiation)는 통신 참여자가 이후에 통신 사실이나 내용을 부인하지 못하도록 하는 보안 서비스다. 전자상거래, 금융 거래, 법적 계약처럼 거래의 신뢰가 필요한 영역에서 중요하다.

SSL/TLS 환경에서는 개인키로 메시지에 서명하는 디지털 서명, 신뢰할 수 있는 제3자를 통한 타임스탬프, 양방향 SSL의 클라이언트 인증서, SSL 트랜잭션 감사 로그로 이를 구현할 수 있다. PKI(Public Key Infrastructure)는 CA의 공개키 관리와 인증서 발급, CRL을 이용한 인증서 유효성 검증, OCSP(Online Certificate Status Protocol)를 통한 실시간 인증서 상태 확인을 뒷받침한다.

1. 서명 요청2. 디지털 인증서 발급3. 서명된 문서 전송4. 인증서 검증 요청5. 검증 결과사용자인증기관상대방

프로토콜 선택만으로 끝나지 않는 운영 조건

성능 측면에서는 세션 재사용(Session Resumption)을 활성화하고, 보안과 성능의 균형을 고려해 암호화 알고리즘을 선택한다. OCSP Stapling도 인증서 검증을 최적화하는 방법이다.

보안을 강화하려면 SSLv3, RC4 등 취약한 프로토콜과 알고리즘을 비활성화하고, 2048비트 이상 RSA 키와 Perfect Forward Secrecy(PFS)를 지원하는 암호화 스위트를 우선 적용한다. 인증서 만료 모니터링, 중앙집중식 인증서 관리, 갱신 절차 자동화는 운영 부담을 줄이는 조건이다.

금융권에서는 대용량 트랜잭션을 위해 하드웨어 SSL 가속기를 도입하고, 이중화된 SSL 종단 처리와 클라이언트 인증서 기반 상호 인증을 적용할 수 있다. 모든 트랜잭션에 디지털 서명과 타임스탬프를 더하는 방식도 사용된다.

전자상거래 플랫폼은 CDN 기반 정적 콘텐츠 SSL 가속·캐싱, 결제 게이트웨이용 전용 SSL 가속기, 주문 정보의 디지털 서명, 개인정보 보호를 위한 엔드투엔드 암호화를 조합할 수 있다. 정부·공공기관에서는 행정 전자서명을 위한 PKI 기반 부인방지 시스템, 대민 서비스의 SSL 가속기, SAN/와일드카드 인증서, 민감 정보 접근을 위한 클라이언트 인증서 기반 인증이 활용된다.

TLS 1.3과 QUIC 이후의 변화

TLS 1.3은 핸드셰이크를 단순화해 1-RTT로 연결 설정 시간을 줄이고, 최신 암호화 알고리즘만 지원한다. 재방문 시에는 0-RTT 모드로 즉시 데이터를 전송할 수 있다.

QUIC은 UDP 기반 프로토콜에 TLS 1.3을 내장하며, 연결 설정 시간 단축과 혼잡 제어 개선을 목표로 한다. HTTP/3의 기반 기술이기도 하다.

양자 컴퓨팅의 발전에 대비해 격자 기반, 해시 기반, 코드 기반, 다변수 다항식 기반 암호화 같은 양자 내성 암호화 알고리즘도 개발되고 있다. 기존 알고리즘과 병행하는 하이브리드 접근 방식도 함께 고려된다.

SSL/TLS보안 통신디지털 인증서PKI암호화