위키득계정 ↗
기술

JSON Web Token

JSON Web Token기술
약칭
JWT
기본 내용
JSON 클레임 집합
서명 표현
JSON Web Signature
암호화 표현
JSON Web Encryption
JSON Web Token은 두 주체 사이에 전달할 클레임을 간결한 JSON 기반 표현으로 담는 형식이다. JWS나 JWE 구조를 이용해 서명과 무결성 보호 또는 암호화를 적용할 수 있다.

클레임으로 전달하는 정보

클레임은 주체나 토큰에 관한 정보를 이름과 값으로 표현한 항목이다. 발급자와 주체 및 수신 대상과 만료 시각 같은 등록된 이름을 사용할 수 있다. 각 응용은 어떤 항목을 필수로 요구할지 정한다.

내용 보호 방식의 차이

JWS 구조는 클레임에 디지털 서명이나 메시지 인증 코드를 적용하고 JWE 구조는 클레임을 암호화하는 데 사용한다. 서명으로 위변조를 검사하는 것과 내용을 숨기는 암호화는 서로 다른 기능이다. JWT라는 이름만으로 내용이 암호화됐다고 볼 수 없다.

대상과 시간의 의미

aud는 토큰을 처리하도록 의도한 수신 대상을 나타낸다. exp는 받아들일 수 있는 만료 시각이고 nbf는 그 이전에는 받아들이지 않을 시각이다. 토큰을 사용하는 시스템은 적용한 클레임의 의미와 자체 요구 조건에 맞춰 결과를 처리한다.

관련 문서

OpenID Connect / JSON / Keycloak / authentik / API / 메시지 인증 코드