パスワード生成ツール
長さを選び、大文字、小文字、数字、記号を必要に応じて切り替えるだけで、ブラウザの暗号学的乱数生成器を使ってパスワードを作成します。これは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を有効にしましょう。
関連ツール
文字数・単語数カウンター
エッセイ、投稿、キャプション、メタディスクリプション向けに、単語数・文字数・文数・段落数を、読了時間、音読時間、キーワード密度、Flesch可読性スコアとともにカウントします。
文字数カウンター
任意のテキストの文字数、単語数、行数、文数、段落数を数えます。スペース込み、スペースなしの合計と文字の内訳を確認できます。
Emoji Kitchen
検証済みの Google Emoji Kitchen ペアを試し、PNG ステッカーをダウンロードできます。さらに探す場合は候補や外部ブラウザを利用できます。
大文字・小文字変換ツール
テキストを UPPERCASE、lowercase、Title Case、Sentence case、camelCase、snake_case、kebab-case、CONSTANT_CASE の間で変換します。略語を認識し、句読点をそのまま保持します。
ユーザー名ジェネレーター
ベース語からユーザー名の案を生成し、必要に応じて数字や区切り文字を追加できます。新規アカウント、ゲーマータグ、サブアカウントに便利です。
アナグラムジェネレーター
短い語を入力すると、重複した並べ替えを除き、表示件数を調整しながら文字の一意な並べ替えを確認できます。