「覚えられるパスワード」は安全ではない

毎年発表される「最も使われているパスワードランキング」の上位には、123456passwordqwerty などが並びます。これらは攻撃ツールが最初に試す候補であり、数秒で突破されます。

しかし本当の問題はこれだけではありません。Tanaka@1990(苗字+記号+生年)のように「覚えやすい工夫をした」パスワードも、辞書攻撃・マスク攻撃によって比較的短時間で解読されてしまいます。

警告

パスワードの使い回しは最大の危険因子です。 世界中で流出したパスワードデータベースには数十億件のクレデンシャルが存在します。一つのサービスが侵害されれば、同じパスワードを使い回している他の全サービスが連鎖的に乗っ取られます——これを「クレデンシャルスタッフィング攻撃」と呼びます。


パスワードクラッキングの現実

現代のGPUを使ったパスワードクラッキングがどれほど速いかを知ると、長くランダムなパスワードが必要な理由が実感できます。

パスワード例文字種ハッシュアルゴリズム解読時間の目安
abc123英小文字+数字MD5即時(秒以下)
Password1英大小文字+数字MD5数秒〜数分
P@ssw0rd!英大小文字+数字+記号MD5数時間(よくあるパターンとして辞書に載っている)
tr0ub4dor&3辞書単語の変換bcrypt数日〜数週間
X#mK9!pQ2wLランダム12文字bcrypt数百年〜
correct horse battery stapleランダム単語4つ(パスフレーズ)bcrypt数千年〜
ポイント

ハッシュアルゴリズムの選択も重要です。古い MD5・SHA-1 は計算が非常に速いため、GPUによる総当たり攻撃が有効です。パスワード保存には bcrypt・Argon2・scrypt など計算コストが高いアルゴリズムを使うべきです(これはサービス側の実装の話です)。


NIST が推奨するパスワードポリシー(2024年改訂)

NIST SP 800-63B(2024年改訂)では、従来の「定期変更」「複雑さルール」を見直し、より実践的なガイドラインを示しています。

推奨事項

  • 最低15文字以上(特に重要なアカウントは20文字以上)
  • ランダム生成されたパスフレーズの使用
  • パスワードマネージャーの活用を推奨
  • 過去の漏洩データベースに含まれるパスワードを拒否する

廃止・非推奨

  • ✗ 定期的な強制変更(変更すべき理由がない限り不要)
  • ✗ 「大文字・数字・記号を含む必須」ルール(Pa$$w0rd! のような予測可能なパターンを生む)
  • ✗ セキュリティの質問(「母親の旧姓は?」などはSNSから推測可能)
ヒント

パスフレーズは覚えやすく、かつ強力です。 ランダムに選んだ4〜5単語の組み合わせは、記号を混ぜた短いパスワードよりも強力で、しかも記憶しやすい特性があります。


パスワードマネージャーの導入

理想的なパスワード戦略は「全サービスで異なる、長くランダムなパスワードを使う」ことですが、人間の記憶力では到底不可能です。パスワードマネージャーはこれを実現する唯一の現実的な手段です。

主なパスワードマネージャーの比較

サービス名タイプ無料枠特徴
1Passwordクラウド同期なし(14日間無料トライアル)UIが洗練されており、家族・チーム共有が強力
Bitwardenクラウド/セルフホスト基本機能は無料オープンソース・セルフホスト対応
Dashlaneクラウド同期1デバイスのみ無料VPN内蔵・ダークウェブ監視機能あり
KeePassXCローカル保存完全無料データが手元に留まる・完全オフライン
iCloud キーチェーンApple 統合Appleデバイスは無料Appleデバイス間でシームレスに同期

パスワードマネージャー選択のポイント

  1. マスターパスワードの強度 — パスワードマネージャー自体のパスワードが最も重要。ここだけは長いパスフレーズを記憶する
  2. ゼロ知識暗号化(Zero-Knowledge) — サービス提供者側でも解読できない設計かどうか
  3. MFA 対応 — マネージャー自体に2段階認証を設定する
  4. デバイス間同期 — 使うデバイス(PC・スマートフォン)で利用できるか

Bitwarden での基本的な使い方

# Bitwarden CLI のインストール(npm が必要)

npm install -g @bitwarden/cli

# ログイン

bw login

# ランダムパスワードの生成(20文字、英数字+記号)

bw generate —length 20 —uppercase —lowercase —number —special

# 保存されているパスワードの一覧

bw list items

# 特定のアイテムを検索

bw list items —search “gmail”

注意

マスターパスワードを忘れるとデータは復元できません。 ゼロ知識設計のサービスではリセット手段がないため、マスターパスワードを紙に書いて金庫など安全な場所に保管しておくことを推奨します。


漏洩チェック:自分のパスワードは既に流出していないか

サービスの侵害によって自分のメールアドレスやパスワードが流出していないかを確認できます。

Have I Been Pwned(HIBP)

https://haveibeenpwned.com でメールアドレスを入力すると、過去のデータ漏洩事件に含まれているかを確認できます。k-匿名性という仕組みを採用しており、パスワードのフルハッシュが外部に送信されることはありません。

# HIBP API でメールアドレスの漏洩確認(公開API)

curl “https://haveibeenpwned.com/api/v3/breachedaccount/[email protected]
-H “hibp-api-key: YOUR_API_KEY”

# パスワードハッシュの前5文字だけを送信して確認(k-匿名性)

# SHA-1(“password”) = 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8

# 最初の5文字だけ送る

curl “https://api.pwnedpasswords.com/range/5BAA6

# レスポンスに自分のハッシュの残り部分が含まれていれば漏洩済み


次世代認証:パスキー(Passkeys)

パスキーはパスワードを完全に置き換える新しい認証方式です。FIDO2/WebAuthn 標準に基づき、フィッシング耐性が非常に高い特性を持ちます。

パスキーの仕組み

登録時:
  デバイスが公開鍵・秘密鍵のペアを生成
  公開鍵 → サーバーに登録
  秘密鍵 → デバイス(TPM / Secure Enclave)に保存

認証時:
  サーバーがチャレンジ(乱数)を送信
  デバイスが秘密鍵でチャレンジに署名
  サーバーが公開鍵で署名を検証 → 認証成功

パスキーのメリット

  • フィッシング耐性 — 秘密鍵はデバイス外に出ないため、偽サイトに誘導されても認証情報を奪われない
  • パスワード不要 — 「パスワードを入力する」という操作自体がなくなる
  • 生体認証連携 — 指紋・顔認証でロック解除するだけでログインできる
  • クラウド同期 — iCloud キーチェーン・Google パスワードマネージャーで複数デバイスに同期可能

2026年のパスキー対応状況

Google・Apple・Microsoft の主要アカウントすべてがパスキーに対応済みです。GitHub・Shopify・Amazon・1Password などの主要サービスも対応しています。

ヒント

使っているサービスがパスキーに対応しているかは https://passkeys.directory で確認できます。対応しているサービスから積極的にパスキーへ移行することをおすすめします。


理解度チェック

パスワードマネージャーの「ゼロ知識暗号化」とはどういう意味ですか?

理解度チェック

パスキー(Passkeys)がフィッシング耐性を持つ主な理由はどれですか?