秘密の質問なんかいらない!


この記事の所要時間: 310秒 〜 410秒程度(1824文字)


インターネット上のサービスに新規登録するとき必要になるのが秘密の質問だ。
「母親の旧姓は?」、「初恋の人の名前は?」、「飼っているペットの名前は?」などの質問に答えておき、パスワードを忘れたときの本人確認に使うようになっている。この仕組み自体は、パスワードリマインダーとよばれることもある。
 
この秘密の質問の選び方は難しい。
表示される4〜5個の質問が、どれも帯に短したすきに長しなのだ。リマインダーが必要になったときに答えがわからなくては意味がないので、「忘れない」「変わらない」モノ(例えば「母親の旧姓」)を選ぶ必要がある。しかし、そういうモノは他人でも調べられることが多くセキュリティの問題が気になる。だからと言って、調べられないようなモノ(例えば「初恋の人」)を選べば、次は別のことを考えるかも知れず不安が残る。ここにある種のパラドクスがあるため、どれも不適当に思えてしまうのだろう。
 
実は、このパラドクスには簡単な解決策がある。
要は、秘密の質問を使わなければいいのだ。
今回はこの単純明快な方法についてお話ししよう。
 

photo credit : binaryCoco via photopin cc

 


秘密の質問にはランダムな文字列を


パスワードリマインダーは、「人はパスワードを忘れる」という前提でできているシステムだ。そして、人は心配性なので万が一に忘れた場合に備えてこれに協力することになる。
 
しかし、本当にパスワードを忘れるようなことがあるだろうか。
もちろん「人による」とは言え、実際にはそんなことは滅多にない。それでも心配だというなら、パスワードを忘れないようにすればいい。サイト側が考えた勝手な前提に従ってパスワードよりも明らかに脆弱な秘密の質問を使うくらいなら、パスワードの忘れ防止に注力した方がいい。
 
サイトを設計する側が、万が一を考えてパスワードを用意するのはわかる。しかし、それで危険が増すと思うなら使わない方がいいだろう。秘密の質問を入力しないと登録できないシステムならランダムな文字列でも入れておけばいい。
 
ただし、パスワード同様、適当な単語(password、baseballなど)や数値(1234、12345678など)を入力するのは感心しない。どうせならエクセルなどでランダムな文字列をつくった方がいいだろう。

【数字】 =CHAR(RANDBETWEEN(48,57))
【大文字】=CHAR(RANDBETWEEN(65,90))
【小文字】=CHAR(RANDBETWEEN(97,122))

例えば、エクセルのセルにこの数式を入れればランダムな数字やアルファベットが出現する。これをいくつか連結すれば(=CHAR(略)&CHAR(略)&CHAR(略)&・・・)、ランダムな文字列をつくるのなんて簡単だ。
 


忘れないパスワードをつくろう


さて、パスワードリマインダーを実質的に無効な状態にしたら、次は忘れないパスワードをつくる必要がある。
 
もちろん、忘れないようにするといっても、単純なパスワードを使ったり、どのサイトも同じパスワードを使うのは危険だ。しかし、どのサイトでも「同じルールで変換した」パスワードを使うのなら、話は違ってくる。この方法の場合、忘れないし、危険度は相対的に低い。
 
例えば、サイトのURLを使ってパスワードをつくればいい。
具体的には、www等を除いたサイトURLの冒頭8文字をアルファベット1つずつずらすだけでもいい。sasakitakashi.bizなら、最初のsasakitaを1文字ずつずらしてtbtbljubとするのだ。もちろん破れないパスワードだとは言えないが、同じパスワードを使いまわしたり、簡単な単語等を選ぶよりは安全だ。そして、何より忘れる可能性が低い。これで心配なら、変換の方法をもっと複雑にすればいいだろう。
 
このようにすれば、忘れないパスワードをつくることができる。
秘密の質問をいい加減に使うよりも、この「秘密の質問なんかいらない」という状態にする方が安全ではないだろうか。

  1. コメントはまだありません。

  1. トラックバックはまだありません。

This blog is kept spam free by WP-SpamFree.