Learning
토픽 63 / 210·인증 및 접근제어

JWT (JSON Web Token)

JWT (JSON Web Token)

JSON 형식의 클레임(주장)을 포함하는 자가 수용적(self-contained) 토큰으로 서명 또는 암호화를 통해 무결성과 신뢰성을 보장하는 인증/인가 토큰 표준(RFC 7519)

특징: 무상태 인증(서버 세션 불필요), 자가 수용적(토큰 자체에 정보 포함), 서명/암호화 지원

구성요소: Header(알고리즘/토큰 타입), Payload(클레임 데이터), Signature(무결성 서명)

구조: Base64Url(Header).Base64Url(Payload).Signature

기술요소: JWS(JSON Web Signature): 서명된 토큰, JWE(JSON Web Encryption): 암호화된 토큰, 클레임: iss(발급자)/sub(주체)/aud(대상)/exp(만료)/iat(발급시각)

주의사항: alg:none 공격 방어(알고리즘 지정 필수), 민감정보 Payload 평문 저장 금지, 짧은 만료 시간 설정

적용사례: API 인증, SSO, 마이크로서비스 간 인증, OAuth 2.0 Access Token

비교: JWT(무상태/자가수용/확장성) vs 세션(상태풀/서버저장/서버부하) vs Opaque Token(참조값/검증서버필요)

연관: OAuth 2.0, OIDC, API 보안, HMAC