TT Security Log

セキュリティ一般に関する「個人」の調査・研究・参照ログ (政府動向・仮想通貨など)

JWT (まとめ)

【要点】

◎JSON形式のデータをURLセーフでコンパクトな形式にしたもの
「Base64エンコードされたヘッダ」.「Base64エンコードされた JSON の中身」.「電子署名」


【規格】

◆RFC7519
https://datatracker.ietf.org/doc/html/rfc7519
https://tex2e.github.io/rfc-translater/html/rfc7519.html


【変換】

◆JWT.io
https://jwt.io/


【ツール】

◆PyJWT による JWT の生成と検証 (Hakky)
https://book.st-hakky.com/docs/pyjwt-intro/


【概要】

■パート

【概要】

項目
内容
備考
Header 電子署名がどのような方法で行われるかの情報が格納 base64でデコード
PAYLOAD 送りたい情報本体(Claim) base64でエンコードしてピリオドで連結
VERIFY SIGNATURE base64でエンコードしピリオド(.)で繋いだヘッダーとペイロードを署名アルゴリズムでハッシュ化したもの ピリオドで連結


■Header

予約済項目名 役割 備考
alg 署名アルゴリズム。HS256 など 必須
typ トークのタイプ。JWT 指定が推奨


■署名検証回避方法

alg 備考
none
HMAC-SHA


■Registered Claim Names

claim
detail
iss Issuer JWTの発行者識別子
aud Audience 誰を対象に発行されたか
exp expiration time 期限を示す
iat Issued at 発行された日時


■攻撃方法

項目 内容
アルゴリズムをnoneにする "alg": "none"


【ブログ】

◆JWT について調べた内容をまとめました。 (Qiita, 2017/10/15)
https://qiita.com/t-toyota/items/8d0ffb265845ab8cc87c
https://security-log.hatenablog.com/entry/2017/10/15/000000

◆攻撃して学ぶJWT【ハンズオンあり】 (Money Forward Developers Blog, 2020/09/15)
https://moneyforward-dev.jp/entry/2020/09/15/jwt/
https://security-log.hatenablog.com/entry/2020/09/15/000000

◆CTFのWebセキュリティにおける認証認可まわりまとめ(Cookie/Session、Authentication/Authorization、JWT、IDOR, TOTP, OAuth) (はまやんはまやんはまやん, 2021/12/03)
https://blog.hamayanhamayan.com/entry/2021/12/03/213402
https://tt-ctf.hatenablog.jp/entry/2021/12/03/000000 [TT_CTF Blog]

◆基本から理解するJWTとJWT認証の仕組み (豆蔵, 2022/12/08)
https://developer.mamezou-tech.com/blogs/2022/12/08/jwt-auth/
https://security-log.hatenablog.com/entry/2022/12/08/000000


【公開情報】

◆PyJWT による JWT の生成と検証 (Hakky, 2023/09/12)
https://book.st-hakky.com/docs/pyjwt-intro/
https://security-log.hatenablog.com/entry/2023/09/12/000000_1


【資料】

◆JWT ハンドブック (Sebastian Peyrott(Auth0), 2018)
https://assets.ctfassets.net/2ntc334xpx65/5HColfm15cUhMmDQnupNzd/30d5913d94e79462043f6d8e3f557351/jwt-handbook-jp.pdf
https://security-log.hatenablog.com/entry/2018/12/31/000000


【検索】

■Google

google: JWT
google: JSON Web Token

google:news: JWT
google:news: JSON Web Token

google: site:virustotal.com JWT
google: site:virustotal.com JSON Web Token

google: site:github.com JWT
google: site:github.com JSON Web Token


■Bing

https://www.bing.com/search?q=JWT
https://www.bing.com/search?q=JSON Web Token

https://www.bing.com/news/search?q=JWT
https://www.bing.com/news/search?q=JSON Web Token


■Twitter

https://twitter.com/search?q=%23JWT
https://twitter.com/search?q=%23JSON Web Token

https://twitter.com/hashtag/JWT
https://twitter.com/hashtag/JSON Web Token


【関連まとめ記事】

全体まとめ

◆認証 (まとめ)
https://security-log.hatenablog.com/entry/Certification