---
url: https://docs.ogmabox.com/ko/app/utilities/jwt.md
description: Ogma에서 JSON Web Token을 검사하고 분석합니다.
---

# JWT {#jwt}

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

## 도구 사용 {#using-the-tool}

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

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

## 디코딩된 영역 {#decoded-sections}

### 헤더 {#header}

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

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

### 페이로드 {#payload}

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

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

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

### 만료 확인 {#expiry-check}

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

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

### 서명 {#signature}

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

## 확인할 사항 {#what-to-look-for}

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

## 관련 페이지 {#related-pages}

* [토큰 분석](./token-analysis.md)
* [디코더](./decoder.md)
* [HTTP 기록](../http-history.md)
