表A对根据其开发目标对以上两种安全技术各自的优点和弱点进行了总结(得分越低表现越好)。
表A
IP阻塞 | 用户认证 | 数字签名 | |
部署方便性 | 1–最容易 | 3–必须对各个方法进行编码;必需存储用户数据 | 2–必需对各个方法进行编码 |
授权灵活性 | 3–非此既彼的两极认证措施 | 1–方法级的认证/授权 | 1–方法级的认证/授权 |
灵活的安装定位 | 2–一般 | 1–很灵活 | 3–受到证书的限制 |
最终用户安装 | 1–不负责安装 | 2–安装不太难,视具体情况而定 | 3–安装比较困难 |
对网站的影响 | 3–阻塞对全站有效 | 1–没影响 | 1–没影响 |
检查跟踪 | 3–非常有限 | 1–灵活、建立在方法级上 | 1–灵活,建立在方法级上 |
安全性 | 2–假冒IP地址相当容易 | 3–用户名/密码易于猜解 | 1–证书难于复制/伪造 |
正如你所看到的那样,以上三种安全技术都有其各自的优点和缺点。在通常的情况下,IP阻塞最易于开发,但却带来了灵活性的丧失问题。IP阻塞既简单又易于实现,而且最终用户并不用付出什么精力。这种简单性所带来的负面影响则是只有网站级的授权才能访问网站的整体,而被阻塞的用户则无法访问整个网站。IP阻塞的易用性还带来了另一个问题,那就是对用户很不友好的错误消息。由于认证/授权操作是在服务器端进行的,所以不得访问Web服务的用户将看见的是Web服务器发出的错误消息(HTTP
403.6)而非定制的、对用户友好的消息。对用户和网站业务来说是极其有害的。
另一方面,用户认证则更具灵活性,可以让你创建基于方法的授权机制。该技术还能让用户从任何地点访问Web服务而不阻塞未授权用户访问网站上的其他资源。进而,被阻塞的用户还能收到定制的错误消息,这些消息则能比较详尽地说明为什么阻塞其访问的原因,比如“无效的用户名”之类。由于认证/授权操作发生在应用程序的方法层次,所以这种技术可以包容更多的检查跟踪内容。每一种Web方法都能存储其被访问的时间和方式方法等信息。不过,这种灵活性也伴随着更大工作量的开发成本和可能的最终用户成本。认证/授权机制的开发人员不仅必须设计和实现存储敏感的用户名和口令的解决方案,而且还要绞尽脑汁地设法防范因为存储这些敏感信息所带来的安全问题。与此同时,用户认证对最终用户也带来了更大的负担,迫使开发人员在其代码重加入额外的参数,结果可能导致用户在访问Web服务的时候可能不得不多次输入自己的用户名和密码。
以开发难度和灵活性作为比较的出发点,数字签名大致位于IP阻塞和用户认证两种技术中间。由于检查数字证书的代码也是方法层次上的编程,所以这种技术提供了类同用户认证的灵活性,令开发人员可以创建出复杂的授权方案和对用户友好的错误消息。同用户认证一样,该技术还可以实现高级检查跟踪机制。证书中可以包含用户信息,这样一来,由于消除了最终用户针对各个方法输入用户名或者密码的必要而令它们对用户表现友好。但是,在带来这些益处的同时,它们的部署成本却是三种方案中最高的,用户端的安装最为困难。数字证书必须安装在每一部客户机上,其安装过程可不是点几下鼠标那么简单。这一缺点在一般公众需要访问Web服务的情况下代价可太高了。
显然,我们最关注以上三种技术的安全性。虽然IP阻塞乍看起来最为安全——阻塞对整个网站的访问,但是对黑客来说这种方法其实毫无什么安全可言。比方说,黑客完全可以采用假冒特定IP地址的方法攻击网站,对这帮家伙而言,确定RegalResearch.com的IP地址简直是小菜一碟,随后他们即可采用假冒的IP地址获取Internet
Dictionary Company (TIDC) Web服务的访问权限。而且,由于IP阻塞没有提供详细的检查跟踪记录,所以很难确定黑客在什么时间、采用了什么方式非法访问TIDC服务。
用户认证从安全性角度来说表现比得比IP阻塞方案更好一些,这主要是因为用户会考虑自己的密码设置以便难以被非法猜解。普通用户经常在各类系统上采用同样的用户名和密码;如果某一系统被非法获取了用户信息,那么其他系统也就在劫难逃了。普通用户还习惯于采用易于记忆的密码,比如他们的生日或者配偶的姓名等。这些信息都太容易被黑客猜到了。还有,因为大多数密码都是长度较短的字符串,所以黑客如果知道密码的部分参数信息就能很容易地测试所有可能的密码组合。
数字证书的安全性相对最高,原因在于它们是同用户一一对应的,而且采用了工业标准的加密技术很难被复制。对那些安全性要求特别高的网站,比如安全的内联网来说采用数字证书是最佳的选择。
现在我们对Web服务通常采用的三种安全技术已经有了一定的了解,那么我们不妨就两家虚拟公司的业务讨论下应该选择的技术。首先,TIDC需要获得最高的安全性以防范未授权的用户使用同时还必须跟踪详尽的使用记录。客户按其消费的Web服务方法付费,所以保证每一服务被调用的准确记录并据此计费尤为重要。比较合理的安全策略是选择数字证书或者IP阻塞,但是检查跟踪则需要采用用户认证或者数字证书机制。
综合以上的分析我们选择数字证书方案,这样TIDC就必须考虑这一技术所产生的以下两个问题:
综合以上考虑,在权衡了利弊的情况下,TIDC决定采用数字证书作为自己保护公司Web 服务的安全解决方案。