操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

Win2000网络应用

2004-4-7 网友评论 0 条 点击进入论坛

Windows 2000公钥基础结构及在电子商务中应用

1 概述
Windwos 2000为电子商务提供了一个理想的平台, 其安全性(包括证书管理、 CA服务、 公用密钥基本体系), 保证了电子商务的开展。 结合Windows 2000的IIS 5.0服务, 可以快速创建一个网上电子商务的平台。

Windows 2000中有两种验证协议, 即Kerberos和公钥基础结构(Public Key Infrastructure, PKI), 这两者的不同之处在于: Kerberos是对称密钥, 而PKI是非对称密钥。在Internet环境中, 需要使用非对称密钥加密。 即每个参与者都有一对密钥, 可以分别指定为公钥(PK)和私钥(SK), 一个密钥加密的消息只有另一个密钥才能解密, 而从一个密钥推断不出另一个密钥。 公钥可以用来加密和验证签名; 私钥可以用来解密和数字签名。 每个人都可以公开自己的公钥, 以供他人向自己传输信息时加密之用。 只有拥有私钥的本人才能解密, 保证了传输过程中的保密性。 关键是需要每个人保管好自己的私钥。同时, 为了保证信息的完整性, 还可以采用数字签名的方法。 接下来的问题是, 如何获得通讯对方的公钥并且相信此公钥是由某个身份确定的人拥有的, 这就要用到电子证书。 电子证书是由大家共同信任的第三方--认证中心(Certificate Authority, CA)颁发的, 证书包含某人的身份信息、 公钥和CA的数字签名。 任何一个信任CA的通讯一方, 都可以通过验证对方电子证书上的CA数字签名来建立起和对方的信任, 并且获得对方的公钥以备使用。

Windows 2000的PKI是基于X.509协议的,X.509标准用于在大型计算机网络提供目录服务,X.509提供了一种用于认证X.509服务的PKI结构,两者都属于ISO和ITU提出的X系列国际标准,目前,有许多公司发展了基于X.509的产品,例如Visa、MasterCard 、Netscape,而且基于该标准的Internet和Intranet产品越来越多。X.509是目前唯一的已经实施的PKI系统。X.509 V3是目前的最新版本,在原有版本的基础上扩充了许多功能,目前电子商务的安全电子交易(SET)协议也采用基于X.509 V3。

2 Windows 2000的公钥基础结构
如何在数字化通信中建立起信任关系, 是电子商务发展的重中之重。 因此, 建立认证中心(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协议的, 保证了与其他系统的互操作性。 国际标准组织CCITT建议以X.509作为X.500目录检索的一个组成部分, 提供安全目录检索服务。 X.500是CCITT建议的, 用于分布网络中存储用户信息的数据库的目录检索服务的协议标准。 X.509是采用公钥基础结构实施的认证协议, 对通信双方按所用密码体制规定了几种认证识别方法, 它发表于1988年, 经多次修改, 1993年又公布了新的版本。 X.509对所用具体加密、 数字签名、 公用密钥以及Hash算法未作限制, 将会有广泛的应用,已纳入PEM(Privacy Enhanced Mail)系统中。

就网上购物的过程来说, 目前常用的是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推出之后, 会有一个长足的进步。

"公用密钥基本体系"通常简称为PKI(Public Key Infrastructure), 是一个数字认证、 证书授权和其他注册授权系统。 使用公用密钥密码检验及检证电子商务中所涉及的每个机构的有效性。 公用密钥基本体系的标准仍处于发展阶段, 尽管它们作为电子商务的一个必要组成部分已得到广泛使用。 图1是Windows 2000 的公钥基础结构, 其核心是加密服务、 证书管理服务, 为应用程序的开发提供了加密API接口(CryptoAPI)。 Windows 2000 的公钥基础结构具有以下特点:

(1)牢靠的安全性。 Windows 2000的公钥基础结构包括采用智能卡的牢靠验证, 保持公用网的保密性, 以及确保传输数据的完整性。 此外, 管理员可使用 Windows 2000 安全权限指派用户证书的使用。 
(2)简易管理。 Windows 2000的公用密钥与活动目录和组策略的集成, 可以对管理企业内部的委托关系进行调整, 还提供将证书直接或经 Internet Information Services 映射到活动目录中用户帐户的能力。 
(3)新机遇。 可以安全地交换诸如Internet等公用网上的文件和数据, 具有实现安全 E_mail(S/MIME)的能力。此外, 作为电子商务的一个重要组成部分, 可以利用电子签名建立发送者的无法否认机制。 

图1 Windows 2000 的公钥基础结构

3 Windows 2000 公钥基础结构的证书服务
证书基本上是一个由权威发布的电子声明, 其作用在于担保证书持有者的身份。 证书将公用密码与持有相应私有密钥的个人、 机器或服务的身份绑定在一起。 证书由各种公用密钥安全服务和应用程序提供, 为非安全网(如 Internet )提供数据验证、 数据完整性和安全通讯。 
Windows 2000 基于证书的过程所使用的标准证书格式是 X.509 V3, X.509证书包括有关证书拥有的个人或实体的信息及证书颁发机构的可选信息。 实体信息包括实体名称、 公用密钥、 公用密钥运算法和可选的唯一主体 ID。 版本 3 证书的标准制定了以下规定: 密钥标识符、 密钥用法、 证书策略、 替换名称和属性、 证书路径约束以及对证书撤消原因和列表分区。 
Windows 2000 Server 证书服务是 Windows 2000 中的组件, 证书服务用于创建和管理证书颁发机构(CA)。 证书颁发机构负责建立和担保证书持有者的身份。 证书颁发机构还会在证书失效时, 将其撤消并发布证书撤消列表, 供证书检验机构使用。 最简单的公用密钥基本体系只有一个证书颁发机构。 事实上, 大多数配置公用密钥基本体系的组织使用多个证书颁发机构, 并将其有组织地形成证书分层结构。
Windows 2000的证书服务按证书颁发机构类型分为:
(1)企业根CA,是企业中最受信任的证书颁发机构,应该在网络上的其它证书颁发机构之前安装,需要 Active Directory.
(2)企业从属CA,是标准证书颁发机构可以给企业中的任何用户或机器颁发证书,必须从企业中的另一个证书颁发机构获取证书颁发机构证书,需要 Active Directory.
(3)独立根CA,是证书颁发机构体系中最受信任的证书颁发机构,不需要 Active Directory.
(4)独立从属CA,是标准的证书颁发机构可以给任何用户或机器颁发证书;必须从另一个证书颁发机构获取证书颁发机构证书,不需要 Active Directory。

证书服务的一个单独组件是证书颁发机构的Web注册页。 这些网页是在安装证书颁发机构时默认安装的, 它允许证书请求者使用Web浏览器提出证书请求。 此外, 证书颁发机构网页可以安装在未安装证书颁发机构的 Windows 2000 服务器上, 在这种情况下, 网页用于向不希望直接访问证书颁发机构的用户服务。 如果选择为组织创建定制网页访问 CA, 则 Windows 2000 提供的网页可作为示例。 
4 智能卡
智能卡是防止篡改的简便方法,它可以向诸如客户身份验证、登录到 Windows 2000 域、代码签名和保护电子邮件之类的任务提供安全性解决方案。通过智能卡登录到网络提供了很强的身份验证方式,因为,在验证进入域的用户时,这种方式使用了基于加密的身份验证和所有权证据。例如,如果某个不怀好意的人得到了用户的密码,就可以用该密码在网络上冒称用户的身份。很多人都选择容易记忆的密码,这会使密码先天脆弱,易受攻击。
在使用智能卡的情况下,那个不怀好意的人将必须获得用户的智能卡和个人识别码 (PIN) 才能假扮用户。因为需要有另一层信息才能假扮用户,所以该组合明显不易遭受攻击。另一个优点是,连续发生几次不成功的 PIN 输入后,智能卡会被锁定,使得对智能卡进行词典攻击非常困难。(注意 PIN 不必是一列数字,它也可以使用其他字母数字字符。)
对加密智能卡的支持是 Microsoft 集成到 Windows 2000 中的公钥基础结构 (PKI) 的关键功能。智能卡提供以下功能:
(1)保护私钥和其他形式个人信息的防篡改存储区。
(2)将安全性关键计算隔绝起来包含从不必"必须知道"的其它组织部门进行的身份验证、数字签名和密钥交换。
(3)在单位、家庭或路上的不同计算机之间发凭据及其他私人信息的可携带性。(西安交通大学 梁晋 梁峰)


 

[下一页]


 

Windows 2000服务器家族--卓越的电子商务平台

当前的电子商务模式,比较流行的有Business to Business(B to B)和Business to Customer(B to C)两种。这两种模式各有特点,所以在实现时对操作系统和开发方法的要求有所不同,但是Windows 2000服务器家族所具备的高性能、高可靠性、可伸缩性,以及集成在Windows 2000中的丰富的功能,为快速、可靠地建立功能强大的B to B和B to C电子商务系统提供了卓越的服务器平台。本文将介绍Windows 2000服务器家族对建立电子商务应用的支持。

支持电子商务的特性和服务

Internet Information Server 5.0

绝大多数的电子商务系统,是建立在WWW的基础上的。Windows 2000服务器中内置了一个新的Web服务器--Internet Information Server(IIS) 5.0。在Windows NT 4.0的平台上,4.0版本的IIS以其强大的服务能力和丰富的开发手段,使其成为了电子商务的主要服务器平台。现在IIS 5.0在原有的基础上,又增加了许多新的功能。

IIS 5.0将运行在它上面的Web站点应用和IIS核心服务隔离开来,而且可以对每个站点应用配置独立的CPU使用率,并可以独立停止和重起每个进程。这大大提高了Web服务器的可靠性和稳定性,是您建立的电子商务站点运行的更加可靠。

在安全性方面,IIS 5.0可以使用Windows 2000 Active Directory实现用户身份的验证,也可以使用证书和Active Directory的结合来验证用户。这为电子商务系统提供了即灵活又可靠的对用户身份的确认。

IIS 5.0上的Web站点的开发使用的时Active Server Page (ASP) 3.0。ASP提供了强大的功能和与Windows的紧密集成,同时ASP 3.0又进一步提高了效率。ASP 3.0提供了和XML的集成,同时也可以用ADSI 2.0对Windows 2000 Active Directory进行操作。使用Microsoft Visual InterDev 6.0开发工具,您可以快速建立您的电子商务系统,也可以建立一个复杂但是功能强劲的电子商务系统。

7×24小时不停顿服务

对于一些关键性的电子商务站点,能否提供不停顿的服务是一个重要的条件。Windows 2000 Advance Server的Windows群集服务可以使用两台服务器建立2个节点的群集,而Windows 2000 Datacenter Server则可以建立4个节点的群集。群集的建立使得在某台服务器出现故障时,其他服务器可以接管他的工作,保证系统的运行。
Windows群集服务的另一个功能是能够为Web服务器建立32个节点的网络流量平衡的群集,也就是最多可以同时有32台服务器作为同一个Web站点提供服务而不需要额外的硬件设备。这个功能可以用于建立为大量用户同时提供服务的大型电子商务站点。

网络连接支持

在Windows 2000中,TCP/IP是作为唯一的缺省网络协议来安装的。Windows 2000中的TCP/IP是符合Internet标准的,可以和任何支持TCP/IP的计算机通讯。在Windows 2000中,TCP/IP的实现经过了仔细的优化,可以提供优越的网络通讯性能。

Windows 2000的TCP/IP增加了IPSec,可以自动为两台计算机之间的数据传递进行加密,为电子商务提供更好的安全性。

在Intranet/Extranet的方式中,电子商务的用户可能系统使用虚拟私有网(VPN)以提供更强的数据安全性。

Windows 2000的路由和远程访问服务同时提供了拨号用户接入和VPN的功能。

Windows 2000同时提供了PPTP和L2TP两种VPN方式。

Windows 2000还提供了对ATM的支持,为将来高带宽的网络连接做好了准备。

证书服务

Windows 2000的公共密钥基础结构(PKI)使用符合X..509标准的证书。通过Active Directory,Windows 2000可以将证书用于数据加密、用户身份验证、智能卡登录、加密文件系统等。

证书服务是Windows 2000的CA。证书服务可以为Windows 2000网络用户颁发证书,也可以通过IIS为其他用户颁发证书。Windows 2000的证书服务器可以建立树形结构,由根CA向分支CA提供CA证书,然后分支CA在向用户颁发证书。

Windows 2000上的电子商务系统既可以使用Windows 2000的证书服务,也可以使用其它第三方CA提供的证书。

电子商务系统开发

Windows 2000的分布式开发结构,为开发大型的电子商务站点提供了基础。内置的MS DTC服务和Message Queuing服务,可以用于开发分布式的应用。新的ADO 2.5为访问各种不同类型的数据库提供了统一的接口。通过在ASP中使用ADO,不但可以访问关系型的数据库,如Microsoft SQL Server和Oracle Server,还可以访问Exchange Server的数据库和Active Directory的目录数据库。

Windows 2000不但本身具备了多种能力,而且还是一个优秀的应用服务器操作系统。在Windows 2000上运行的其他Microsoft服务器产品和第三方产品,也为建立电子商务系统提供了各种条件。Microsoft Site Server 3.0 Commerce Edition是专门用于建立电子商务系统的服务器软件。Site Server 3.0 Commerce Edition运行在Windows 2000上,可以使用它的向导工具快速建立一个电子商务站点,也可以使用它提供的对象开发一个功能强大的站点。

电子商务的安全性

在电子商务系统的实现中,安全问题一直是最受到关注的问题。因为电子商务系统的运行经常涉及到非常敏感或非常有价值的数据,所以任何在安全问题上的漏洞都可能造成巨大的损失。
在计算机环境的安全性问题上,主要有三个需要解决的问题:

l 用户身份的识别 首先需要保证正在使用系统的人就是你所授权可以使用系统的那个人,必须有方法防止有人冒名顶替或欺骗

l 数据存储的安全 要有完整的安全策略来保护敏感的数据,只有得到特定授权的人才可以对数据进行指定的操作

l 数据传递的安全 电子商务的数据肯定需要在网络上传输,必须防止有人偷听和非法修改在网络上传递的数据,必须对数据进行加密
同时,好的安全系统还要求为设置和维护安全性提供简单而有效的方法。在Windows 2000服务器家族中,提供了一系列的内置的安全特性和服务,来实现网络系统的安全性和对电子商务的支持。

Public Key Infrastructure (PKI)

公钥基础结构(PKI)是Windows 2000系统的分布式安全性的基础。公共密钥系统使用的是一对密钥,其中一个是用户的私有密钥,由用户保存在安全的地方;另一个是用户的公共密钥,公开给其他人。使用用户的公钥加密的数据,必须用用户的私钥才能解开。在Windows 2000环境中,公共密钥系统可以用于Web用户身份验证、Web服务器身份验证、安全电子邮件、IPSec、代码签名、加密文件系统等。

发布公钥使用的公钥证书,通常简称为"证书"。证书是包含了证书的所有者、公钥、有效期、颁发者和其他信息的一个数据结构。现在使用的证书多数是基于X.509标准,Windows 2000的PKI也是使用这个标准。在Windows 2000中,证书的颁发和管理可以使用内置的证书服务(Certificate Service),也可以使用第三方颁发的证书。

用户身份验证

Active Directory是Windows 2000中的目录服务,也是Windows 2000最核心的服务之一。

在Windows 2000的网络环境中,Active Directory的最主要的功能就是实现用户身份的验证。Windows 2000的用户身份验证使用的是Kerberos V5协议,这种验证方法最大的好处是可以实现单一注册,也就是允许用户通过在网络中的一个地方的一次登录就可以使用网络上他可以获得的所有资源。对于非Windows 2000的用户,也可以使用原来的NTLM的身份验证方式。

在身份验证时,用户需要提供他的有效的用户名和口令。但是作为对这种传统的身份验证的增强,在Windows 2000中还可以使用智能卡进行身份验证。在智能卡中存放了用户的个人信息和他的私钥,用户登录时必须在读卡机中插入他的智能卡,同时输入对应的个人识别码(PIN),才能通过身份验证。

相对于口令验证,智能卡有更强的安全性。因为口令比较容易被不怀好意的人得到,被猜测到的可能性也较大。而智能卡就像一把无法复制的钥匙,只有拿在手里才能打开大门。用智能卡进行身份验证需要Windows 2000 PKI的支持。

对于用户身份验证的管理,Active Directory还提供的进一步的配置。在Active Directory中设置了一系列的安全模板,可以方便的配置特定的Windows 2000系统的安全性。在安全模板中,详细地设定了各方面的安全配置,包括用户账户、用户操作的审核、各类事件的记录、对系统服务的配置,对注册表和文件系统的安全管理。

在电子商务系统中,某些情况下无法通过Active Directory实现用户身份的验证,例如用户是通过Internet而不是Intranet访问电子商务系统。一般情况下用户使用的由证书颁发机构颁发给他的证书来递交身份的验证。此时Active Directory允许将指定的证书映射到对应的用户账户,也可以将多个证书指定的一个用户账户。这样通过Internet访问的用户也具有了Active Directory验证的身份,同时具有对各种对资源访问的权力。

用户所拥有和使用的证书,可以是由Windows 2000内置的证书服务Certificate Service颁发,也可以是由其他受信任的证书颁发机构颁发的证书。

数据存储的安全性

在Windows 2000系统中,数据存储在NTFS 5.0格式的分区或卷中。在NTFS的文件系统中,每个文件和文件夹都有相应的用户访问控制列表(Access Control List)。任何一个通过了身份验证的用户,如果需要访问一个文件,必须是在这个文件的访问控制列表中已经有了相应的赋予这个用户的许可。对于没有获得许可的用户,Windows 2000将禁止他对这个文件的操作。在NTFS 5.0文件系统中,对访问控制的配置是可继承的,也就是在上一级文件夹上配置的访问控制可以一直向下作用到它包含的文件和子文件夹中。这个功能可以使文件系统的安全配置更加简单。

在Windows 2000中,还可以配置对指定文件的审核。审核可以让管理员看到有哪些用户对这个文件进行了什么样的操作。对于一些关键的文件,审核可以增加系统的安全性。

NTFS文件系统提供了用户对文件访问的控制,但是存放在物理设备(硬盘等)上的数据是没有加密的。所以仍然存在可能绕过Windows 2000操作系统而直接访问物理设备上的数据,从而造成泄密。对于这种情况,Windows 2000提供了加密文件系统(EFS)。加密文件系统也是使用了PKI,存放在物理设备上的数据都是经过加密的数据,只有文件的所有者(用户)才能使用这些文件。数据的加密和解密需要用户的公钥和私钥,但是整个过程对用户来讲是透明的,用户感觉不到数据的加解密处理。

数据传输的安全性

对于电子商务来讲,数据在公共网络上的传输是不可避免的。于是数据在传输过程中就很可能被被窃听、拦截和欺骗。要保证数据传输的安全,必须对传输中的数据进行加密。

当我们用IIS 5.0作为电子商务的Web服务器平台,用Internet Explorer来连接到这个站点时,为了获得安全性,可以使用Web服务器的安全套接字层(Security Sockets Layer, SSL)。SSL在Web浏览器(IE)和Web服务器(IIS)之间建立安全(https://)的通信连接,使用公共密钥技术对通信的数据进行加密。默认情况下加密使用40位长度的密钥,受到密钥出口长度的限制,在中国不能使用128位长度的密钥。但是IIS 4.0中增加了服务器网关加密(SGC),可以使用128位的密钥专门为金融机构提供全球范围的安全数据传递。

数据加密传输的另一种方法是可以使用虚拟私有网(VPN)。VPN可以在公共的网络(Internet)上建立一个安全的数据传输隧道,这样用户在使用公共网络时就可以象使用自己的内部网络一样。Windows 2000支持的VPN方式为点对点隧道协议(PPTP)和第二层隧道协议(L2TP)。其中PPTP使用Microsoft点对点加密(MPPE)方式对数据进行加密,而L2TP则使用IPSec。IPSec直接对IP包进行加密,还可以用于在两台计算机之间的直接的数据加密传输。在某些基于Intranet/Extranet形式的电子商务系统中,经常会采用某种形式的VPN让远程的用户连接到内部网络。(清华微软高级技术培训中心 徐晓峰)

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 用户名: 密码:
  匿名发表
今日推荐
技术文库(共有 45972 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
移动开发
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail