パスワードとパスフレーズ:本当に強さを決めるもの
パスワードに関する助言の多くは十年ほど古びています。今も多くのサイトが課すルール — 大文字ひとつ、数字ひとつ、記号ひとつ、90日ごとに変更 — は推測から生まれたもので、結果として人間には難しく、機械にはほとんど難しくないパスワードを生みました。実際に重要なことはルールが匂わせるより単純で、暗記するより理解する価値があります。
長さは小細工に勝る
パスワードの強さとは攻撃者が試し尽くすべき可能性の数であり、その数は長さに対して指数的に増える一方、文字集合の大きさに対しては線形にしか増えません。小文字のパスワードに一文字加えれば作業量は26倍になりますが、短いパスワードの文字集合に記号を足しても全体としてはずっと小さな倍率にとどまります。ランダムな小文字12文字は、キーボード上のあらゆる文字から選んだ8文字より圧倒的に強いのです。
置き換えの小技が効かない理由もここにあります。文字を似た記号に替える — a を @、e を 3 に — のは、人間には打ちにくい文字列を生む一方、解析ツールはミリ秒で展開します。その置き換えこそ、あらゆる辞書が真っ先に試す項目だからです。ありふれた単語を予測可能な形に変形したものは、その単語の弱さをそのまま受け継ぎます。
強度メーターが誤解を招くところ
文字種を数えるだけのメーターは Password1! を平気で「強い」と表示します。大文字・小文字・数字・記号がそろっているからです。そしてそれは、どんな攻撃者も最初の数千回のうちに試す候補です。より優れたメーターは辞書・キーボードの並び・日付・よくある置き換えをモデル化し、そのパスワードが何回の推測に耐えるかを見積もります — どの文字種が含まれるかよりはるかに有用な問いです。
どんなメーターも「弱さの下限」として扱い、「強さの証明書」として扱わないでください。何かが悪いことは説得力をもって教えてくれますが、そのパスワードがすでに流出リストに載っているかは分かりません。しかしそれこそが最も重要な事実です — 点数の高いパスワードより、使い回していない固有のパスワードのほうが重要なのです。
パスフレーズ:実際に覚えられる強さ
パスフレーズはランダムな単語をいくつかつないだもので、その強さは単語の数と、単語を引いてきたリストの大きさから来ます — 複雑に見えるかどうかとは関係ありません。7,776語のリストから無作為に6語選べばおよそ77ビットのエントロピーになり、オフライン解析が届く範囲を余裕をもって超えつつ、人が頭に入れてスマートフォンで打てる程度に収まります。
肝心なのは「無作為」であることです。自分で選んだ単語は無作為ではありません。人は関連する語や名前、歌詞や本に出てくる言い回しを選びがちで、攻撃者がモデル化するのはまさにその構造です。単語は本当にランダムな過程から出てこなければならず、サイコロを使う方式の存在理由がそこにあります — そして、自分で考えたパスフレーズが生成したものと同等でない理由でもあります。
本当のリスクは使い回し
攻撃者に総当たりされて破られる人はほとんどいません。何年も前に登録したサイトが侵害され、同じパスワードがメールでも通ってしまうから破られるのです。流出した組み合わせを他のサービスで試すクレデンシャルスタッフィングは安価で自動化されていて非常に効果的であり、使い回したパスワードはどれだけ複雑でもこれを防げません。
だから最適化する価値のある性質は「固有であること」であり、規模をもって固有性を保つにはパスワードマネージャーが要ります。すべてのパスワードが固有で生成されたものになれば、個々の覚えやすさは意味を失い、覚えるべきはマネージャー自体を守るひとつだけになります — 長いパスフレーズが真価を発揮するのはまさにここです。
二要素認証が実際に守るもの
第二の要素は盗まれた・当てられたパスワードに対する守りであり、その役目は非常によく果たします。パスワードを知っているだけでは足りなくなるからです。時間ベースのワンタイムコードは共有秘密と現在時刻から導かれ、だからこそオフラインでも機能し、端末の時計がおおむね正しい必要があります。
ただし守らないものも明確にしておきましょう。よくできたフィッシングページはパスワードと同じ気軽さでコードを尋ね、両方をただちに中継できますし、SMS のコードは電話番号を乗っ取られれば傍受されます。認証アプリのコードは SMS より明確に優れており、誤ったドメインには認証を拒むハードウェアキーは、人間を判断から完全に外すぶんさらに優れています。
- 文字種の曲芸より長さを優先し、長いパスフレーズを目指す。
- パスワードを絶対に使い回さない。固有であることが複雑さより守ってくれる。
- 考え出すのではなく生成する。人の選択には偏りがある。
- SMS より認証アプリを、提供されているならハードウェアキーを使う。
- 決まった周期ではなく、理由があるときにパスワードを変える。