長いパスワードと複雑なパスワードはどちらが安全?
短い文字列を複雑に見せるより、十分な長さ・予測されにくさ・固有性を組み合わせる理由を解説します。
長いパスワードと、大文字・小文字・数字・記号を混ぜた複雑なパスワードは、どちらが安全なのでしょうか。
短い文字列を人の規則で複雑に見せるより、十分な長さを確保し、予測されにくく、サービスごとに固有にすることが重要です。「長さだけ」「文字種だけ」の二択ではありません。
長さと複雑さの違い
長さ
パスワードの文字数です。同じ条件で完全にランダムなら、長くなるほど総当たりで試す候補は急激に増えます。
複雑さ
一般には、英小文字・英大文字・数字・記号などを混ぜることです。同じ文字数で完全にランダムなら、文字種が増えるほど理論上の候補も増えます。
しかし、人が作る文字列は先頭だけ大文字、末尾に数字と記号といった規則へ偏りやすく、文字種だけで実際の強さを判断できません。
なぜ長さが重視されるのか
総当たりでは、1文字増えるごとに組み合わせが大きく増えます。NISTの現行ガイドラインでは、単一要素のパスワードを最低15文字とし、一般的・予測可能・漏洩済み候補を拒否する考え方が示されています。また追加の文字種ルールを課さない方針です。
記号が無意味なのではありません。無理な文字種ルールが典型的な変形や安全でないメモにつながりやすく、長さ、ブロックリスト、レート制限、安全な保存を組み合わせる考え方です。
複雑に見えても弱い場合
一般的な単語の先頭を大文字にし、末尾へ数字と記号を付ける形式は、多くの文字種を含んでも予測される可能性があります。
- 単語を少し置き換えただけ
- 名前、誕生日、電話番号
- 単語と現在の西暦
- キーボードや数字の規則的な並び
- 同じ文字や短いパターンの繰り返し
- 有名な歌詞、名言、ことわざ
- 漏洩済みパスワードの末尾だけ変更
見た目の読みにくさと、攻撃者への予測しにくさは同じではありません。
長くても弱い場合
同じ文字の繰り返し、連番、アルファベット順などは、長くても早い段階で試される可能性があります。名前と誕生日を長くつなげても公開情報から推測される場合があります。
ランダム生成なら両立できる
パスワードマネージャーなら、人の規則に偏らない長いランダム文字列を生成できます。サービスが許す文字種を使い、長さと予測されにくさを同時に確保できます。
保管庫は、長いマスターパスワード、多要素認証またはパスキー、端末ロックで保護します。
パスフレーズなら覚えやすく長くできる
自分で記憶する必要がある場合は、互いに関係のない複数の単語をランダムに選んだ長いパスフレーズが選択肢です。自然な文章、名言、歌詞、個人の出来事は避けます。
記号や大文字は使わなくてもよい?
サービスが文字種を必須にしていれば条件を満たします。必須でなくても管理ツールでランダム生成すれば自然に混ぜられます。
覚えるパスフレーズでは、記号を無理に入れて忘れるより、十分な長さと予測されにくさを優先します。最大長や使用可能文字はサービスによって異なります。
何文字なら絶対安全とはいえない
人が作ったかランダム生成か、オンラインかオフラインか、レート制限、保存方式、漏洩済み候補か、計算資源などで変わります。固定の解読時間表を絶対的な保証として受け取らないでください。
長さや複雑さで防げない攻撃
- フィッシング:偽サイトへ入力すれば強い文字列そのものが盗まれる
- マルウェア:端末上の入力、クリップボード、保存情報が盗まれる
- パスワードリスト攻撃:別サービスから漏れた正解が使い回される
- ソーシャルエンジニアリング:担当者になりすまして秘密を聞き出す
利用者が選ぶ優先順位
- サービスごとに異なるものを使う
- 十分な長さを確保する
- ランダム生成またはランダムなパスフレーズを使う
- 一般的・漏洩済み・個人情報・規則的な候補を避ける
- パスワードマネージャーで保管する
- 多要素認証またはパスキーを有効にする
- 漏洩が疑われたときに変更する
サービス提供者側の設計
- 単一要素パスワードに十分な最小文字数を設定
- 少なくとも64文字程度までのパスフレーズを許容
- 一般的・予測可能・漏洩済み候補を拒否
- 文字種の混在だけに依存しない
- 途中で切り捨てない
- 貼り付けと自動入力を許可
- レート制限、多要素認証、パスキーを提供
- 低速ハッシュと個別ソルトで保存
弱い候補を拒否するときは、理由と改善方法を分かりやすく示します。
Googleログインを使う場合
第三者サービスごとに新しいパスワードを作らず、Googleのパスワードそのものを渡しません。Google用の認証情報を使い回さず、多要素認証やパスキー、端末一覧、復旧情報を確認します。
SECRET CLOUD
重要な入口を多層で守る
シークレットクラウドはGoogleログインを利用します。Googleアカウントと端末の画面ロックを保護し、対応していればパスキーや多要素認証を有効にしてください。
プライバシー設計を見るまとめ
短い文字列へ文字種を詰め込むより、十分に長く、予測されにくく、サービスごとに固有のものを選ぶことが重要です。長さだけでも見た目の複雑さだけでも決まりません。
覚えなくてよいものは管理ツールで長いランダム文字列を生成し、覚えるものは関係のない単語から長いパスフレーズを作ります。多要素認証やパスキーも組み合わせましょう。
参考情報
- NIST「SP 800-63B-4:Strength of Passwords」
- OWASP「Authentication Cheat Sheet」
- CISA「Secure Our World:Passwords Tip Sheet」
要件や推奨事項は更新される場合があります。利用時点の公式情報も確認してください。