Java

JWS / JWT

똑똑한망치 2024. 7. 2. 13:59
728x90
반응형

[용어 정리]

  • JWS (JSON Web Signature) : 서버에서 인증을 근거로 인증 정보를 서버의 private key로 서명한 것을 토큰화 한 것
  • JWE (JSON Web Encryption) : 서버와 클라이언트 간 암호화된 데이터를 Token화 한 것
  • JWK (JSON Web Key) : JWE에서 payload encryption 에 쓰인 키를 Token화 한 것
  • JWT (JSON Web Token) : JWS or JWE

[실제 예제]

JWS 구조 : Header(JSON) + payload(JSON) + signature

* signature = sign(header + payload)

  • header
    • 시그니처를 해싱하기 위한 알고리즘 정보가 담겨져 있는 부분
  • payload
    • claim을 담고 있는 부분
  • signature
    • 서명은 토큰이 변조되지 않았음을 증명하는 무결성을 위해 사용된다.
    • 시그니쳐는 인코딩된 헤더, 페이로드, 비밀키, 헤더에 정의된 서명 알고리즘을 이용하여 생성한다.

 

 

각각에 대해 Base64를 하고 "."으로 구분하면 바로 JWT가 된다.

반응형