December 05, 2006

良いパスワードをつけさせるためにユーザに与えるべきアドバイスはなにがよいのだろうか?

Password Memorability and Security: Empirical Results
Jeff Yan, Alan Blackwell ,Ross Anderson and Alasdair Grant
IEEE Security & Privacy, September/October 2004.

パスワード認証における弱点の一つは,脆弱なパスワードをつけてしまうことである.これに対し,パスワード決定のためのアドバイスをすることが多々あるが,それが果して有効なのか? (そのアドバイスによって,ユーザは安全なパスワードをつけるようになるのか?) についてユーザ実験により検証を行った.

つまり,パスワードを決定する際にあたえる「アドバイス」には何が有効か? を実験を通じて検証した論文.

結果として,「X文字以上で,推測が困難なパスワードをつけるように」というアドバイスは意味がない,つまり何もアドバイスをしないのと有意な差異が得られないことを証明している.

以下は走り書き

■ 導入
* 人は,大抵 7文字 プラスマイナス 2文字程度の文字列しか覚えていられない
* ユーザは敵ではない,だが,システムの安全性を維持するためには有益な情報を与えることが必要

* 良く使われてる,パスワード決定のためのアドバイス
- パスワードには数字や特殊文字を混ぜろ
- 辞書に載っている単語は使うな
- 大文字小文字を混ぜろ
- 書き留めたパスワードを,他人の目につくところにおくな
- ランダムパスワード生成器の出力を使え,そしてそれを発音可能な単語に置き換えて覚えろ,またアクセントのあるところは大文字にしろ
- よいパスワードはランダムな文字列だ
- あるフレーズ(文章)を考え,その各単語の頭文字を抜き出してパスワードとせよ,ただしありがちなフレーズは使ってはならない

* よくあるアドバイス
「8文字以上で2文字以上の数字か特殊文字を混ぜよ.そして月に一回変更せよ」
- ユーザのする行為
Juliet03, Juliet04...と月の数字を変えてパスワードを更新する
- こういった類のアドバイスは,ユーザによる回避行動を助長するだけ
- どういうアドバイスが,実際に有効なのか? を考えなければならない

■ 評価実験
- ユーザを3つのグループに分け,それぞれ異なるアドバイスをあたえる
1. control group:
「7文字以上で,少なくとも1つは特殊文字か数字を混ぜること」
2. random password group:
「8文字のランダム文字列をパスワードとせよ,なおパスワードが記憶できるまで,そのメモを持ちつづけるべし」
3. pass phrase group :
「ニーモニックに基づくパスワード.つまり文章(フレーズ)を考え,その文書の各単語の頭文字または最後の文字を抜き出してパスワードとせよ.7文字以上で,1つは特殊文字を入れよ」

- これに対し,4つの攻撃手法で攻撃を行った
1. 辞書攻撃
2. 文字および数字の置換による攻撃
3. 個人情報による(推測)攻撃
4. Brute-force攻撃 (6文字によるすべての回答で実施)

- 実施期間は4ヶ月
- 比較対象として,実験に参加していないグループのデータも収集

■ 実験結果
- パスワード長の平均は,7と8の間.実験に参加していない母集団の平均よりも若干長かった.
- 「文字および数字の置換による攻撃」が一番攻撃に成功した
- 「個人情報による推測攻撃」が,一番攻撃成功率が低かった.理由は推測に使用した母集団の情報が少なかったからと推測される.
- もちろん,6文字によるパスワードはBrute-force攻撃によって攻撃に成功した.アドバイスに忠実であれば,6文字のパスワードをつけるはずがないので,これはアドバイスを無視したケースであるといえる.
- もちろん,6文字によるパスワードはBrute-force攻撃によって攻撃に成功した
- 6文字以上のパスワードで,もっとも攻撃に成功したのはcontrol groupであった.しかし,その成功率は,アドバイスなしの比較対象グループよりも低かった.
- random passwordとpass phrase passwordでcrackされたパスワードは,すべて置換攻撃によるものであった.
- pass phrase password以外の被験者で,特殊文字をパスワードに使用したユーザはいなかった.つまり,アドバイス中に特殊文字を入れることを明記した方が良いということがわかる
- パスワードのリセットをシステム管理者に依頼するユーザはほとんどいなかった

- 電子メールで被験者に以下の2つについてアンケートした
1. 記憶可能なパスワードを見付けるのはどのくらい大変か? 5段階で答えよ
2. どのくらいパスワードのメモを持ち歩いたか? 週単位で答えよ

- random password groupは,決定も記憶維持も難しいと回答
- random password groupの多くは,いまだにメモを持ち歩いている

■ 何が真実か?
- 真実: ランダムパスワードは覚えられない
- 真実: Passphraseに基づくパスワードは,普通に設定されたパスワードよりも推測に強い
- 疑惑: ランダムパスワードはpassphraseベースのパスワードより安全
- 疑惑: passphraseベースのパスワードは,普通に設定したパスワードより記憶が難しい
- 疑惑: ランダムパスワードやpassphraseベースのパスワードを使用するように教育すれば,システムの安全性は改善する.
これが疑惑である理由は,全てのユーザがその規則を守らない限り,脆弱なパスワードが攻撃され,システムに侵入されることで,安全なパスワードをつけていたユーザもなんらかの被害に会う可能性があるからである.よって,一部のユーザの怠慢によりシステムの安全性が低下しないよう,規則遵守の強制と監視はユーザの教育と同様に重要である.

■ 推奨されるアドバイス
- mnemonicに基づくパスワードを使用するようにせよ
- パスワードはできるだけ長い文字列にせよ.またシステムにより制約にも注意を払え
- 規則遵守はもっとも重要な点である.
- 統一された払い出し機構によるランダムパスワードを使用するならば,パスワードがランダムであることよりも,統一して払い出せることによる利点,つまり規則遵守を実現可能であるということに注目せよ.

- 今後の興味深いチャレンジは,mnemonicベースのパスワードで規則遵守を実現(強制)できる枠組の探求である.Proactive Password Checkerは,効果的なツールかもしれない

Posted by z at December 5, 2006 02:07 AM