当前位置:文档之家› 软件设计中安全性与易用性的考虑(一)

软件设计中安全性与易用性的考虑(一)

软件设计中安全性与易用性的考虑(一)
计算机安全界曾经有个笑话:“实现计算机系统安全很容易,把计算机的电源关掉,锁在保险箱里,然后把钥匙扔掉。

”实际上,这个笑话一定程度上揭示了计算机的安全性与易用性之间的关系。

一、易用性和安全性之间的关系
在计算机的安全性和易用性设计之间存在权衡,一台不设口令的计算机非常方便使用,但是不安全;但是如果一台计算机每5分钟要求你做一次身份确认,输入口令甚至做血样检验,这样的计算机是安全的,但是不会有人愿意使用。

一般说来,安全软件产品的操作要比其他软件产品的操作困难,因为实现机制复杂了,需要配置的参数也多了。

安全性和易用性在设计上有共同点:
(1)都需要从软件的整体考虑;
(2)需要对系统结构、开发团队和市场份额等方面统筹考虑;
(3)都要在系统设计的开始阶段考虑,在系统开发临近结束时无法临时增加;但是由于易用性和安全性是不同的技术,所以建立一个既有安全性又有易用性的系统比较昂贵。

(4)易用性方面出现问题可能会妨碍安全性的效果。

目前安全性和易用性之间的接口成为计算机安全界研究的对象,被称作人机交互和安全性(HCI-SEC)。

在2003年ACM人机交互大会召开了HCI-SEC研讨会,随后HCI-SEC的有关问题逐步提了出来。

2004年计算机界把易用安全性列为信息安全研究者的“重大挑战”,有下面两个问题:问题1口令问题。

每个人都面临口令问题,安全的口令都是难猜测的,但是难猜测的口令都是难记忆的。

同时口令策略一般要求用户口令是唯一的并且要及时更新,如果一个人的帐户比较多,很难想象一个人可以完全凭借记忆牢记十多个不同的口令,并且不断地分别更新。

问题2身份确认问题。

当认识到传统的口令字不够安全后,用户需要新的身份确认手段。

研究表明,人记忆图像的能力比字符强,因此图像口令字被作为字符口令字的替代方案,研究还发现,用户对图像口令字的选择与种族和性别高度关联。

生物测量和硬件令牌也属于用户身份确认的方法,但是现在还缺乏对这些身份确认手段的统一评价和比较方法。

二、易用安全性的实现途径
HCI-SEC的研究课题之一就是如何在某些特定的应用系统中实现易用的安全性,主要有三种类型的方法:
(1)构造不需要用户干预就可以执行相关的安全和私有功能的系统。

这种方法的问题是当用户不了解某些方面的安全问题时,他们的操作可能会无意中减弱到位的安全保护。

(2)开发一种安全和私有相关的隐喻模型,让用户自发地正确使用安全和私有软件。

目前的钥匙和锁的隐喻模型显然是不完全和不准确的,但是目前也没有出现更具有广泛接受性的其他隐喻模型。

(3)教给用户有效使用私有和安全工具所需要的知识。

但是以什么形式把这些信息教给用户,让用户少花时间去学习掌握,还是没有解决好的问题。

很容易想到利用一种基于上述方法混合的方法,但实际上这更困难,因为上述方法的思路和实现根本上就是不同的。

现在有人开始用HCI-SEC的方法对安全系统进行评估,测试结果发现用户在安全决策理解方面存在障碍,从而导致安全配置失误遭受危险,用户往往为了使用方便,而关闭某些安全防护。

JeromeSaltzer和MichaelSchroeder于1975年就在讨论易用性是否是安全系统必要的成分,他们提出了信息保护的8条原则1],最后一条就是对信息保护系统的“心理可接受性”,但是有些安全系统对这些思想不够重视。

此后30年来,HCI技术也有了很大的发展,在技术市场上,开始有人应用HCI设计和评价技术对安全系统进行评价,他们发现最终用户在理解所面临的安全设计和决定方面非常困难,所以非常容易出现误配置的情况,而导致安全风险。

很多时候用户为了工作方便停止或者忽略安全功能,例如取消口
令或者共享口令,都会把系统置于高安全风险之下。

很多用户习惯将系统安全决策的权利交给系统管理员负责,但是当用户离开自己的工作场所,脱离了所在机构的防火墙保护,在家里或者在路上使用移动设备的时候,就必须根据自己的知识和经验做出安全决定,而不能依靠机构的安全管理员了。

因此,需要开发把安全决策权放在用户手中的技术。

1983年,DonNorman指出许多引起数据损失的错误是由于糟糕的界面设计,虽然相关的操作需要用户确认,但是有时候用户确认只是出于习惯的机械点击,因此把系统操作动作设计成可见的和可以取消的并不能完全解决问题。

这里有一个说明问题的例子。

在美国PARC研究中心建立无线局域网时,采用了基于PKI的方案,需要给200个用户X.509证书,使用802.1x传输层安全认证协议EAP-TLS进行认证。

统计表明许多人觉得PKI不容易理解,技术复杂和不易用。

由于PARC中心对于PKI技术熟悉,他们认为有信心成功克服使用困难,但是他们错了。

在无线局域网的第一个版本里,每个用户都必须从内部认证中心申请和安装一个X.509证书,然后配置操作系统提供的802.1x客户软件来使用EAP-TLS认证协议。

为了提交证书申请,用户必须决定和提供无线网卡的MAC地址和安装内部认证中心的CA根证书。

在建立系统过程中,技术管理团队的大量时间花费在管理CA软件和钥匙上。

利用MicrosoftWindowsXP提供的GUI802.1x的无线配置软件,用户需要总共完成38步才能完成注册过程,每一步都强迫用户做出决定或者采取行动。

为了帮助用户完成这个过程,系统管理员编写了一个详细的注册指南,但是用户很容易脱离这个指南自行其事,最后用户甚至不知道对计算机做了什么操作,如果出错,他们就会不知所措。

尽管PKI提供了安全保护,但是降低了用户配置自己机器的能力。

三、易用安全软件的设计考虑
安全敏感的应用软件的设计要求在易用性和安全性之间是平衡的,如果修改现有的系统设计,提高易用性就可能降低安全性,而增强安全性,就有可能让软件难以使用或者难以理解。

在设计一个软件系统时,安全性和易用性两者都不能忽略,这两方面的缺陷都可能导致产品无法使用。

1、安全性和易用性统筹考虑
在软件产品的设计过程中要注意将安全性和易用性统筹考虑:
(1)安全和易用的元素不能撒胡椒面,应该把这两个元素合并在一起,贯穿整个设计过程。

无论是安全性还是易用性都不能作为附加设计的内容。

(2)设计者要牢记安全性和易用性都是用户需求的一个方面,最后的取舍还是要根据用户的需要,系统的安全状态要和用户头脑中的模型相符合,并且两者都是随时间变化的。

相关主题