安全なパスワードの作り方

「英大文字・小文字・数字・記号を混ぜて8文字以上」——この指示に従っても、実はあまり安全になりません。 何が強さを決めているのかを先に理解すると、覚えられて、しかも強いパスワードが作れます。

強さを決めているのは「長さ」です

パスワードの強さは「ありうる組み合わせが何通りか」で決まります。 そして組み合わせの数は、文字の種類より長さのほうが圧倒的に効きます。

使える文字を90種類とすると、1文字増やすたびに組み合わせは90倍になります。 一方、文字の種類を26種類から90種類に増やしても、増えるのは1文字あたり3.5倍程度。 1文字足すほうが、記号を許可するよりずっと効くのです。

パスワード強さ総当たりの目安
Tk9$mR2p(記号入り8文字)約52ビット数時間〜数日
tanpopokujiratsukue(英小文字のみ19文字)約89ビット事実上不可能

記号も数字も大文字も入っていない下のほうが、桁違いに強い。 これが「長さが効く」ということです。

本当の脅威は総当たりではありません

ここまで組み合わせの数の話をしましたが、 現実に起きている被害の大半は、総当たり攻撃ではありません。

最も多いのはパスワードリスト攻撃です。 どこかの企業からIDとパスワードの組み合わせが漏れると、攻撃者はその一覧を使って、 他のサービスに片っ端からログインを試します。 使い回していれば、どれだけ複雑なパスワードでも一発で破られます。

複雑さより、使い回さないことのほうが重要です。 Xk#9mQ2!vB を全サービスで使っている人より、 tanpopo-kujira-tsukue をサービスごとに変えている人のほうが安全です。

定期的な変更は、もう推奨されていません

「3か月ごとにパスワードを変更してください」——長く常識とされてきましたが、 現在は推奨されていません。

理由は単純で、人間が対応しきれないからです。 頻繁に変更を求められると、人は Pass01Pass02Pass03 のような、規則性のある弱い変形に走ります。 これでは1つ漏れた時点で次が推測できてしまい、かえって危険になります。

米国のNIST(国立標準技術研究所)はガイドラインを改め、 漏えいの兆候がない限り定期変更を求めない方針に転換しました。 日本の総務省も同様の考え方を示しています。

変えるべきなのは「漏れたとき」だけです。 利用中のサービスから漏えいの連絡が来たら、そのときに変更してください。

現実的なやり方:覚えるものと、覚えないものを分ける

パスワードの管理が破綻するのは、全部を自力で覚えようとするからです。 実際に暗記が必要なものは、ほとんどの人で2〜3個しかありません。

覚えない
(大多数)
通販、SNS、各種会員サービス。管理ソフトに保存すればよいので、 読めなくても打てなくてもかまいません。完全ランダムで20文字前後にします
覚える
(2〜3個)
パソコンのログイン、パスワード管理ソフトのマスターパスワード、スマホのロック解除。 ここだけ単語をつなぐ方式で作ります

この切り分けをすると、大多数のパスワードは覚えやすさを考えなくてよくなるので、 無制限に強くできます。

覚える用:単語をつなぐ

暗記が必要なものは、関係のない単語をいくつも並べる方式にします。 たとえば Kusa-Jitensha-Tani-Tanpopo-Niji-Haru-Kame-Mizu のように。

覚え方にはコツがあります。文字列として暗記しないでください。 代わりに、単語をつないでばかばかしい情景を1つ思い浮かべます。

「草むらの自転車が谷に落ちて、たんぽぽの上に虹が出た春、亀が水に飛び込んだ」—— こんな調子です。変な話ほどよく残ります。 順番も一緒に覚えられるので、記号まじりの文字列より圧倒的に楽です。

3日ほど「コピーに頼らず、思い出して入力する」を繰り返せば定着します。

作るときの注意点(ツールの選び方)

パスワード生成サイトを使うときは、そのパスワードがどこで作られているかを気にしてください。 サーバー側で生成している場合、あなたのパスワードが一度は他社を通ることになります。

当サイトのパスワード作成ツールは、 ブラウザの中だけで生成し、通信も保存も一切していません。 ブラウザの開発者ツール(F12)の「ネットワーク」を開いたまま生成すれば、確認できます。

また、内部ではcrypto.getRandomValues()という 暗号用途向けの乱数を使っています。 よく使われるMath.random()は予測可能な擬似乱数で、パスワードには使えません。 実装は難読化せず公開しているので、中身を確認できます。

やってはいけないこと

保存する場所

強いパスワードを作っても、置き場所がなければ結局メモ帳に平文で保存することになります。 現実的な選択肢は3つです。

パスワード管理ソフト最も安全。マスターパスワード1つだけ覚えれば済みます
ブラウザの保存機能専用ソフトには劣りますが、何もしないよりはるかにましです
紙に書いて自宅で保管意外に悪くありません。ネット経由では盗めないからです

よくある質問

2段階認証を設定していれば、パスワードは適当でもよいですか?

いいえ。2段階認証は非常に有効ですが、万能ではありません。認証コードを盗む手口も存在します。パスワードと2段階認証は、どちらも設定してください。

自分のパスワードが漏れているか調べられますか?

漏えいしたアカウント情報を検索できるサービスがあります。ただしパスワードそのものを入力させるサイトには絶対に入力しないでください。調べるならメールアドレスで検索する形式のものを使ってください。

スマホのロックは4桁の数字でよいですか?

指紋や顔認証と併用するなら現実的です。ただし数字4桁は1万通りしかないため、それだけに頼るのは避けてください。可能なら6桁以上、または英数字のパスコードにしてください。

まとめ

この記事で使うツール