본문으로 이동

JWT ​

JWT 유틸리티는 JSON Web Token을 디코딩하고 검사하여, 개인 키 없이도 구조, 클레임, 보안 속성을 검토할 수 있게 합니다.

도구 사용 ​

  1. 입력 필드에 JWT를 붙여 넣습니다. 도구는 점으로 구분된 표준 세 부분 형식을 지원합니다.
  2. 도구가 헤더와 페이로드 부분을 자동으로 분리하고 Base64 디코딩합니다.
  3. 아래 세 영역에서 디코딩된 출력을 검토합니다.

검사에는 키 자료가 필요하지 않습니다. 서명 검증은 별도의 작업입니다.

디코딩된 영역 ​

알고리즘(alg)과 키 ID(kid) 필드를 표시합니다. 알고리즘 경고도 여기에 나타납니다.

조건경고 수준
alg: none치명적: 토큰에 서명이 없음
alg: HS256알림: 대칭 방식이며, 비밀 키가 약하면 무차별 대입이 가능함
alg: RS256 또는 ES256경고 없음

페이로드 ​

모든 클레임을 값과 추론된 유형과 함께 표시합니다. 디코딩되는 표준 클레임은 다음과 같습니다.

클레임의미
iss발급자
sub주체(일반적으로 사용자 ID)
aud수신 대상
exp만료 시각
nbf사용 가능 시작 시각
iat발급 시각
jtiJWT ID(고유 토큰 식별자)

사용자 정의 클레임은 표준 클레임 아래에 표시됩니다.

만료 확인 ​

토큰에 exp 클레임이 있으면 도구가 현재 시각과 비교하여 다음 중 하나를 표시합니다.

  • 유효함: 토큰이 아직 만료되지 않았습니다.
  • 만료됨: 토큰의 만료 시각이 지났으며, 경과한 시간도 표시됩니다.
  • 만료 없음: 토큰에 exp 클레임이 없습니다.

서명 ​

Base64url로 인코딩된 원본 서명을 표시합니다. 키를 제공하지 않으면 도구는 검증을 시도하지 않습니다. 이 영역은 참고용이며 서명이 있는지 확인하기 위한 것입니다.

확인할 사항 ​

  • 일부 라이브러리는 alg: none 토큰을 검증 없이 받아들입니다. 대상 애플리케이션이 이를 허용하는지 테스트합니다.
  • 수명이 긴 토큰(iat에서 수일 또는 수년 뒤의 exp)은 애플리케이션이 토큰을 교체하지 않음을 시사합니다.
  • 암호화되지 않은 페이로드 클레임에 저장된 민감한 데이터(PII, 내부 ID, 역할 플래그)는 토큰을 가진 누구나 읽을 수 있습니다.
  • jti가 없는 토큰은 개별적으로 폐기할 수 없습니다.

독점 소프트웨어입니다. 모든 권리는 저작권자에게 있습니다.