セキュリティ

強いパスワードの作り方(複雑さより長さが重要な理由)

1 分で読了

強いパスワードとは、長くて、ランダムで、他のサービスと使い回していないものです。そして何より、複雑さより長さがものを言います。全ての文字種類を詰め込んだ8文字のパスワードでも数日で破られてしまうのに対し、同じ組み合わせを16文字にするだけで、現在の攻撃速度では宇宙の年齢を超える時間がかかるようになります。

なぜ複雑さより長さが重要なのか

パスワードの強さはエントロピー、つまり攻撃者が正解にたどり着くまでに平均で何回の推測を要するかで決まります。エントロピーを左右するのは2つだけです。各文字位置にいくつの候補があるか(文字種の数)と、パスワードが何文字あるか(長さ)です。

文字種を増やしても、候補の数はそれほど大きく動きません。小文字だけなら1文字あたり26通り。大文字と数字を足すと62通り。記号まで加えるとおよそ95通りになります。小文字のみから記号込みの95文字セットに切り替えても、1文字あたりの候補は約3.7倍にしかなりません。

一方、長さを1文字増やすと、組み合わせの総数は文字種の数だけ丸ごと掛け算されます。95文字セットなら、1文字追加するごとに総組み合わせが95倍です。3.7倍と95倍、これがそのまま差になります。だからこそ、記号を全部使った短いパスワードよりも、文字種が少なくても長いパスワードの方が強くなり得るのです。長さは積み重なりますが、1文字あたりの複雑さはそこまで積み重なりません。

実例で見る解読にかかる時間

下の表は、攻撃者が1秒間に100億回の推測を試せると仮定したものです。これはハッシュ化されたパスワードのコピーをオフラインで手に入れ、最新のGPUクラッキング機を回した場合として、現実的な想定です。推測にかかる回数は、理論上の組み合わせ総数のおよそ半分と見積もっています。

文字数小文字のみ(26文字)フルミックス:大文字+小文字+数字+記号(95文字)
810.4秒3.8日
102.0時間94.9年
121.8ヶ月8,567世紀
16691世紀6,978億世紀

この表から読み取れることは2つあります。まず、全ての文字種を使っていても8文字のパスワードはオフライン攻撃に対して安全とは言えません。3.8日というのは、本気であなたのアカウントを狙う相手にとって十分に届く範囲です。もう一つ、フルミックスのまま12文字から16文字に伸ばすと、単に安全になるだけでなく「今世紀中に破られる可能性がある」水準から、もはや時間の単位として意味をなさない桁へと一気に跳ね上がります。

この表の裏側にある計算式はシンプルです。ビット単位のエントロピーは「文字数 × log2(文字種の数)」で求められます。4種類全ての文字を使った16文字のパスワードなら、16 × log2(95) ≈ 105ビットになります。ビットが1つ増えるごとに必要な推測回数は倍になるので、長さが伸びるほどエントロピーは加速度的に膨らんでいきます。

強いパスワードを生成する

長さを16文字以上にして、4種類の文字(大文字・小文字・数字・記号)をすべてオンにしておくと、1文字あたりのエントロピーが最大になります。生成処理はあなたのブラウザ内でWeb Crypto APIを使って行われ、サーバーには一切送信されません。

強度
強力なパスワード生成ツール
無料、登録不要、どの端末でも使えます。
フルツールを開く

よくある間違い

予測できる置き換え。 「a」を「@」に、「o」を「0」に変えるだけでは、エントロピーはほとんど上がりません。クラッキングツールはこうした置き換えを最初から標準ルールとして辞書中の全単語に対して試すからです。「P@ssw0rd1」は「password1」とほぼ同じ速さで破られます。

強いパスワードの使い回し。 1つの強いパスワードを10個のサイトで使い回していると、その安全性は10個のうち一番弱いサイトの水準まで落ちます。どこか1つのサイトで情報漏えいが起きれば、そのメールアドレスとパスワードの組み合わせは、数時間のうちに銀行やメールサービス、SNSアカウントに対してクレデンシャルスタッフィング攻撃にかけられます。サイトごとに毎回新しく生成した固有のパスワードを使えば、被害を1つのアカウントに封じ込められます。

最低条件を満たすだけで満足してしまう。 多くのサイトは「8文字以上、数字1つ、記号1つ」といった条件を課してきますが、それはあくまで下限であって、目指すべき水準ではありません。上の表が示す通り、条件をぎりぎり満たしただけの8文字のパスワードでも、オフライン攻撃にかければ数日で破られる可能性があります。失っても構わないもの以外は、16文字を実質的な最低ラインと考えてください。

記憶だけに頼って保管する。 十数個の固有な16文字のランダム文字列を頭で覚えようとすると、結局のところ多くの人が弱いパスワード、使い回し、あるいは少しずつ変えただけのパスワードに逆戻りしてしまいます。パスワードマネージャーを使えば、サイトごとに固有の強いパスワードを自動で生成・保管してくれるので、覚えておくべきはマスターパスワード1つだけになります。

よくある質問

英数字だけの20文字パスワードは、記号込みの10文字パスワードより安全ですか。 はい、かなりの差があります。エントロピーの計算式では長さが支配的だからです。英数字62文字セットの20文字パスワードはおよそ119ビットのエントロピーを持つのに対し、記号を含む95文字セットの10文字パスワードはおよそ66ビットにとどまります。組み合わせの数にして約9000兆倍もの開きです。

強くて固有なパスワードは、どのくらいの頻度で変えるべきですか。 ランダムに生成され、そのアカウント専用で、漏えいの兆候がないのであれば、定期的にローテーションする安全上のメリットはありません。パスワードを変えるべきタイミングは、サービス側が情報漏えいを公表したとき、固有のパスワードに切り替える前にそれを他のサイトでも使っていたとき、あるいはフィッシングや覗き見、端末の乗っ取りなどで漏れた疑いがあるときです。

オンラインのパスワード生成ツールは安全に使えますか。 どこで生成されるかによります。このツールはWeb Crypto APIの暗号学的に安全な乱数生成器を使い、パスワードの生成をすべてブラウザ内で完結させています。パスワードはどこにも送信されないので、サーバー側に記録が残ったり漏れたりする心配がありません。サーバー側で生成してから画面に表示するタイプの生成ツールは避けた方が無難です。

パスフレーズとは何ですか。ランダムなパスワードより優れていますか。 パスフレーズとは、ランダムな文字の羅列の代わりに、無関係な単語をいくつか並べる方式です(diceware方式が代表例)。約7776語の大きな単語リストから選んだ4単語のパスフレーズなら、1単語あたり約12.9ビットとして計算しても、合計で40から50ビット以上のエントロピーに達し、しかも同等のランダム文字列よりずっとタイプしやすく覚えやすくなります。パスワードマネージャーを守るマスターパスワードのような、記憶しておく必要がある1つのパスワードには向いています。それ以外のアカウントについては、マネージャーに保管する生成済みのランダムパスワードの方が、同じ長さならよりシンプルで強力です。

パスワードセキュリティエントロピー
強力なパスワード生成ツール
今すぐフルツールで試してみましょう。
今すぐ試す