2012-08-07

公開されている情報で認証はできない、または、なぜ生体認証はうまくいかないのか

まともなユーザー登録とログインを必要とするWebサイトにログインする際には、認証として、あらかじめ設定しておいた秘密のパスワードの入力を求められる。銀行のATMの操作にも、予め設定しておいた秘密の暗証番号の入力を求められる。

これは不便ではないか。もっと簡単にログインできないのか。生体認証はどうした。もう何十年も話ばかりで、あまり広く使われていないぞ。

以前、日本のセキュリティ意識が皆無の人間によって設計された携帯電話の、かんたんログインが問題になった。これが何故問題になったのかというと、携帯電話ごとにユニークなIDを送信し、そのIDが送られたことをもって、送信元はある携帯電話の個体であると認証するものである。これは、相手が絶対に嘘をつかないことをあてにした認証方法である。送信するデータは、相手側の手にあるコンピューターで生成されているのだから、相手が嘘をついてしまえば、この認証は破綻する。

生体認証は、人ごとに異なる人体の部分。すなわち指紋とか声とか瞳とか静脈(たいてい手の甲)の位置が一致するかどうかで、認証するものである。問題は、我々はそのような生体情報を、常に公開しているという事だ。我々は、指紋や手の甲の静脈を隠すために手袋をつけたりしないし、瞳を隠すために常時サングラス着用というわけでもないし、ましてや声を出さないわけにもいかない。これらの情報は公開されているものであり、容易に採取できる。あとは、認証の機械による読み取りさえ突破する複製方法を確立すれば、認証を破ることができる。

もっとわかりやすく言おう。今、ある旧知の友人を称する人間が電話をかけてきたとする。電話は音質が悪いので、声による判定はできない。その友人を自称する人間は、友人の名前と住所を正しく答えた。この人間は友人であると認証していいだろうか。

もちろん、友人である保証はない。名前や住所のような情報は、公開されているものである。もちろん、積極的に公開はしないし、個人情報でもあるが、所詮、公開して使う情報である。なぜならば、自分を読んでもらいたい者には、名前を明らかにしなければ呼べないし、訪問してもらいたい相手や郵便物を送ってもらいたい相手には、自分の住所を明らかにしなければ、届かない。偽名や転送サービスはあるにせよ、少し回りくどくするだけだ。

かんたんログインや生体認証は、公開されている情報をもとに認証するので、その程度の信頼性しかない。認証の強度は、偽造が難しいという事だけに依存している。しかしたとえば、指紋の偽造は、すでに容易である。ほとんどの人間は、指紋を守らない。自宅でも常に手袋を着け、トイレも風呂もシャワーでも、いついかなる時でも外さない、これが指紋採取を防ぐ方法である。ある発表によると、数メートルの距離から指紋を撮影できる精度を持ったカメラが開発されたらしい。機械による指紋スキャンを突破する偽造手段は、すでにある。つまり、指紋による認証は、もはやあてにできない。

その他の生体認証も、指紋より偽造が難しいにせよ、根本的には同じ問題を抱えている。公開している情報で認証するので、偽造の困難性だけを信頼しているという問題だ。

故に、今後当分の間、利用者があらかじめ設定する秘密のパスワードに変わる認証方法は出てこないだろう。

ということを、今話題のクラウド(笑)のソーシャルハックのテクニックを読んでいて思った次第。

パスワードも、コンピューターの性能の向上により、十分な長さを持っていなければならない。これには、パスフレーズという方法を使うべきである。というより、これからはパスワード(単語)ではなくパスフレーズ(文章)という言葉を使ったほうがいいだろう。

xkcd: Password Strength

ここでは、"Tr0ub4dor&3"というパスワードを使っている。これは、珍しい単語に大文字小文字を使い、数字による置き換えも行い。さらに記号や数字を付け足すという方法で作られている。

このパスワードは28ビットのエントロピーを有し、一秒間に千回の試行ができるならば、3日で破られる強度である。したがって、コンピューターにとっては簡単なパスワードである。

ところが、人間にとっては、これを覚えるのは難しい。したがって、人間にとっては難しいパスワードである。

"correct horse battery staple"は、四つのありふれた単語のランダムな組み合わせにより作られている。

このパスワードは44bitのエントロピーを有し、一秒間に千回の試行ができるならば、550年で破られる強度である。したがって、コンピューターにとっては難しいパスワードである。

人間にとって、ありふれた単語の四つの組み合わせを覚えるのは簡単である。

この二十年というもの、我々は人間にとって覚えるのが難しいが、コンピューターにとっては推測が簡単なパスワードを教育することに成功してきた。

2 comments:

Anonymous said...

ただし、コンピュータが辞書攻撃において複数の単語の組み合わせを試さない限りにおいて、ですね。

Anonymous said...

>> 1
違います。この計算は11bitの辞書 (2048単語からなるcommon words辞書) を用いた攻撃を前提にしています。