许多在安全上的失败根源在于人为错误或人员的介入。在一些情况下,如果不正确地使用或用户绕过安全系统,即使最安全的系统也可能会失败。然而,只是把用户标注为“安全链上最弱的一环”,并不能给我们更安全的系统。当设计安全系统时,仔细考虑人机交互(Human-Computer Interaction,HCI)是重要的。一个用户不友好的系统,会使用户产生与安全有关的严重错误和后果。人们可以将之前人机交互的知识和技术用于预防和解决已知问题,设计对用户更加友好的安全系统。
当考虑到与用户行为相关的部分时,使用口令的访问控制是一个好的HCI范例。访问控制指的是授权个人进入受限区域的行为。一个计算机系统的访问控制包括身份识别、认证和审计。身份识别和认证是服务的两个步骤,用于判定谁被允许进入系统。
身份识别是用户告诉系统他/她是谁,这是基于一个相对简单的机制如用户名或用户id。认证是验证用户声称身份的过程。对给定的用户名,通过比较输入的口令和存储在系统内的口令,当两者匹配时,用户可以访问系统,否则用户被拒绝。如果用户不能在连续3~5次之内,给出一个正确的匹配,该用户身份可能会被停用,需联系系统管理员重置后才可能继续使用。
不过,与使用口令机制相关还有许多问题。首先,由于每一个系统有它自己的口令机制,当用户希望登录进入不同的系统时,他/她需要多次输入用户名和口令。对此,一个显然的解决方法是系统自动存储用户名和口令,这样用户就不用再输入它们。可是,这种方案的安全性并不好。其次,根据口令策略,用户选中的口令需要满足以下要求:口令必须强壮,例如,伪随机组合字母、数字和符号;对每个系统,用户应该使用不同的口令;口令应定期更换,不遵从的用户账户应该被删除或停用。这意味着需要人们更多的记忆来应对口令服务。再次,由于不同系统对用户名和口令的要求有很大不同,用户需要记忆更多。他们必须记住不同系统的口令和用户名,还有每个系统的口令约束条件。
我们的日常生活和工作场合越来越广泛地需要数字化访问。因此,需要我们每个人记忆越来越多的用户名和与之对应的口令。大部分人很难准确记住所有的口令和用户名。用户逐渐难以应对越来越多的口令。如果忘记了口令,就需要重置口令,这并不是没有成本。许多普通用户选择简单的办法:写下不同系统的用户名和相关口令,然后把它们放在一个“安全的地方”(例如桌子上)。这违反了基于知识的认证原则,即口令只能留在系统内部和用户心里。
为了系统的安全,必须研究人类记忆,研究成果需要融入到口令设计中。以下重要特性应该是普遍接受的(Sasse et al.,2001):
1)人们不大可能100%正确地回忆起一个条目;
2)比起无提示的回忆,人们更容易记起一个熟悉的条目;
3)经常回忆的条目比很少使用的条目更容易记住,提取非常频繁回忆的条目会变成自动的;
4)人们不能“按照需要忘记”,即使不再需要的条目,一段时间以后,它们也会继续留在记忆中;(www.xing528.com)
5)有意义的条目比无实际意义的条目更容易回忆起来;
6)截然不同的条目可能彼此联系在一起,用来促进记忆;相似的条目在回忆时,彼此对抗(不利于记忆)。
单点登录(Single Sign-On,SSO)是一种访问控制的方法,认证用户一次,能获得访问多个系统资源的权限。这不但可以减少用户需要记忆的口令数量,也能减少登录次数。不过,SSO要求一个同质的架构(Homogeneous Infrastructure),或至少是有一个统一的用户实体认证方案和一个集中的用户数据库。
如果单点登录不可用,另一种方法是多个系统只用一个用户名和口令。起初,这种方法看起来不是一个好选择,因为如果敌手知道这个单独的口令,则所有的系统都会受到威胁。不过,从可用性这方面来讲,这是一个好方法,因为它减少了用户的记忆量。因此,用户可以选择更强的口令,这样反过来也能使系统更加安全。
强口令的问题是它们很难被记住。一个好的解决方法是添加对用户有意义的字母、数字和符号组合来创建口令。这能使口令便于记忆,同时,也使敌手难以破解。实验表明,对普通的用户来讲,连接一些单词和符号创建口令是一个好的选择。对于经常使用的口令,许多系统管理员用一个句子创建口令。例如,“Mb-Cg40K!”可以从句子“My boat can go 40 knots.”生成。
一些使用提示回忆的认证机制被开发出来,来帮助人们更容易地记忆口令。复合的弱认证,像认知口令(Cognitive Passwords)和联合口令(Associative Pass-words)都是此类口令方案(Sasse et al.,2001)。对于复合弱认证,用户可以为认证提供一些记忆条目来识别自己。认知口令是以用户容易回忆起的个人事实、兴趣和观点为基础的。当用户向系统提供一系列问题集的准确答案时,他就通过了认证过程。对于联合口令,一些有关联的单词对用来形成口令。
替代的,还有一些系统使用视觉记忆作为用户认证的一种手段。在这些系统中,人们不用回忆口令,只需回忆先前看到的图像。一般情况下,人们更容易认出某物,而不容易独立地回忆出相同的信息。基于识别的认证系统比基于记忆的认证系统可实现更好的安全。
总的来说,有几种方法可以容易实现基于口令的访问控制系统。首先,为了提供管理用户认证的统一机制,可以使用单点登录。通过单点登录机制,用户认证和授权的一个单一操作,允许用户接入他/她能接入的所有计算机和系统。通过减少强行改变和不同系统使用相同的口令,可以降低口令膨胀。这比把口令写下来记住更安全。对于不常使用的口令,两步法可能是一个好的选择,因为它有助于回忆起一个口令。最后,当设计口令机制时,也应该考虑到用户知识和动机。一些人可能会建议基于知识的认证应该被生物统计认证取代。不过,这在一段时间内是不可能发生的,因为基于生物统计的认证并不能在所有的安全系统中运行得很好。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。