パスワード生成ツール

パスワードジェネレーター
読み込み中…

長さを選び、大文字、小文字、数字、記号を必要に応じて切り替えるだけで、ブラウザの暗号学的乱数生成器を使ってパスワードを作成します。これはSSLキー生成や暗号資産ウォレットでも使われる種類のエントロピー源です。予測可能な疑似乱数やサーバー送信は使いません。4種類すべての文字クラスを含む16文字のパスワードは約95ビットのエントロピーを持ち、現在のハードウェアによるオフライン解析に十分耐えられます。

強力なパスワードの作り方

  1. 1

    長さを選ぶ

    初期値は16です。重要なアカウントでは12文字未満は弱い設定です。

  2. 2

    文字クラスを選ぶ

    大文字、小文字、数字、記号を選べます。クラスが多いほど1文字あたりのエントロピーが高くなります。

  3. 3

    任意: 紛らわしい文字を除外

    画面から端末や別の機器へ手入力する場合は、0/Oや1/l/Iを除外します。

  4. 4

    生成する

    crypto.getRandomValues()が許可された文字集合から各文字を均等に選びます。

  5. 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ビットに積み上がり、「破れる」と「試す価値がない」の差になります。

紛らわしい文字を除外したほうがよい場面

コピー&ペーストできない環境で、画面から機器へ手入力する場合があります。コンソール型インストーラー、一部のハードウェアウォレット、口頭で読み上げる場面などです。この場合、0O1lIを除外すると転記ミスを減らせます。エントロピーの損失は小さく、80ビット超の中で通常2-3ビット程度です。

パスワードマネージャーでの使い方

  1. Bitwarden、1Password、KeePassなどのパスワードマネージャーを導入します。
  2. 6-8個のランダムな単語で強力なマスターパスフレーズを設定します。パスフレーズ生成ツールも使えます。
  3. 各サイトではマネージャー内蔵の生成機能を使い、強力な初期設定をそのまま使います。
  4. 一時的なアカウントに見える場合でも、サイト間でパスワードを使い回さないでください。
  5. 対応しているサービスでは必ず2FAを有効にします。

手入力するパスワードは、マネージャーのマスター、フルディスク暗号化、場合によっては職場PCのログイン程度に絞るのが理想です。

効果が薄い対策

  • 90日ごとの強制変更。 強制的なローテーションは、夏2024から秋2024のような予測しやすいパターンを生みます。NIST SP 800-63Bはこれを明確に推奨していません。
  • 財布の中の紙に書く。 弱いパスワードを使い回すよりは安全ですが、パスワードマネージャーには劣ります。
  • 本当の答えを使う秘密の質問。 「最初の学校」は検索で見つかることがあります。ランダムな架空の答えを作り、マネージャーに保存してください。

よくある質問

小文字、大文字、数字、記号の4種類すべてから作る16文字は、ほぼすべてのアカウントに十分強力です。パスワードマネージャーのマスター、暗号資産ウォレット、フルディスク暗号化には20文字以上を推奨します。12文字未満は、複雑さのルールに関係なく弱いです。

パスワードはWeb Crypto APIを使ってブラウザ内で生成され、どこにも送信されません。確認したい場合はDevToolsのNetworkパネルを開けます。それでも、スクリーンショットやメールではなく、すぐにパスワードマネージャーへコピーしてください。

データ漏えいがあるためです。1つのサイトからパスワードが漏れると、攻撃者は同じメールアドレスとパスワードの組み合わせを多数のサイトで試します。サイトごとに別のパスワードを使えば、被害を1アカウントに限定できます。

そのサイト用にランダムな16文字のパスワードを生成してください。16文字以下の上限は、サイト側のパスワード処理に不安があるサインかもしれません。その場合は特に2FAを有効にしましょう。

関連ツール