パスワード生成ツール

暗号論的に安全な乱数(crypto.getRandomValues)を使い、すべてブラウザ内で生成します。生成したパスワードがネットワークに送信されることはありません。

生成結果(クリックでコピー)

このツールの安全性について

パスワード生成には2つの懸念がつきものです。1つは「生成サイトに送信・記録されていないか」、もう1つは「乱数の質」。本ツールは生成処理がすべてブラウザのJavaScript内で完結し、通信は発生しません(ページを開いた後はオフラインでも動きます)。乱数には疑似乱数の Math.random() ではなく、暗号用途向けの crypto.getRandomValues() を使用しています。

強度(ビット)の目安

表示している「約◯ビット」は、総当たり攻撃に対する理論的な強さです。80ビット以上が当面安心の目安、重要なアカウントには100ビット以上(記号込み16文字程度)を推奨します。長さを伸ばすのが最も効果的で、12文字→16文字にするだけで強度は大きく上がります。

ハマりやすいポイント

「定期的な変更」は、今はむしろ推奨されていない。 かつて多くの現場で求められた「90日ごとの変更」は、NISTなどの新しいガイドラインでは漏えいの兆候がない限り不要とされています。強制的に変えさせると、利用者は覚えやすいよう規則的に少しずつ変える(Passw0rd1 → Passw0rd2)ようになり、かえって推測されやすくなるためです。大事なのは「使い回さない」「十分に長い」の2点です。

強度メーターの「強い」を過信しない。 一般的な強度メーターは文字種と長さから見た目の強さを測るだけで、P@ssw0rd! のような「よくある変形」や、過去に漏えいした文字列までは判定しきれません。ランダムに生成した文字列であれば、この手の弱さは避けられます。

覚える必要があるなら「パスフレーズ」も手。 ランダムに選んだ単語を4〜5語つなげた文字列は、長くて強く、記号だらけの文字列より覚えやすいのが利点です。ただし効くのは単語を本当にランダムに選んだ場合だけで、自分で考えた意味の通る文やことわざは推測されやすく逆効果です。

よくある質問

Q. 紛らわしい文字の除外はいつ使う?
A. 紙に書いて渡す、電話で伝える、目視で打ち込む場面で有効です。小文字のl(エル)と数字の1、大文字のO(オー)と数字の0は誤読の定番です。除外すると使用文字数が減るぶん強度がわずかに下がるので、コピペ運用なら除外不要です。

Q. 記号が使えないシステムには?
A. 「記号」のチェックを外し、そのぶん長さを4文字ほど伸ばせば同等の強度を保てます。

Q. 生成したパスワードはどう管理すべき?
A. パスワードマネージャー(Bitwarden、1Password等)での管理を推奨します。使い回しが最大のリスクで、強いパスワードでも複数サイトで共用すると1か所の漏えいが全アカウントに波及します。