한국어

개발자 도구 · JWT 디코더

JWT 헤더 설명: alg, typ, kid 및 불신 필드

· 작동 방식

jwt 보안 인증

디코딩된 JWT 헤더가 검증자 신뢰 경계에서 중지되었습니다.
원본 ToolAcre 벡터 일러스트레이션

헤더는 토큰이 서명된 방법과 사용할 키를 검증자에게 알려줍니다. 이 게시물에서는 각 공통 헤더 필드, 검증자가 의존할 수 있는 항목, 토큰 자체에서 절대 신뢰해서는 안 되는 필드에 대해 설명합니다.

아무도 읽지 않는 작은 JSON 개체 — 그리고 이것이 영향을 미치는 확인 결정

헤더는 간과될 만큼 작지만 해당 필드는 종종 확인 라우팅에 참여합니다. 따라서 가시성과 권위를 혼동하는 것은 위험합니다. ToolAcre는 헤더를 JSON 개체로 디코딩하고 해당 속성을 표시하지만 모든 바이트는 토큰 소유자에서 왔으며 신뢰할 수 없는 입력으로 유지됩니다.

검증자는 신뢰할 수 있는 구성에서 설정된 제약 조건 내에서만 헤더 값을 사용할 수 있습니다. 토큰이 허용된 알고리즘, 발급자 또는 원격 키 소스를 발명하도록 해서는 안 됩니다. 디코더의 작업은 읽을 수 있는 JSON에서 경고와 함께 종료됩니다. 키를 선택하거나 허용 또는 거부 결정을 내리지 않습니다.

alg 디스플레이: 디코더는 구현 시 명명된 알고리즘만 설명합니다.

`alg`는 토큰 클레임이 사용된 알고리즘을 선언합니다. ToolAcre에는 HS256, HS384, HS512, RS256, RS384, RS512, ES256, ES384, ES512, PS256, PS384 및 PS512에 대한 설명 메모와 `none`에 대한 경고가 있습니다. 다른 문자열은 지원되는 것으로 처리되지 않고 인식되지 않는 것으로 표시됩니다.

이 목록은 ToolAcre이 확인할 수 있는 알고리즘 카탈로그가 아니라 표시 기능입니다. 이는 어느 것도 확인하지 않습니다. 백엔드는 허용된 선택 사항을 독립적으로 고정하고 불일치를 거부해야 합니다. `alg: none`을 읽으면 서명되지 않은 토큰을 안전하게 인증할 수 없는 것처럼 `alg: RS256`을 읽으면 RSA가 사용되었음을 증명할 수 없습니다.

typ 및 cty — 토큰 유형, 액세스 토큰용 at+jwt 프로필 및 중첩된 JWT 선언

`typ`는 제작자가 의도한 미디어 유형 또는 프로필을 설명합니다. ToolAcre는 문자열 값이 `JWT`과 다를 때 경고합니다. 프로필 의미를 적용하지 않습니다. `cty` 필드는 중첩된 콘텐츠를 설명할 수 있지만 현재 디코더에는 중첩된 토큰 처리 경로가 없으며 해당 필드를 해석하지 않습니다.

명시적 입력은 정책이 예상 값을 정의할 때 검증자가 다양한 토큰 클래스를 별도로 유지하는 데 도움이 됩니다. 수표는 여전히 해당 검증자에게 속합니다. 토큰은 단순히 선호하는 레이블을 발표하는 것만으로는 액세스 토큰이 될 수 없으며 디코드 패널은 토큰을 사용해야 하는 애플리케이션 엔드포인트를 결정할 수 없습니다.

kid — 검증자가 가동 중지 시간 없이 키를 순환할 수 있게 해주는 키 식별자

`kid`는 키 자료나 소유권 증명이 아닌 키 식별자입니다. 여러 개의 신뢰할 수 있는 키를 순환하는 서비스는 인증된 발급자 컨텍스트와 제한된 식별자를 사용하여 후보를 찾을 수 있습니다. 식별자는 파일 경로, 쿼리 조각 또는 임의 URL이 아닌 제어된 조회에 대한 입력으로 남아 있어야 합니다.

ToolAcre는 `kid`을(를) 헤더 JSON에 표시하지만 해결하지는 않습니다. 이러한 제한은 중요합니다. 공개 디코딩 페이지에는 신뢰할 수 있는 키 저장소를 사용할 수 없습니다. 401가 순환을 따르는 경우 토큰의 제안 키가 적법하다고 가정하지 않고 표시된 식별자를 서버 측 키 인벤토리 및 로그와 비교합니다.

jku, x5u, jwk 및 x5c — 키를 가리키는 헤더 필드와 검증자가 맹목적으로 키를 가져오거나 신뢰해서는 안 되는 이유

`jku` 및 `x5u`과 같은 필드는 위치 이름을 지정할 수 있고 `jwk` 및 `x5c`는 키 관련 데이터를 전달할 수 있습니다. 이러한 존재가 있다고 해서 해당 위치나 값을 신뢰할 수 있는 것은 아닙니다. 확인되지 않은 헤더가 제공되었다는 이유만으로 URL을 가져오거나 포함된 자료를 수락하면 보안 결정이 요청자에게 전달됩니다.

안전 검증자는 토큰 외부에 설정된 발급자 관계 및 네트워크 정책을 통해 키를 얻습니다. ToolAcre는 헤더 URL을 가져오지도 않고 내장된 키로부터 신뢰를 구축하지도 않습니다. 검토 중에 이러한 필드 중 하나가 표시되면 헤더를 따르라는 지시가 아니라 검증기 구성을 검사하라는 메시지가 표시됩니다.

crit — 검증자가 이해하거나 거부해야 하는 확장

`crit`는 특정 확장 프로그램을 수신자가 이해해야 함을 나타냅니다. 이러한 확장을 지원하는 검증자는 알 수 없는 중요 이름에 대한 명시적인 구현 및 거부 경로가 필요합니다. 익숙하지 않은 중요 표시를 무시하면 생산자와 소비자가 보호된 콘텐츠를 다르게 해석할 수 있습니다.

디코드 전용 구현은 `crit`을 처리하지 않으므로 호환성을 주장하지 않고 원시 배열을 표시할 수 있습니다. 이는 검사와 검증 사이의 또 다른 경계입니다. 프로덕션 토큰이 중요한 확장에 의존하는 경우 읽기 가능한 JSON에서 지원을 추론하는 대신 실제 라이브러리 및 구성의 동작을 확인하세요.

실제 사례 — 현실적인 헤더를 읽고 확인을 알리는 필드와 단순한 정보 제공용 필드를 결정합니다.

`{"alg":"RS256","typ":"JWT","kid":"rotate-7"}`을(를) 고려하세요. ToolAcre는 세 필드를 모두 예쁘게 인쇄하고 RS256 확인에는 발급자 공개 키가 필요하다고 설명합니다. 검토자는 선언된 알고리즘과 키 식별자를 기록한 다음 이를 서버의 고정 정책 및 신뢰할 수 있는 키 세트와 비교할 수 있습니다.

필드는 조사에 정보를 제공하지만 독립적으로 결정하는 것은 없습니다. 서버가 다른 알고리즘만 허용하거나 올바른 발급자 집합에서 `rotate-7`을(를) 찾을 수 없거나 서명을 거부하는 경우 읽기 가능한 헤더가 해당 결과를 재정의하지 않습니다. 마찬가지로 유효한 서명을 다시 계산하지 않고 헤더 텍스트를 변경하는 것은 허용되지 않습니다.

요약: 헤더는 권한이 아닌 입력입니다. ToolAcre JWT 디코더는 헤더를 표시하므로 읽을 수 있습니다. 검증자는 무엇을 신뢰할지 독립적으로 결정해야 합니다.

JWT 헤더를 권한이 아닌 입력으로 처리합니다. 해당 값은 구성에 의해 이미 승인된 선택 항목 중에서 선택하고, 가능한 회전 문제를 식별하거나 프로필 불일치를 설명하는 데 도움이 될 수 있습니다. 그들은 자신의 알고리즘, 키, URL 또는 토큰 유형에 대한 신뢰를 구축할 수 없습니다.

ToolAcre를 사용하여 테스트 헤더를 읽고 `alg`, `none` 누락 또는 예상치 못한 `typ`와 같은 의심스러운 값을 표시합니다. 그런 다음 모든 결과적 결정에 대해 구성된 검증자로 이동합니다. 헤더가 얼마나 그럴듯해 보이는지에 관계없이 디코딩은 진위성, 무결성, 승인 또는 발급자 신원을 증명하지 않습니다.