16.1.2 安全性和可用性之间的平衡

当设计一个用户系统时,最大的一个顾虑就是用户的密码。用户通常会选择一些通过软件不太难破解的密码,尤其是他们使用字典里可以找到的单词作为密码。我们需要一个方法能够减少用户密码被破解以及通过破解用户密码造成的系统被攻破的风险。

一个可能的解决方案是要求每个用户遍历4个登录对话框,每个对话框具有不同的密码。也可以要求用户至少每个月修改这4个密码,并且确保新密码不是以前已经使用过的。这可能会使系统更加安全,而且黑客将花费大量的时间来执行登录过程从而攻破系统。不幸的是,这样的系统是会非常安全,但是没有用户会希望使用它——在某种程度,用户会认为它不值得使用。这就表明,担心安全性非常重要,但是担心安全性对可用性造成的影响同样是重要的。一个易于使用并且只有少量安全错误的系统可能会吸引用户,但是也将更有可能导致与安全相关的问题以及对商业业务的影响。同样的,一个具有很高安全性的系统如果具有很差的可用性,它将不会吸引大量用户,也会对业务带来负面的影响。作为Web应用的设计人员,必须找到一个能够改进系统安全而又不会降低或者破坏系统可用性的方法。由于目前所有问题都与用户界面相关,还没有任何特定规则需要遵循,所以只能依靠某些个人判断、可用性测试以及研究用户对原型和设计的反应。