← 질문 목록
#381깊이 0

TLS 핸드셰이크 비용은 어떻게 줄이는가?

네트워크

이전에 맺은 연결 정보를 재사용하는 세션 재개 기법으로 줄인다. 최초 연결에서 합의한 암호화 키와 설정을 저장했다가 다음 연결에 다시 쓴다.

  1. 1. 클라이언트에서 서버로: ClientHello (저장한 세션 티켓을 보낸다)
  2. 2. 서버에서 클라이언트로: ServerHello (티켓을 검증하고 세션 재개를 승인한다)
  3. 3. 클라이언트에서 서버로: Finished (기존 키로 암호화한 데이터를 보낸다)

세션 재개는 세션 ID 방식과 세션 티켓 방식으로 나뉜다. 세션 ID 방식은 서버 메모리에 세션 상태를 저장한다. 클라이언트가 세션 ID를 보내면 서버가 저장소를 조회해 연결을 복구한다.

세션 티켓 방식은 서버가 세션 상태를 암호화하여 클라이언트에 준다. 클라이언트가 다시 연결할 때 이 티켓을 보낸다. 서버는 메모리를 쓰지 않고 티켓만 복호화하여 상태를 확인한다.

이 기법으로 2-RTT가 걸리던 TLS 핸드셰이크를 1-RTT로 줄인다. 대규모 서비스에서는 서버 메모리를 아끼는 세션 티켓 방식을 주로 쓴다. 다만 티켓 암호화 키가 탈취되면 이전 통신이 모두 노출되는 위험이 있다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

TLS 핸드셰이크 비용은 어떻게 줄이는가?