パスワードのアイデア:あなたの思いつきが役に立たない理由

公開日 著者 David Carrero

何度も繰り返される検索がある。パスワードのアイデア。これは当然のことだ。入力欄 が待っていて、何かをひねり出さなければならず、そのやり方を誰も教えてくれなかったの だから。

問題は、アイデアという言葉そのものがすでに失敗だということだ。良いパスワードとは 良いアイデアではない。背後に何のアイデアもないパスワードのことだ。

これは記事の書き出しのための美しい言い回しではない。攻撃は文字どおりそうやって動く。

あなたが思いつくアイデアの一覧は、相手が最初に試す一覧である

辞書攻撃は aaaaaaaa から始めて数え上げていくわけではない。すでに何百万回も流出した パスワードから始まり、人名、普通名詞、都市名、サッカークラブ名、4 桁の西暦へと進む。 そしてその土台の上に規則を重ねる。先頭に大文字、末尾に数字か !a@ に、 e3 に、o0 に、単語を逆から、単語を二回。

これらの規則は秘密でも新しいものでもない。何十年も前から書かれていて、どの攻撃ツール にも標準で入っている。言い換えれば、あなたが「パスワードのアイデア」と呼ぶであろう 思いつきの目録は、ほぼその順番のまま、あなたを攻撃する側の設定ファイルなのだ。

ここから先の数字はすべて、当サイトの診断ツールから出ている。前提は 高速ハッシュに対するオフライン攻撃、毎秒 10¹² 回。結果の下に書いてあり、この前提 なしにはどんな時間も意味を持たない。数字はすべて自分で再現できる。例を打ち込んで見て ほしい。

アイデア 1:自分の名前と生まれた年

Sakura1985。10 文字、大文字あり、数字 4 つ。インターネットの半分が要求する条件を 満たしている。

診断ツールは一瞬で二つに割る。Sakura「辞書に載っています」1985「年号か日付のようです」。結果は 280,000 回。この速度なら 1 秒未満 だ。

なぜ天文学的な数ではなく 280,000 なのかに注目してほしい。短いからではない。これは 10 個の決定ではなく、2 個の決定だからだ。どの名前と、どの年か。よくある名前は数千の オーダー、人が実際にパスワードに入れる西暦は数十のオーダー。掛け算して終わり。10 文字 打ったのに、30 万に満たない候補の中から選んだにすぎない。

アイデア 2:「a」をアットマークに置き換える

これは誰もが効くと信じている小細工で、いちばん古びるのが早いものでもある。

S@kur@1985550,000 回。上がった、たしかに。ちょうど 2 倍だ。そして 何もないものの 2 倍はやはり何もない ——診断ツールは相変わらず 1 秒未満と測る—— なぜなら置き換えは新しいパスワードを作っていないからだ。攻撃者がとっくに織り込み済み の、はい/いいえの質問を一つ足しただけである。この人は a を置き換えたか、否か。

よく見てほしい。診断ツールは判定すら変えない。相変わらず「辞書に載っています」と言い、 今度は 文字を数字に置き換えたもの という但し書きが付く。単語は同じように見つかって いる。

どこまで行くのかを見たければ、定番の例を試すといい。大文字があり、アットマークがあり、 ゼロがあり、よく考えられた雰囲気を漂わせた P@ssw0rd は、17 回で落ちる。17 回。 両手の指と少しの忍耐で数えられる。

アイデア 3:逆から書く

arukas1985280,000 回。最後の桁まで Sakura1985 と同じ数字だ。

逆順にしても効果が薄い、という話ではない。まったく何も変わらない。 単語を逆順に するのは辞書が標準で持っている規則の一つで、診断ツールは同じように見つけ、同じように ラベルを貼る。今度は 逆から書いたもの という但し書き付きで。

繰り返しも同じだ。SakuraSakura5,403 回まで下がる。文字数を倍にしたのに 前より悪くなる。「一部を繰り返しています」もまた、名前の付いたパターンだからだ。

アイデア 4:指でキーボードをなぞる

考えたくないとき、人はキーボードを見て形をなぞる。出てくるのは qwerty1231qaz2wsx1q2w3e4rasdfghjkl

意味がないのでランダムに感じる。しかしキーボードには固定された、そして非常に小さな 幾何がある。そこをなぞることこそ、プログラムがあなたより得意な作業だ。

  • qwerty123273 回
  • 1qaz2wsx29 回

29 回。これらは擦り切れすぎていて、キーボードの規則すら要らない。流出パスワードの一覧 にそのままの形で載っており、診断ツールは素っ気なく「辞書に載っています」と片づける。

アイデア 5:犬と、決して忘れない日付

Toby2015! は経歴のあるパスワードだ。犬の名前、家に来た年、そして入力欄をなだめる ための感嘆符。1,2 × 10⁸ 回、それでもなお 1 秒未満 である。

よくあるペットの名前は数千程度で、人名と同じ一覧に載っている。末尾の ! が寄与する のは、全員が守っている規則が寄与する分だけ、つまりゼロだ。

記念日はもっと居心地が悪い。24121985 ——日、月、年—— は 8 桁の数字に見えるが、診断 ツールは「日付が含まれます」とラベルを貼り、14,966 回で片づける。理由はカレンダー にある。日は 31、月は 12、もっともらしい年は 1 世紀ちょっと。1000 万通りに見える 8 桁 が、実際には 1 万 5 千ほどしかない。

これが日付の罠だ。長さは与えてくれるが、不確実性は与えてくれない。 そして支払われ るのは不確実性だけである。

アイデア 6:車のナンバー、そして診断ツールに見えないもの

4521KDR は別の種類で、立ち止まる価値がある。

ここで診断ツールは 「既知のパターンは見つかりませんでした」 と言い、 3,9 × 10¹⁰ 回と計算する。だがその数字を 上限 として印を付ける。この言葉こそ が肝心だ。あなたのパターンが見つからなかっただけで、あなたにパターンがないことの証明 にはならない。それでもなお、甘く見積もって、時間は 1 秒未満 のままである。

そしてここに、理解すべき隔たりがある。診断ツールはあなたがどんな車に乗っているか知ら ない。あなたを知っている人、あなたの Instagram を開いている人、あなたのナンバーが載っ た流出データを買った人には 3,9 × 10¹⁰ 回など要らない。1 回で足りる。パターンが見つ からないときに表示される数字が測っているのは、赤の他人の無知であって、あなたを調べた 人の無知ではない。

同じことが番地、身分証番号、電話番号、結婚記念日にも当てはまる。

6 つに共通するもの

これらのアイデアは「複雑さが足りない」から失敗するのではない。すべて同じ理由で失敗 する。それらは自叙伝だからだ。 そして自叙伝は当てられる。あなたの名前、あなたの年、 あなたの犬、あなたの車、あなたがキーボードをなぞる癖。どの決定もあなた個人のものに 感じられ、まさにそれゆえに、誰かがとっくに書き出した短い一覧に属している。

複雑さを足しても何も解決しない。あなたが施す複雑さもまたあなたの決定であり、やはり その一覧に載っているからだ。だから S@kur@1985 はみじめな 2 倍しか稼げず、 arukas1985 はそれすら稼げない。

数字で議論したければ、エントロピーのビットにある。 数えるべきは、あなたが書けたはずのパスワードの数ではなく、あなたの好みについて知ら れていることをすべて差し引いた後に残る数だ。

出口は「もっと良いアイデア」ではない。アイデアをやめることだ

その一覧から抜け出す唯一の方法は、パスワードがあなたの頭から出てこないことである。

それこそが Diceware のやって いることだ。サイコロを 5 個振り、その数字を 7,776 語のリストで引き、出たものを書き 写す。1 回の出目は 12.9 ビットの価値があり、それは正真正銘の 12.9 だ。サイコロには 好みも記憶も、あなたの生まれ年もないからである。6 語でおよそ 77 ビットになる。

それを診断ツールに入れて、何が変わるか見てほしい。サイコロで選ばれたごく普通の 6 語 は「非常に弱い」から 「非常に強い」 に跳ね、時間はもう秒では測られない。凝っている からではない——凝ってなどいない、普通の 6 語だ——あなたが決めていない唯一の部分だから である。ブラウザに振らせたいなら、ジェネレーターが同じ抽選を行い、その場で ビット数を見せてくれる。

だから「パスワードのアイデアをくれ」への正直な答えはこうなる。必要ない、むしろ多すぎる。 足りないのはサイコロだ。


出典:本記事の数字はすべて password.es の診断ツールによるもので、その前提は結果の下に 明示されている——毎秒 10¹² 回、オフライン攻撃、高速ハッシュ——各例を /ja/checker/ に打ち込めば再現できる · パターン解析エンジンは Daniel Lowe Wheeler(Dropbox)の zxcvbn。USENIX Security 2016 で「zxcvbn: Low-Budget Password Strength Estimation」として発表された · 引用した置換・逆順・反復の規則は、 辞書攻撃ツールが標準で備えているものである · Arnold G. Reinhold「The Diceware Passphrase Home Page」(1995)——7,776 語と 1 回の出目あたり 12.9 ビットについて。

写真: RDNE Stock project · Pexels

← ブログに戻る