パスワードジェネレータ
長さを指定し、大文字・小文字・数字・記号の表示を切り替えれば、このジェネレータはブラウザに内蔵された暗号学的ランダム数生成機能を用いてパスワードを生成します。これはSSL鍵の生成や暗号資産ウォレットで使用されているのと同じエントロピー源です。シード付きの擬似ランダム数もサーバー間の通信経路も不要です。4つの文字クラスすべてを含む16文字のパスワードでは約95ビットのエントロピーが得られ、現在のハードウェアによるオフラインでの解読をはるかに超える強度を持っています。
強力なパスワードの構築方法
-
1
長さを選択してください
デフォルト値は16です。重要なアカウントでは、12未満の値は不十分です。
-
2
文字クラスを選択します
大文字、小文字、数字、記号。クラスが多いほど文字あたりのエントロピーが高くなります。
-
3
オプション:曖昧な文字を除外します
パスワードを画面からターミナルに転写する場合は、0/Oおよび1/l/Iを指定してください。
-
4
生成
crypto getRandomValues()は、許可されている文字セットから各文字を均等に選択します。
-
5
コピーして保存します
すぐにパスワードマネージャーに貼り付けしてください。再利用しないでください。
長さおよび文字セット別のエントロピー
| 長さ | 小文字のみ | 小文字+数字 | 小文字+大文字+数字 | すべての4種類 |
|---|---|---|---|---|
| 8 | 38ビット | 41ビット | 48ビット | 52ビット |
| 12 | 57ビット | 62ビット | 71ビット | 79ビット |
| 16 | 75ビット | 83ビット | 95ビット | 105ビット |
| 20 | 94ビット | 103ビット | 119ビット | 131ビット |
| 24 | 113ビット | 124ビット | 143ビット | 158ビット |
実際のところエントロピーとは何を意味するのか
- 40ビット — 現在の単一GPUでは数日でクラック可能。一時的なアカウントには適しています。
- 60ビット:オンライン攻撃には耐性があるが、専用のオフラインクラッキングに対しては脆弱である。
- 80ビット:現在のハードウェア環境下ではオフラインによるクラッキングに対して高い耐性を有する。
- 100ビット:量子コンピューティングが成熟するまで、実質的に解読不可能である。
- 128ビット — AES-128の鍵強度に準拠しています。
ほとんどのオンラインアカウントでは、全105ビットに相当する16文字が十分です。銀行口座、パスワードマネージャー、暗号資産ウォレットなどには20文字以上の長さが推奨されます。
文字クラスが重要な理由
各クラスでは、文字ごとに追加のビット数が設定される。小文字26個を用いる場合、1文字あたりのビット数はlog₂(26) = 4.7ビットとなる。大文字を加えると文字数は52個となり、1文字あたり5.7ビットになる。数字を加えると文字数は62個、1文字あたり5.95ビットとなる。記号を加えると文字数は94個に達し、1文字あたり6.55ビットとなる。16文字を超えると、この差は約30ビットにまで増加する——つまり、「解読可能な」状態と「試す価値がない」状態との差である。
不明確な文字を除外するタイミング
パスワードをコピー&ペーストの手段を使わずに画面からデバイスに入力する場合(コンソールインストーラー、一部のハードウェアウォレット、パスワードを口頭で読み上げる高齢ユーザーなど)において、0、O、1、l、Iを除くと、文字起こし誤りが発生しない。エントロピーコストも極めて低く(80ビット以上中でわずか2~3ビット)、実用的である。
パスワード管理ツールのワークフロー
- パスワードマネージャー(Bitwarden、1Password、KeePass)をインストールしてください。
- 強力なマスターパスフレーズを設定してください(6~8語のランダムな単語を使用します。パスフレーズジェネレータをご参照ください)。
- 各サイトに対してマネージャーのジェネレータを使用し、デフォルトの強力な設定を採用してください。
- どのサイトでもパスワードを再利用してはいけません。仮のパスワードであっても同様です。
- 2FAをサポートするすべてのデバイスで2FAを有効にしてください。
手動で入力するパスワードは極めて稀にしか使用すべきものであり、マネージャーマスターアカウント、フルディスク暗号化設定、および必要に応じて社内用ワークコンピュータのログイン情報に限って使用してください。
役立たない要素
– 毎90日ごとに切り替えます。強制的な回転は予測可能なパターン(2024年夏から2024年秋へ)の形成を促しますが、NIST SP 800-63Bではこれを明確に推奨していません。
- **ウォレット内の紙にパスワードを記入する方法。**弱いパスワードを再利用するよりも安全ですが、パスワードマネージャーを使うよりも劣ります。
- **実際の答えを持つセキュリティ質問。「First school」はほとんどのユーザーにとってGoogle検索で簡単に見つかる情報です。ランダムな偽の答えを生成し、マネージャーに保存してください。
よくある質問
4つの文字クラス(小文字、大文字、数字、記号)からなる16文字は、ほぼすべてのアカウントに適しています。パスワード管理ソフト、暗号ウォレット、フルディスク暗号化用には20文字以上が必要です。複雑さの基準に関わらず、12文字未満は脆弱です。
パスワードはブラウザ内でWeb Crypto APIを使用して生成され、決して外部に送信されません。確認する場合はDevToolsのネットワークパネルを開いてください。スクリーンショットやメール送信する代わりに、直ちにパスワードマネージャーにコピーしてください。
データ漏洩。あるサイトでパスワードが漏出した場合、攻撃者は直ちに同じメールアドレスとパスワードの組み合わせを数百の他のサイトで試行します(クレデンシャルスタッフィング)。各サイトごとに異なるパスワードを使用することで、1つのアカウントへの被害を抑えることができます。
そのサイト用にランダムな16文字のパスワードを生成します。最大16文字以内である場合、通常はサイトがパスワードを適切にスケーリングできない形式で保存していることを意味し、これは警戒すべき兆候です。特に2FAの有効化を推奨します。