セキュリティ · 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文字、使う文字の種類も選べます。サーバーに送信されることも保存されることもありません。

パスワード生成ツールを開く

LinkedInXFacebook