1. 公钥基础结构(PKI)
 
       随着网络技术的飞速发展,Internet已成为人们生活、工作中不可缺少的一部分。人们在享受Internet带来的成功和喜悦时,也面临着安全问题。
在网络上,***可能试图监视或更改诸如电子邮件、电子商务交易和文件传输这样的信息流,甚至都有可能捕获到用户的密码信息。网络管理员如何加固网络中用户计算机和服务的安全性,如何确定用户身份,如何控制个人访问的信息呢?网络管理员如何加强电子商务中的安全性呢?这些问题都可以规划良好的公钥基础结构(PKI)来解决。
1.1、 什么是PKI
PKI(Public Key Infrastructure,公钥基础结构)是通过使用公钥技术和数字证书来确保系统信息安全并验证验证数字证书持有者身份的一种体系。
PKI由公钥加密技术、数字证书、CA(证书颁发机构)、RA(注册机构)等共同组成。
1. 数字证书用于用户的身份验证。
2. CA是一个可信任的实体,它负责发布、更新和掉受证书。
3. RA接受用户的请求,负责将用户的有关申请信息存档备案,并存储在数据库中,等待审核,并将审核通过的证书请求发给证书颁发机构。RA分担了CA的部分任务,使管理员变得方便。
PKI体系能够实现的功能有:
1. 身份认证:确认用户的身份标识。
2. 数据完整性:保证数据在传送过程中没有被修改。
3. 数据机密性:防止非法授权用户获取数据。
4. 操作的不可否认性:确保用户不能冒充其他用户身份。
1.2、 公钥加密技术:
公钥加密技术是PKI的基础,这种技术需要2种密钥:公钥(public key)和私钥(private key)。公钥和私钥的关系是:
1) 密钥是成对生成的,这两个密钥互不相同,两个密钥可以互相解密和解密。
2) 不能根据一个密钥来推算得出另一个密钥。
3) 公钥对外开放;私钥只有私钥的持有人才知道。
根据两种密钥使用的先后顺序可以,分为数据加密和数字签名。
1. 数据加密
数据加密确保只有预期的接收者才能够解密和查看原始数据,从而提供了机密性。传输数据时,发送方使用接收方的公钥加密数据,并将它传送。当接收方收到数据后,使用自己的私钥解密这些数据。
数据加密能保证所发数据的机密性,却不能完全保证数据的完整性和不可抵赖性,既不能保证数据在传送过程中不被他人篡改和不被人冒名顶替发送。要解决这个问题就需要数字签名。
2. 数字签名
数字签名的过程:发送方使用自己的私钥加密,接收方使用发送方的公钥解密。
数字签名的作用是提供了以下的功能:
1) 身份验证:接收方可确认该发送方的身份标识。
2) 数据的完整性:证实消息在传送过程中内容没有被修改。
3) 操作的不可否认性:其他用户不可能冒充该发送方发送消息。
用户可以通过数字签名实现数据的完整性和有效性,只需采用私钥对数据进行加密处理,由于私钥仅为用户个人拥有,从而能够证实签名消息的唯一性,既保证:
1) 消息由签名者即发送方自己签名发送,签名者不能否认也难以否认。
2) 消息自签发到接收这段过程中未曾作过任何修改,签发的消息是真实的。
在数字加密和数字签名中,用到了公钥和私钥,如何保证这些密钥的合法性呢?这需要通过受信的第三方颁发的证书来完成,该证书证实了公钥所有者的身份标识。
2. CA(证书颁发机构)
CA(certificate authority,证书颁发机构)是PKI公钥基础结构中的核心部分。CA负责管理PKI结构下所有用户(包括各种应用程序)的数字证书,把用户的公钥与用户的其他信息捆绑在一起,在网上验证用户的身份。在任何一个PKI中,CA都是一个可信的实体,他根据CA颁发策略负责发布、更新和取消证书。
接下来将主要详述对数字证书、CA的作用、证书的发放过程和安装证书服务这4个方面的内容作详细的说明。
2.1、 什么是证书:
PKI系统中的数字证书简称证书,它把公钥和拥有对应私钥的主体的标识信(如名称、电子邮件、×××号等)息捆绑在一起。证书的主体可以是用户、计算机、服务等。证书可以用于很多方面,例如:web用户身份验证、web服务器身份验证、安全电子邮件、Internet协议安全(IPSec)等。
数字证书是由权威公正的第三方机构即CA签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及通信双方省份的真实性、签名信息的不可否认性,从而保障网络应用的完整性。
通常,证书包含以下信息:
1) 使用者的公钥值。
2) 使用者标识信息(如名称和电子邮件地址)。
3) 有效期(证书的有效时间)。
4) 颁发者标识信息。
5) 颁发者的数字签名,用来证明使用者的公钥和使用者的标识信息之间的绑定关系是否有效。
证书只有在指定的期限内才有效,每个证书都包含“有效起始日期”和“有效终止日期”,这两个值设置了有效期的期限。一旦到了证书的有效期,到证书的使用者就必须申请一个新的证书。
2.2、 CA的作用:
CA可以自己创建,也可以是第三方机构。在复杂的认证体系中,CA分为不同的层次,各层CA按照目录结构形成一棵树。CA体系结构中,根CA处于核心地位,功能是认证授权。
CA的核心功能就是颁发和管理数字证书,具体描述如下:
1) 处理证书申请。
2) 鉴定申请者是否有资格接收证书。
3) 证书的发放:向申请者颁发、拒绝颁发数字证书。
4) 证书的更新、接收、处理最终用户的数字证书更新请求。
5) 接收最终用户数字证书的查询、撤销。
6) 产生和发布证书吊销列表(CRL)。
7) 数字证书的归档。
8) 密钥归档。
9) 历史数据归档。
2.3、 证书的发放过程:
假设某个用户要申请一个安全邮件证书,以实现安全的邮件通信,申请流程如图:
 
1) 证书申请。用户根据个人信息填好申请证书的信息并提交证书申请信息。
2) RA确认用户。在企业内部网中,一般使用手工验证的方式,这样更能保证用户信息的安全性和真实性。
3) 证书策略处理。如果验证请求成功,那么,系统制定的策略就被运用到这个请求上,比如名称的约束、密钥长度的约束等。
4) RA提交用户申请信息到CA。RA用自己的私钥对用户申请信息签名,保证用户申请信息是RA提交给CA的。
5) CA为用户生成密钥对,并用CA的签名密钥对用户的公钥和用户信息ID进行签名,生成电子证书。这样,CA就将用户的信息和公钥捆绑在一起了,然后,CA将用户的数字证书和用户的公用密钥公布到目录中。
6) CA将电子证书传送给批准该用户的RA。
7) RA将电子证书传送给用户(或者用户主动取回)。
8) 用户验证CA颁发的证书,确保自己的信息在签名过程中没有被篡改,而且通过CA的公钥验证这个证书确实由所信任的 CA机构颁发。
3. 接下来我就以一个试验的方式来向大家详述在web服务器上设置SSL
3.1、 背景介绍:
某公司有一个Web站点,假设域名为wangpeihua.com. ,启用的身份验证方式是基本身份验证方式。由于该网站有公司敏感数据,因此公司希望用户访问时,保证用户密码和访问的数据在传输时的安全性(信息不能被协议分析工具破解出来)。本实验的证书服务、DNS服务和网站在一台域控制器上完成。IP地址为172.16.11.11
3.2、 实验目标:
1. 掌握证书服务的安装。
2. 理解证书发放的过程。
3. 掌握在web服务器上配置SSL。
4. 使用HTTPS协议访问网站以验证结果。
3.3、 试验准备:
1. 准备两台VM,一台是DC/DNS并且已经安装了IIS(网卡为VMnet1),另一台作为客户机访问网站。
2. 创建主机记录,IP地址为172.16.11.11。
3. 新建网站,主机头,IP地址为172.16.11.11。
4. 设置新建网站的身份验证方式为基本身份验证。
5. 客户机能访问网站。
3.4、 完成标准:
在客户机上访问启用了SSL的网站。
3.5、 具体操作步骤及思考:
1. 安装证书服务:
1) 使用管理员administrator登录到PC。
2) 单击控制面板中的“添加或删除程序”,在windows组件向导中勾选“证书服务”复选框,单击弹出对话框中的“是”按钮,然后单击“下一步”按钮。
clip_p_w_picpath004
3) 选择CA类型为“企业根CA”,选中下面的“用自定义设置生成密钥对和CA证书”复选框,单击“下一步”按钮。
clip_p_w_picpath006
4) 在出现的“公钥/私钥对”中保持默认值,单击“下一步”按钮。
clip_p_w_picpath008
5) 在“CA识别信息”窗口中输入CA的名称“huazaiCA”,单击“下一步”按钮。
clip_p_w_picpath010
6) 保持证书数据库及其日志信息的位置默认值,单击“下一步”按钮,在随后出现的需要停止Internet信息服务的对话框中,单击“是”按钮。
clip_p_w_picpath012
7) 接着系统将会配置CA服务,在出现的安装完成窗口中单击“完成”按钮
clip_p_w_picpath013
2. 生成证书申请:
1) 打开“IIS管理器”,右击huazai网站(假设是公司以前有的网站),从弹出的快捷菜单中选择“属性”命令—“目录安全性”,单击“服务器证书”按钮。
clip_p_w_picpath014
2) 单击web服务器证书向导界面中的“下一步”按钮。
clip_p_w_picpath016
3) 选择“新建证书”单选按钮,单击“下一步”按钮。
clip_p_w_picpath018
4) 选择“现在准备证书请求,但稍后发送”单选按钮,单击“下一步”按钮。
clip_p_w_picpath020
5) 在“名称”文本框中键入证书的描述性名称“huazai网站”,单击“下一步”按钮。
clip_p_w_picpath021
6) 输入单位信息,单击“下一步”按钮。
clip_p_w_picpath022
7) 输入站点公用名称[url]www.huazai.com[/url] ,单击“下一步”按钮。
clip_p_w_picpath023
8) 输入地理信息,单击“下一步”按钮。
clip_p_w_picpath025
9) 输入证书请求文件名,单击“下一步”按钮。
clip_p_w_picpath027
10) 显示证书申请中的概要信息。单击“下一步”按钮,最后单击“完成”按钮。
clip_p_w_picpath028
clip_p_w_picpath029
3. 提交证书申请:
1) 使用记事本打开在前面的过程中生成的证书文件,将它的整个内容复制到剪切板。
clip_p_w_picpath030
2) 打开IE浏览器,导航到[url]http://ca.wangpeihua.com/certsrv[/url](有时会弹出对话框,提示输入用户名和密码,此时可以输入administrator和相应密码)。
clip_p_w_picpath032
3) 单击“申请一个证书”,出现“证书服务”窗口,单击“高级证书申请”超链接。
clip_p_w_picpath034
clip_p_w_picpath036
4) 在“高级证书申请”页中,单击“base64编码的证书申请(CMC或PKCS#10或PKCS#17)”文本框,按住CTRL+V,粘贴先前复制到剪切板上的证书申请。在“证书模板”下拉列表框中,选择“web服务器”,单击“提交”按钮,显示“证书已颁发”的窗口。
clip_p_w_picpath037
4. 下载证书:
1) 在“证书已颁发”的窗口中,选择“base 64编码”单选按钮,单击“下载证书”,将证书文件保存在本地计算机上。
clip_p_w_picpath039
5. web服务器上安装证书:
1) 打开“IIS管理器”,右击网站,从弹出的快捷菜单中选择“属性”—“目录安全性”名令,单击“服务器证书”按钮。
clip_p_w_picpath040
2) 单击出现“web服务器证书向导”对话框,的“下一步”按钮,此时web服务器状态为存在挂起的证书请求。
clip_p_w_picpath042
3) 在挂起的证书请求中选择“处理挂起的请求并安装证书”,单击“下一步”按钮。
clip_p_w_picpath044
4) 输入包含CA响应的文件的路径和文件名,单击“下一步”按钮。
clip_p_w_picpath045
5) 输入SSL端口为443,单击“下一步”按钮。
clip_p_w_picpath047
6) 显示证书申请中的概要信息,单击“下一步”按钮,最后单击“完成”按钮。
clip_p_w_picpath048
clip_p_w_picpath049
6. 针对网站设置SSL
1) 打开“IIS管理器”,右击网站,从弹出的快捷菜单中选择“属性”—“目录安装”命令,单击“安全通信”的“编辑”按钮,出现“安全通信”对话框,在此对话框中钩选“要求安全通道(SSL)”复选框,单击“确定”按钮。
clip_p_w_picpath050
7. 使用HTTPS协议访问网站:
1) 在客户机上,打开IE浏览器。
clip_p_w_picpath052
最终能够通过安全通道成功的访问到网站。