本站支持IPv6

菜单导航
产品介绍
解决方案
信息安全服务
下载专区
服务支持
旗下品牌
解决方案
金融篇
电子商务篇
移动篇
企业信息化篇
信息安全基础篇
电子政务篇
电子数据司法实践
旗下品牌
旗下品牌

安全应用软件的比较

字号:

  在数字证书的应用过程中,建立CA、RA系统仅仅解决了证书的签发和管理,而日常使用数字证书进行安全的电子操作,都需要使用安全认证应用软件。安全认证应用软件是广大数字证书用户日常使用、接触最多的产品,可以说是影响着用户的使用感受最大因素。因此,安全认证应用软件可以说是CFCA所有产品线中最为重要的产品。

  既然安全认证软件这么重要,那么我们有必要对CFCA使用过的安全认证应用软件做一个回顾,以便于我们更好地指导未来安全认证应用软件的发展。

  Entrust/Direct——廉颇老矣

  说到安全认证应用软件,不能不提到Direct。这是一个让CFCA技术人员爱恨交织的产品,但是从纯技术层面来看,Direct产品的设计思路至今仍有不少可取之处。

  Direct产品是Entrust公司上个世纪90年代研发的。应该说,从设计理念上说,它充分 关注了数字证书应用过程中方方面面的安全问题,从通信到应用形成了一个完整的、近乎苛刻的Web安全解决方案。

  首先,从通讯上,Direct以HTTP协议作为基础,对SPKM协议的数据包进行了封装。这相当于对没有数据加密和强身份认证的HTTP协议上进行了改造,实现了一种符合HTTP协议的安全通讯协议。Direct又遵循(proxy)的要求,从而将用户端的浏览器和服务端的Web服务器有机地结合,建立起一条通过SPKM协议加密的HTTP通道。

安全应用软件的比较

  在建立与服务器的Web应用程序建立通道之前,Direct进行了严格的身份认证过程。这一认证过程不可谓不周密,亦不可谓不冗长。为了节约篇幅,我们不从整个详细的流程上来描述,仅仅对它的校验项目进行列举,就能够感受到这一点。Direct/Client与Direct/Server完成双向身份认证,协商通讯的加密密钥后,完成的校验项目就有:Direct/Client的证书,Direct/Client证书的CRL分布点,Direct/Server的证书,Direct/Server证书的CRL分布点,CA的证书(三层CA),CA的废止列表(ARL,2个),OCA的Policy证书,最终用户的Policy证书。

  而对照相对简单的SSL协议,我们就能发现,SSL协议大多开发商仅完成了对客户端和服务端的数字证书进行校验,并追溯到根证书,而对CRL的校验仅仅在部分厂商的产品中得以支持,更不用说对ARL、Policy证书的校验了。当然,客观地说,CA证书到底有多少废止(撤销)的机会?而Policy证书在应用中得到有效使用又有多少可能性?这实在是一个值得商榷的内容。

  很遗憾的是,Direct在通讯上的设计有一个极大的败笔——使用了多个通讯协议来建立满足不同需要的通讯连接——也就是说,使用LDAP协议交互公钥证书和证书废止列表(CRL),完成证书的校验;使用CMP协议下载和更换数字证书,进行证书管理操作;使用HTTP协议作为应用协议,进行应用层传输。这就势必为Direct进入企业局域网环境带来了很大的困难。我们都知道,企业,特别是大型企业或者外资企业——这些企业往往是网上银行的重点客户,对其内部局域网的安全控制是很严格的,对于一些特殊协议、特殊端口的访问是禁止的,一般仅开放HTTP协议对个别网站的访问。对于LDAP协议和CMP协议这样不被熟知的协议,无论是在网络设备的支持上,还是网络管理员的知识体系上,都使Direct在企业中的应用和后续支持陷入困境。这一点,我想支持部各位工程师都有深切的体会,不必赘述。

  其次,在应用上,Direct提出了独特的三次签名机制,通过在HTTP协议头信息激活签名操作,减少了应用集成的工作量。

  Direct的三次签名包括下列1个服务器端签名,2个客户端签名:

  ·Direct/Server对发出的、需要确认的HTML表单(表单中包含交易信息)的签名。(服务端签名,简称EntrustSigServer)

  ·Direct/Client对接收到包含上述表单的整个HTML网页进行签名。(客户端签名,简称EntrustSigClient)

  ·用户确认交易后,提交HTML表单,Direct/Client对提交(POST)的信息进行签名。(客户端签名,简称EntrustSubmitClient)

     通过服务器端的签名(EntrustSigServer),Direct能够确保用户收到交易表单信息是由服务器发出的,没有被篡改;通过客户端的签名(EntrustSigClient),能够确保用户端Direct/Client接收到的交易页面在IE中不被篡改,并且通过对整个页面的签名,充分保留了与交易的上下文信息,一旦出现纠纷,不易产生歧义;通过客户端的签名(EntrustSubmitClient),能够保证用户在阅读了交易信息之后,进行了交易的确认。

  Direct三次签名的机制,即便是在今天的安全应用中,其设计也是独树一帜,安全理念仍然保持领先;让不少用户享受到充分的安全感受。Direct软件在国外销售中得到了很好的成绩,甚至有一些国内用户也对CFCA新的安全应用产品提出相似的要求。

  实在让我不想说的是,Direct的优点总是要伴随着一定的缺点。由于Direct诞生的时间太早了,而且可能主要的设计还是基于Unix系统展开的。因此,它有一个很大的性能问题——不支持SMP,不支持线程。也就是说,无论服务器有多少个CPU,Direct/Server都不能利用,而且采用占用系统资源的多进程处理,也大大降低了Direct/Server在多并发情况下,对单CPU资源的利用效率。这个问题在并发访问很少的情况下并没有暴露,那时候Direct让人感觉堪称完美。但是随后带来的梦魇,恐怕直到今天还在困扰着我们。对于今天的用户需求来说,这实在是一个费效比不高的产品。

  从目前对Direct描述来看,Direct是一个优点和缺点都十分突出的产品,也许在某些人眼中它还是一个相当不错的产品。可以说,如果Direct产品能够得到持续性的维护,将上面提到一些缺点逐一加以改进,它一定能够焕发新的生命力。然而,Entrust公司缺乏本地化的支持力量,当Direct在通讯和性能等问题爆发之时,不但不能有效地、快速地解决中国用户的问题,更谈不上对Direct的持续性发展。我想,这才是Direct这位“老将”在中国水土不服的真正症结。

  Truepass——昙花一现

  Truepass是Entrust公司在Direct之后的替代产品。对于Entrust公司,它是一款革命性的产品;但是对于中国的Direct用户而言,它却并不是福音。从纯技术观点来看,Truepass顺应了Java的发展潮流,实现了一套跨平台、跨浏览器安全应用产品;它的研发,希望通过零客户端的理念,突破了Direct客户端维护的困局。

   相比较而言,Truepass,这不能不说是一个极大的进步。在应用层,客户端通过Java Applet对应用数据进行处理,简化了客户端的配置工作;服务器端通过Web服务器插件、Java Servlet和Java Class API协同工作,不仅在设计上考虑了简化用户集成开发的工作量,而且也提供了丰富的安全扩展功能。总的来说,它的优点是:

  1.简化了客户端网络配置的难度,简化了客户端的安装配置工作;

  2.利用浏览器本身支持的https协议,避免了Direct参与通讯导致对不同的客户网络下的适应性问题,避免了通讯上的问题给应用带来的问题;

  3.采用https协议,利用此协议良好的兼容性和适应性,避免了Direct/Server的性能限制给应用到来的负面影响;

  4.简化了用户应用集成Truepass的工作量;

  5.领先时代的设计理念——在Truepass刚刚推出的时候,市场上看不到这样的安全产品。

  它的局限性在于:意图利用Java解决方案,达到跨平台、跨浏览器、零客户端的理念,但是却又无法真正的实现。

  首先,从对浏览器、零客户端的理念开始说。从Truepass推出之时,无论是占市场份额最大的IE,还是第二位的Netscape,普遍而言浏览器一般都内置了Java虚拟机。因此,Truepass的客户端Java Applet能够顺利的运行,从而达到零客户端的目的。然而到今天,随着微软公司和SUN公司签署了Java的和解协议之后,微软公司就不再在浏览器中内置微软的Java虚拟机。(尽管微软的Java虚拟机只支持JDK 1.1,而且微软公司又做了扩展,并不完全遵循SUN的Java标准);而替代了Netscape市场第二地位的Firefox,在发行版中也没有内置Java虚拟机。对于Truepass而言,这种情况导致零客户端设想彻底地失败——所有使用Truepass产品的用户都必须安装Java虚拟机软件,这样,Truepass所依赖的客户端Applet才能运行。

  其次,从跨平台这方面考虑。Truepass产品中除了纯Java开发的J2EE应用服务器的Servlet和class API外,还有用于Web服务器的插件。不幸的是,这个插件是用C开发的,并且插件与应用服务器选择必需符合特定的组合关系。虽然Entrust公司开发了针对不同平台的,不同Web服务器的插件,但是仍然不能涵盖所有平台、Web服务器和应用服务器的组合。因此,这个跨平台只能说是一个空话。最糟糕的是,中国市场的客户通常愿意选择最新的软件版本的组合,而且平台、Web服务器和应用服务器的产品和版本组合经常不在Entrust公司Truepass产品的兼容性列表中,而Entrust公司远在加拿大不能很快应客户的需要随需应变。可想而知,在中国没有哪个大型企业用户愿意将自己未来的企业应用升级时选择平台、Web服务器和应用服务器这样的关键环节的主导权,交给与企业应用相关性不强的安全厂商——毕竟企业的自身应用才是企业的核心价值。这也是Truepass在中国市场上难推动的重要原因之一。

  最后,还得说到本地化的支持问题,以及对本地用户需求的重视与响应能力。尽管上面所说的一切一切其实都不能称之为致命性的缺陷,在我认为,Entrust公司的产品设计不可谓不优秀,不可谓领先,但是缺少了对中国用户随需应变的能力,产品遭到冷遇就是必然的。

  证书应用工具包——随需应变

  植根于中国,服务于中国。CFCA必须对中国的用户负责,才能从用户手中获得适当的回报。从产品的设计理念,到产品的成熟度,CFCA的产品比之于Entrust公司也许要稍逊风骚。但是,进行了充分市场磨练的CFCA,设计了证书应用工具包,秉持着用户第一的理念,很好的满足了不同用户的需要。

  证书应用工具包和 Truepass一样放弃了Direct中采用的SPKM协议,并且客户端不再需要多个不同的通讯协议的网络连接,而仅仅采用了浏览器内置的https协议解决通讯安全的问题。在应用层,客户端通过ActiveX控件对应用数据进行处理,简化了客户端的配置工作;服务器端根据不同的开发语言和平台,提供Java Class API、ActiveX控件、C静态库API等工具包。客户端ActiveX控件的选择,是基于Windows平台和IE浏览器的组合保持着中国市场客户端市场份额绝对领先的地位,这种选择降低了开发的风险;服务器端根据用户的需要,渐进开发出不同开发语言、不同平台的工具包。可以说,这种方式行之有效,对用户来说,简单快捷。

  当然,也不是说这项产品没有缺点。由于不同项目有不同的需求,这就给工具包带来产品版本维护上的困难,也出现了某些接口在版本承继性的问题。不过,目前我们也已经注意到了这个问题,根据多年来的需求总结,开发出了一套涵盖不同需求的、全新版本的工具包产品。我相信只要我们坚持用户第一,随需应变的理念,就一定能够将我们产品不断完善、发展壮大。