网络安全实验5 证书应用和证书管理

赞赏码 & 联系方式 & 个人闲话

【实验名称】证书应用和证书管理

 

【实验目的】

1.了解PKI体系和用户进行证书申请和CA颁发证书过程

2.掌握认证服务的安装及配置方法

3.掌握使用数字证书配置安全站点的方法

4.掌握使用数字证书发送签名邮件和加密邮件的方法

5.掌握CA通过自定义方式查看申请信息的方法

6.掌握备份和还原CA的方法和吊销证书和发布CRL的方法

 

【实验原理】

一.PKI简介

    PKI是Public Key Infrastructure的缩写,通常译为公钥基础设施。称为“基础设施”是因为它具备基础设施的主要特征。PKI在网络信息空间的地位与其他基础设施在人们生活中的地位非常类似。电力系统通过延伸到用户端的标准插座为用户提供能源;PKI通过延伸到用户的接口为各种网络应用提供安全服务,包括身份认证、识别、数字签名、加密等。一方面PKI对网络应用提供广泛而开放的支撑;另一方面,PKI系统的设计、开发、生产及管理都可以独立进行,不需要考虑应用的特殊性。

    PKI的主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的完整性、机密性、不可否认性。数据的完整性是指数据在传输过程中不能被非法篡改;数据的机密性是指数据在传输过程中,不能被非授权者偷看;数据的不可否认性是指参加某次通信交换的一方事后不可否认本次交换曾经发生过。

安全Web服务的流程

二.标准证书文件格式

    可以用以下格式导入和导出证书。

1.个人信息交换(PFX文件格式)

    “个人信息交换”格式(PFX,也称为PKCS #12)允许证书及其相关私钥从一台计算机传输到另一台计算机或可移动媒体。PKCS #12是业界格式,适用于证书及其相关私钥的传输或备份和还原。

    2.加密消息语法标准(PKCS#7)

    PKCS#7格式允许将证书及证书路径中的所有证书从一台计算机传输到另一台计算机或可移动媒体。PKCS#7文件通常使用.p7b扩展名且与ITU-T X.509标准兼容。

 

【实验内容】

实验一 证书应用

本练习主机A、B、C为一组。实验角色说明如下:

实验主机

实验角色

主机A

CA(证书颁发机构)

主机B

服务器

主机C

客户端

一.安全Web通信
1.无认证(服务器和客户端均不需要身份认证)

通常在Web服务器端没有做任何加密设置的情况下,其与客户端的通信是以明文方式进行的。

(1)客户端启动协议分析器,选择“文件”|“新建捕获窗口”,然后单击工具栏中的按钮开始捕获;

客户端在IE浏览器地址栏中输入http://服务器IP,访问服务器Web服务。成功访问到服务器Web主页面后,单击协议分析器捕获窗口工具栏中的按钮刷新显示,在“会话分析”视图中依次展开“会话分类树”|“HTTP会话”|“本机IP与同组主机IP地址间的会话”,在端口会话中选择源或目的端口为80的会话,在右侧会话视图中选择名为“GET”的单次会话,并切换至“协议解析”视图。

开始监听并访问同网段的其他主机:

 

结束监听,看到如下记录:

查看GET,切换至“协议解析”视图:

通过协议分析器对HTTP会话的解析中可以确定,在无认证模式下,服务器与客户端的Web通信过程是以明文实现的。
 

 

2.单向认证(仅服务器需要身份认证)

(1)CA(主机A)安装证书服务

主机A依次选择“开始”|“设置”| “控制面板”|“添加或删除程序”|“添加/删除Windows组件”,选中组件中的“证书服务”,此时出现“Microsoft证书服务”提示信息,单击“是”,然后单击“下一步”。在接下来的安装过程中依次要确定如下信息:

  • CA类型(选择独立根CA)
  • CA的公用名称(userGXCA,其中G为组编号(1-32),X为主机编号(A-F),如第2组主机D,其使用的用户名应为user2D)
  • 证书数据库设置(默认)

在确定上述信息后,系统会提示要暂停Internet信息服务,单击“是”,系统开始进行组件安装。安装过程中,在弹出的“所需文件”对话框中指定“文件复制来源”为D:\ExpNIC\CrypApp\Tools\WindowsCA\i386即可(若安装过程中出现提示信息,请忽略该提示继续安装)。

「注」 若安装过程中出现“Windows文件保护”提示,单击“取消”按钮,选择“是”继续;在证书服务安装过程中若网络中存在主机重名,则安装过程会提示错误;安装证书服务之后,计算机将不能再重新命名,不能加入到某个域或从某个域中删除;要使用证书服务的Web组件,需要先安装IIS(本系统中已安装IIS)。

在启动“证书颁发机构”服务后,主机A便拥有了CA的角色。

(2)服务器(主机B)证书申请

「注」 服务器向CA进行证书申请时,要确保在当前时间CA已经成功拥有了自身的角色。

  • 提交服务器证书申请

服务器在“开始”|“程序”|“管理工具”中打开“Internet信息服务(IIS)管理器”,通过“Internet信息服务(IIS)管理器”左侧树状结构中的“Internet信息服务”|“计算机名(本地计算机)”|“网站”|“默认网站”打开默认网站,然后右键单击“默认网站”,单击”属性”。

在“默认网站 属性”的“目录安全性”页签中单击“安全通信”中的“服务器证书”,此时出现“Web服务器证书向导”,单击“下一步”。

在“选择此网站使用的方法”中,选择“新建证书”,单击“下一步”

选择“现在准备证书请求,但稍后发送”,单击“下一步”。

填入有关证书申请的相关信息,单击“下一步”。

在“证书请求文件名”中,指定证书请求文件的文件名和存储的位置(默认c:\certreq.txt)。单击“下一步”直到“完成”。

  • 通过Web服务向CA申请证书

服务器在IE浏览器地址栏中输入“http://CA的IP/certsrv/”并确认。服务器依次单击“申请一个证书”|“高级证书申请”|“使用base64编码...提交一个申请”进入“提交一个证书申请或续订申请”页面。

打开证书请求文件certreq.txt,将其内容全部复制粘贴到提交证书申请页面的“保存的申请”文本框中,然后单击“提交”。

 

通告CA已提交证书申请,等待CA颁发证书。

  • CA为服务器颁发证书

在服务器提交了证书申请后,CA在“管理工具”|“证书颁发机构”中单击左侧树状结构中的“挂起的申请”项,会看到服务器提交的证书申请。右键单击服务器提交的证书申请,选择“所有任务”|“颁发”,为服务器颁发证书(这时“挂起的申请”目录中的申请立刻转移到“颁发的证书”目录中,双击查看为服务器颁发的证书)。

CA收到申请:

 

为服务器颁发证书(3号申请):

通告服务器查看证书。

(3)服务器(主机B)安装证书

  • 服务器下载、安装由CA颁发的证书

通过CA“证书服务主页”|“查看挂起的证书申请的状态”|“保存的申请证书”,进入“证书已颁发”页面,分别点击“下载证书”和“下载证书链”,将证书和证书链文件下载到本地。

在“默认网站”|“属性”的“目录安全性”页签中单击“服务器证书”按钮,此时出现“Web服务器证书向导”,单击“下一步”。

选择“处理挂起的请求并安装证书”,单击“下一步”。

在“路径和文件名”中选择存储到本地计算机的证书文件,单击“下一步”。

在“SSL端口”文本框中填入“443”,单击“下一步”直到“完成”。

此时服务器证书已安装完毕,可以单击“目录安全性”页签中单击“查看证书”按钮,查看证书的内容,回答下面问题。

证书信息描述: 无法将这个证书验证到一个受信任的证书颁发机构 

颁发者: USBR1C(CA)    

打开IE浏览器点击“工具”|“Internet选项”|“内容”|“证书”,在“受信任的根证书颁发机构”页签中查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在 不存在  

  • 服务器下载、安装CA根证书

右键单击certnew.p7b证书文件,在弹出菜单中选择“安装证书”,进入“证书导入向导”页面,单击“下一步”按钮,在“证书存储”中选择“将所有的证书放入下列存储”,浏览选择“受信任的根证书颁发机构”|“本地计算机”如图6-1-2所示。

图6-1-2  CA根证书存储

 

单击“下一步”按钮,直到完成。

再次查看服务器证书,回答下列问题:

证书信息描述:  保证远程计算机的身份    

颁发者: USER1C(CA)    

再次通过IE浏览器查看“受信任的根证书颁发机构”,查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在  存在   

(4)Web通信

服务器在“默认网站”|“属性”的“目录安全性”页签“安全通信”中单击“编辑”按钮,选中“要求安全通道SSL”,并且“忽略客户端证书”(不需要客户端身份认证),单击“确定”按钮使设置生效。

客户端重启IE浏览器,在地址栏输入http://服务器IP/并确认,此时访问的Web页面出现如图信息。

客户端启动协议分析器,设置过滤条件:仅捕获客户端与服务器间的会话通信,并开始捕获数据。

客户端在IE浏览器地址栏中输入“https://服务器IP/”并确认,访问服务器Web服务。此时会出现“安全警报”对话框提示“即将通过安全连接查看网页”,单击“确定”,又出现“安全警报”对话框询问“是否继续?”,单击“是”。

此时客户端即可以访问服务器Web页面了。

访问成功后,停止协议分析器捕获,并在会话分类树中找到含有客户端与服务器IP地址的会话。在协议解析页面可观察到,服务器与客户端的Web通信过程是以密文实现的,如下图所示。

 

3.双向认证(服务器和客户端均需身份认证)

(1)服务器要求客户端身份认证

服务器在“默认网站”|“属性”的“目录安全性”页签中单击“编辑”按钮,选中“要求安全通道SSL”,并且“要求客户端证书”,单击“确定”按钮使设置生效。

(2)客户端访问服务器

客户端在IE浏览器地址栏中输入“https://服务器IP”访问服务器Web服务。此时弹出“安全警报”对话框,提示“即将通过安全连接查看网页”,单击“确定”,又弹出“安全警报”对话框询问“是否继续?”,单击“是”。出现“选择数字证书”对话框,但是没有数字证书可供选择。单击“确定”,页面出现提示“该页要求客户证书”。

(3)客户端(主机C)证书申请

「注」 客户端向CA进行证书申请时,要确保在当前时间CA已经成功拥有了自身的角色。

  • 登录CA服务主页面

客户端在确认CA已经启动了“证书颁发机构”服务后,通过IE浏览器访问http://CA的IP/certsrv/,可以看到CA证书服务的主页面。

  • 客户端提交证书申请

在主页面“选择一个任务”中单击“申请一个证书”,进入下一页面。

在证书类型页面中选择“Web浏览器证书”,进入下一页面。

在“Web浏览器证书 - 识别信息”页面中按信息项目填写自己相关信息。

上述信息填写完毕后,单击“提交”按钮提交识别信息,当页面显示“证书挂起”信息时,说明CA已经收到用户的证书申请,但是用户必须等待管理员颁发证书。

单击页面右上角的“主页”回到证书服务主页面。在“选择一个任务”中单击“查看挂起的证书申请的状态”进入下一页面,会看到“Web浏览器证书(提交申请时间)”。单击自己的证书申请,这时会看到证书的状态依然是挂起状态。

接下来请CA为客户端颁发证书。

  • CA为客户端颁发证书(4号申请)

颁发证书:

通告客户端查看证书。

  • 客户端下载、安装证书链

客户端重新访问CA证书服务主页面,单击“查看挂起的证书申请的状态”,然后单击自己的证书申请。此时页面显示“证书已颁发”。单击“安装此证书”,对于弹出的“安全性警告”对话框选择“是”。

这时页面显示信息“您的新证书已经成功安装”

(4)客户端查看颁发证书

客户端单击IE浏览器的“工具”|“Internet选项”|“内容”|“证书”,会在“个人”页签中看到同组主机CA颁发给自己的证书,如图所示。

(5)客户端再次通过https访问服务器

客户端重新运行IE浏览器并在地址栏中输入“https://服务器IP/bbs”并确认,访问服务器的Web服务。此时出现“安全警报”对话框提示“即将通过安全连接查看网页”,单击“确定”,又出现“安全警报”对话框询问“是否继续?”,单击“是”。

出现“选择数字证书”对话框,选择相应的数字证书,单击“确定”。出现“安全信息”提示“是否显示不安全的内容”,单击“否”。此时,客户端即可以访问服务器的Web服务。

 

实验二 证书管理

本练习主机A、B为一组,C、D为一组,E、F为一组。实验角色说明如下:

实验主机

实验角色

主机A、C、E

CA(证书颁发机构) 、服务器

主机B、D、F

客户端

下面以主机A、B为例,说明实验步骤。

首先使用“快照X”恢复Windows系统环境。
一.安装证书服务

主机A安装证书服务,具体步骤见练习一|安全Web通信|单向认证。

在启动“证书颁发机构”服务后,主机A便拥有了CA的角色。
二.CA操作
1.CA自动颁发证书

(1)CA通过“开始”|“程序”|“管理工具”|“证书颁发机构”打开“证书颁发机构”。

(2)在“证书颁发机构”的左侧树状结构中右键单击“CA的名称”|“属性”,打开“属性”选项卡,单击“策略模块”|“属性”。在“请求处理”页签中选择“如果可以的话,按照证书模板的设置。否则,将自动颁发证书”。单击“应用”按钮,出现重启证书服务提示信息,单击“确定”直到完成设置,重启证书服务。

2.客户端以高级方式申请证书

「注」 客户端向CA进行证书申请时,要确保在当前时间CA已经成功拥有了自身的角色。

(1)客户端通过IE浏览器访问http://CA的IP/certsrv/,通过“申请一个证书”|“高级证书申请”|“创建并向此CA提交一个申请”进入证书申请页面。

在“识别信息”中填入相关信息。

在“需要的证书类型”中选择“客户端身份验证证书”。

在“密钥选项”中选中“标记密钥为可导出”,其它项保持默认设置。

单击“提交”按钮提交信息。由于CA已经设置“自动颁发证书”策略,所以申请被立刻批准,此时页面显示“证书已颁发”,客户端单击”安装此证书”。这时出现对话框“潜在的脚本冲突”,单击“是”。

这时页面显示信息“证书已安装”。

(2)CA查看“颁发的证书”,操作“添加/删除列”。

在“颁发的证书”目录中,双击信息条目即可以查看证书。

如果要查看证书的单独项,右键单击“信息条目”,选择“所有任务”|“导出二进制数据”,弹出“导出二进制数据”对话框,在其中选择相应的项。如果不能显示,则应该在“添加/删除列”中选择相应的列。

在“证书颁发机构”的左侧树状结构中右键单击“颁发的证书”|“查看”|“添加/删除列”来自定义要显示的项目。其它几个目录如“挂起的申请”等也可以进行这项操作。

3.CA的备份和还原

(1)CA在“证书颁发机构”的左侧树状结构中右键单击“CA的名称”|“所有任务”|“备份CA”,此时出现“证书颁发机构备份向导”,单击“下一步”。

在“选择要备份的项目”中选中两个选项。

“备份到这个位置中”选择一个新建的空目录,单击“下一步”。

输入密码并确认密码,单击“下一步”直到“完成”。

在“颁发的证书”目录中,选择一个证书右键单击此证书选择“所有任务”|“吊销证书”。

此时弹出对话框要求指定“理由码”,选择任意“理由码”单击确定。

此时选择的证书已经转移到“吊销的证书”目录中,右键单击此证书选择“所有任务”|“解除吊销证书”,此时出现提示信息“取消吊销命令失败…”,单击“确定”。

(2)CA在“证书颁发机构”的左侧树状结构中右键单击“CA的名称”|“所有任务”|“还原CA”,此时出现“证书颁发机构还原向导”提示要立即关闭证书服务,单击“确定”。出现“证书颁发机构还原向导”,单击“下一步”。

在“选择要还原的项目”中选中两个选项。“从这个位置还原”选择CA备份的目录,单击“下一步”。

输入密码,单击“下一步”直到“完成”。

“证书颁发机构还原向导”提示要启动证书服务,单击“是”启动证书服务。

此时检查刚才被吊销的证书,已经从“吊销的证书”目录中还原回“颁发的证书”目录中。

4.证书吊销

(1)主机A申请服务器证书。

请根据练习一中服务器证书申请实验步骤,为主机A生成服务器证书请求,并安装服务器证书和证书链。

(2)主机A在IIS中设置SSL,要求安全通道和客户端证书。

(3)客户端访问服务器。

客户端在IE浏览器地址栏中输入“https://服务器IP”并确认。此时出现“安全警报”对话框提示“即将通过安全连接查看网页”,单击“确定”,又出现“安全警报”对话框询问“是否继续?”,单击“是”。出现“选择数字证书”对话框,选择相应的数字证书,单击“确定”即可以访问服务器的Web服务了。

(4)CA将客户端证书吊销,并发布CRL。

CA在“颁发的证书”中找到客户端使用的Web浏览器证书。右键单击此证书“所有任务”|“吊销证书”,选择任意“理由码”,单击“确定”,此时证书即转移到“吊销的证书”目录中。在左侧树状结构中右键单击“吊销的证书”|“所有任务”|“发布”,出现对话框“发布CRL”,单击“确定”。在左侧树状结构中右键单击“吊销的证书”|“属性”弹出“吊销的证书的属性”对话框,单击“查看CRL”页签,单击“吊销列表”按钮,可以查看刚发布的CRL。

(5)客户端访问服务器。

重新访问服务器的证书服务,此时发现不能访问服务器,页面显示“该页要求有效的SSL客户证书”。说明此时客户端证书已经不被信任。

 

【小结或讨论】

在实验中我们可以发现,在无认证模式下服务器与客户端的Web通信过程是以明文实现的。而在单向认证中,首先CA(主机A)需要安装证书服务,接着服务器(主机B)向CA申请证书,在CA批准后,服务器(主机B)会安装证书。但是此时CA是并没被服务器信任的,所有服务器需要安装CA根证书,这样CA对服务器的认证证书就完全合法了。在要求安全通道SSL并且忽略客户端证书后,发现使用https才能顺利访问,并且服务器与客户端的Web通信过程是以密文实现的。

对于双向认证,也就是说不光客户机会验证服务器,服务器也要对客户机的身份进行验证。因此客户端(主机C)需要向CA申请证书。在CA为客户端颁发证书后,服务器选中要求客户端证书,客户端再次通过https访问服务器,选择相应的数字证书便可顺利访问网站。

实验二主要演示了CA自动颁发证书、客户端以高级方式申请证书的操作以及备份和还原CA的方法和吊销证书和发布CRL的方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章