強いパスワードの作り方と管理のしかた
2026年11月更新
強いパスワードとは、攻撃者に推測できないパスワードのことです。そして確実にそれを手に入れる方法は、コンピューターにランダムに選ばせることしかありません。パスワードのアドバイスは今でも「大文字を1つ」「記号を1つ」といった細かい点にこだわりがちですが、本当の危険は、短いパスワード、ありがちなパターン、そして同じパスワードを複数のサイトで使い回すことです。このガイドでは、パスワードを強くする要素、強さの測り方、そしてランダムな文字列を何十個も覚えずに安全を保つ方法を説明します。
パスワードはどう破られるのか
- オンラインでの推測。ログイン画面でパスワードを次々に試します。試行回数の制限やアカウントロックで速度が落ちるため、この方法で破られるのは主に
123456やqwertyのようなよくあるパスワードです。 - オフラインでの解析。サイトのデータベースが盗まれると、攻撃者はパスワードのハッシュ(パスワードを変換した値)を手に入れ、自分の機材で、ハードウェアが許す限りの速さで推測を試せます。長さとランダムさが最も効いてくるのがこの場面です。
- リスト型攻撃(クレデンシャルスタッフィング)。あるサイトから漏れたメールアドレスとパスワードの組を、別のサイトで自動的に試します。解析は必要なく、パスワードの使い回しがあるからこそ成立する攻撃です。
偽のログインページでパスワードを入力させるフィッシングという4つ目の手口もあり、これはどれほど強いパスワードでも防げません。二段階認証やパスキーが重要な理由の一つです。
複雑さより長さ
1文字増やすごとに、考えられるパスワードの数は文字の種類の数だけ掛け算で増えます。一方、文字の種類を1つ加えても、その種類の数が少し増えるだけです。キーボードで入力できる94種類の文字からランダムに選んだ8文字は約6.1 × 10¹⁵通りですが、ランダムな英小文字12文字は約9.5 × 10¹⁶通りで、15倍以上になり、スマートフォンでもずっと入力しやすくなります。記号にも強さを上げる効果はありますが、一部の記号を受け付けないサイトなら、記号をあきらめて長くするほうが得策です。
エントロピーをやさしく
パスワードの強さはエントロピー(ビット)で測ります。1ビットはコイン投げ1回分です。40ビットのパスワードを当てるのは、コイン投げ40回の結果を続けて全部当てるのと同じくらい難しいということです。1ビット増えるごとに攻撃者の手間は2倍になるので、50ビットは40ビットより25%難しいのではなく、約1,000倍難しくなります(2¹⁰ = 1,024)。
ランダムに選んだパスワードなら、エントロピーは「長さ × log₂(使える文字の種類の数)」で簡単に計算できます。
| 文字の種類 | 文字数 | 1文字あたりのビット | 8文字 | 12文字 | 16文字 | 20文字 |
|---|---|---|---|---|---|---|
| 数字のみ(0–9) | 10 | 3.32 | 26.6 | 39.9 | 53.2 | 66.4 |
| 英小文字 | 26 | 4.70 | 37.6 | 56.4 | 75.2 | 94.0 |
| 英大文字・小文字 | 52 | 5.70 | 45.6 | 68.4 | 91.2 | 114.0 |
| 英字と数字 | 62 | 5.95 | 47.6 | 71.5 | 95.3 | 119.1 |
| 表示可能なASCII文字すべて | 94 | 6.55 | 52.4 | 78.7 | 104.9 | 131.1 |
イメージしやすいように、毎秒100億回の推測を試せるオフラインの攻撃者を考えてみましょう。これはグラフィックカードで高速なハッシュを攻撃する場合を想定した大まかな例であり、bcryptやArgon2のような遅いパスワード用ハッシュなら、速度は何桁も下がります。ランダムなパスワードは、平均するとすべての組み合わせの半分を試したところで見つかります。
| ランダムなパスワード | エントロピー | 毎秒100億回での平均時間 |
|---|---|---|
| 英小文字8文字 | 37.6ビット | 約10秒 |
| 全種類の文字で8文字 | 52.4ビット | 約3.5日 |
| 英小文字12文字 | 56.4ビット | 約55日 |
| 英小文字16文字 | 75.2ビット | 約6万9,000年 |
| 全種類の文字で12文字 | 78.7ビット | 約75万年 |
| 全種類の文字で16文字 | 104.9ビット | 宇宙の年齢の数千倍 |
注意したいのは、この数字がランダムなパスワードにしか当てはまらないことです。Summer2026!は11文字で4種類の文字をすべて使っているので、計算式では約72ビットになりますが、「単語+年+記号」というパターンは解析ツールが真っ先に試す形です。人が考えたパスワードは計算式よりはるかに弱いため、文字の種類を数えるだけの強度メーターは当てになりません。
目安としては、普段のアカウントで70~80ビット、メールやパスワードマネージャーのように他のすべてにつながるアカウントでは100ビット以上を目指すとよいでしょう。パスワード生成ツールは作ったパスワードごとにエントロピーを表示します。初期設定の4種類の文字で16文字なら、約103ビットです。
パスフレーズ:強くて覚えやすい
パソコンのログインやパスワードマネージャーのマスターパスワードのように、どうしても覚えておく必要がある少数のパスワードには、パスフレーズが向いています。大きな単語リストからランダムに単語を選ぶ方法で、たとえば7,776語の英単語からなるDicewareのリストを使い、サイコロを振って選びます。1語あたり約12.9ビットなので、4語で51.7ビット(ハッシュが漏れると不十分)、5語で64.6ビット、6語で77.5ビットとなり、6語がマスターパスワードにちょうどよい水準です。
6語ならmaple tundra spoon orbit velvet kettleのようになります(この例は公開済みなので使わないでください)。自分で考えた文、歌詞、有名な格言は、どれも解析用の辞書に入っています。大文字や区切り記号の効果は小さく、ランダムな単語を1つ増やすほうがはるかに効果的です。
パスワードマネージャーを使う
ランダムなパスワードを100個も覚えられる人はいません。パスワードマネージャーは、強いマスターパスワード1つで守られた暗号化された保管庫にパスワードを保存し、自動入力し、端末間で同期してくれます。ブラウザやスマートフォンに組み込まれたものから始めてもよいですし、Bitwarden、1Password、KeePassXCのような専用アプリなら、複数のブラウザや端末で使えて、より細かく管理できます。さらに、マネージャーは保存したサイトでしかパスワードを自動入力しないので、銀行のサイトにそっくりなページで自動入力されないときは、アドレスをよく確認してください。フィッシングサイトかもしれません。
- マネージャーを入れて、6語のパスフレーズをマスターパスワードにします。完全に覚えるまでは紙に書いて、自宅の安全な場所に保管します。
- マネージャー自体の二段階認証をオンにします。
- メール、銀行、スマートフォンやクラウドのアカウント、SNSなど、最も重要なアカウントから順に、16~20文字の新しいランダムなパスワードに変えます。
- 残りは、各サイトにログインするたびに少しずつ変えていきます。
二段階認証とパスキー
二段階認証(2FA)は、パスワードに加えてもう一つ別のものを求めるので、パスワードが盗まれただけではログインできません。ただし、2つ目の手段にも強さの差があります。
| 方式 | しくみ | 弱点 |
|---|---|---|
| SMS・メールのコード | スマートフォンやメールに使い捨てのコードが届く | SIMスワップ詐欺でSMSを乗っ取られることがあり、コードもフィッシングで盗まれうる |
| 認証アプリ | アプリが30秒ごとに変わる6桁のコードを表示する | オフラインでも使えるが、偽サイトにコードを入力させられる危険は残る |
| セキュリティキー・パスキー | 本物のサイトのドメインに結びついた公開鍵暗号 | よく似たドメインではブラウザが使わないため、フィッシングに強い |
パスキーは、パスワードそのものを置き換えます。端末が鍵のペアを作り、サイトには公開鍵だけが保存され、秘密鍵は端末やパスワードマネージャーの中に残って、指紋、顔認証、画面ロックで使えるようになります。使い回すものも、サーバーから漏れてログインに悪用されるものも、偽ページに入力するものもありません。サービスがパスキーに対応しているなら、たいていはそれが最も安全な選択です。どの方式でも、二段階認証をオンにするときに表示される復旧コードは、パスワードマネージャーか紙に保存しておきましょう。スマートフォンをなくしてもアカウントに入れなくならないようにするためです。
使い回しと漏えい
多くの人にとって最大のリスクは使い回しです。どこか1つのサイトから漏れると、同じパスワードを使っているすべてのアカウントがリスト型攻撃にさらされます。
Have I Been Pwnedのようなサービスでは、自分のメールアドレスが既知の漏えい事件に含まれているかを確認できます。このサービスのパスワード確認には、k-匿名性という手法が使われています。ブラウザ内でパスワードをSHA-1でハッシュ化し、ハッシュの先頭5文字だけを送るのです。たとえばpasswordのSHA-1ハッシュは5BAA61E4C9B9…で始まりますが、端末の外に出るのは5BAA6だけで、サービスはその5文字で始まる漏えい済みハッシュをすべて返し、照合は手元で行われます。ハッシュの変化はハッシュ生成ツールで確かめられます。本物のパスワードではなく、テスト用の文字列で試してください。きちんと作られたサイトは、単なるSHA-256ではなくbcryptやArgon2のような遅いアルゴリズムでパスワードを保存しますが、外からはそれがわからないので、サイトごとに別のパスワードを使うのが安全です。
パスワードが漏れたら、そのサイトと、同じまたは似たパスワードを使っていたすべてのサイトでパスワードを変え、ほかの端末のセッションからログアウトし、二段階認証をオンにしてください。
やってはいけないこと
- 名前、誕生日、ペット、電話番号、ユーザー名からパスワードを作らない。
- 文字の置き換えに頼らない。解析ツールにとって
P@ssw0rdはただの「password」です。 1q2w3e4rのようなキーボードの並びや、変更を求められるたびに数字を1つ増やすだけのやり方は使わない。- パスワードをメモ帳、表計算ファイル、自分宛てのメールにそのまま残したり、チャットで送ったりしない。共有が必要なら、パスワードマネージャーの共有機能を使う。
- 答えがネットで調べられる秘密の質問に、正直に答えない。ランダムな答えを作ってマネージャーに保存する。
- 識別子を秘密の値として使わない。UUID生成ツールは一意のIDを作るには最適ですが、IDはURLやログに残りやすく、バージョン7のUUIDは先頭がタイムスタンプです。
- よいパスワードを、定期的に変えること自体を目的にしない。変更を強制すると予測しやすい変形が生まれやすく、米国NISTのガイドライン(SP 800-63B)も、サービス側が定期変更を求めないよう勧めています。漏えいなどの理由があるときに変えれば十分です。