生成した40個
なぜ「長く」が「複雑に」より効くのか
パスワードの強さは、大まかには「1文字あたりの選択肢の数」と「文字数」の掛け算で決まります。専門的には、この掛け算の対数(log2)を取ったものを「ビット数」と呼び、数値が大きいほど、しらみつぶしに試す攻撃(総当たり攻撃)に対して時間がかかることを意味します。ここで見落とされがちなのが、文字種を増やすことと文字数を増やすことでは、効き方の性質がまったく違うという点です。
たとえば英小文字だけ(26種類)で組んだ場合、8文字ではおよそ38bit、16文字に伸ばすとおよそ75bitになります。文字数を2倍にすると、ビット数もほぼ2倍になる関係です。一方、8文字のまま文字種だけを増やしていくと、英大文字と数字を足した62種類でおよそ48bit、さらに記号(!@#$%^&*()-_=+[]{}?)まで足した81種類でもおよそ51bitと、伸び幅はずっと小さくなります。文字種を3倍近くまで増やしても、文字数を2倍にしたときほどの伸びにはなりません。もちろん文字種を増やすこと自体は無意味ではありませんが、まず長さを確保し、そのうえで使える文字種をできるだけ広く使う、という順番で考えるのが合理的です。このツールの初期値が16文字なのも、この考え方に沿っています(大文字・小文字・数字・記号すべてを使った16文字ではおよそ101bitになります)。
なお、これらの数字はあくまで「1文字目から順にランダムに選んだ場合」の理論上の上限です。実在の単語や生年月日を組み合わせて作ったパスワードは、見た目の文字数や文字種が同じでも、実際にはずっと少ない候補数で推測されてしまいます。ランダム生成が有効なのは、まさにこの「予測できなさ」を、人間の癖に頼らずに機械的に保証できるからです。
使い回しの危険 ― 1つの漏えいが全部に波及する
パスワードそのものがどれだけ強くても、複数のサービスで同じものを使い回していると、その安全性は「いちばん守りの弱いサービス」の水準まで下がってしまいます。どこか1つのサービスからパスワードが漏れると、攻撃者はその組み合わせ(メールアドレスとパスワードなど)を他の主要なサービスに片っ端から試す「パスワードリスト攻撃」を行います。元のサービスとは無関係のはずのアカウントまで、使い回しを理由に破られるのはこのためです。サービスごとに独立した強いパスワードを使うことは、単体の強度を上げること以上に効果があるとされています。
覚える前提をやめる ― パスワードマネージャーという選択肢
サービスごとに違う長いパスワードを使うと決めた瞬間に、それを全部覚えておくのは現実的ではなくなります。ここで役立つのが、パスワードを暗号化して保管し、必要なときに呼び出してくれるパスワードマネージャーです。ブラウザに標準搭載されているものや、専用のアプリとして提供されているものがあります。利用者が覚える必要があるのは、マネージャー自体を開くための1つのマスターパスワードだけになるため、「サービスごとに違う・十分に長い」パスワードを無理なく運用しやすくなります。このページで生成した文字列も、そのままマネージャーに登録して使うのに向いています。
パスワードだけに頼らない ― 二要素認証
どれだけ強いパスワードでも、フィッシングサイトに入力してしまったり、サービス側から漏えいしたりすれば意味を失います。この弱点を補うのが、パスワードに加えてもう1つの要素(スマートフォンアプリが生成する確認コード、SMS、セキュリティキーなど)を求める二要素認証(多要素認証)です。パスワードが何らかの形で他人の手に渡ってしまった場合でも、もう1つの要素がなければログインできないため、被害を防げる可能性が大きく上がります。重要なアカウント(メール、金融機関、勤務先のシステムなど)から優先して設定することをおすすめします。
「定期的な変更」は、今は推奨されていない
以前は「パスワードは定期的に変更すべき」という考え方が一般的でしたが、近年は必ずしもそうではないという見方が広がっています。総務省やIPA(情報処理推進機構)が発信している情報、また米国NIST(米国立標準技術研究所)のSP 800-63Bというガイドラインの周辺でも、漏えいの兆候がないのに機械的に変更を繰り返すことよりも、そもそも十分に長く・使い回さないパスワードを設定し、漏えいの疑いがあるときに確実に変更することのほうが重要だ、という考え方が示されています。定期変更を義務にすると、かえって「末尾の数字を1つ増やすだけ」のような覚えやすさ優先の変更に流れやすく、強度の向上につながりにくいことが背景にあるようです。具体的などの数値や条項がどう定められているかは原典を直接ご確認いただき、ここでは大まかな方向性の紹介にとどめます。出典は総務省・IPA(情報処理推進機構)・NIST SP 800-63Bなどの公開情報です。
このページの限界
このツールが行っているのは、指定された条件に沿ってランダムな文字列を作ることだけです。生成した文字列をどう安全に保管するか、どのサービスにどう登録するか、二要素認証をどう組み合わせるかは、このページの範囲外であり、利用者ご自身の判断と管理に委ねられます。また、生成・表示はすべてお使いの端末のブラウザ内で完結しており、当サイトのサーバーに文字列が送信されることはありませんが、ページを表示している画面を他人に見られたり、共有のパソコンに履歴が残ったりするリスクまでは防げません。人目のある場所での利用や、生成後の取り扱いには注意してください。