第35回 覗き見対策
2009年9月15日
(これまでの増井俊之の「界面潮流」はこちら)
パスワードを使って計算機やWebサービスにログインするとき、パスワードは「****」のように伏字で表示されるのが普通です。秘密のパスワードが表示されて他人に見られると大変ですから、このような方法で入力文字を隠すのは当然と考えられていますし、他人がパスワードを入力しているときはキー操作が見えないように別の方を向くのが常識的なマナーだと思われています。
ところがユーザビリティの専門家であるJacob Nielsen氏が6月23日に突然、自分のブログで「パスワード入力の伏字は有害である」と言いだしました。
伏字が有害だとNielsen氏が言った理由は以下のようなものです。
- ユーザの操作に対しては常にフィードバックが返るべきである
- 本当にパスワードを盗もうとする奴はキーボードを見るから伏字にしてもあまり意味がない
- そもそもパスワード入力はひとりでやるものだから覗く奴などいない
- 伏字だとパスワードの入力ミスをしやすいからサービスが使いにくい印象になる
- 伏字のおかげでエラーが増えがちだから、短いパスワードを使ったりパスワードをコピペしたりする人間が増えて、かえってセキュリティが弱くなる
セキュリティの専門家として有名なBruce Schneier氏が、6月26日に自分のブログで、「自分もよくパスワード入力ミスするからこの意見を支持する」と言って騒ぎが大きくなりました。
これは大きな議論を呼び、結局Schneier氏は最終的に意見を撤回し、伏字も一応意味はある /iPhoneのパスワード入力画面のように、文字が一瞬表示された後で伏字になる方式が妥協案として優れているだろう /と日和ってしまったようです。
Schneier氏はセキュリティの専門家ですが、自宅の無線LANではパスワードも暗号化も設定していないと公言しているほどで、安全な人達に囲まれて暮らしているのかもしれません。
私は普段は楽器手癖方式でパスワードを入力しているのでパスワードが表示されてもあまり嬉しくないのですが、Nielsen氏の意見も一理あるような気はします。
覗き見攻撃対策
秘密情報を盗む方法は沢山あります。パスワードや暗証番号の入力を盗み見る行為は覗き見攻撃とかショルダーサーフィンとか呼ばれており、銀行ATMやデビットカードを利用するとき常に気になるところです。覗き見攻撃が心配される場所では、人前で堂々と操作を行なっても問題無い認証方法を利用するのが最も望ましいと考えられます。
普通のパスワード入力のような方法の場合、ユーザが行なった操作を記録してそのまま再生すれば認証に成功してしまいますから、このような単純な方法では覗き見攻撃に非常に弱いことになりますが、ユーザからの入力以外の情報をシステムとの間でやりとりすることにすれば、ユーザの行動だけを観測してなりすまし行動をとることはできなくなります。
たとえば、公開鍵暗号などを利用し、システムからのチャレンジ質問に対し、ユーザ独自の方法で計算した結果を返して認証するようなシステムにしておけば、ユーザの行動を覗き見るだけでユーザになりすますことはできません。
システムとユーザの間で一時的に秘密情報を共有することができれば、それを利用して覗き見対策を行なうことができます。たとえば「本当の暗証番号に1を足した値を入力する」という規則が共有されていれば、「1234」という暗証番号のかわりに「2345」と入力して認証を行なうことができます。この規則が毎回変わることになっていれば覗き見られても困ることがありません。
産業技術総合研究所の高田哲司氏が提案しているFakePointerシステムでは、システムとユーザの間で一時的に「■▲●♥」のような秘密の図形パタン情報を共有することによって覗き見耐性のある暗証番号入力を実現しています。FakePointerは固定位置のテンキーと移動可能なバックグラウンド画像で構成されており、入力したい数字に秘密の図形パタンを重ねることによって暗証番号の入力を行ないます。たとえば1文字目に「1」を入力したい場合は、バックグラウンド画像を操作することによって「1」の下に「■」が来るようにします。攻撃者に秘密の図形パタンがわからなければ操作をいくら見られても安全です。
FakePointer
正確にパスワードを入力しないことによる覗き見対策システムも提案されています。自己流認証の回で画像認証システムをいくつか紹介しましたが、Susan Wiedenbeck氏らのシステムではあらかじめ選んでおいた画像を指定するかわりに、その画像によって囲まれる多角形領域内の任意の画像を指定して認証することにより、最初に選んだ画像がどれであるのかわかりにくくなるようになっています。
Wiedenbeck氏のシステム
シャープの佐々本博和氏らは、左手で隠したトラックボールの回転の向きによって暗証番号の割り当てを変えることにによって覗き見攻撃対策を行なう「Undercover」というシステムを提案しています。システムとユーザの間で共有した秘密情報を利用する点はFakePointerと同じですが、他人から見えないように物理的にトラックボールを隠すことによって秘密情報が伝達されるところがクレバーです。
Undercover
覗き見耐性は必要か
覗き見対策するためにはどこかに秘密情報を持つ必要がありますし、操作がかなり面倒になったり頭を使う必要があったりするので、上で紹介したようなシステムが実用的に使えるかというとかなり怪しいように思われます。そもそも覗き見されなければ問題無いわけですから、覗き見耐性の工夫をするよりも、キーボードをきっちりカバーして見えなくするといった地道な工夫の方が効果的だと思われます。画像認証の場合は目での確認が必要ですが、そういう場合でも他人から覗かれないディスプレイを使うといった単純な工夫の方がうまくいきそうです。
そもそもパスワードや暗証番号という認証システム自体が非人間的なものですから、認証システム全体について総合的に考えながら覗き見対策を研究していくことが必要なのでしょう。
フィードを登録する |
---|
増井俊之の「界面潮流」
過去の記事
- 第55回 ものづくり革命2011年5月16日
- 第54回 マイIME2011年4月15日
- 第53回 NFC革命2011年3月10日
- 第52回 自己正当化の圧力2011年2月10日
- 第51回 縦書き主義2011年1月17日