패스잇
보안 · 중급

Stateless한 JWT의 특성에도 불구하고, 서버 측에서 특정 JWT를 강제로 무효화(Revocation)해야 하는 상황이 발생할 수 있습니다. 이러한 상황에서 JWT를 무효화할 수 있는 전략들을 설명해 주세요.

힌트 · 블랙리스트(Revocation List) 사용, 짧은 만료 시간 설정, Refresh Token 관리, 또는 세션 기반 인증과의 혼합 전략 등을 고려할 수 있습니다.

블랙리스트Refresh Token RotationShort TTLACR ClaimOCSP/CRL

모범답안

Stateless JWT의 장점에도 불구하고, 보안상의 이유로 특정 토큰을 강제로 무효화해야 하는 경우가 있습니다. 이를 위한 몇 가지 전략이 있습니다.

가장 일반적인 방법은 **블랙리스트(Revocation List)**를 사용하는 것입니다. 서버는 무효화된 JWT의 식별자(예: jti 클레임)를 저장해두고, 요청 시 해당 토큰이 블랙리스트에 있는지 확인합니다.

또 다른 전략은 **짧은 만료 시간(Short TTL)**을 설정하는 것입니다. 만료 시간이 짧으면 무효화해야 할 토큰의 유효 기간이 자연스럽게 줄어들어 관리 부담이 감소합니다.

Refresh Token 관리도 중요한 역할을 합니다. Refresh Token을 사용하여 새로운 Access Token을 발급받을 때, 서버는 Refresh Token 자체를 무효화하거나 Rotation을 통해 이전 Refresh Token의 유효성을 제거할 수 있습니다.

때로는 세션 기반 인증과의 혼합 전략을 사용하기도 합니다. 중요한 작업 시에는 서버 측 세션을 확인하여 추가적인 보안을 확보하는 방식입니다.

이 외에도, ACR(Authentication Context Class Reference) 클레임을 활용하거나 OCSP/CRL과 같은 인증서 검증 방식을 차용하는 고급 전략도 고려할 수 있습니다.

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

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

함께 보는 인증 / 인가 (JWT · OAuth) 면접 질문

← 인증 / 인가 (JWT · OAuth) 면접 질문 전체 보기