安全なパスワードを決める2つの要素
パスワードの安全性(破られにくさ)は、「文字数(長さ)」と「使用する文字の種類の広さ(文字種プールのサイズ)」の掛け算で決まります。この2つから求められる指標をエントロピーと呼び、ビット数で表します。計算式は次の通りです。
エントロピー(bit)= 文字数 × log₂(文字種プールの数)
当サイトのパスワード生成ツールも、この式をそのまま使って強度メーターの数値を計算しています。以下は、実際に当サイトで選択できる文字種の組み合わせをもとに算出した、具体的な数値の一覧です。
【実測データ】文字数・文字種ごとの強度と解読目安時間
※ 総当たり攻撃(ブルートフォース攻撃)で、1秒間に10億回(109回)の試行が可能なオフライン環境を想定した目安時間です。実際の攻撃環境や対象システムの防御策(試行回数制限など)によって変動します。
| 構成 | 文字数 | プールサイズ | エントロピー | 解読目安時間 |
|---|---|---|---|---|
| 数字のみ(暗証番号) | 4桁 | 10種類 | 約13.3 bit | 1秒未満 |
| 英小文字のみ | 8文字 | 26種類 | 約37.6 bit | 約104秒 |
| 英大小文字+数字 | 8文字 | 62種類 | 約47.6 bit | 約30時間 |
| 英大小文字+数字 | 12文字 | 62種類 | 約71.4 bit | 約5.1万年 |
| 英大小文字+数字+記号(標準モード) | 16文字 | 94種類 | 約104.9 bit | 約586兆年 |
| 英大小文字+数字+記号(最強モード) | 24文字 | 94種類 | 約157.3 bit | 天文学的(事実上解読不可能) |
この表から分かる通り、「英小文字のみ8文字」(約104秒)と「英大小文字+数字+記号16文字」(約586兆年)では、解読時間に天文学的な差が生まれます。文字数を2倍にするより、使用する文字種を1種類増やす方が、実は効率よくエントロピーを高められるケースもあります。当サイトのパスワード生成ツールでは、生成するたびにこの計算をリアルタイムで行い、実際のエントロピーと解読目安時間を表示しています。
避けるべきパスワードの例
- 「password」「123456」などの単純な文字列(辞書攻撃で瞬時に破られます)
- 生年月日、電話番号、名前など推測されやすい個人情報
- キーボードの配列順(qwerty など)
- 辞書に載っている単語をそのまま使う
- 複数のサービスで同じパスワードを使い回す
覚えやすさと安全性を両立するには
長く複雑なパスワードは安全ですが、覚えるのが難しいという課題もあります。当サイトの「覚えやすい」モードは、40種類の単語リストから重複しない2語を選び、4桁の数字(1000〜9999)を組み合わせる方式です。組み合わせ数は 40×39×9000=1,404万通り(約23.7 bit)となり、単純な単語の組み合わせよりも推測されにくい設計にしています。ただし、特に重要なアカウントについては、パスワード管理アプリと組み合わせて「最強」モードの完全ランダムな文字列を使うことをおすすめします。
関連:当サイトが備える「現場で使える」独自機能
「安全なパスワードを作りたい」という目的は同じでも、現場では「業務システムの文字数制限に合わせたい」「記号の , ; : ' " を使ってはいけない」「先頭を大文字にしなければならない」といった追加要件がつきものです。パスワード生成ツールでは次のような機能を標準で搭載しています。
- 文字数の完全カスタム:スライダー+数字入力で 4〜128 文字を1刻みで指定可能
- 必含ルール:チェックを入れた文字種(大文字・数字・記号など)を必ず最低1文字含める
- 頭文字の指定:「先頭を英大文字で開始」など、企業ポリシーに対応
- 追加で除外する文字:システムが受け付けない記号を自由入力で除外
- 設定の自動保存+URLで共有:自分のブラウザ設定を記憶し、URLとして配布できる