初級では「すりつぶし」「会員証」というたとえで流れを追いました。ここでは同じ旅を実際の技術の名前で追い直します。読み終わる頃には、「〇〇社から流出、パスワードはハッシュ化済み」というニュースを自分で評価できるようになっているはずです。
用語には「※1・※2…」と番号を付けて、各セクション末尾の「登場人物メモ」で説明します。
中級の解説は準備中のため、中級の内容を表示しています。
初級では「すりつぶし」「会員証」というたとえで流れを追いました。ここでは同じ旅を実際の技術の名前で追い直します。読み終わる頃には、「〇〇社から流出、パスワードはハッシュ化済み」というニュースを自分で評価できるようになっているはずです。
用語には「※1・※2…」と番号を付けて、各セクション末尾の「登場人物メモ」で説明します。
🎬 アニメーション『ログインの裏側』の ② のところです!
入力したパスワードは、次の形でサイトへ届きます:
登場人物メモ(※の説明):
⚠️ イレギュラー(うまくいかないとき):
🎬 アニメーション『ログインの裏側』の ③ のところです!
「すりつぶし」の正式名は暗号学的ハッシュ関数です。ただし、どのハッシュ関数でもいいわけではありません:
なぜ普通のハッシュ(SHA-256など)ではだめなのか——速すぎるからです。速いハッシュはGPUで秒間数十億回試せます。パスワード用の関数は、わざと遅く設計されていて(さらに scrypt / Argon2 はメモリも大量に要求する=メモリハード※3)、総当たりの効率を殺します。
登場人物メモ(※の説明):
⚠️ イレギュラー(ここが甘いと事故になる):
🎬 アニメーション『ログインの裏側』の ④〜⑤ のところです!
照合そのものは「ソルトを付けてハッシュ化→保存値と比較」だけですが、実戦はここが攻防の最前線です:
登場人物メモ(※の説明):
⚠️ イレギュラー(攻防の細部):
🎬 アニメーション『ログインの裏側』の ⑥ のところです!
「しばらく有効な会員証」の正式名はセッション※1 です:
さらに上の守りが2要素認証(2FA)※4——パスワード(知識)に加えて、スマホ(所持)などの2つ目を要求します。パスワードが漏れた後の最後の砦です。
登場人物メモ(※の説明):
⚠️ イレギュラー(会員証が狙われるとき):
本ユニットの内容は、このアプリ自身の実装方針でもあります: パスワードは scrypt でハッシュ化して保存 / セッションはDB管理(即時失効可能) / Cookie は HttpOnly + Secure + SameSite / ログイン失敗の応答は統一 / 認証系エンドポイントにレート制限。学んだ仕組みの実物の上で、いまあなたはログインしています。
まとめ——守りは4層です: 経路(TLS)/ 保存(ソルト+遅いハッシュ)/ 照合(回数制限と列挙防止)/ 会員証(セッション属性と2FA)。流出ニュースを見たら「どの層が破られたのか」を考える。それがこのユニットの読み方です。
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. ハッシュ化の前に付け足す「ソルト」の目的として最も適切なものはどれ?
問2. 「不正アクセスがありましたが、パスワードはハッシュ化して保存していました」という発表の正しい読み方はどれ?
問3. パスワードが経路の途中で盗み見されないよう 通信全体を暗号化する層を 英字3文字で答えてください。
問4. パスワード保存に SHA-256 単体ではなく bcrypt / Argon2 が推奨される理由はどれ?
問5. クレデンシャルスタッフィング(パスワードリスト攻撃)への、利用者側の最も有効な対策はどれ?
問6. 2要素認証(2FA)が防いでくれるのは、次のうちどれ?
問7. セッションを入れるCookieに付ける「HttpOnly」と「Secure」の説明として正しいのはどれ?
問8. ログイン状態の実体で 推測不能な長いランダム値をCookieで渡してページ移動のたびに提示する仕組みを カタカナで何と呼ぶ?