パスワード生成
推測されにくいランダムパスワードを端末内で生成します。NIST SP 800-63B「長さ重視・複雑性強制不要」のモダンポリシーに準拠し、crypto.getRandomValues(暗号用乱数)でモジュロバイアス対策+Fisher-Yatesシャッフルを行います。
本ツールの特長
- ・暗号用乱数を採用:crypto.getRandomValues(CSPRNG)で予測不能性を確保
- ・モジュロバイアス対策あり:範囲超過の乱数は捨てて引き直し、確率分布を均一に
- ・各文字種から最低1文字保証:選んだ文字種がすべて含まれることを保証
- ・Fisher-Yates シャッフル:偏らない並べ替えで予測困難性を確保
- ・NIST SP 800-63B 準拠:8〜64文字に対応、複雑性要件の強制なし
- ・端末内処理:生成結果は外部送信ゼロ、ログにも残りません
5ステップで使う
- パスワードの長さを決める(推奨12〜16文字以上・重要アカウントは20文字以上)
- 含める文字種を選ぶ(大文字・小文字・数字・記号)
- 紛らわしい文字(l・1・I・O・0・o)の除外を選ぶ
- 生成する個数を指定(1〜10個)
- 生成→コピーしてサインアップ画面やパスワードマネージャーに貼り付け
パスワード設計の3軸と本ツールの実装
安全なパスワードは「長さ」「文字種」「予測不可能性」の3軸で決まります。NIST SP 800-63B §5.1.1.1 は「最低8文字」を要件とし、サブスクライバ選択時は最大64文字まで受け入れることを推奨しています(実体的にこの範囲が現代の基準)。本ツールはこのレンジに対応します。
長さ最重視の理由:パスワードのエントロピー(情報量)は log₂(文字種数 × 文字数)で増えますが、文字数1つ増やすほうが文字種を追加するより寄与が大きいケースがほとんどです。例えば「英大小数字(62種)の12文字」と「英大小数字記号(94種)の10文字」では、前者のほうがエントロピーが高くなります(71.5ビット 対 65.5ビット)。
複雑性要件「強制せず」:NIST SP 800-63B(2017改訂版)は、サイト側が「大小・記号必須」を強制すべきでないとしています。理由は、複雑性要件を強制するとユーザーが「Password1!」「Aa123456!」のような予測可能なパターンを選びがちで、かえって弱くなるためです。本ツールは選択制で、好みのポリシーに合わせられます。
crypto.getRandomValues と Math.random の違い:本ツールは前者を使います。前者はOS/ブラウザの暗号用乱数源(CSPRNG)で予測不能性が確保されますが、後者は擬似乱数(PRNG)で内部状態が推測されると次の値が予測可能になり、暗号用途には適しません。
モジュロバイアス対策:32ビット乱数を「文字プール長」で割った余りを使うと、プール長が2の冪乗でない限り分布が偏ります。本ツールは「割り切れる上限を超えた乱数は捨てて引き直す」棄却サンプリングを行い、均一分布を保ちます。
こんなときに便利
総務省・NISCの三原則への適合
総務省「国民のためのサイバーセキュリティサイト」は安心・安全なインターネット利用のための三原則として、「ソフトウェアを最新に保つ」「強固なパスワード設定と多要素認証の活用」「不用意に開かない・インストールしない」を挙げています。 本ツールは2番目の「強固なパスワード設定」を端末内のみで補助するもので、IPA・JPCERT/CC・NISCのいずれが示すガイダンスにも整合します。 生成したパスワードはパスワードマネージャー保存+多要素認証(SMS・認証アプリ・ハードウェアキー)併用が、日本国内のガイダンスでも世界標準でも推奨される運用です。
ご利用にあたって
本ツールはブラウザを閉じればメモリ上から生成結果が消えますが、クリップボードにコピーしたパスワードは別のアプリやOSの履歴に残ることがあります。 共有PC・公共PCでの利用は避け、コピー後すぐに目的のサイトに貼り付け、不要になったら別の文字列をコピーしてクリップボードを上書きしてください。 重要なアカウントは本ツール+パスワードマネージャー+多要素認証の三段構えで運用することをおすすめします。 本ツールはオフライン環境(ネット接続を切った状態)でも動作します。
よくある質問
Q1. 生成したパスワードはサーバーに送信されますか?
A. 送信されません。生成はブラウザに内蔵された暗号用乱数(crypto.getRandomValues)で端末内のみで行われ、サーバーには一切送信・保存されません。サイト側の通信ログにも残りません。
Q2. 何文字くらいにすれば安全ですか?
A. 一般的なアカウントは英大小数字で12文字以上、銀行・メイン業務アカウントなど重要度の高いものは16〜20文字以上が目安です。NIST SP 800-63Bは長さを最重要視し、複雑性要件より文字数のほうがエントロピー寄与が大きいと示しています。
Q3. 「紛らわしい文字を除く」とは何ですか?
A. 小文字のl(エル)と数字1、大文字Oと数字0、小文字oなど見分けにくい文字を除外する設定です。紙にメモして手入力する場面や、フォントによって字形が似て見える場面での打ち間違いを防げます。
Q4. 大文字・小文字・数字・記号を全部混ぜないとダメですか?
A. NIST SP 800-63B(2017改訂)は「文字種の強制要件は不要」としています。長さを十分とり、推測されないランダム性があれば必須ではありません。ただしサイト側で「英大小数字記号必須」と求められた場合はそれに合わせて文字種を有効化してください。
Q5. パスフレーズ(複数単語の連結)とどちらが良いですか?
A. どちらもエントロピーが十分なら安全です。記憶のしやすさを重視するならパスフレーズ、貼り付け運用なら本ツールのランダム文字列が向きます。パスワードマネージャー併用なら覚える必要がないため、最長クラスのランダム文字列がおすすめです。
Q6. 同じパスワードを別サイトで使い回しても良いですか?
A. やめてください。1つのサイトで漏えいすると、同じパスワードを使った全サイトで連鎖的にアカウント乗っ取り(クレデンシャルスタッフィング攻撃)が起きます。本ツールで毎回個別生成し、パスワードマネージャーで保存するのが鉄則です。
Q7. パスワードは定期的に変更すべきですか?
A. NIST SP 800-63Bは「強制定期変更は推奨しない」立場です。漏えい時・流出疑い時のみ変更で十分とされます。総務省・IPAも同様に、頻繁な変更要求はかえって弱いパスワードを生むと注意しています。
Q8. 生成したパスワードをメモするにはどうすれば?
A. パスワードマネージャー(1Password・Bitwarden・iCloud Keychainなど)への登録が最も安全です。紙に書く場合は施錠した場所に保管し、付箋でPCに貼るのは避けてください。
Q9. 多要素認証(MFA)があればパスワードは適当でも良い?
A. いいえ。MFAは「第二の壁」であり、第一の壁であるパスワードも強固にしておく必要があります。総務省サイバーセキュリティサイトも「強固なパスワード設定」と「多要素認証の活用」を別個の三原則項目として並列に挙げています。