logo
GeekFormat

パスワード生成器

0
パスワード長
16chars
64
含める文字セット
一括生成

無料オンラインパスワード生成器。Web Cryptoの安全な乱数ソースに基づいて、強力なランダムパスワード、覚えやすいパスフレーズ、数字PINを生成します。強度チェック、混同しやすい文字の除外、一括エクスポートに対応。ブラウザのローカルで生成され、アップロードはゼロ。

関連おすすめ

ユースケース

  • 新規アカウント登録時に強力なランダムパスワードを生成し、エントロピーとクラック時間を確認してアカウントの安全を確保
  • チームやテスト環境のために一時的なパスワードを一括生成し、迅速に配布
  • 人が記憶する必要のあるWi-Fiパスワードやデバイスパスワード用に覚えやすいパスフレーズを生成
  • デバイスPINの設定、管理アカウントの初期化、パスワードのリセット
  • 弱いパスワードを、推測されやすい人為的なパスワードからランダムで高強度のパスワードに置き換え

特徴

  • 安全なランダム生成:ブラウザのWeb Crypto API(crypto.getRandomValues)の暗号論的に安全な乱数ソースに基づき、予測不可能なランダムパスワードを生成
  • 3つのパスワードモード:ランダムパスワード、覚えやすいパスフレーズ(単語の組み合わせ)、数字PINの3つのモードをサポートし、異なるセキュリティレベルに対応
  • 完全な強度チェック:文字プールサイズ、エントロピー計算、弱いパスワードのヒット検出、重複/連続文字のリスク、ブルートフォース時間の推定を表示
  • 混同しやすい文字の除外:0/O/1/l/Iなどの混同しやすい文字を除外でき、手動入力や電話での口述シナリオに適しています
  • 一括生成・エクスポート:5/10/20個のパスワードを一括生成し、TXTをワンクリックでダウンロード。チームの配布やテスト環境の初期化に便利
  • ローカル生成・アップロードなし:すべてのパスワードはブラウザのローカルで生成され、いかなるサーバーにも送信されません

使い方

  1. パスワードモードを選択:ランダムパスワード、覚えやすいパスフレーズ、または数字PIN
  2. パスワードの長さと文字セットオプションを設定(16文字以上を推奨)。混同しやすい文字の除外を有効にできます
  3. 強度チェック結果を確認:エントロピー、クラック時間の推定、弱いパスワードの検出
  4. パスワードをコピーするか、TXTファイルを一括エクスポートして登録、リセット、配布に使用

よくある質問

なぜ Math.random() ではなく Web Crypto API を使用するのですか?

Math.random() は汎用の疑似乱数生成器であり、セキュリティシナリオ向けに設計されていません。内部状態が逆推定される可能性があります。crypto.getRandomValues() はオペレーティングシステムの暗号論的に安全な乱数ソース(CSPRNG)を使用しており、生成される乱数は予測不可能で、パスワードや鍵などのセキュリティシナリオに適しています。

生成されたパスワードはサーバーにアップロードされますか?

いいえ。すべてのパスワードはブラウザのローカルで生成され、強度分析、エントロピー計算、クラック時間の推定もすべてローカルで完了します。開発者ツールのネットワークパネルを開くと、外部へのリクエストがゼロであることを確認できます。

パスワードはどのくらいの長さが安全ですか?

大文字小文字+数字+記号を含めて少なくとも12文字以上を推奨します。16文字のランダムパスワードは現代の計算能力ではブルートフォースに数億年かかります。長さが1文字増えるごとに、探索空間は指数関数的に増加します。上記のクラック時間テーブルを参照してください。

ランダムパスワードと覚えやすいパスフレーズはどちらが安全ですか?

同じ長さではランダムパスワードの方がエントロピーが高くなります。ただし、覚えやすいパスフレーズ(4〜6個のランダムな単語で構成)も総エントロピーが十分に高く(~60bit以上)、記憶しやすいため、手動入力が必要なシナリオに適しています。重要なのは、自分で作ったフレーズではなく、真にランダムに選択された単語であることです。

なぜ混同しやすい文字(0/O/1/l/I)を除外するのですか?

これらの文字は一部のフォントでは区別が難しく、入力ミスの原因となります。パスワードを手動で入力したり、電話で口述したり、印刷して配布する必要がある場合は、除外オプションを有効にすることを推奨します。パスワードマネージャーのみで使用する場合は、すべての文字を保持することでより高いエントロピーを得られます。

定期的にパスワードを変更する方が安全ですか?

NISTの最新ガイドライン(SP 800-63B)では、パスワードが漏洩したことが確認されない限り、定期的なパスワード変更は推奨されなくなりました。定期的な強制変更は、ユーザーが弱いパスワードを選択したり書き留めたりする原因になります。より良い方法は、長いランダムパスワード+パスワードマネージャー+二要素認証(2FA)を有効にすることです。

パスワードエントロピー(Entropy)とは何ですか?

エントロピーはパスワードの予測不可能性を測る指標で、単位はbitです。エントロピー = log₂(文字プールサイズ^パスワード長)。例えば、94個の印刷可能なASCII文字からランダムに選択された16文字のパスワードの場合、エントロピーは log₂(94¹⁶) ≈ 104 bit となります。エントロピーが高いほど、ブルートフォースが困難になります。

安全なパスワード生成器とは何ですか?

パスワード生成器は、ランダムで予測不可能なパスワードを生成するツールです。人がデザインしたパスワードとは異なり、真のパスワード生成器は**暗号論的に安全な疑似乱数生成器(CSPRNG)**を使用して指定された文字プールから文字をランダムに抽出し、人がパスワードを設定する際の固有の予測可能なパターン(名前+誕生日、qwertyのようなキーボードの連続入力、会社名+年など)を回避することで、クレデンシャルスタッフィング、辞書攻撃、ブルートフォースのリスクを大幅に低減します。

**なぜ Math.random() を使ってはいけないのか**:通常の疑似乱数生成器は内部状態が少量の出力から逆推定でき、攻撃者が後続の「ランダム」な数を予測できる可能性があります。このツールはブラウザのWeb Crypto APIであるcrypto.getRandomValues()を使用しており、オペレーティングシステムレベルのCSPRNG(Linuxのgetrandom、macOSのSecRandomCopyBytes、WindowsのBCryptGenRandomなど)を呼び出し、生成される乱数は暗号学的ランダム性テストに合格した予測不可能なものです。

**パスワード強度の核心はエントロピー(Entropy)です**:エントロピー = log₂(文字プールサイズ^パスワード長)、単位はbitです。例えば94個の印刷可能なASCII文字からランダムに選択された16文字のパスワードの場合、エントロピーは約104 bitであり、これは攻撃者が正しいパスワードを見つけるために平均で2¹⁰³回の試行が必要であることを意味します—毎秒1兆回試行しても、約2000億年かかります。

**覚えやすいパスフレーズ(Passphrase)**:ランダムに選択された複数の単語で構成され(例:Brave-Cloud-Star42)、ランダムパスワードより「単純」に見えますが、単語が真にランダムに選択されていれば総エントロピーは60 bit以上に達し、ほとんどのシナリオで十分に安全であり、同程度の強度のランダムパスワードよりもはるかに記憶しやすくなります。これはXKCD #936の有名なコミックとDicewareメソッドの中心的な考え方です。

**すべてのパスワードはブラウザのローカルで生成され**、いかなるサーバーにも送信されません。このツールは同時に強度チェックも提供します:エントロピー計算、ブルートフォース時間の推定、弱いパスワードパターンの検出(重複文字、連続した数字/文字、一般的な弱いパスワードのマッチング)により、生成されたパスワードの実際の安全強度を理解するのに役立ちます。

术语表

CSPRNG(暗号論的に安全な疑似乱数生成器)
Cryptographically Secure Pseudo-Random Number Generator。厳格な暗号学的ランダム性テストに合格した乱数生成器。出力は予測不可能であり、攻撃者が多くの過去の出力を知っていても将来の出力を推測することはできません。ブラウザのWeb Crypto APIは内部的にCSPRNGを使用しています。
パスワードエントロピー(Password Entropy)
パスワードの予測不可能性を測る指標で、単位はbit。計算式:エントロピー = log₂(N^L)、ここでNは文字プールサイズ、Lはパスワード長です。エントロピーが高いほど、ブルートフォースが困難になります。一般的に60 bit以上が安全、100 bit以上が非常に強力とされます。
ブルートフォース攻撃(Brute Force Attack)
可能なすべての文字の組み合わせを試してパスワードを推測する攻撃方法。防御方法は、組み合わせ数が物理的に数え上げられないほど大きくなる十分に長いランダムパスワードを使用することです。
辞書攻撃(Dictionary Attack)
一般的なパスワードのリスト(123456、password、qwertyなど)を使用して推測する攻撃方法。大多数のユーザーが一般的な弱いパスワードを使用しているため、ブルートフォースよりもはるかに効率的です。ランダムに生成されたパスワードは辞書攻撃に対して自然に免疫があります。
クレデンシャルスタッフィング(Credential Stuffing)
1つのウェブサイトから漏洩したユーザー名とパスワードを使用して、他のウェブサイトへのログインを試みる攻撃。防御方法は、ウェブサイトごとに一意のパスワードを使用し、Have I Been Pwnedでパスワードが漏洩していないか確認することです。
パスフレーズ(Passphrase)
複数のランダムな単語で構成されるパスワード/フレーズ。ランダムな文字のパスワードと比較して、単語のフレーズは記憶しやすく、単語数が十分であればエントロピーも同様に高くなります。Dicewareは最も有名なパスフレーズ生成方法で、7772個の単語リストからサイコロを使用してランダムに選択します。
Diceware
Arnold Reinholdが1995年に考案したパスフレーズ生成方法で、5つのサイコロを振って(7776個の単語リストから)1つの単語を決定します。6つのDiceware単語のエントロピーは約77 bitであり、ブルートフォースに対して十分な安全性があります。
NIST SP 800-63B
米国国立標準技術研究所が発行したデジタルアイデンティティ認証ガイドラインで、パスワードセキュリティ分野で最も権威のある参考文献です。2017年の更新後は、定期的なパスワード変更や特殊文字の強制を推奨しなくなり、代わりにパスワードの長さ、ブラックリスト検出、多要素認証を重視しています。
二要素認証(2FA/MFA)
パスワードに加えて2番目の認証方式(携帯電話の認証コード、TOTP、ハードウェアキーなど)を要求することで、パスワードが漏洩してもアカウントの安全を保護します。NISTはすべての重要なアカウントで2FAを有効にすることを推奨しています。
弱いパスワードのブラックリスト
公に漏洩したり、非常に一般的であったり、予測可能なパターンを含むパスワードのリスト。例:123456、password、admin、qwertyなど。NISTは登録時やパスワード変更時にブラックリストに含まれていないか確認することを推奨しています。

パスワード長とクラック時間の推定(大文字+小文字+数字+記号を含む)

パスワード長エントロピー(bit)組み合わせ数ブルートフォース時間(1兆回/秒)安全評価
6文字~37約1390億< 1秒❌ 非常に弱い
8文字~52約 2.2×10¹⁴約2.5日❌ 弱い
10文字~65約 3.7×10¹⁸約116年⚠️ 普通
12文字~78約 6.1×10²²約193万年✅ 強い
16文字~104約 6.3×10³⁰約2000億年✅✅ 非常に強い
20文字~131約 6.7×10³⁸宇宙年齢の億億倍✅✅✅ 破れない

3つのパスワードモード比較

モードフォーマット例典型的なエントロピー記憶しやすさ推奨シナリオ
ランダムパスワードxK9#mP2$vL8@nQ4!1文字あたり~6.5bit悪いパスワードマネージャーに保存するマスターパスワード、データベースパスワード、APIキー
覚えやすいパスフレーズBrave-Cloud-Star421単語あたり~10bit良い人が記憶する必要のあるWi-Fiパスワード、ログインパスワード
数字PIN4829171数字あたり3.3bit良いデバイスのロック画面、銀行カードPIN、ワンタイム認証コード

Authoritative References