IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

SSL和数字证书服务概述

2005年12月01日
/

随着Internet的分布越来越广泛,安全问题也日益突出,保护传送数据的需求也越来越强烈。在今天的Internet上,最常见的安全是通过使用数字证书实现的。数字证书可以在一个不信任的网络上辨识一个客户和服务器,并且可以加密数据。这里将讨论其采用的技术以及微软提供的确保Internet安全的工具。
具体的内容有:
 Secure Sockets Layer (SSL) 的介绍以及为什么它是安全的基础
 加密以及它在客户端和服务器端的角色
 客户证书映射的一个介绍和建议
 Internet上的证书和证书授权
安装微软Certification Authority服务器的介绍
Secure Sockets Layer (SSL)简介
通过使用X.509 certificates, RSA Public Key Ciphe和其它额外的安全特性来进行通信和认证,Internet Information Services 5 为Secure Sockets Layer (SSL) 3.0提供了一个高性能的实现。SSL可以让一个客户和服务器以协商好的安全和认证级别来进行通信。当一个连接被初始化时,SSL需要协商好一个对称(symmetric )的session key和认证级别。这个对称的key是用来加密和解密数据的。在连接正在被建立的时候,还需要进行客户/服务器的认证。当协商完成后,客户和服务器可以通过加密数据,以一个安全的方式进行数据传送。
加密通信
加密是通过令数据变得不规则以确保它不容易被非相关的人阅读。Internet Information Services 5提供的加密特性和Internet Information Server 4类似,除了两个例外:服务器证书现在和单个的网站绑定在一起,现在还有一个新的向导可以令服务器证书的设置变得更加简单。
在Internet Information Services 5中设置SSL加密和Internet Information Server 4是一样的,除了一个例外:你现在可以使用Server-Gated Cryptography (SGC)证书和加密。SGC在银行业的站点使用,通过它可以在Internet Information Services的出口版本中使用128位的加密。
客户和服务器的加密通信需要在两端进行设置。客户或者Web浏览器,可以支持40位或者128位的加密,或者两者都支持,而服务器只可以在安装服务器证书后才可以加密通信。
128位和40位的客户
与Microsoft Internet Explorer 5.0类似,Internet浏览器支持两个加密的级别:40位和128位的加密。40位的加密要弱一些;对于出口版本来说(即加拿大和美国以外的国家),这是最大的加密级别,因为美国政府认为强的加密级别对于国家安全是一个威胁,而北美版本的Internet Information Services, Internet Explorer和Netscape Navigator则支持128位的加密。
要知道Internet Explorer安装的是哪一个级别的加密,只需要点菜单中的帮助,然后选择About Internet Explorer的选项就可以了。
加密和认证
虽然加密和认证通常都放在一起讨论,但它们是两个不同的主题。认证是确认在通信中的个人或者进程身份的方法。认证可以是单向的,这是在一方确认对方的身份,或者是双向的,这时双方都需要确认对方的身份。
使用服务器证书

一个服务器证书是你的服务器的一个电子ID,它可让你的服务器执行两个重要的功能来确保通信的安全:为用户标识自己和加密传送到这些用户的信息。SSL加密需要一个服务器证书被绑定到你的网站中。该证书包含有“Keys”,在你的网站和请求安全信息的用户间建立一个安全连接时,需要用到这些keys。
在Internet Information Server 4中,服务器证书是被绑定到Web服务中的,并不是个别的网站,除非一个网站拥有一个独立的IP地址。在Internet Information Services 5中,你可以绑定服务器证书到任何的网站,不过每个站点只可以设置一个证书。还有,在Internet Information Server 4中,你需要使用Key Manager来绑定证书。在Internet Information Services 5中,你可以使用Web Site Certificate向导,令整个过程变得更加简单。该向导可引导你设置请求和安装一个证书的全过程。
客户证书映射
客户端的证书和服务端的是等价的。客户证书是一个数字ID,该ID是用来向你的Web服务器标识一个客户的,并且可让你的服务器使用客户证书映射。客户证书映射将一个客户的证书映射为一个Windows用户帐号,并且可以自动认证和允许带有这些证书和正确帐号的用户进行访问。
例如,一个称为Vicky的用户拥有一个客户证书,她点击了一个到该公司网站的雇员信息部分的连接,她的浏览器就会将其证书信息放到其服务器请求的头部,服务器就会检索该证书的一个映射。如果用户的证书是正确的,并且映射到一个有效的Windows用户帐号,而且该帐号允许访问这些内容,Vicky就会被自动地认证,请求的数据也会出现在她的浏览器中。
证书映射的类型
在Internet Information Services 5中,有两类的证书映射:一对一和多对一。一对一映射将一个特别的证书和某个Windows用户帐号联系起来。客户证书的一个拷贝必须放到服务器上以作认证之用。如果用户使用另一个客户证书作同样的请求,将需要重新建立映射。
多对一的映射仅使用证书中的某些信息,并且与一定的标准作对比以进行用户帐号映射。只要该证书符合这些标准,认证就会成功。这样多个证书就可以被映射到一个用户帐号,而且证书的拷贝无需要存放到服务器中。
两者之间的区别可以用以下的情况说明。当一个带证书的请求到来时,服务器有两种的方式来映射它。服务器可以对自己说“我需要查找一个2002年3月建立的证书,它的序列号是ZXV345T4689AS234,如果我找不到该证书,我就会发送一个403-禁止的错误信息,并且处理完毕”,或者,服务器也可以这样“我正在查找XYZ Certificate公司建立的任何证书,它是为ABC公司建立的,在2002年3月1日到2002年6月1日之间。如果我找到类似的证书就可以了”。第一种情况就是一对一映射,后者是一个多对一映射。
很容易看到,一对一映射更加安全,不过它需要更多的设置和维护工作,而多对一的安全性要差一点,不过可以更加灵活,而且需要较少的管理维护工作。
Fortezza卡和证书映射
智能卡上带有证书的一个拷贝,并且可以用作映射。将证书的信息拷贝到卡上后,证书的处理就象其它的客户证书一样。通常一对一的映射被用在Fortezza卡上,因为它是为更高的安全性而设计的。
通过SSL进行基本的认证
SSL加密可以和基本的认证混合使用以加强安全性。SSL通常是用来加密与Web服务之间的数据传输的--例如,在一个在线购买中加密一个用户的信用卡密码。当SSL和基本的认证混合使用时,用户的帐号和密码也是加密的,这样就更加安全。
对于使用非微软浏览器的客户来说,带SSL的基本认证就更加有利了。这些非微软浏览器的客户可以被Internet Information Services认证,它们的用户名和密码也不会以明文的方式在Internet上传输。
数字证书

Internet Information Services还支持X.509数字证书以作访问控制。这些数字证书必须是经由一个信任的证书授权建立,并且必须在客户的计算机上维护。它们的运作和一个ID卡类似--这就是在客户企图访问Web服务器的一个资源时,它会送出数字证书的信息。不过,相对于简单的ID卡证书来说,它多了一层的安全性。在产生数字证书时,用户必须提供一个密码。以后使用该证书时,客户还必须再次输入该密码以确保客户是该数字证书的真正拥有者。
使用数字证书需要一个适当的协议,例如SSL,该协议通常需要存在于客户和服务器上。通常服务器都会提供一个证书给客户以表明服务器或者域名的身份。
选择你的映射方法
选择哪种映射方法和几个方面有关,不过主要的两点是安全级别的需要和可用的管理资源。如果你需要高的安全性,那么一对一映射是最理想的,只要你可以付出资源来管理它。如果你的管理资源有限,需要映射的客户也很多,那么多对一就很适合,只要你需要的安全性不是特别高。具体选择哪种方式,以下是一些建议:
。小型网络,对安全性要求不高;无需证书。即使网络小,还是选择多对一的方式,因为对信息的安全性要求不高。你可以创建一个简单的证书并且使用一个软盘来共享它。
。小型网络,对安全性要求不高;需要证书。如果你需要知道谁正在访问什么,你可以使用多对一的映射,其中一个标准是使用用户名,并且映射到单个的用户帐号。这样需要更多的工作,不过仍然比一对一好,因为用户可以替换证书而无需要重新设置
。小型网络,带有保密的信息,需要证书。在这种情况下,最好使用一对一的映射,并且映射验证到个别的帐号。这意味着如果用户使用一个另外的证书,就必须重新设置一个新的映射。不过这里假定用户的数目比较少。你也可以使用Windows 2000的Active Directory认证特性,要了解更多的相关信息,可以查看Windows 2000的文档。
。大型网络,对安全性的要求不高;不需要证书。解决的方案和小型的网络一样,不过你可以为每个部门或者组选择一个不同的验证。
。大型网络,带有保密的信息;需要证书。从安全的角度来说,你需要选择一对一。不过,为了简化管理,你可以可以选择多对一。主要是按你的需要,如果你使用一对一,可以考虑使用Active Directory来简化管理。
。对安全性要求很高:如果是这样,你可以选择使用Fortezza智能卡的一对一映射。你只需要将智能卡放入到读取器就可以进去。不过,如果你有大量的客户,这将是一个管理的噩梦。

服务器证书和证书授权
要激活Internet Information Services的SSL安全特性,你必须获得并安装一个有效的服务器证书(server certificate)。服务器证书是包含有你的Web服务器信息的数字证书,组织会验证服务器的Web内容以及你的站点的全域名(FQDN)。它的运作和传统的证书一样,服务器证书可以令用户验证你的服务器,检查Web内容的有效性,并且建立一个安全的连接。
数字证书是通过使用FQDN指派给一部主机的。因此证书与任何的IP地址限制无关。你可以修改主机的IP地址而不会对证书有任何的影响。例如,如果http://www.company.com这个网站拥有一个证书,那么无论该域名是指向IP地址192.168.110.123还是IP地址123.110.168.192,或者网站的IP地址在证书建立和安装后被修改,都没有关系。
服务器证书的成功在于用户是否信任证书中的信息的有效性。因此,证书通常是通过一个互相信任的第三方组织来建立的,它被称为Certificate Authority (CA)。CA的主要职责是确认该组织注册到了一个证书。这样就可以确保证书中的标识信息的有效性。
要做到这一点,一个CA必须拥有一个CA证书。CA证书可标识建立服务器证书的CA,从而确认服务器的验证。当然,在这种层次关系中,与其它的层次关系一样,必然有一个是顶层的。那么谁来验证CA的证书呢?在最顶部的CA必须签署自己的证书,这是由于在定义上来说没有更高层次的CA。一个自己签署的CA被称为一个root certificate(根证书)。根证书是一个带有.crt扩展名的文本文件。
可供选择地,一个组织可以建立它自己的服务器证书而无需一个CA来签署它们。例如,在一个大型公司的内部网中处理雇员薪水和利益信息,公司可以维护一个证书服务器,并且假定负责验证登记者的身份并且建立服务器证书。
证书服务器

要认证一个带有证书的服务器(该证书由某个特别的CA建立),可户需要验证该CA处于Web浏览器的可信任CA的列表中。大部分常见的CA根证书已经安装在大多数的Web浏览器中。
要查看Microsoft Internet Explorer 5信任的CA,可以执行以下的步骤。
1。打开Microsoft Internet Explorer 5
2。在工具菜单上,点击Internet选项
3。选内容标签
4。在证书栏中按Authorities的按钮
证书管理的对话框中的三个标签包含了这个Internet Explorer拷贝所知道的全部证书列表。
每个证书都包含有主题和证书建立者的信息,还有它的有效性和开始日期、有效日期,还有为其它客户或者服务器标识证书的加密指纹。
要查看一个数字证书中的信息,可以选择一个证书然后按查看证书的按钮。
要为你的Web服务器增加一个新的CA到被信任的授权列表,你必须显式地加入CA的证书到你的Web服务器中,它被称为根证书。你可以使用Microsoft Internet Explorer version 4.0以上或一个称为Ilisca.exe的命令行工具来为你的服务器加入一个新的根证书。
证书的通配符映射
通配符证书允许多个带有同样域名或者子域名的主机使用同样的数字证书。例如,使用通配符证书,一个证书可以建立在*.domain.com或者domain.com上,这样它就可以用来支持诸如http://www.domain.com和http://www2.domain.com的站点。要记住在一般的情况下,一个证书只能建立在一个指定的主机上。例如http://www.domain.com。
证书通配符映射的好处是你只需要购买一个证书就可以在多个网站上使用,对于保护一个网站来说这样的成本较低而且很值得。不过并不是全部的第三方CA都允许你申请一个可以用在多个主机上的证书。这样的一个证书有一个共同的名字,例如*.domain.com 或者 domain.com。并不是全部的Web浏览器或者Web服务器支持它们的使用。
当一个Netscape的客户检查该证书中的主机名时,它使用一个脚本扩展过程来查看它是否匹配。在给出的例子中,任何以domain.com结束的主机都可以接受。不过,Internet Explorer并没有实现通配符证书名字检查,所以 Internet Explorer的客户将接收到一个警告的信息,提示该主机名并不和证书中的匹配。在某些情况下,通配符可以在Internet Explorer 4.0或以上运作,不过微软宣称Internet Explorer并不可以在通配符下工作,因此并不能确保通配符可以在任何的微软产品下工作。


分发证书
一个组织需要为客户或者厂商提供证书,有三个条件。首先,它可以创建自己的内部CA,以满足它自己的安全和可用性需要。第二,它可以将它的CA需求输出给第三方,例如VeriSign或者Thawte。第三,它可以与一个第三方的CA建立一个相连的CA,这样可允许该组织为终端用户建立证书,同时也可以保障第三方CA的安全性。
例如,一个厂商可能决定为它的员工建立证书,而办公室处于三个不同的州,或者一个顾问公司要为它的卖方建立证书以控制访问公司的外部网。这个例子中,该组织可以选择领先的厂商,例如BBN (GTE), Chrysalis或者Atalla购买安全的key管理硬件,或者选择购买证书授权软件,例如Microsoft, Xcert, 或者Nortel Entrust的。这些技术可以允许该组织根据其需要,建立一定安全级别的包含有客户信息的证书。
不幸的是,大多数的浏览器在开始的时候都不认识这些证书。每个需要检验证书可信性(这些证书由内部的CA建立)的浏览器都将需要被修改,以在签署证书的时候响应该组织的root key。这意味着每个Microsoft Internet Explorer, Microsoft Outlook和Netscape Communicator的拷贝都需要加入该组织CA的root key,而且必须在数据被这些证书签名前加入,这样它们才可以被信任。在一个小的或者可控制的环境下,这是没有问题的。不过在一个异类、多平台的环境下,例如Internet,这是不可能的。
一个相连的证书程序允许一个第三方的CA传送全部和第三方CA相关的信任到该组织的CA。所有信任第三方CA提供的数字证书的软件将会立刻信任相连CA建立的证书。
安装和设置证书服务

证书授权服务器是Windows 2000 Server的一个附件,它放在Windows 2000 Server的安装盘上。它可让你为建立和管理X509版本3的数字证书创建一个自定制的服务以作证书之用。你可以为Internet或者公司的内部网创建服务器证书,从而可让你的组织完全控制它自己的证书管理策略。
它包含了一个向导来设置安装。要注意的是:你将需要在安装的时候提供精确的信息。在安装证书服务前先查看一下需要的信息。
要使用常用的设置选项来安装证书授权服务器附件,你可以使用以下的步骤:
1。将Windows 2000 Server CD-ROM放入光驱,然后选择Install Add-on Components.
2。Windows组件向导将会提示你选择安装哪些组件。选择证书服务的选择框。你将会马上看到一个对话框,提示你一旦安装证书服务,该计算机将不能重命名,也不能加入或者由一个域中移走。
在选择YES来继续前,你应该考虑一下以下几点:
。由于在安装证书服务后,除非你重新安装Windows 2000,否则你将不能修改计算机的名字,因此你需要确保你对当前的名字感到满意,或者在继续前先换一个名字。
。由于在安装证书服务后,你将不能令计算机加入到一个域或者将它由域中移走,你将需要确保你对当前域或者子域的名字感到满意,否则在继续前先换一个名字。
。在继续前你要确保计算机加入到适当的域中
3。接着,在Windows组件向导中选择证书授权类型,有四种类型:
Enterprise root CA
Enterprise subordinate CA
Stand-alone root CA
Stand-alone subordinate CA
一个网络上的第一个CA必须是一个root CA。要创建一个Enterprise CA,必须允许Active Directory。一个Stand-alone CA 并不需要Active Directory。在你的局域网中可选择Stand-alone CA 来实现证书服务。见图1
 
证书授权服务不但定义证书服务功能如何在你的服务器上运作,还定义了你将需要如何来管理它。
4。在Windows组件向导中选择CA Identifying Information。输入适当的数据然后继续安装。见图二

5。在Windows组件向导中选择Data Storage Location。我建议使用默认的位置就可以了。按Next继续。
6。如果你已经在你的计算机上安装并运行Internet Information Services,按Yes继续。微软的证书服务将会提示你在继续安装前,必须停止Internet Information Services。Windows组件向导将会设置组件,并且将文件拷贝到你的机器上。你可以通过安装进度条来监视安装的过程。
7。当Windows组件向导提示你已经完成配置所选的组件时,按Finish。
这篇文章详细讨论了Windows 2000中的证书服务,要记得在企图安装证书服务前,先要确认所需要的全部信息。


发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点