パスワード生成ツール
長さを選び、大文字、小文字、数字、記号を必要に応じて切り替えるだけで、ブラウザの暗号学的乱数生成器を使ってパスワードを作成します。これはSSLキー生成や暗号資産ウォレットでも使われる種類のエントロピー源です。予測可能な疑似乱数やサーバー送信は使いません。4種類すべての文字クラスを含む16文字のパスワードは約95ビットのエントロピーを持ち、現在のハードウェアによるオフライン解析に十分耐えられます。
強力なパスワードの作り方
-
1
長さを選ぶ
初期値は16です。重要なアカウントでは12文字未満は弱い設定です。
-
2
文字クラスを選ぶ
大文字、小文字、数字、記号を選べます。クラスが多いほど1文字あたりのエントロピーが高くなります。
-
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鍵と同等の強度です。
ほとんどのオンラインアカウントでは、全文字集合から作る16文字(105ビット)で十分以上です。銀行口座、パスワードマネージャーのマスター、暗号資産ウォレット、フルディスク暗号化には20文字以上を使う価値があります。
文字クラスが重要な理由
文字クラスが増えるほど、1文字あたりの候補数が増えます。小文字26文字だけなら1文字はlog₂(26) = 4.7ビットです。大文字を加えると52文字で5.7ビット、数字を加えると62文字で5.95ビット、記号まで加えると94文字で6.55ビットになります。16文字ではこの差が約30ビットに積み上がり、「破れる」と「試す価値がない」の差になります。
紛らわしい文字を除外したほうがよい場面
コピー&ペーストできない環境で、画面から機器へ手入力する場合があります。コンソール型インストーラー、一部のハードウェアウォレット、口頭で読み上げる場面などです。この場合、0、O、1、l、Iを除外すると転記ミスを減らせます。エントロピーの損失は小さく、80ビット超の中で通常2-3ビット程度です。
パスワードマネージャーでの使い方
- Bitwarden、1Password、KeePassなどのパスワードマネージャーを導入します。
- 6-8個のランダムな単語で強力なマスターパスフレーズを設定します。パスフレーズ生成ツールも使えます。
- 各サイトではマネージャー内蔵の生成機能を使い、強力な初期設定をそのまま使います。
- 一時的なアカウントに見える場合でも、サイト間でパスワードを使い回さないでください。
- 対応しているサービスでは必ず2FAを有効にします。
手入力するパスワードは、マネージャーのマスター、フルディスク暗号化、場合によっては職場PCのログイン程度に絞るのが理想です。
効果が薄い対策
- 90日ごとの強制変更。 強制的なローテーションは、夏2024から秋2024のような予測しやすいパターンを生みます。NIST SP 800-63Bはこれを明確に推奨していません。
- 財布の中の紙に書く。 弱いパスワードを使い回すよりは安全ですが、パスワードマネージャーには劣ります。
- 本当の答えを使う秘密の質問。 「最初の学校」は検索で見つかることがあります。ランダムな架空の答えを作り、マネージャーに保存してください。
よくある質問
小文字、大文字、数字、記号の4種類すべてから作る16文字は、ほぼすべてのアカウントに十分強力です。パスワードマネージャーのマスター、暗号資産ウォレット、フルディスク暗号化には20文字以上を推奨します。12文字未満は、複雑さのルールに関係なく弱いです。
パスワードはWeb Crypto APIを使ってブラウザ内で生成され、どこにも送信されません。確認したい場合はDevToolsのNetworkパネルを開けます。それでも、スクリーンショットやメールではなく、すぐにパスワードマネージャーへコピーしてください。
データ漏えいがあるためです。1つのサイトからパスワードが漏れると、攻撃者は同じメールアドレスとパスワードの組み合わせを多数のサイトで試します。サイトごとに別のパスワードを使えば、被害を1アカウントに限定できます。
そのサイト用にランダムな16文字のパスワードを生成してください。16文字以下の上限は、サイト側のパスワード処理に不安があるサインかもしれません。その場合は特に2FAを有効にしましょう。
関連ツール
以下記号(≤)
≤ 記号と関連する数学の比較記号をコピーできます。スプレッドシート、論文、ウェブページ向けに Unicode、HTML エンティティ、LaTeX 記法を掲載しています。
アナグラムジェネレーター
短い語を入力すると、重複した並べ替えを除き、表示件数を調整しながら文字の一意な並べ替えを確認できます。
キャラクター名ジェネレーター
小説、ゲーム、RPGなどのキャラクター名を生成します。ファンタジー、SF、現代から選び、5〜30個の名前を設定すると、すぐに使える名前が手に入ります。
ディスレクシア対応テキスト変換ツール
貼り付けたテキストを短い段落と約72文字の行に整え直し、読みやすくします。結果をコピーして、あらゆる文書やメール、エディタに貼り付けられます。
ドメイン名ジェネレーター
1つのキーワードからドメイン名の候補を生成します。接頭辞、接尾辞、文字の重ね、数字の末尾を、一般的な6つのTLDで組み合わせます。
都市名ジェネレーター
世界観づくり、地図、ゲーム、物語、モックデータ向けに、架空の都市、町、村、首都の名前を生成し、各結果に短いメモを添えます。
このツールは他の言語でも利用できます
- Wachtwoordgenerator [NL]
- Générateur de mots de passe [FR]
- مولد كلمات المرور [AR]
- Generator haseł [PL]
- Generator Kata Sandi [ID]
- Passwortgenerator [DE]
- Generador de contraseñas [ES]
- เครื่องมือสร้างรหัสผ่าน [TH]
- Lösenordsgenerator [SV]
- Trình tạo mật khẩu [VI]
- 비밀번호 생성기 [KO]
- Gerador de senhas [PT]
- Password Generator [EN]
- Generatore di password [IT]
- Генератор паролей [RU]
- Parola Oluşturucu [TR]
- 密码生成器 [ZH]