TLS 1.3의 0-RTT(Zero Round-Trip Time) 모드는 초기 연결 설정 성능을 크게 향상시킵니다. 하지만 이 모드가 도입하는 보안상의 주요 위험 요소는 무엇이며, 이를 완화하기 위한 기술적 접근 방식에는 어떤 것들이 있을까요?
힌트 · 0-RTT는 초기 데이터 전송 시 이전 세션 키를 재사용하여 재전송 공격에 취약할 수 있습니다. 이를 막기 위해 서버는 idempotent 요청만 허용하거나 Anti-Replay 메커니즘을 구현해야 합니다.
모범답안
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 / 암호화 면접 질문
- HSTS(HTTP Strict Transport Security)가 무엇이며, 웹 애플리케이션 보안에 어떻게 기여하는지 설명해 주세요. HSTS를 적용했을 때의 장점과 고려사항은 무엇인가요?
- TLS 1.2와 TLS 1.3 버전의 주요 차이점을 설명하고, TLS 1.3이 보안 및 성능 측면에서 어떤 개선을 이루었는지 구체적으로 설명해 주세요.
- SNI(Server Name Indication)가 HTTPS에서 어떤 문제를 해결하기 위해 도입되었으며, 어떻게 동작하는지 설명해 주세요.
- Perfect Forward Secrecy(PFS)가 HTTPS 통신에서 제공하는 핵심 보안 이점은 무엇이며, 이를 구현하기 위해 TLS 핸드셰이크 과정에서 어떤 키 교환 알고리즘(Key Exchange Algorithm)이 사용되어야 하는지 구체적으로 설명해주세요.
- 클라이언트 측에서 서버 인증서의 신뢰성을 강화하기 위한 기법으로 Certificate Pinning이 사용되곤 했습니다. HPKP(HTTP Public Key Pinning)가 왜 권장되지 않고 현재는 거의 사용되지 않는지 설명하고, 이를 대체하거나 보완하는 현대적인 접근 방식(예: Certificate Transparency)은 무엇인지 비교 설명해주세요.
- MSA(Microservice Architecture) 환경에서 서비스 간 인증(Service-to-Service Authentication) 및 권한 부여를 강화하기 위해 Mutual TLS(mTLS)를 도입하려 합니다. mTLS의 동작 방식과 기존 단방향 TLS 대비 이점을 설명하고, 실제 MSA 환경에서 mTLS를 구축할 때 고려해야 할 기술적 과제와 해결 방안은 무엇이 있을까요?