헤더


      

페이로드


      

JWKS 서명 검증

Guide

JWT를 빠르게 점검할 때 보는 포인트

헤더의 알고리즘 확인

alg 값이 기대한 방식과 일치하는지 먼저 확인합니다. 운영 환경 문서와 다른 알고리즘이면 검증 실패의 원인이 될 수 있습니다.

만료 클레임 검토

exp, nbf, iat는 서버 시간 차이와 함께 봐야 합니다. 토큰 자체는 정상인데 시간 동기화 문제로 거부되는 경우도 자주 있습니다.

페이로드 민감도 점검

JWT는 Base64URL로 인코딩된 값이라 내용이 숨겨지지 않습니다. 민감한 개인정보나 비밀 값을 담는 구조인지도 함께 확인하는 편이 좋습니다.

Security Notes

디코딩과 검증은 다릅니다

디코딩만으로 신뢰하면 안 됩니다

토큰 내용을 읽을 수 있다는 것과, 그 토큰이 정상 발급되었다는 것은 다른 문제입니다. 신뢰 판단에는 반드시 서명 검증이 필요합니다.

JWKS URL 검증의 역할

OIDC나 외부 인증 공급자를 쓰는 환경에서는 JWKS로 서명을 대조해야 실제로 해당 발급자가 만든 토큰인지 판단할 수 있습니다.

How To

JWT를 볼 때 가장 먼저 보는 순서

1. 헤더와 payload를 먼저 열어 구조 확인

alg, typ, iss, aud, sub, exp 같은 핵심 필드가 기대한 시스템과 맞는지 먼저 확인하면 문제 범위를 크게 줄일 수 있습니다.

2. 시간 클레임은 timestamp 도구와 함께 확인

exp, nbf, iat 값은 사람이 읽기 쉬운 시간으로 다시 보고, 서버 clock skew가 있는지도 함께 판단해야 합니다. 이때 timestamp converter와 같이 보는 흐름이 유용합니다.

3. 신뢰 판단은 JWKS 검증까지 진행

읽을 수 있는 토큰과 신뢰할 수 있는 토큰은 다릅니다. 외부 issuer 환경이라면 JWKS URL을 사용해 실제 서명 검증까지 확인하는 편이 안전합니다.