本文へ移動

Web

JWT、仕組みを説明できる?

「暗号化されてるから安全」と思っていませんか。JWTの構造や署名検証の仕組み、セッション認証との違いまで説明できるか確認します。

6問約6分基礎

この問題のねらい

JWTを「ログインで使われるトークン」という表面的な理解ではなく、署名による改ざん検知の仕組みや、暗号化ではなくエンコードであるという性質まで説明できるかを確かめます。

はじめる前に

この問題では、すぐに正解は表示しません。まず自分の言葉で回答してみてください。

最後まで回答すると、問題とあなたの回答をまとめてコピーできます。普段使っているAIチャットに貼り付けると、理解度をチェックしてもらえます。

こんな問題が出ます

  1. Q1

    JWT(JSON Web Token)とは何ですか? 「ヘッダー」「ペイロード」「署名」の3つの部分に触れながら、全体の構造を説明してください。

  2. Q2

    セッションIDを使った従来の認証と比べて、JWTを使ったトークンベースの認証はどう違いますか? 「ステートレス」という言葉を使って説明してください。

  3. Q3

    同僚がこう言いました。どこに問題があるか指摘してください。 「JWTは暗号化されているから安全。ペイロードにパスワードやクレジットカード番号を入れても大丈夫だよ」

  4. Q4

    サーバーはJWTを受け取ったとき、中身が書き換えられていないことをどうやって確認していますか? 署名の検証の流れを説明してください。

  5. Q5

    JWTには有効期限(exp)を設定できますが、「ログアウトした瞬間にそのトークンを無効化する」ことは、セッションIDの仕組みに比べて難しいとされています。 なぜでしょうか?

  6. Q6

    JWTをブラウザ側に保存する場所として、localStorageとHttpOnly Cookieがよく比較されます。 それぞれどんなリスクがありますか?