CodeKitHub
日本語
日常ツール

強力なランダムパスワード生成ツール

ワンクリックで強力なランダムパスワードを生成できます。長さや文字の種類を選択すると、リアルタイムで強度の推定値が表示されます。パスワードはブラウザの暗号用乱数生成機能を使用して生成され、デバイス外へ一切送信されません。データの送信、保存、記録は一切行われません。

強さ:

使い方

  1. スライダーで希望の長さを設定してください(16以上を推奨)。
  2. 希望する文字種にチェックを入れてください。文字種が多ければ多いほど、パスワードの強度が高くなります。
  3. パスワードを手入力する場合は、必要に応じて判別が難しい文字を除外してください。
  4. 「パスワードを生成」をクリックしてください(オプションを変更するたびに、新しいパスワードが表示されます)。
  5. 「コピー」をクリックして、パスワード管理ツールに保存してください。

入力

Length: 16, all character types enabled

出力

K7#mQv9!xR2pWz@e

約105ビットのエントロピー――現代のGPUクラスターで総当たり攻撃を行っても、宇宙の年齢よりも長い時間がかかってしまうだろう。

このツールとは?

パスワード生成ツールは、人間が思いつくものよりもはるかに強力なランダムなパスワードを生成します。人は覚えやすいパターン(名前、日付、キーボード上のキーの並びなど)を選びがちですが、攻撃者はそうしたパターンをすべて把握しています。 全文字セットから生成された16文字のランダムなパスワードは、約100ビットのエントロピーを持ち、これは現実的な総当たり攻撃の限界をはるかに超えています。

このジェネレータはWeb Crypto API(オペレーティングシステムが暗号化キーの生成に使用するのと同じ安全な乱数生成機能)を採用しており、選択した各文字セットから少なくとも1文字が含まれることを保証します。また、エントロピーに基づく強度の推定値を表示するため、各オプションがどのような影響を与えるかを確認することができます。

実用的なヒント

  • 長さが巧妙さを上回る:小文字と数字のみで構成された20文字のパスワードは、あらゆる記号を使った10文字のパスワードよりも強固です。スライダーを動かしながらエントロピーメーターを確認すれば、その違いを自分の目で確かめることができます。
  • サイトによっては、文字数に制限を設けたり、特定の記号の使用を禁止したりしています(銀行サイトはその点で特に有名です)。パスワードを手動で編集するのではなく、チェックボックスを使って各サイトのルールに合わせましょう。手動で編集すると、編集した箇所ほど予測されやすくなってしまいます。
  • サイトごとに新しいパスワードを設定してください。一度セキュリティ侵害を受けたサイトでパスワードが再利用されてしまえば、そのパスワードの強度など関係ありません。
  • 暗記する必要があるパスワード(ノートPCのログインやパスワードマネージャーのマスターパスワードなど)の場合、記号を含まない20文字以上のものの方が、入力しやすく、強度も同等です。

「強い」とはどの程度のことか? 比較

具体的な数値を例に挙げると、8文字の混合パスワード(約52ビット)は、サイトのハッシュが漏洩した場合、最新のGPUリグなら数時間で解読されてしまいます。12文字(約78ビット)なら数年持ちこたえます。16文字(約105ビット)なら、それを攻撃するハードウェアの寿命よりも長く持ちこたえることになります。 オンラインでの総当たり攻撃は、これらのオフラインの数値よりもはるかに遅い(レート制限により、攻撃者の試行回数は数千回に制限され、数兆回にはならない)が、どの種類の侵害が発生するかは制御できないため、オフラインのケースを想定してパスワードを生成すべきである。

これが、パスワードマネージャーが状況を一変させた理由でもあります。覚えておく必要がなくなれば、どのパスワードも16文字以上のランダムな文字列にでき、1つのアカウントが侵害されても、他のアカウントへの影響は気にする必要がなくなるからです。

乱数生成器 · MD5ジェネレーター

一般的な利用例

  • 特定のパスワードポリシー(最小文字数、記号の必須使用など)が適用されているサイトで新しいアカウントを作成する場合、要件に合うようにパスワードを手動で編集するのではなく、ここで適切な設定を行ってください。
  • 複数のアカウントやテストユーザーを一度に設定する際、一意のパスワードを一括で生成する。
  • 情報漏洩の通知を受けた後、再利用されていたパスワードを変更し、影響を受けたアカウントごとに固有のパスワードを設定する。
  • 印刷されたカードから入力する人がいても、曖昧な文字を含まない、かつ強固なWi-Fiルーターや共有デバイスのパスワードを作成する。

なぜこれを使うのか?

真にランダム:暗号学的に安全な乱数であり、予測可能な Math.random() とは異なります。

完全にオフライン — パスワードは端末上で生成され、外部へ送信されることは一切ありません。

任意のウェブサイトのパスワード規則に合わせて、長さ(6~64)や文字セットを自由に設定できます。

手動で読み取ったり入力したりする必要があるパスワード用の「曖昧な文字を除外する」オプション(0/O、1/l/I)。

恣意的なカラーバーではなく、実際のエントロピーに基づいたリアルタイムの体力ゲージ。

よくある質問

ウェブサイトでパスワードを生成しても安全ですか?

この点に関しては、その通りです。パスワードの生成は、Web Crypto API を使用してブラウザ内だけで行われます。パスワードがネットワークリクエストで送信されることは一切ありません。ページを読み込んだ後、インターネット接続を切断して、オフラインで生成することも可能です。

パスワードはどのくらいの長さにするべきですか?

重要なアカウントでは、16文字でさまざまな文字種を組み合わせたパスワードをデフォルトとして設定するのが望ましいです。12文字は許容できる最低基準です。複雑さよりも長さが重要です。つまり、短いパスワードに多くの記号を含めるよりも、長いパスワードの方が安全です。

「強度の推定値」とはどういう意味ですか?

これはエントロピー、つまり攻撃者が推測しなければならないビット数です。ビットが1つ増えるごとに、推測に必要な労力は2倍になります。オンラインアカウントの場合、45ビット未満は脆弱であり、70ビット以上は強固であり、100ビット以上であれば、盗まれたパスワードハッシュに対するオフライン攻撃にも耐えることができます。

生成されたパスワードを複数のサイトで使い回してもいいのでしょうか?

いいえ。あるサイトが侵害されると、攻撃者は流出したパスワードを他のあらゆるサイトで試そうとします。サイトごとに固有のパスワードを設定し、パスワードマネージャーに保存しておきましょう。パスワードマネージャーは、まさにそのためにあるのです。

なぜ曖昧な文字を除外するのですか?

0/O や 1/l/I といった文字は、多くのフォントでは見分けがつきません。パスワードを声に出して読んだり、紙に書かれたものを打ち込んだりする場合は、こうした文字を除外することで、イライラするようなミスを防ぐことができます。これによりエントロピーがわずかに低下しますが、強度メーターにはその変化が正確に反映されます。

関連ツール