このパスワード生成ツールでできること
このツールは、選択した文字種から最大50文字のランダムなパスワードを作成します。使える文字種は、小文字・大文字・数字・記号(句読点類)・括弧やその他の記号の5種類です。パスワードはお使いのブラウザ(セッション)内だけで生成され、保存も送信も一切行われません。そのため、生成結果は今ご覧の画面上にのみ存在します。
使い方
含めたい文字種にチェックを入れ、文字の選び方を指定し、パスワードの長さを設定して生成するだけです。5種類の文字種は自由に組み合わせられます。組み合わせる文字種が多いほど候補のパターン(探索空間)が広がり、推測されにくい、より強固なパスワードになります。
均等に選ぶ方法には2つのやり方があります。選択したすべての文字は、有効にしたすべての文字種を1つのプールにまとめ、その中から1文字ずつ完全にランダムに選びます。選択した各文字種からは、有効にした文字種を順番に巡回して取り出すため、各文字種ができるだけ均等に含まれることが保証され、最後にシャッフルして並び順をランダム化します。
計算式の仕組み
パスワードの強度は一般に「探索空間」、つまり攻撃者が最悪の場合に試さなければならないパスワードの総数で表されます。使用する文字の種類数を\(P\)、パスワードの長さを\(L\)とすると、探索空間は次の式で求められます。
$$\text{Search Space} = P^{L}$$文字を1文字増やす(\(L\)を大きくする)と探索空間は\(P\)倍になり、文字種を増やすと\(P\)そのものが大きくなります。つまり、長さと文字の多様性は、いずれも安全性を相乗的に高めてくれるのです。
具体例
たとえば、小文字(26文字)・大文字(26文字)・数字(10文字)を有効にし、選択した各文字種からを選んで、8文字を指定したとします。文字種は \(k=3\) なので、0,1,2,0,1,2,0,1 の順で巡回し、小文字3文字・大文字3文字・数字2文字が選ばれます。各文字種の選ばれる数は次の関係を満たします。
$$n_j \in \left\{ \left\lfloor \tfrac{L}{k} \right\rfloor, \left\lceil \tfrac{L}{k} \right\rceil \right\}$$フィッシャー・イェーツのシャッフルを行うと、たとえば kT4mQ7pR のような結果になります。プールのサイズは \(P = 26+26+10 = 62\) なので、探索空間は次のようになります。
よくある質問
生成したパスワードは保存されますか? いいえ。各パスワードは画面表示のためだけに生成され、保存もログ記録も行われません。
パスワードはどれくらいの長さがよいですか? 複数の文字種を組み合わせて、最低でも12〜16文字を目安にしてください。1文字増えるごとに探索空間が倍々に広がるため、長ければ長いほど安全です。
「選択した各文字種から」は何を保証しますか? 選んだ文字種に文字をできるだけ均等に振り分けます。これにより、英字・数字・記号の組み合わせを必須とするサイトの登録条件を満たしやすくなります。