パスワードジェネレーター
Web Crypto APIを使用して、任意の長さの暗号的にランダムで強力なパスワードを作成します。文字セットと長さをカスタマイズし、エントロピースコアを表示し、ワンクリックでコピーします。
Verizon 2023年データ侵害調査報告書によると、弱いまたは再利用されたパスワードはハッキングによるデータ侵害の80%を占めています。大文字、小文字、数字、記号を組み合わせた16文字のパスワードは、1028以上の可能な組み合わせを持ち、現在のハードウェアでブルートフォース攻撃を行うには数十億年かかります。このジェネレーターは、オペレーティングシステムやセキュリティライブラリで使用されるのと同じCSPRNGであるブラウザのcrypto.getRandomValues() APIを使用します。NIST特別出版物800-63Bでは、最低8文字を推奨しています。セキュリティ専門家は広く16文字以上を推奨しています。生成されたパスワードは、サーバーに送信されることはありません。
パスワードの生成方法
- スライダーまたは入力フィールドを使用して、希望のパスワードの長さを設定します(8-128文字)。
- 含める文字タイプを選択します:大文字、小文字、数字、記号。
- 生成をクリックして新しいパスワードを作成します。
- エントロピースコアと強度インジケーターを確認します。
- コピーをクリックしてパスワードをクリップボードにコピーします。
- 生成されたパスワードをすぐにパスワードマネージャーに保存します。
パスワードの強度について
エントロピーと文字セットのサイズ
パスワードの強度はエントロピーのビット数で測定されます - 総可能な組み合わせの対数(底2)。文字セットのサイズNを使用した長さLのパスワードは、L × log₂(N)ビットのエントロピーを持ちます。文字セットのサイズ:小文字のみ = 26; + 大文字 = 52; + 数字 = 62; + 32の一般的な記号 = 94。フル94文字セットからの16文字のパスワードは、約104.7ビットのエントロピーを持ちます。NISTは、2030年までのほとんどのセキュリティアプリケーションに対して112ビットのエントロピーが十分であると考えています。
なぜ長さが複雑さより重要か
1文字を追加すると、検索空間が文字セットのサイズで乗算されます。20文字の小文字のみのパスワード(約94ビットのエントロピー)は、すべての文字タイプを含む10文字のパスワード(約65ビット)よりもブルートフォース攻撃に対して強力です。NIST SP 800-63Bとセキュリティ研究者は、必須の複雑さルールよりも長さを優先することを推奨しています。これらのルールは、予測可能なパターンを生み出すことがよくあります - 最初は大文字、最後は数字、!が最後に来る。
例
生成されたパスワード(16文字、すべての文字タイプ)
kR9#mXv2@TqL5!nW
長さ: 16文字
エントロピー: ~104.7ビット
文字セット: 94 (a-z, A-Z, 0-9, 記号)
クラッキング時間: 現在のハードウェアで数十億年
NIST SP 800-63Bガイドライン
- 最小長さ: ユーザーが選択したパスワードは8文字以上; 最大64文字まで許可
- 必須の複雑さルールなし: NISTの2017年の改訂では、大文字、数字、記号の要件が削除されました - これらのルールは弱く、予測可能なパターンを生み出します
- 定期的な強制変更なし: 妥協の証拠がない限り、強制的なローテーションはもはや推奨されません
- 侵害されたパスワードに対してチェック: パスワードは、HaveIBeenPwnedのPwned Passwordsリストなどのデータベースに対して確認する必要があります
- パスフレーズは有効: ランダムな単語の長いパスフレーズは、代替手段として明示的に奨励されています
ベストプラクティス
- パスワードマネージャーを使用する(1Password、Bitwarden、KeePass) - ランダムなパスワードを記憶しないでください
- すべてのアカウントに対してユニークなパスワードを生成する - 再利用は、一度の侵害で全アカウントが露出します
- パスワードマネージャーのマスターパスワードには、ランダムな文字列の代わりに5単語以上のパスフレーズを使用してください
- すべての重要なアカウントで強力なパスワードとともに二要素認証を有効にしてください
暗号的にランダムな識別子(パスワードではない)を生成するには、UUIDジェネレーターを使用してください。設定ファイルやHTTPヘッダーでパスワードをエンコードするには、Base64エンコーダーがバイナリセーフな輸送を処理します。
よくある質問
生成されたパスワードはどこかに保存またはログされますか?
いいえ。パスワードは完全にブラウザ内でcrypto.getRandomValues()を使用して生成されます。サーバーに送信されることはなく、ログも取られず、ページを閉じたり更新したりすると消えます。生成中にブラウザのネットワークタブを開くと、外向きのリクエストがゼロであることがわかります。
パスワードはどのくらいの長さにすべきですか?
NIST SP 800-63Bでは、最低8文字が設定されています。セキュリティ専門家は、ほとんどのアカウントには少なくとも16文字、高価値アカウント(メール、銀行、パスワードマネージャーのマスター)には20文字以上を推奨しています。94文字のセットを使用した16文字のパスワードは、約105ビットのエントロピーを持ち、現在または近い将来のハードウェアではブルートフォース攻撃が不可能です。
パスワードに記号を含めるべきですか?
はい、サービスが許可している場合は。記号を含めることで、文字セットが62から94文字に増加し、各文字あたり約0.66ビットのエントロピーが追加されます。16文字を超える場合、約10.5ビットの追加になります。より大きな利点は長さから来ます:20文字の英数字パスワードは、すべての記号を含む12文字のパスワードよりも強力です。
ランダムパスワードとパスフレーズの違いは何ですか?
ランダムパスワードは、最小の長さで最大のエントロピーを最適化したランダムな文字の文字列です。パスフレーズは、記憶しやすさと引き換えに長さを取るランダムな単語の列(例:correct-horse-battery-staple)です。5単語のダイスウェアパスフレーズ(7,776単語の単語リスト)は、約65ビットのエントロピーを持ちます。パスワードマネージャーのエントリーには、ランダムな文字パスワードを使用してください。マスターパスワードには、記憶できるパスフレーズを使用してください。
このジェネレーターをWi-FiパスワードやAPIトークンに使用できますか?
Wi-Fi(WPA2/WPA3)には、すべての文字タイプを含むランダムな20文字のパスワードが優れています - デバイスで入力する前に保存してください。SSHキーやAPIトークンには、手動のパスワード生成ではなく、専用の生成コマンド(ssh-keygen、APIプロバイダーのトークン作成フロー)を使用してください。