安全なパスワードを作る
計算のしかた
パスワードに使われている文字の種類(小文字26・大文字26・数字10・記号32)を足し合わせ、「種類の数 ^ 文字数」を、ありうる組み合わせの数とします。総当たりでは平均して半分を試したところで当たるので、その回数を1秒あたりの試行回数で割って時間を出しています。
試行回数は2通りで計算しています。サービスから流出したパスワードのデータ(ハッシュ)を高性能なPCで解析する場合は1秒に1兆回、ログイン画面から1回ずつ試す場合は1秒に10回としています。
ただし、よく使われるパスワードや単語・誕生日の組み合わせは、総当たりより先に「辞書」で試されます。そうした特徴が見つかった場合は、評価を下げて警告を出しています。
よくある質問
何文字あれば安全ですか?
大文字・小文字・数字・記号をまぜた、ランダムな12文字以上が目安です。文字の種類を増やすより、長さを増やすほうが効果があります。このページで作れる16文字のパスワードなら、流出したデータを解析されても、破られるまでに途方もない時間がかかります。
強いパスワードなら、使い回しても大丈夫?
いいえ。どこか1つのサービスから流出すると、同じパスワードを使っているほかのサービスにもログインされてしまいます。サービスごとに別のパスワードにして、パスワード管理アプリやブラウザの保存機能で管理するのがおすすめです。
二段階認証は必要ですか?
使えるサービスでは、設定をおすすめします。パスワードが知られても、スマホに届く確認コードなどがなければログインできなくなります。
表示される時間は、計算上の目安です。実際の攻撃の速さは、サービスがパスワードをどう保存しているかや、攻撃者の設備によって大きく変わります。
出典・更新日
- 総当たりの時間:組み合わせの数 ÷ 2 ÷ 1秒あたりの試行回数(試行回数は上記の想定)
- 生成:ブラウザの暗号用の乱数(Web Crypto API の
crypto.getRandomValues)を、偏りが出ない方法で使っています
最終更新: