보안 · 중급
JWT(JSON Web Token)의 구조(Header, Payload, Signature)에서 Signature 부분의 역할은 무엇이며, Signature를 통해 JWT의 어떤 보안 속성을 보장할 수 있는지 설명해 주세요.
힌트 · 헤더와 페이로드를 인코딩한 후 Secret Key로 해싱하여 생성되며, 토큰의 무결성을 검증하고 위변조를 방지하는 데 사용됩니다.
무결성변조 방지전자 서명HMACRSA
모범답안
JWT의 Signature는 JWT의 무결성을 보장하고 변조를 방지하는 역할을 합니다.
Signature는 Header와 Payload를 특정 알고리즘(HMAC, RSA 등)과 Secret Key를 사용하여 암호화한 값입니다. 서버는 JWT를 검증할 때, 동일한 알고리즘과 Secret Key를 사용하여 Signature를 다시 생성하고, 기존 Signature와 비교합니다.
만약 누군가가 Header나 Payload를 변조했다면, 서버에서 생성한 Signature와 JWT에 포함된 Signature가 달라지므로, 토큰이 변조되었음을 알 수 있습니다. 즉, Signature는 JWT가 발행된 이후에 변경되지 않았음을 보장하는 전자 서명과 같은 역할을 수행합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 인증 / 인가 (JWT · OAuth) 면접 질문
- OAuth 2.0의 여러 Grant Type 중 'Authorization Code Grant Type'은 어떤 환경에서 주로 사용되며, 그 이유는 무엇인가요?
- JWT(JSON Web Token)는 무엇이며, 토큰 기반 인증 시스템에서 어떤 장점을 제공하나요?
- OAuth 2.0의 'Authorization Code Grant'와 'Client Credentials Grant'는 각각 어떤 상황에 적합하며, 두 Grant Type의 주요 차이점은 무엇인가요?
- Access Token과 Refresh Token을 분리하여 사용하는 것이 일반적인데, 이와 같이 토큰을 분리하는 주된 이유와 각각의 보안적 이점을 설명해 주세요.
- OpenID Connect(OIDC)는 OAuth 2.0 위에 구축된 프로토콜입니다. OAuth 2.0과 OIDC의 관계를 설명하고, OIDC가 OAuth 2.0에 추가적으로 제공하는 핵심 기능은 무엇인가요?
- JWT 기반 인증 시스템에서 Access Token이 만료되었을 때, 클라이언트와 서버는 각각 어떻게 처리해야 하는지 구체적인 시나리오를 들어 설명해 주세요.