強いランダムパスワードを作る
このツールは、ランダムな文字列・覚えやすいパスフレーズ・発音しやすい文字列・数字だけのPINを作るパスワード生成ツールです。 ランダムのモードでは8文字から200文字まで長さを選べ、英大文字・小文字・数字・記号の組み合わせと、見間違えやすい文字(l と 1、O と 0 など)を除く設定を切り替えられます。 一度に最大100個まで作れ、それぞれに解読にかかる時間の目安が表示されます。
安全なパスワードの長さと文字種
機械で片端から試す総当たりに対しては、文字数を増やすことがいちばん効きます。 組み合わせの数は「使う文字の種類の数」を「文字数」回掛けた数なので、1文字増えるたびに何十倍にも広がります。 下の表は、1秒間に100億回試せる計算機で総当たりした場合にかかる時間の目安です(このツールの強度表示と同じく、1秒間に100億回の前提です。ツールの表示は切り上げるので、少し長めに出ることがあります)。
| 使う文字 | 8文字 | 12文字 | 16文字 |
|---|---|---|---|
| 英小文字のみ(26種) | 約21秒 | 約4か月 | 約14万年 |
| 英大文字・小文字・数字(62種) | 約6時間 | 約1万年 | ◎ 1万年以上 |
| 英大文字・小文字・数字・記号(94種) 記号はキーボードで打てる32種として計算 |
約7日 | ◎ 1万年以上 | ◎ 1万年以上 |
8文字は、文字種を混ぜても数日で試し切れる計算になります。 ランダムに作るなら12文字以上、サービス側に上限がなければ16文字にしておくと余裕があります。 この計算は総当たりだけを考えたもので、名前・誕生日・辞書に載っている単語のように推測できるものは、文字数に関係なくすぐに破られます。
総務省の国民のためのサイバーセキュリティサイトは、ある程度長いランダムな英数字の並びが理想的で、覚える必要があるものは無関係な複数の単語をつなげる方法を挙げています。 あわせて、同じパスワードを複数のサービスで使い回さないことと、流出などの事実がなければ定期的な変更は不要であることも示しています。 たくさんのパスワードを覚えきれないときは、ブラウザやスマートフォンのパスワード保存機能、パスワード管理ツールを使うのが現実的です。
生成したパスワードは送信されない
パスワードの生成はすべてブラウザの中で行い、作ったパスワードや手動入力で強度を調べたパスワードがサーバーへ送られることはありません。 乱数には、推測されにくい暗号用の乱数を返すブラウザの機能(crypto.getRandomValues)を使い、特定の文字が出やすくなる偏りも取り除いています。
一方で、生成したパスワードは「生成履歴」としてこのブラウザの中に保存されます。 会社や学校の共用パソコンで使ったときは、生成履歴の画面の「履歴を全消去」で消してから閉じてください。