패스잇
보안 · 중급

JWT(JSON Web Token)의 구조와 인증 방식, 그리고 보안 주의사항을 설명해주세요.

힌트 · Header.Payload.Signature 구조, 서명 검증, 만료 시간, XSS/탈취 대응을 설명해보세요.

HeaderPayloadSignatureHMACHTTPS

모범답안

JWT는 웹 표준 인증 방식 중 하나로, Header, Payload, Signature 세 부분으로 구성됩니다.

Header는 토큰 타입과 암호화 알고리즘 정보를 담고, Payload는 사용자 정보나 권한 같은 클레임 정보를 JSON 형태로 담습니다. Signature는 Header와 Payload를 합쳐 비밀키로 암호화한 값으로, 토큰의 무결성을 검증하는 데 사용됩니다.

인증 방식은 서버가 사용자를 인증한 후 JWT를 생성하여 클라이언트에게 전달하고, 클라이언트는 이후 요청 시 JWT를 담아 서버에 전달합니다. 서버는 Signature를 검증하여 토큰의 유효성을 확인하고, Payload에 담긴 정보를 활용하여 사용자를 인증합니다.

보안을 위해서는 HTTPS를 사용하여 토큰 탈취를 막고, Payload에 민감한 정보를 직접 담지 않도록 주의해야 합니다. 또한, 토큰 만료 시간을 설정하여 토큰이 탈취되더라도 피해를 최소화해야 하며, XSS 공격에 대비하여 클라이언트 측에서 토큰을 안전하게 저장하고 관리해야 합니다.

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

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

함께 보는 웹 보안 면접 질문

← 웹 보안 면접 질문 전체 보기