セキュリティ · 5分で読めます ·
パスワードは何文字必要?計算をやさしく解説
記号より長さが大事です。短いパスワードがどれだけ早く破られるのか、なぜランダムな16文字で十分なのか、安全な作り方を紹介します。

パスワードのルールは記号が大好きです。大文字を1つ、数字を1つ、特殊文字を1つ。でも攻撃者がずっと気にしているのは別のこと、つまり試さなければならないパスワードの数です。
1文字ごとに手間が掛け算で増える
小文字、大文字、数字、記号を使うと、4Devの生成ツールは88種類の文字から選びます。1文字増えるごとに組み合わせの数は88倍になります。長さを増やせば探索は指数関数的に大きくなりますが、短いパスワードに記号を1つ足してもほとんど効果はありません。
8文字 88^8 ≈ 3.6 × 10^15 ≈ 52ビット
12文字 88^12 ≈ 2.2 × 10^23 ≈ 78ビット
16文字 88^16 ≈ 1.3 × 10^31 ≈ 103ビット
実際にはどういうことか
パスワードのハッシュを集めたデータベースが流出すると、攻撃者はオフラインでグラフィックカードを使い、高速なハッシュに対して毎秒数十億回の推測を試します。ランダムな8文字なら数時間から数日で破られることがあります。12文字なら数万年かかり、16文字は現実的な攻撃の範囲を超えています。
大事なのは「ランダム」
この数字は本当にランダムなパスワードにしか当てはまりません。Summer2024! は11文字ありますが、人間らしいパターンなので攻撃者が最初に試す候補に入っています。単語、名前、日付、キーボードの並びは、ランダムな文字列よりずっと先に試されます。
実践的なアドバイス
最低12文字、メールや銀行、ほかのアカウントをリセットできるものには16文字以上を使いましょう。サイトごとに別のパスワードを使ってパスワードマネージャーに保存し、できるところでは2要素認証を有効にしてください。記号が使えないサイトでは、代わりに数文字長くしましょう。
パスフレーズ:長くて覚えやすい
パスワードマネージャーのマスターパスワードのように、入力したり覚えたりしなければならない数少ないパスワードには、ランダムな単語を並べたパスフレーズが向いています。7,776語のDicewareリストを使うと、ランダムに選んだ1語ごとに約12.9ビット増えます。
ランダムな5語 7776^5 ≈ 2.8 × 10^19 ≈ 64ビット
ランダムな6語 7776^6 ≈ 2.2 × 10^23 ≈ 77ビット
ランダムな6語は12文字のランダムなパスワードとほぼ同じ強さで、入力はずっと楽です。単語はサイコロや生成ツールで本当にランダムに選ぶ必要があります。名言、歌詞、自分で考えた文は見た目よりはるかに弱いものです。
役に立たないルール
NISTのガイドライン(SP 800-63B)は、定期的なパスワード変更の強制や「数字と記号を1つずつ」のような構成ルールを推奨していません。どちらもPassword1!やPassword2!のような予測しやすいパターンに人を追いやるからです。より良いルールは、長いパスワードを許可すること、パスワードマネージャーが使えるよう貼り付けを許可すること、そして新しいパスワードを既知の漏洩で流出したパスワードのリストと照合することです。
使っているサイトが侵害されたら
そのパスワードをすぐに変え、使い回していたほかの場所でも変えましょう。攻撃者は流出したメールアドレスとパスワードの組を数時間のうちにほかのサイトで試します。これはクレデンシャルスタッフィングと呼ばれる手口です。サイトごとに別のパスワードにしておけば、ひとつの漏洩が多くの問題ではなくひとつの問題で済みます。
安全に作る
4Devのパスワード生成ツールは、ブラウザの暗号学的に安全な乱数生成器 crypto.getRandomValues を使って、ブラウザ内でパスワードを作ります。長さは4〜128文字、使う文字の種類も選べます。サーバーに送信されることも保存されることもありません。