安全なパスワードの作り方 — 強度の仕組みと対策
パスワードセキュリティの現状
インターネット上のサービスが増え続ける中、パスワードは依然としてアカウント保護の最前線にあります。しかし、多くのユーザーが短くて推測しやすいパスワードを使い回しているのが実情です。
情報漏洩事件で流出したパスワードのデータベースを分析すると、上位に並ぶのは「123456」「password」「qwerty」といった極めて脆弱なものばかりです。攻撃者はこうした傾向を熟知しており、最も一般的なパスワードから順に試行します。
主要な攻撃手法
パスワードを突破するために使われる代表的な攻撃手法を理解しておくことが、効果的な対策の第一歩です。
ブルートフォース攻撃(総当たり攻撃)
全ての文字の組み合わせを機械的に試す手法です。パスワードが短いほど、解読にかかる時間は劇的に短くなります。
| パスワード長 | 英小文字のみ | 英大小文字+数字+記号 |
|---|---|---|
| 4文字 | 数秒 | 数分 |
| 8文字 | 数時間 | 数年 |
| 12文字 | 数千年 | 数百万年 |
| 16文字 | 天文学的時間 | 事実上不可能 |
この表から分かるように、パスワードの長さが最も重要な防御要素です。
辞書攻撃
単語辞書に登録された語句やよく使われるパスワードのリストを使って試行する手法です。「sunshine」「welcome」「dragon」のような一般的な英単語は、数秒で突破されます。
日本語のローマ字表記(「sakura」「tokyo」「nihon」)も辞書に含まれている点に注意が必要です。
クレデンシャルスタッフィング
過去のデータ漏洩で流出したメールアドレスとパスワードの組み合わせを、他のサービスに対して自動的に試行する手法です。パスワードの使い回しが、この攻撃を成功させる最大の要因となります。
ソーシャルエンジニアリング
技術的な攻撃ではなく、人間の心理的な弱点を突いてパスワードを聞き出す手法です。フィッシングメール、偽のログインページ、電話での聞き取りなどが含まれます。
エントロピーとパスワード強度
パスワードの強度を定量的に評価する指標として「エントロピー」があります。エントロピーはビット単位で表され、値が大きいほどパスワードの予測が困難であることを意味します。
エントロピーの計算
エントロピーは以下の式で計算されます。
エントロピー = log2(文字種の数 ^ パスワード長)
= パスワード長 x log2(文字種の数)
文字種ごとの1文字あたりのエントロピーは次の通りです。
| 文字種 | 文字数 | 1文字あたりのエントロピー |
|---|---|---|
| 数字のみ | 10 | 3.32 bit |
| 英小文字のみ | 26 | 4.70 bit |
| 英大小文字 | 52 | 5.70 bit |
| 英大小文字 + 数字 | 62 | 5.95 bit |
| 英大小文字 + 数字 + 記号 | 94 | 6.55 bit |
たとえば、英大小文字と数字を使った12文字のパスワードのエントロピーは 12 x 5.95 = 71.4 bit となり、十分な強度といえます。一般的には60 bit以上が推奨され、80 bit以上あれば非常に強力です。
長さと複雑さのバランス
同じエントロピーを達成するには、複雑な文字種を使って短いパスワードにする方法と、シンプルな文字種でも長いパスワードにする方法があります。
8文字(英大小文字+数字+記号): 8 x 6.55 = 52.4 bit
16文字(英小文字のみ): 16 x 4.70 = 75.2 bit
この例が示すように、記号を含む複雑な8文字よりも、英小文字だけの16文字の方がエントロピーは高くなります。覚えやすく長いパスワードは、複雑で短いパスワードよりも安全なのです。
実践的なパスワード対策
パスフレーズを活用する
ランダムな単語を4つ以上組み合わせた「パスフレーズ」は、高いエントロピーと覚えやすさを両立できます。
例: correct-horse-battery-staple
長さ: 31文字
特徴: 覚えやすく、ブルートフォースに強い
ただし、有名なフレーズや歌詞、ことわざをそのまま使うのは避けてください。攻撃者のフレーズ辞書に含まれている可能性があります。
パスワードマネージャーを導入する
全てのサービスに固有の強力なパスワードを設定し、それを全て記憶するのは現実的ではありません。パスワードマネージャーを使うことで、以下のメリットが得られます。
- サービスごとに固有のランダムパスワードを生成
- 暗号化されたデータベースで安全に保管
- 自動入力によりフィッシングサイトへの誤入力を防止
- マスターパスワード1つだけを覚えればよい
代表的なパスワードマネージャーには、1Password、Bitwarden、KeePassなどがあります。
二要素認証(2FA)を有効にする
パスワードだけに頼らず、二要素認証を併用することで、セキュリティを大幅に強化できます。
| 認証方式 | 安全性 | 利便性 |
|---|---|---|
| SMS認証 | 中程度 | 高い |
| 認証アプリ(TOTP) | 高い | 中程度 |
| ハードウェアキー(FIDO2) | 非常に高い | やや低い |
| パスキー | 非常に高い | 高い |
SMS認証はSIMスワップ攻撃のリスクがあるため、可能であれば認証アプリやハードウェアキーの使用を推奨します。
やってはいけないこと
パスワード運用で避けるべき行為をまとめます。
- パスワードの使い回し: 1つのサービスが侵害されると、他のサービスも危険にさらされる
- 個人情報の使用: 誕生日、電話番号、ペットの名前は推測されやすい
- 単純なパターン: キーボード配列(qwerty)、連番(123456)、繰り返し(aaaaaa)
- メモの放置: 付箋にパスワードを書いてモニターに貼るのは論外
- 共有: 他人にパスワードを教えない(家族間でも個別アカウントを推奨)
パスワードの定期変更は必要か
かつては「パスワードは定期的に変更すべき」という考え方が主流でしたが、現在ではNIST(米国国立標準技術研究所)をはじめとする多くのセキュリティ機関が、定期変更を推奨しなくなっています。
理由は明確です。定期変更を強制すると、ユーザーは覚えやすい弱いパスワードを設定したり、末尾の数字を変えるだけの安易な変更をしたりする傾向があるためです。
パスワードの変更が必要なのは、以下のような場合に限られます。
- サービスからデータ漏洩の通知を受けた場合
- 不正アクセスの形跡がある場合
- パスワードを他人に知られた可能性がある場合
まとめ
安全なパスワードの基本は「長さ」「固有性」「管理方法」の3つに集約されます。12文字以上のランダムなパスワードをサービスごとに設定し、パスワードマネージャーで管理し、可能な限り二要素認証を有効にする。この3つの対策を実践するだけで、パスワードに関するリスクは大幅に低減します。
