生成結果
パスワード生成ツールの使い方と、安全なパスワードの考え方
自分で考えたパスワードは、どうしても覚えやすい=推測されやすいものになりがちです。本ツールはブラウザの暗号用乱数(crypto.getRandomValues)を使って、規則性のないパスワードをその場で生成します。生成した文字列はどこにも送信されず、保存もされません。
このツールの使い方
文字数と、使う文字の種類(英小文字・英大文字・数字・記号)を選ぶと、その条件でパスワードが作られます。作り直しは何度でもでき、コピーしてそのままパスワード管理ツールに貼り付けられます。サービス側で使える記号が限られている場合は、記号を外してその分だけ文字数を増やすのが実用的です。
強さを決めるのは「複雑さ」より「長さ」
パスワードの強さはエントロピー(ビット)= 文字数 × log2(使える文字の種類数) で表せます。英小文字+数字(36種類)8文字はおよそ41ビットですが、同じ文字種でも16文字にすると約83ビットになります。記号を足して種類を増やすより、桁を伸ばすほうが効率よく強くなるのが数式上の性質です。目安として、重要なアカウントでは80ビット以上(英数記号なら13文字以上)を確保しておくと安心です。
定期変更よりも「使い回さない」ことが重要
米国NISTのガイドライン(SP 800-63B)は、意味のない定期的なパスワード変更を推奨していません。強制的に変えさせると、利用者は「Password1」「Password2」のような予測しやすい変え方をするためです。代わりに求められているのは、十分な長さを確保すること、そして漏えいが判明したときにすぐ変更することです。
本当に危険なのはパスワードの使い回し
攻撃の主流は総当たりではなく、他社から漏れたIDとパスワードの組み合わせをそのまま試す「パスワードリスト攻撃」です。どれほど強いパスワードでも、使い回していれば1か所の漏えいで全部が破られます。サービスごとに違うパスワードを使うことが、長さよりも先に効く対策です。
管理のしかたと二要素認証
サービスごとに異なる長いパスワードを覚えるのは現実的ではないため、パスワード管理ツールに生成した文字列を保存し、マスターパスワードだけを記憶する方法が広く推奨されています。マスターパスワードには、無関係な単語を4つ以上つないだパスフレーズが覚えやすく強力です。あわせて、メール・銀行・SNSなど重要なアカウントでは二要素認証(2FA)を有効にしてください。パスワードが漏れても、それだけでは入られなくなります。
よくある質問
パスワードはどうやって生成していますか?+
単なる Math.random より予測されにくい、安全性の高い乱数です。
生成したパスワードは外部に送信されますか?+
安全なパスワードの条件は?+
加えて、サービスごとに使い回さないことも大切です。
「紛らわしい文字を除く」とは?+
紙に書き写す・手入力する場面で役立ちます。
同じパスワードを使い回しても大丈夫ですか?+
サービスごとに別のパスワードを使い、パスワード管理ツールの利用が安全です。
・乱数は Web Crypto API の crypto.getRandomValues(暗号学的擬似乱数)を使用。剰余バイアスを避けて文字を選択し、生成は端末内で完結する。
・推定エントロピー(bit) = 文字数 × log2(文字種の数)。英数記号(約94種)なら1文字あたり約6.5ビット。
・NIST Special Publication 800-63B, Digital Identity Guidelines: Authentication and Lifecycle Management(定期的な変更の強制は非推奨、長さの確保と漏えい時の変更を重視)
・OWASP (Open Worldwide Application Security Project). Authentication Cheat Sheet(パスワード方針の一般的な推奨)
当サイトは特定の機関を代表するものではなく、生成結果の安全性・正確性を保証するものではありません。強度目安はあくまで参考値です。重要な用途でのパスワード管理はご自身の責任で、信頼できるパスワード管理ツール等と併せてご利用ください。