使い方
強いパスワードとは、攻撃者が現実的に推測できないパスワードです。形式的な標準指標が「エントロピー(bit)」で、同じ規則で生成可能なパスワード総数を表します。エントロピー = 長さ × log2(文字プールサイズ)。小文字のみ(位置あたり 26 通り)の 12 文字パスワードのエントロピーは 12 × log2(26) ≈ 56 bit。大文字・数字・記号(合計 約 94 通り)を加えると、12 文字で 12 × log2(94) ≈ 79 bit に跳ね上がります。差は莫大:56 bit ≒ 約 72 京通り、79 bit ≒ 約 600 垓通り。1 兆回/秒(高速ハッシュに対するハイエンド GPU の現実的レート)でクラックすると 56 bit は約 20 時間、79 bit は約 19,000 年。要点:長さと文字種の多様性は、どちらも指数的に効きます。
エントロピーは長さに対して線形、文字プールに対しては対数的にしか伸びないため、効率的なレバーは「長さ」です。12 文字の全印字可能パスワードに 1 文字追加すると ~6.5 bit 増加(クラック難易度は約 100 倍);小文字のみから「大小英字+数字」へ切り替えると約 24 bit 増(約 1,600 万倍)、ただし一度きりの効果。許可されるサイトでは、約 94 文字プールから 16 文字以上で約 105 bit に到達し、国家規模の攻撃者を含むあらゆる現実的攻撃者に対して「事実上クラック不能」と見なされます。NIST SP 800-63B は一般用途で 8 文字以上、機密用途で 12 文字以上を推奨。セキュリティ意識の高いユーザーはさらに長くを目指すべきです。
実用上のポイント。(1) 真の乱数性が重要。自分で考えた「ランダム風」パスワードはランダムではありません — 人間は特定の文字・単語・置換(「Sam」の代わりに「S@m」など)に偏り、クラッカーはそのパターンを徹底的にプロファイルしています。ブラウザの crypto.getRandomValues API(本ツールが使用)は文字プール上で真に一様な暗号学的乱数を出力します。(2) パスワードを使い回さない。最大の現実的リスクはクレデンシャル・スタッフィング:漏洩サイトの 50 bit パスワードがあなたの銀行に試される事例。長いマスター(25 文字以上のパスフレーズか 16 文字以上の乱数)を持つパスワードマネージャーを使い、サイトごとに固有のパスワードを自動生成させる。(3) 記憶しやすさは思うほど重要ではない。マネージャーがあればマスター 1 つだけ覚えればよく、その他は 30 文字以上の純粋ノイズで構わない。マスター用には EFF の Diceware 単語リストが 1 単語あたり ~13 bit を提供 — 「correct horse battery staple bishop」のような 5 単語パスフレーズで約 65 bit、覚えやすく非常に強力です。
計算式
長さ は文字数、プールサイズ は各位置で取り得る文字数(有効化した文字種で決まる)。総当たり推定の「/2」は、平均的に攻撃者が探索空間の半分で発見することを反映しています。
計算例
- 16 文字のパスワードを「小文字 + 大文字 + 数字 + 記号」(94 文字プール)で生成。
- エントロピー = 16 × log2(94) = 16 × 6.554 ≈ 105 bit。
- 高速ハッシュに対して 1 兆(10^12)回/秒で試行すると、期待クラック時間 = 2^105 / 2 / 10^12 ≈ 6.4×10^20 秒、つまり約 2×10^13 年 — 宇宙の年齢より桁違いに長い。
- 比較:8 文字小文字のみは 8 × log2(26) ≈ 38 bit、2^38 / 2 / 10^12 ≈ 0.14 秒でクラック可能。同じ長さで全文字種を使えば 8 × log2(94) ≈ 52 bit → 約 2,250 秒(約 37 分)。長さは文字種多様性より重要。
よくある質問
このパスワード生成器は安全ですか?パスワードはどこへ送信されますか?
すべてブラウザ内で window.crypto.getRandomValues を使って生成 — 現代のブラウザに組み込まれた暗号学的に安全な乱数源。ネットワーク送信・ログ記録・保存・サーバー転送は一切ありません。生成中にブラウザの開発者ツール(Network タブ)を開けば、リクエストがゼロであることを確認できます。本ページは静的配信のため、仮にサーバーが侵害されても生成ロジックはローカルで実行されます。極度の用心には、オフライン端末で生成するか、信頼前にソースコードを確認してください。ブラウザの crypto API は TLS、パスワードマネージャー、署名処理を支えるのと同じプリミティブで、日常的に信頼している暗号操作と同等の安全性です。
パスワードはどのくらいの長さが必要ですか?
大半のアカウント:全文字種から 16 文字(約 105 bit)は、現在および近い将来の現実的な攻撃者に対して快適に安全です。重要度の低い使い捨てアカウント:12 文字で十分(約 79 bit)。パスワードマネージャーのマスター:20 文字以上または Diceware の 5〜7 単語パスフレーズ。文字種制限のあるシステム(「大文字・数字・記号を 1 つずつ必須」など)では本ツールが反映済みです — 効果的エントロピーが減るぶん長めに生成してください。必要なければ無駄に長すぎる(50 文字超)パスワードは避ける — 自動入力やコピーで UX 摩擦を生む割に、約 100 bit を超えるとセキュリティ的な実利は乏しい。
ランダム文字列の代わりに「パスフレーズ」はどうですか?
正しく生成すれば、覚えやすさと強いエントロピーを両立できる優れた方法です。EFF の Diceware 長単語リスト(約 7,800 の一般的英単語)は、一様乱数で 1 単語あたり約 12.9 bit を提供。5 単語 = 約 65 bit(中程度のセキュリティに良い)、7 単語 = 約 90 bit(14 文字の乱数に匹敵し非常に強い)、9 単語 = 約 115 bit(パラノイア級)。重要:単語は「自分で選ぶ」のではなく「真に乱数で選ぶ」必要があります。自分で選んだ「覚えやすいフレーズ」は、よく使われる単語・歌詞・引用・文法パターンに偏り、クラッカーがそこを突きます(有名な XKCD「correct horse battery staple」は、サイコロで引かれたから機能するのであって、選ばれたからではない)。EFF の Diceware ページや、パスフレーズ生成機能付きのパスワードマネージャーが正しく実装しています。欠点:入力が長く、ミスしやすく、多くのサイトが 7 単語以上を許さない長さ上限を設けている。マスター用と長さを許すサイトに使い、他は乱数文字列を。