セキュリティと人的要因

複雑なパスワードをユーザに強制すればセキュリティが向上するというのは、コンピュータセキュリティの大嘘だ。現実生活では、覚えられないと思うものは書き残してしまうものだ。セキュリティを向上させようと思うなら、実際の人間行動に則したデザインにすることだ。

ユーザビリティ唱道者とセキュリティ関係者の目指すゴールは、相反するものだ。

  • システムの利用開始を簡単にする: 理想的には、特別なアクセス手続きは一切なしにしたい
  • システムへの侵入を困難にする: 少なくとも権限のないユーザに対しては

ここには、根本的な対立がある。どうしたら解決できるだろうか?セキュリティが真に目指すところは、権限なしでの利用を比較的少数にとどめておくことだと理解する。誰にも利用できないシステムなら、権限のないユーザもゼロになるが、誰もそんなものを作ろうとは思わないだろう。

「安全」なパスワードが侵入を助長する

コンピュータ・セキュリティは大嘘をついている

  • パスワードは乱数にしておいた方が安全
  • パスワードは、ユーザが選んだものよりシステムが選んだものの方が安全
  • 長いパスワードの方が安全
  • ユーザにパスワードを頻繁に変えさせた方が安全
  • システムごとに違うパスワードにした方が安全

人的要因を考えなくていいのなら、これらの命題はすべて真理である。

現実生活で、上記リストのような「セキュリティ向上」原則に準拠したパスワードが生み出す結果はひとつ: ユーザはパスワードを書きとめてしまう。世界中のどこのオフィスでも、ちょっと歩き回るだけで、以下のような仕組みでいくらでもパスワードを収集できるだろう。

  • 端末にくっつけてある黄色い付箋紙を見る
  • 最上段の引き出しにしまってあるカンニングペーパーをさがす
  • ハードディスクを検索して、パスワードを全部まとめて書いてあるファイルをさがす、うまい具合に機械可読だ、これでばっちり

現実的なデザインでセキュリティ向上

でたらめな文字列をいくつも覚えていられるなんて人は、サーカスの見世物芸人くらいのものだろう。一般人の限られた記憶力に見合ったデザインにすべきだ。

ユーザが覚えられるようなシンプルなパスワードにすれば、それだけ秘密を守れる確率が高まる。ユーザが選んだパスワードや、そう頻繁に変わらないパスワードについても同じことが言える。

確かに、こういうパスワードの方が破るのは簡単だ。だが、セキュリティ侵害のほとんどは、コード破壊のアルゴリズムではなく、人間の弱みにつけこんだ侵入者(もしくは内部の関係者)によるものなのだ。

将来的には、生物的な確認機構を採用することでセキュリティを向上できるだろう。例えば、指紋認識や網膜スキャンといったものである。こうしたインフラが整備されるまでには時間がかかるだろうし、中には指紋を提供できないという人もいるはずだ。

今のところは、ログインは非常に面倒である。このため、あまり高度なセキュリティを要求されないシステムでは、ユーザにcookieを適用しておくのがベストだろう。

使いやすいセキュリティのためのウェブデザイン

買い物をする前に、ユーザに、ユーザIDとパスワードを登録させるeコマースサイトがあるが、これは間違っている。他と重複しないユーザIDを考え出さなくてはならなかったり、パスワードの扱い方がわからなかったりして、買い物客が立ち往生してしまうため、かなりの売上を逃してしまうのだ。

必須手順については登録が不要になっていても、依然として何らかの方法でユーザにメンバーになってもらう手段を求めているサイトは多いだろう。これはユーザビリティ問題としては古典的なものだが、特にユーザIDに電子メールアドレスを利用した場合、パスワードを要求されると、電子メールやAOLのパスワードを入力するものと勘違いする人がいる。この行為自体が実際のセキュリティ問題になるし、(ソフトウェア側で固定されているために)このパスワードを覚えていないユーザだとそこで止まってしまうだろう。

ユーザが、ユーザIDのかわりに電子メール・アドレスを入力できるようにしておくよう、強くお勧めする。これなら他と重複する心配はないし、覚えるのも簡単だ。だが、パスワードには別のものを用いるように、説明しておこう。また、パスワードは自分で作成する必要があることも説明しよう。テストでは、時折、パスワードがそのうちメールされてくると思い込んでいるユーザを見受けることがある(中にはそういうシステムもあるようだ)。こういったユーザは、立ち往生してしまって(もっというと、ブラウザも閉じてしまって)、アカウントの設定を完了できないだろう。

パスワードに厳しい条件をつけているウェブサイトも多い。システムの性質を考慮して、ルールはできるだけゆるやかにしておくようお勧めする。言うまでもなく、何100万ドルもの取引のためのシステムなら、新聞閲覧用のシステムよりはセキュリティを高めておくべきである。

ルールが厳密すぎると、多くのユーザが、自分にとって意味のある名前やパスワードを利用できなくなるだろう。こうなると、次に来る時までの間に、ユーザがログイン情報を忘れてしまう可能性が高くなる。パスワードを忘れてしまうせいで、ウェブ上では、数え切れないくらい何度も登録が行われることになる。同じウェブサイトで5~10もの「アカウント」を持っているユーザも珍しくない。

ユーザIDとパスワードの注意書きは、入力欄ラベルのすぐとなりに配置しておくべきだ。

パスワード:
6文字以上
パスワード入力欄

これ以外の場所だと、ほとんどのユーザが注意書きを読まないだろう。

単一のログイン

私が行ったセキュリティ関係の調査すべてで、ひとつの大きな結果が出ている: ユーザは、1回だけのログインで、それ以降ずっとシステムを利用できるようにしてほしいと思っている。何度も何度もログインしたいという人はいない。

ここでキーとなる問題は、「システム」の定義だ。理想的には、これがユーザ体験の全体を表すものであって欲しい。そうすれば、身分証明は、自分のコンピュータに対して1度行うだけでいい。複数のウェブサイトを閲覧するという事実を、ユーザの問題にしてしまってはならない。将来的には、ユーザのパーソナル・コンピュータは、おそらく本当にパーソナルなものとなり、サイバースペースにおけるユーザの代理人として働くようになるだろう。この中には、パスワードや身分証明についての責任を肩代わりしてくれることも含まれている。

少なくとも、「システム」には、自分で制御可能なあらゆるものが含まれているべきだ。1回のログインで、口座や取引を照会できる。1回のログインでエクストラネットに入って、注文の状況を確認できる。特定のユーザにだけ、特定の権限が認められるようバックエンドが取りしきってくれるだろう。だが、こういったことは、改めてログインすることなく透過的に行われるべきだ。

ログアウト

機密性の高いシステムでは、はっきりしたログアウト・ボタンがあった方が安心するユーザが多いだろう。大部分のシステムでは、ユーザはログアウトしないで、単に立ち去っていくのだと想定しよう。これがウェブの精神であり、これこそがセキュリティ・システムでサポートするべきことなのだ。だが、あまり制限時間を短くし過ぎないように。さもないと、サイト利用中にちょっと休憩しただけの人を困らせることになる。機密性の低いアプリケーションでは、制限時間を1時間にしておけば、昼休みにも対応できるし、セキュリティ面でもまずまずと言えるだろう。

2000年11月26日