May 10, 2006

入力位置情報を付加したパスワード認証方式

[概要]
利便性とセキュリティ強度の兼ね合いを考慮した上で,入力位置情報を付加したパスワード認証方法を実装し,その操作性について評価した論文である.入力位置情報と言われてもピンとこないが,言いかえると,複数のテンキーが画面に存在し,4桁PINの各桁は、複数あるテンキーのうち,事前に決定しておいた特定のテンキーを使って入力することで認証を行う手法である.

暗証番号 "1382"の入力例
csec2003-07.png

4桁の暗証番号は「安全ではない」と言われて久しい
=>10000通りの総当たりで必ずパスワードが発覚する.
=>また誕生日と仮定すると0101から1231までの366通りでパスワードが発覚する.

店舗でのカード型サービスは,まだ"まし"である.なぜなら

1. カードがなければサービスは利用できない
2. 数回認証に失敗すると,サービス利用が不能になる

ただし,覗き見攻撃の危険がある.

一方,最近はインターネット経由でサービスが利用可能.そうすると...

1. カード等の物理媒体がないので,暗証番号のみで誰でもなりすまし可能
2. 短時間で,膨大な回数の試行が可能 => プログラムによる総当たり/辞書攻撃
3. アカウントロックされるのを防ぐため,特定のユーザIDでパスワードのみを変更して攻撃するのではなく,ユーザIDとパスワードの方法を毎回変更して攻撃する手口が常識化
4. わざと認証に繰り返し失敗することで,そのユーザがサービスを利用不能にするDoS攻撃

といった脅威が存在することになる.また監視/抑制が困難であり,接続元を偽ることにより犯人の特定も難しいといった問題点もある.

既存の対策手法
1. brute-force(ブルートフォース)攻撃
総当たり攻撃/辞書攻撃ともよばれる攻撃手法である.これに対する対策手法として、試行回数の制限がよく挙げられるが,これは以下の2つの点で,あまり意味をなさないとも言われている

- I. 回避可能
特定ユーザを狙うのでなければ,制限回数に達する前に違うユーザ名で攻撃を継続することができるため意味がない.もちろん,特定のユーザを狙ったとしても,制限回数に達する前に一度認証をキャンセルし,しばらくしてまた攻撃を再開すればよい.

- II. 仕組みを悪用しDoS攻撃を誘発
わざと制限回数失敗し,そのサービスを使用不能にすることができるため

対策方法としては、乱数表によるChallenge & Responseが実際に銀行などで行われている.この方法の問題点は、
1. 乱数表をその機密性を維持したまま,確実にユーザに届ける必要がある.
2. 長期間同じ乱数表を使っていると、なりすましの危険性は高まる.
3. 持ち歩く必要がある.それはすなわち盗難/紛失の恐れがあるということである.

もう一つの対策方法としては、冗長なユーザIDの利用が挙げられている.これは多数の無効なユーザIDの中に,有効なユーザIDを隠すという手法だが、根本的な解決策にはなっておらず、あくまで延命策として有効という事だろう.

2. ショルダーハッキング対策

周囲から認証行為を覗き見られる事により、ユーザの暗証番号が第三者に知られることになるという脅威である.これに対する対策方法としては、
1. 物理的に入力キーを隠すことで、入力を第三者に見られないようにする.
これは基本ではあるが、正規のユーザも自分が何を入力したか見えなくなるという欠点もある.
2. 入力キーの配置を変更する方法
これは対策にはなっていない気がする.ビデオで認証行為を撮影されたらアウトですやん

そこで筆者は,

=> 4桁の暗証番号を使いつつ,その入力方法を工夫することで,より安全な認証方法とするため,「入力位置」を利用する.
=> 入力位置とは,回答を入力する欄が複数存在し,各回答は,それらの回答欄のうち,事前に決められた回答欄に入力することで認証する.

というアイデアを展開している.

が,当方はここが気になる.

1. これは4桁のPINを8桁にしているように見える

4桁のPINの各桁に対して,入力位置を事前に決定し,認証時にはそれを正確に思い出す必要がある.つまりこれは入力位置を数値に換算すれば,8桁PINによる認証と同等であると考えることができ,もちろん桁数の増加にともない安全性は高まるが,その一方でユーザの記憶負担も増加する

2. ショルダーハッキング対策にはなってない

横から覗いた場合には...かもしれないが,ビデオで認証行為を撮影されたとしたら,それはアウトであろう.KeyGroupの配置をランダムにしても,ビデオで撮影されればやはり意味をなさない.最近,銀行ATMの認証行為盗撮事件が起きていることから,ショルダーハッキング対策であるというのであれば,その前提はビデオで撮影されても大丈夫というぐらいは必要ではないだろうか? と考える.

3. 評価が打鍵回数というのは妥当なのだろうか?

最近の銀行ATMを想像すればわかるが,入力位置の移動をキーでやるとは思えない.
打鍵回数よりも,認証にかかる時間の方がよいのではないだろうか?

4. インタフェース面
KeyGroupを増やすためには画面領域が必要となる.銀行ATMでも容易ではないだろうし,携帯電話やPDAへの展開はそのままでは困難であり,なんらかの工夫が必要である(いくつかのアイデアはすぐに浮かびそうだ).またテンキーをあのように展開してしまうと,操作は一見簡単そうに見えるのだが,ユーザによっては、あまりのキーの多さに圧倒されたりしないだろうか? という懸念も?

入力欄が複数に分割するとユーザは混乱しないかな? という根本的な疑問があるのですが、これはどうなんでしょう?

こちらに論文のPDFファイル.そしてこちらに論文発表時のプレゼン資料(PDF)がある.
プレゼンの最後に公開実験中としてURLが記載されているのだが、残念ながらすでになくなっているようである.
----
author = {荒川 豊,竹森 敬祐,笹瀬 巖}
title = {入力位置情報を付加したパスワード認証方式}
journal = {情報処理学会 コンピュータセキュリティ研究会 研究報告 2003-CSEC-21}
volume = {2003}
number = {45}
pages = {35--40}
publisher = {情報処理学会}
year = {2003}

Posted by z at May 10, 2006 02:27 AM