パスワード生成器
暗号学的に安全なランダムパスワードをワンクリックで生成。すべてブラウザ内で完結し、サーバーに送信されません。
安全なパスワードの作り方
安全なパスワードとは、第三者に推測されにくく、総当たり攻撃(ブルートフォース)にも耐えうるパスワードのことです。以下のポイントを押さえることで、アカウントのセキュリティを大幅に向上できます。
1. 十分な長さにする
パスワードは最低12文字以上を推奨します。IPA(独立行政法人情報処理推進機構)や内閣サイバーセキュリティセンター(NISC)も12文字以上を推奨しています。可能であれば16文字以上が理想的です。
2. 複数の文字種を組み合わせる
大文字・小文字・数字・記号を組み合わせることで、1文字あたりの候補数が増え、総当たり攻撃に対する耐性が飛躍的に向上します。
3. ランダムに生成する
人間が考えたパスワードには無意識の偏りが生じます。本ツールのように暗号学的に安全な乱数(crypto.getRandomValues)を使った自動生成が最も確実です。
4. サービスごとに異なるパスワードを使う
1つのサービスから情報が流出した場合、同じパスワードを使い回していると他のサービスも危険にさらされます(パスワードリスト攻撃)。サービスごとに固有のパスワードを設定しましょう。
パスワードの長さと解読時間の関係
2024年時点のハードウェア性能を基準にした推定解読時間です。文字種を「大文字 + 小文字 + 数字 + 記号(約95文字)」とした場合:
| 文字数 | 推定解読時間 |
|---|---|
| 8文字 | 約39分(GPUクラスタで即座) |
| 10文字 | 約5年 |
| 12文字 | 約3万4千年 |
| 14文字 | 約2億年 |
| 16文字 | 約1兆年以上 |
| 20文字 | 天文学的時間(事実上解読不可能) |
上記はオフラインでの総当たり攻撃を想定した理論値です。実際のセキュリティはハッシュアルゴリズムやサルト、レート制限などの実装にも依存します。
パスワード強度の判定基準
本ツールでは、パスワードのエントロピー(情報量)に基づいて強度を判定しています。
エントロピーは「使用可能な文字の種類数(文字空間)」と「パスワードの長さ」から算出されます。
エントロピー = パスワードの長さ × log₂(文字空間のサイズ)
- 非常に弱い(28ビット未満): すぐに解読される危険性
- 弱い(28〜35ビット): 数時間〜数日で解読される可能性
- 普通(36〜59ビット): 一般的な用途には最低限
- 強い(60〜127ビット): ほとんどの用途で十分
- 非常に強い(128ビット以上): 最高レベルのセキュリティ
パスワードマネージャーの活用
多数の複雑なパスワードを記憶するのは現実的ではありません。パスワードマネージャー(1Password、Bitwarden、macOSキーチェーンなど)を活用し、マスターパスワード1つだけを覚える運用をおすすめします。
よくある質問
Q. このツールで生成したパスワードはサーバーに送信されますか?
いいえ。パスワードの生成はすべてブラウザ(JavaScript)内で完結しており、サーバーには一切送信されません。暗号学的に安全な乱数生成器(crypto.getRandomValues)を使用しています。
Q. パスワードは何文字以上がおすすめですか?
最低12文字以上を推奨します。銀行口座やメインのメールアカウントなど重要なサービスでは16文字以上が理想的です。文字数を増やすほどセキュリティは飛躍的に向上します。
Q. 記号を含めないと危険ですか?
記号を含めるとパスワード強度は上がりますが、記号を使えないサービスもあります。記号を除外する場合は、その分パスワードの長さを増やすことで同等のセキュリティを確保できます。
Q. 「紛らわしい文字を除外」とは何ですか?
0(ゼロ)とO(大文字オー)、1(いち)とl(小文字エル)とI(大文字アイ)など、見た目が似ている文字をパスワードから除外する機能です。パスワードを手動で入力する場面がある場合に便利です。
Q. 同じパスワードが複数のサービスで使い回されるとどうなりますか?
1つのサービスから情報が漏洩した場合、攻撃者は流出したパスワードを使って他のサービスにも不正ログインを試みます(パスワードリスト攻撃)。サービスごとに固有のパスワードを使うことが重要です。