Web和证书服务:建立电子商务外部网

建立自己的Web网站,开设网上商店,似乎是每个企业在这些日子里最大的梦想。Dell电脑直销的成功,Amazon股价的飞涨,电子商务的成功鼓舞人心;北京图书大厦的网上书店,中经网的火车票预定,是电子商务在中国的萌芽。

做为跨世纪的先进网络系统,Windows 2000内置了强大的Web服务和电子证书服务,可以使商家迅速地建立自己的网上商店,开始Internet领域的淘金事业。这个话题也是我本人作为Windows 2000产品经理,最为感兴趣的地方。希望Windows 2000为我国的电子商务发展起到积极的促进作用。

新一代的Web服务

熟悉微软Windows NT Server 4.0的用户,都知道Internet Information Server 4.0(简称IIS),它是内置在Windows NT Server中的Web服务器,知名度相当高。在最近的一次美国PC Week主持的Windows NT与Linux的评测中,IIS比Linux上的Web服务器Apache的速度要快2.2倍,在多个CPU的服务器上,IIS成绩还要显著。因此,在全世界,IIS作为高性能的电子商务Web服务器有着广泛的应用。

在Windows 2000中,微软更新了IIS的版本,推出了Internet Information Server 5.0。IIS 5.0比4.0提供了更方便的安装/管理,增强的应用环境,基于标准的发布协议,改进的性能表现和扩展性,以及更好的稳定性和高可用性。

IIS 5.0的一个特点是不再需要特别安装,当用户安装了Windows 2000 Server之后,IIS 5.0就已经安装好了。微软还提供了很多的管理向导,比如"权限设置向导"来帮助设定和协调Web访问和NTFS文件的访问权限,"服务器证书向导"来给服务器安装电子证书等。IIS 5.0作为一个应用环境,还有对ASP增强的支持,比如无脚本ASP页面的快速处理、HTTP和HTTPS(安全通道访问方式)共享状态等。

IIS 5.0的设计目标中有一条:便于企业用户在一个基于Web的环境中共享和发布信息。所以,用户现在可以打开桌面上的"我的网络位置","增加一个新的网络位置";这个网络位置可以用Http://server/share的方式来表示。然后,用户就可以像对待一个普通的文件夹一样来存取远程Web文件夹中的文件。

为了满足企业用户在Web上协作发布内容的需要,IIS 5.0实施了对WebDAV标准(分布式发布和版本控制,Distributed Authoring and Versioning)的支持。这是IETF组织对HTTP 1.1的一个扩展,得到了业界很多公司的支持。用户可以获得完整的Web发布和版本控制经验,管理员也可以对特定管理权限(如增加访问账号)授权给用户使用。

在性能表现方面,IIS 5.0也加快了对进程外(Out-of-process)应用的执行速度,以及进行更好地ADO的数据库访问,和HTTP压缩传输。HTTP压缩传输是通过HTTP数据压缩传输的工业标准,客户端从IE 4.0就开始支持,但是需要特别打开IE4的这个功能,IE5却省已经打开此功能。

IIS 5.0的扩展性体现在一台计算机服务器上可以支持3000以上的Web站点,可以通过网络负载均衡、带宽/CPU分割等方式来提供最好的性能表现。IIS 5.0在支持Kerberos验证机制的同时,还对新的一些安全机制提供了支持,比如Digest Authentication、Server-Gated Cryptography和美国政府新的安全标准Fortezza等。为了提高IIS的稳定性,IIS 5.0还在"稳定地重启服务"方面作了工作,延长了两次停机之间的平均时间,能够更好地为企业用户服务。

公用密钥体制和证书服务

上一讲我们已经提到Windows 2000中有两种验证协议,即:Kerberos和公用密钥体制(Public Key Infrastructure,PKI)。这两者不同之处在于:Kerberos是对称密钥,而PKI是非对称密钥。以下我来详细解释一下二者的原理。

为了保证信息传输过程中的安全性,A可以通过使用密钥加密的方法,把加密后的信息传给B。B收到信息后,可以使用同样的密钥解密,从而获得其中的内容。这就是所谓"对称密钥"的做法,能够保证即使信息在传输过程中被截获,没有密钥的人也无法得知其中的内容。但是,在Internet环境中,对称密钥体制中的密钥管理成了一个头疼的事:要么大家共用一个密钥,就没有秘密可言;要么n个人相互通讯需要n(n-1)个密钥,数量太多而无法管理。

因此在Internet环境中,需要使用非对称密钥加密。即每个参与者,都有一对密钥,可以分别指定为公钥(PK)和私钥(SK),一个密钥加密的消息只有另一个密钥才能解密,而从一个密钥推断不出另一个密钥。公钥可以用来加密和验证签名;私钥可以用来解密和数字签名。每个人都可以公开自己的公钥,以供他人向自己传输信息时加密之用,只有拥有私钥的本人才能解密,保证了传输过程中的保密性。关键是需要每个人保管好自己的私钥。

同时,为了保证信息完整性,还可以采用数字签名的方法。即A在信息传输之前,用自己的私钥 (Ska) 对消息进行散列(HASH)运算(即数字签名),再把结果用B的公钥(PKb)加密后传送给B。B可以用自己的私钥(SKb)解密信息之后,用A的公钥(Pka)来确认A的数字签名是否正确,如果正确,说明信息是完整的。而且,A将来也不能抵赖说他没有发送过该信息,任何一个第三方都可以用Pka来验证A的数字签名;因为只有A拥有数字签名所需要的SKa,数字签名具有不可抵赖性。

接下来的问题是,如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的,这就要用到电子证书。电子证书是由大家共同信任的第三方---认证中心(Certificate Authority,CA)来颁发的,有某人的身份信息、公钥和CA的数字签名。任何一个信任CA的通讯一方,都可以通过验证对方电子证书上的CA数字签名来建立起和对方的信任,并且获得对方的公钥以备使用。

在我们现在这个时代,数字化的通讯在渐渐地替代面对面的通讯,如何在数字化通讯中建立起信任关系,是电子商务发展的重中之重。因此,建立认证中心(CA)是关键的一步。Windows 2000可以作为建立CA的技术方案,因为其内置了一整套颁发证书和管理证书的基础设施。Windows 2000 Server中有一个部件是证书服务器(Certificate Server),是原来Windows NT 4.0的选项包中Certificate Server 1.0的升级产品。

通过认证服务器,企业可以为用户颁发各种电子证书,比如用于网上购物的安全通道协议(SSL)使用的证书,用于加密本地文件(EFS)的证书等等。认证服务器还管理证书的失效,发布失效证书列表等。每个用户或计算机,都有自己的一个证书管理器,其中既放置着自己从CA申请获得的证书,也有自己所信任的CA的根证书。

Windows 2000中的电子证书都是基于X.509协议的,保证了与其他系统的互操作性。就网上购物的过程来说,目前常用的是SSL(安全通道协议)的方式,即设置IIS就某些特定的文件或文件目录需要访问者提供客户端证书;除非拥有电子证书及相应的私钥,一个访问者的浏览器无法获得这些文件和文件目录。SSL的方式体现在浏览器的访问栏上,应该是Https而不是普通的Http。通过网站验证后的访问者,可以被映射为活动目录中的用户或者用户组,实现合作伙伴之间外部网(Extranet)的应用。

智能卡和电子钱包

为了安全地保管私钥和电子证书,在Windows 2000中,微软为用户还提供了一套智能卡的基础设施。智能卡因为高安全性和轻便移动性,势必将发展成为类似鼠标/键盘一般的计算机的标准外设。因此,我们推出了一套基于32位Windows平台的Smart Card for Windows产品,包括API和开发工具。众多的智能卡厂家,如Gemplus,只要生产符合国际ISO工业标准的智能卡产品,就可以在微软的Smart Card软件平台上操作。

当我们用Internet Explorer向一个认证中心申请电子证书时,就会有一对公钥和私钥自动产生出来;私钥可以存储在智能卡中,公钥和其他身份信息(比如姓名、电子邮件地址等)发给认证中心。如果认证中心批准该申请,那么包含公钥的电子证书就会被返回来,存储在智能卡中。这种电子证书的申请过程也可以由管理员设定的批处理方法来进行,用户还可以通过LDAP来查询CA中通讯对方的公钥;因为Windows 2000的认证服务器是可以与活动目录相结合的,所以这方面的查询很方便。

智能卡存储私钥和电子证书的做法,给最终用户提供了对自己安全信息的最大的控制,可以方便地从一台机器携带到另一台机器使用,可以在任何一个地点使用。一般来说,智能卡还会用一个个人密码(PIN)保护起来,在要求高安全性的场合,PIN可以是一些生物信息,比如指纹等。智能卡中存储的信息是加密的,即使破坏了智能卡也得不到里面的内容。智能卡的阅读器也越来越普遍,有USB型的,也有PC卡型的,甚至Windows终端上也会有智能卡插槽,逐渐在走向大众化。

如果企业实施了基于Windows 2000的智能卡体制,由企业保安机构给每个员工颁发一个智能卡。员工就可以用这个卡完成很多的工作,比如打开公司的大门、打开自己的抽屉,登录到计算机和网络;加密自己的邮件和文件,这样即使管理员有完全控制的权限,管理员也不能获知其中的内容;员工还可以上网购物,比如购买一张机票,然后直接到飞机舱前划卡即可上飞机;还可以作为电话卡、信用卡使用;作为市政交费卡使用,支付水电煤气费;甚至作为电子钱包式的储值卡来使用,支付小额的午餐费、出租车费等。可以说智能卡应用在Windows 2000推出之后,会有一个长足的进步。

电子商务在中国

目前在我国,电子商务还刚刚开始起步。在企业到消费者的电子商务方面,我曾经上我国的各种网上商店参观过,他们可以给用户提供多种支付手段。如果用户选择采用某种银行卡的支付方式,用户就会被连接到该银行的支付页面,输入卡号和密码来进行支付。一旦提交,信息就会用银行的公钥加密,传输给银行。银行验证付款信息正确后,就会把这笔业务连同订单号通知商店,以给购买者发货。

这种交易的方式,安全性是不足的,仅仅保证了传输过程的保密性,但是没有对交易双方或三方(包括银行支付网关)的身份验证。如果有恶意攻击者,修改了商店支付页面的连接,连到一个假的银行页面,势必盗取顾客的支付信息;同样,如果有顾客抵赖说,是其他人盗取支付信息后所作的购买,银行也因无法确认支付者身份而蒙受损失。因此,我们正在联合业界伙伴,在国内推动基于公钥体制和智能卡技术的认证中心的出现,以满足电子交易中建立信任的需要。

作为企业来说,在内部建立企业CA也是非常必要的。企业CA可以改变目前国内企业所普遍担心的"管理员权限无限大"的难题,使业务关键信息得到适当地保护。同时,企业也可以基于Internet安全地开放,建立增值链统一进销存等外部网应用。

另外需要提一句,因为国外有加密算法出口的限制,最多只能出口40位或56位的安全产品;我们也在联系国内的加密算法厂家,如北京诺方,提供在Windows 2000平台上的128位的加密算法,满足国内企业的安全需要。总的来说,Windows 2000的公用密钥体制和智能卡对我国的电子商务、外部网的发展会有极大的促进作用。

原文地址:https://www.cnblogs.com/asyuras/p/157017.html