セキュリティ · 認証・認可
JWT を分解する
JWT を分解して、alg 混同や弱鍵の危うさを見ます。対象は自分で作ったトークンだけです。
- 実習
- ブラウザ内で完結
- 環境構築
- 重さ 1 / 3
- 前提
- sec-http 修了
- 倫理
- 第0章の法と倫理ゲートへの同意が必須です。
読み込み中…
JWT を3つの部品に分解し、デコード・署名・検証の仕組みと、その検証を甘くする実装(alg:none・alg 混同・弱い鍵)の危うさを見ます。触るのは、すべて自分で作ったトークンだけです。
章の一覧
- 未完了第0章はじめに — トークンを、開けてみる前にJWTがどこで使われるかと、このコースが自作トークンだけを扱うことを確認します。試食で見た「デコードできる」を出発点に、法と倫理ゲートに同意します。約4分
- 未完了第1章分解する — 3つの部品と、読める中身JWTがヘッダ・ペイロード・署名の3部品からなり、最初の2つはbase64urlエンコードなだけで誰でも読めることを、手元で確かめます。JWTは暗号化ではないと体で理解します。約9分
- 未完了第2章署名と検証 — 改ざんを止めているものnode:crypto でHS256のJWTを自分で作り、検証します。ペイロードを書き換えると検証が落ちること、正しく再署名するには鍵が要ることを、手元で確かめます。約11分
- 未完了第3章危うい実装 — alg:none・alg 混同・弱い鍵署名の検証を甘くする3つの実装を、自作トークンで確かめます。alg:none受理と弱鍵ブルートフォースを実演し、alg混同を原理で理解し、algはサーバが固定・鍵は強く、で直します。約13分
- 未完了第4章まとめ — 読める・止める・甘くなるデコード・署名検証・危うい実装を畳みます。JWTの3つの事実と正しい検証の原則を持って、認証・セッションの全体像へ進みます。約3分
詰まったときはお助けページへ。章ごとのファイル一式をダウンロードして、途中から再開できます。