패스잇
보안 · 심화

TLS 1.3의 0-RTT(Zero Round-Trip Time) 모드는 초기 연결 설정 성능을 크게 향상시킵니다. 하지만 이 모드가 도입하는 보안상의 주요 위험 요소는 무엇이며, 이를 완화하기 위한 기술적 접근 방식에는 어떤 것들이 있을까요?

힌트 · 0-RTT는 초기 데이터 전송 시 이전 세션 키를 재사용하여 재전송 공격에 취약할 수 있습니다. 이를 막기 위해 서버는 idempotent 요청만 허용하거나 Anti-Replay 메커니즘을 구현해야 합니다.

재생 공격replay attackEarly Dataanti-replayAEAD

모범답안

TLS 1.3의 0-RTT 모드는 클라이언트가 이전 세션 정보를 활용해 첫 번째 요청부터 데이터를 바로 보내므로 연결 설정 시간을 단축합니다. 하지만 이 과정에서 가장 큰 보안 위험은 '재생 공격(Replay Attack)'입니다. 공격자가 이전 세션에서 가로챈 Early Data 패킷을 그대로 다시 보내 서버가 이를 유효한 요청으로 처리하게 만들 수 있습니다.

이 위험을 완화하기 위해 서버는 몇 가지 기술적 접근 방식을 사용합니다. 첫째, 서버는 0-RTT로 받은 요청이 '멱등성(Idempotent)'을 가지는지 확인합니다. 즉, 동일한 요청을 여러 번 수행해도 결과가 동일해야 합니다. 예를 들어, 상품 구매와 같은 멱등성이 없는 요청은 0-RTT로 허용하지 않을 수 있습니다. 둘째, 서버는 '재생 방지(Anti-Replay)' 메커니즘을 구현합니다. 이는 각 0-RTT 데이터에 고유한 식별자나 타임스탬프를 부여하고, 서버는 이전에 받은 식별자나 타임스탬프를 기록하여 중복된 요청을 거부하는 방식입니다. AEAD(Authenticated Encryption with Associated Data) 암호화 방식도 재생 공격 방지에 기여합니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 HTTPS / TLS / 암호화 면접 질문

← HTTPS / TLS / 암호화 면접 질문 전체 보기