安全なパスワードの条件
パスワードの強度は主に「文字数」と「使用する文字の種類数」によって決まります。文字種ごとの選択肢の数(英小文字のみなら26通り、全種なら90〜94通り)が、総当たり攻撃の計算量を直接左右するためです。
| 強度 | 条件 | 例 | 評価 |
|---|---|---|---|
| 弱 | 8文字以下、英字のみ | password |
数秒〜数分で解読可能 |
| 中 | 8〜11文字、英数字混在 | Pass1234! |
数時間〜数日。使い回しで危険度大 |
| 強 | 12文字以上、4種類混在 | Kp7#mQzX2@nL |
現在の技術では解読に数百年以上 |
「強」の条件を自力で満たすパスワードを毎回考えるのは現実的ではありません。パスワード生成ツールを使えば、条件を指定するだけで瞬時に安全なパスワードを生成できます。
NISC・IPA・NISTのガイドライン比較
NISC(内閣サイバーセキュリティセンター)
日本の政府機関のサイバーセキュリティ政策を担うNISCは、2023年度版「インターネットの安全・安心ハンドブック」において、以下の指針を示しています。
- 英大文字・英小文字・数字・記号を組み合わせた10文字以上のパスワードを設定する
- サービスごとに異なるパスワードを使用する(使い回し禁止)
- パスワード管理ツールの活用を推奨
- 「パスワードは定期変更するより、強力なパスワードを使い続ける方が安全」と明記
IPA(情報処理推進機構)
IPAは「情報セキュリティ10大脅威」や「パスワードの定期変更に関する見解(2024年改訂)」でパスワード管理のベストプラクティスを公開しています。主なポイントは次の通りです。
- 「できるだけ長く、予測が困難なパスワード」を推奨。具体的な最低文字数として10〜12文字が目安
- 多要素認証(MFA)の導入を強く推奨
- 漏洩情報照合サービス(Have I Been Pwned等)の活用を推奨
- パスワードの定期変更は「漏洩が疑われる場合のみ行えばよい」とし、義務的な定期変更を否定
NIST SP 800-63B(米国国立標準技術研究所)
NISTは2017年に発表した「デジタルアイデンティティ ガイドライン」(SP 800-63B) で、従来のパスワードポリシーを大幅に見直しました。2024年の最新改訂版(第4版ドラフト)でもその方向性は維持されています。
- 最低文字数は8文字だが、15文字以上を強く推奨
- 最大文字数は64文字以上を許容すべき(上限を短く設けてはいけない)
- 大文字・小文字・記号の使用を強制することは推奨しない(複雑な規則がかえってユーザーを予測可能なパターンに追い込むため)
- 定期変更の強制を禁止(漏洩が確認された場合のみ変更を求める)
- 漏洩パスワードリストとの照合を義務付け
| 機関 | 最低文字数 | 定期変更 | 多要素認証 | ポイント |
|---|---|---|---|---|
| NISC (日本) |
10文字以上 | 不要(漏洩時のみ) | 推奨 | 使い回し禁止を最重視 |
| IPA (日本) |
10〜12文字目安 | 不要(漏洩時のみ) | 強く推奨 | MFA+パスワードマネージャー推奨 |
| NIST (米国) |
8文字(15文字以上推奨) | 強制禁止 | 推奨 | 長さ重視・複雑さ強制を廃止 |
いずれのガイドラインも「長さ」と「ランダム性」を重視しており、実用上の最適解は12文字以上・4種類混在・サービスごとに異なるパスワードです。
避けるべきパターン
世界で最もよく使われる危険なパスワード TOP5
セキュリティ企業NordPassが毎年公開する「最も使われているパスワード」ランキングでは、以下のパスワードが常に上位に並びます。いずれも1秒以内に解読可能です。
123456— 数字の連番。最も一般的で最初に試されるpassword— 英語圏で圧倒的に多い。日本語圏では「パスワード」のローマ字入力も危険12345678— 8文字あっても連番では意味がないqwerty— キーボード最上段の左から6文字。キー配列攻撃の代表例abc123— アルファベット順+数字の組み合わせ。辞書攻撃で即座に解読される
避けるべきパターン一覧
- 辞書単語:
apple、summer、dragonなど英語辞書に載る単語はそのまま使わない - 個人情報: 生年月日(
19901015)、名前(yamada)、電話番号の一部はSNSや公開情報から推測される - キーボード配列:
qwerty、asdfgh、zxcvbn、1qaz2wsxなどは攻撃パターンに含まれる - 単純な置き換え:
p@ssw0rd(a→@、o→0)のような置き換えは攻撃辞書に収録済み - サービス名の組み合わせ:
google2024、amazon123など、サービス名+数字は最初に試される - 末尾に数字や記号を追加:
password1!のように既存パスワードの末尾に付加するだけでは強度が低い
パスワード解読時間の目安
| 文字数 | 英小文字のみ (26種) |
英大小文字 (52種) |
英大小文字+数字 (62種) |
全種(大小英数字+記号) (94種) |
|---|---|---|---|---|
| 6文字 | 約3秒 | 約2分 | 約6分 | 約49分 |
| 8文字 | 約2時間 | 約4日 | 約24日 | 約7年 |
| 10文字 | 約58日 | 約29年 | 約94年 | 約6万年 |
| 12文字 | 約109年 | 約7.9万年 | 約36万年 | 約5.4億年 |
| 16文字 | 約7.4万年 | 約2.1億年 | 約1.4兆年 | 約4.8京年 |
表から読み取れる重要な事実が2つあります。第一に、文字数を増やすことが最も効果的です。8文字から12文字に増やすだけで、全種使用時の解読時間は「7年」から「5.4億年」へと跳ね上がります。第二に、文字種を増やすことも有効ですが、文字数の効果の方が指数関数的に大きくなります。
なお、辞書攻撃(よく使われる単語リストを使う攻撃)では文字数に関係なく瞬時に解読されることがあります。上記の時間はあくまで「ランダムな文字列」を前提とした純粋な総当たり攻撃の場合です。
パスワード生成ツールの使い方
-
文字数と文字種を設定する
パスワード生成ツールを開き、文字数スライダーを12以上に設定します。使用する文字種(大文字・小文字・数字・記号)のチェックボックスを必要に応じてオンにしてください。記号が使えないサービスでは記号のチェックを外せます。 -
生成ボタンを押す
「パスワードを生成」ボタンをクリックすると、設定した条件を満たすランダムなパスワードが即座に表示されます。気に入らない場合は何度でも再生成できます。 -
コピーしてすぐに利用する
「コピー」ボタンを押してクリップボードに保存します。登録フォームに貼り付けると同時に、パスワードマネージャーにも保存してください。生成したパスワードをメモ帳に書き留めたり、ブラウザの標準保存機能だけで管理するのは避けてください。 - 強度バーで NIST 推奨レベルを達成 — NIST SP 800-63B は最低 8 文字・推奨 15 文字以上を示しています。強度バーで「強い」「非常に強い」レベルに達するまで長さや文字種を調整します。
- パスワードマネージャー保存と MFA 併用 — 1Password・Bitwarden・Apple Keychain に保存して自動入力。さらに TOTP (Google Authenticator) や WebAuthn (YubiKey) を 2 要素として組み合わせるのが現代の標準。
パスワード管理のベストプラクティス
パスワードマネージャーの活用
100以上のサービスアカウントをすべて異なるパスワードで管理しながら記憶することは不可能です。パスワードマネージャーを使えば、1つのマスターパスワードだけを記憶すれば、各サービスの複雑なパスワードを安全に管理できます。代表的なパスワードマネージャーには、1Password・Bitwarden(オープンソース・無料プランあり)・Dashlane・Keeper などがあります。OS標準のiCloudキーチェーン(Apple)やGoogleパスワードマネージャーも選択肢の一つです。
二要素認証(2FA)の重要性
二要素認証とは、パスワードに加えて「スマートフォンの認証アプリが生成するワンタイムコード」や「SMSで届くコード」などを組み合わせてログインする仕組みです。パスワードが漏洩しても、2つ目の認証要素がなければ不正ログインを防ぐことができます。Google・Apple・Microsoft・各種SNS・主要銀行などほとんどのサービスが2FAに対応しています。特にメール・金融・SNSのアカウントには必ず設定してください。
認証アプリとしては、Google Authenticator・Microsoft Authenticator・Authyなどが広く使われています。SMSよりも認証アプリの方が安全性が高く、SIMスワップ攻撃への耐性があるためより推奨されます。
パスフレーズ方式:覚えられる安全なパスワード
「どうしても自分で考えたパスワードを使いたい」という場面では、パスフレーズ方式が有効です。セキュリティ研究者のRandall Munroeが「correct horse battery staple」で有名にしたこの手法は、ランダムな単語を4〜5語スペースや記号でつなげるものです。
- 例:
piano cloud river 482 sunset - 例:
correct-horse-battery-staple
この方式は20文字以上になりやすく、ランダム性も高いため総当たり攻撃への耐性が極めて高い一方、人間が記憶しやすいという利点があります。ただし、単語を「予測しやすい組み合わせ」にしたり、有名なフレーズを使うと安全性が下がるため注意が必要です。
パスワードの保存方式について(技術的背景)
信頼できるサービスでは、ユーザーのパスワードを平文で保存せず、ハッシュ化という技術を用いて保存しています。ハッシュ化は一方向の変換で、パスワードから計算した値(ハッシュ値)のみを保存するため、データベースが漏洩してもパスワード自体は守られます。パスワードの保存にはbcrypt・Argon2・scryptなど、ブルートフォース攻撃に強い専用のアルゴリズムが使われます。ハッシュ化の詳細はハッシュ化とは? MD5・SHA-256の違いをご覧ください。