# パスワードはどう守られているのか

> レベル: 初級 ／ 対象: 大人
> 出典: Kotowary — https://kotowary.com/learn/units/password-basics?level=beginner&audience=adult
会員登録したサイトが事件で「パスワード流出」と報道されても、被害が出る人と出ない人がいます。その分かれ目は、サイトの金庫の作り方と、あなたのパスワードの使い方にあります。ログインの1〜2秒の裏側は、**かならずこの順番**で進みます:

1. **届ける** — 入力したパスワードが、鍵付きの道でサイトの受付へ届く
2. **すりつぶす** — 受付がパスワードを「元に戻せない形」に変える
3. **照合する** — 金庫にある「すりつぶした結果」と見比べる
4. **会員証をもらう** — 一致したら、しばらく有効な会員証で通れるようになる

::diagram{name="login-flow"}

> ログインの仕組み全体（本人確認・トークン・SNSログイン・パスワードレス・MFA）は [認証（ログインシステム）](/learn/units/authentication) を参照。ここではパスワードそのものの守られ方に絞ります。

## ① 届ける

> 🎬 アニメーション『ログインの裏側』の **②** のところです！

ログインボタンを押すと、IDとパスワードはインターネットを旅してサイトの受付へ向かいます。ここで大事なのは、**鍵付きの道（アドレスバーの鍵マーク、httpsって言います）を通る**ことです。

1. あなたがログインボタンを押す
2. パスワードは**暗号化された通信路**に乗って受付へ向かう
3. 途中の機械（Wi-Fi・ルーター・通信網）は通過するだけ。**盗み見されても中身は読めない**

⚠️ **イレギュラー**（うまくいかないとき）:

- **鍵マークのないサイト** — 道が暗号化されていないので、途中でパスワードを盗み見される可能性がある。ログインしてはいけない
- **偽物のサイト（フィッシング）** — 道がいくら安全でも、**届け先が泥棒**なら意味がない。本物そっくりの偽サイトに自分から入力してしまう被害が、実はいちばん多い

## ② すりつぶす

> 🎬 アニメーション『ログインの裏側』の **③** のところです！

受付は届いたパスワードを、そのまま金庫にしまいません。まず**すりつぶします**（ハッシュ化って言います）。

1. パスワード「`sakura2024`」を専用のミキサーにかける
2. 出てくるのは「`a91bc0...`」のような**ぐちゃぐちゃの文字列**
3. このミキサーは一方通行で、**結果から元のパスワードには戻せない**
4. ただし**同じパスワードを入れれば、必ず同じ結果**が出てくる

「戻せないのに、同じ入力なら同じ結果」——この不思議な性質のおかげで、**生のパスワードをどこにも置かずに**本人確認ができます。

⚠️ **イレギュラー**（ここが甘いサイトだと）:

- **生のまま保存しているサイト** — 金庫が破られた瞬間、全員のパスワードがそのまま流出する。「流出したけど被害が出ない」と「即・全滅」の分かれ目はここ
- **「パスワードを忘れた」で元のパスワードがメールで届くサイト** — 戻せない形で保存していれば、元のパスワードを送ることは**不可能なはず**。届いたら、そのサイトは生のまま保存している危険信号

## ③ 照合する

> 🎬 アニメーション『ログインの裏側』の **④〜⑤** のところです！

受付は、すりつぶした結果を金庫のものと見比べます。

1. 受付「この、すりつぶした結果、登録ある？」
2. 金庫が登録済みの結果と**見比べる**（生のパスワード同士を比べているのではない）
3. 一致すれば本人。不一致なら「**IDかパスワードが違います**」

失敗したときに「どちらが違うか」を教えてくれないのは、不親切なのではなく**わざと**です。「このIDは存在します」と教えるだけで、攻撃者はそのIDを狙い撃ちできるようになるからです。

⚠️ **イレギュラー**（攻撃されるとき）:

- **総当たり** — 機械で何万回も試される。だから多くのサイトは「5回失敗したらしばらくロック」する
- **パスワードリスト攻撃** — 別のサイトから漏れたID・パスワードの一覧を、片っ端から試される。**使い回しているパスワードだけが破られる**。これが「使い回しが一番危険」と言われる理由

## ④ 会員証をもらう

> 🎬 アニメーション『ログインの裏側』の **⑥** のところです！

照合に成功すると、受付は「しばらく有効な会員証」をくれます（セッションって言います）。

1. 会員証はブラウザが預かって、**以降のページでは会員証を見せるだけ**で通れる
2. だからページを移動するたびにパスワードを打ち直さなくていい
3. 会員証には**期限**があり、ログアウトすると無効になる

:::details パスワードの作り方 — 結局どうすればいい？
順番に効き目が大きいのは、この3つです:

1. **使い回さない** — これが最重要。1サイト1パスワード。人間には覚えきれないので、**パスワード管理アプリ**（ブラウザ内蔵のものでOK）に覚えてもらう
2. **長くする** — 8文字より12文字、12文字より16文字。複雑な記号より**長さ**が効く
3. **2段階にする**（2要素認証って言います） — パスワードが漏れても、スマホの確認がないと入れないようにする

逆に、効き目が薄いのに疲れるのが「定期的な変更の強制」。最近は「漏れていないなら変えなくていい、そのかわり使い回すな」が主流の考え方です。
:::

ここまでがログインの1〜2秒の裏側です。仕組み側は「生のパスワードをどこにも置かない」ことであなたを守り、あなた側は「使い回さない」ことで自分を守る——**守りは両側で1セット**です。
