20155201李卓雯 20155212江振思 20155313杨瀚《信息安全技术》 实验三 数字证书应用
实验环境
- 操作系统:3台基于Win7系统的Windows Server 2003虚拟机
主机编号 | 角色 | IP地址 |
---|---|---|
7D | CA | 172.168.1.107 |
7E | 服务器 | 172.168.1.115 |
7F | 客户端 | 172.168.1.105 |
- 工具
- IIS组件
- 证书组件
- 协议分析器
- IE浏览器
实验原理
一、PKI技术
PKI是PublicKeyInfrastructure的缩写,通常译为公钥基础设施。称为“基础设施”是因为它具备基础设施的主要特征。PKI通过延伸到用户的接口为各种网络应用提供安全服务,包括身份认证、识别、数字签名、加密等。一方面PKI对网络应用提供广泛而开放的支撑;另一方面,PKI系统的设计、开发、生产及管理都可以独立进行,不需要考虑应用的特殊性。
PKI的主要目的是通过自动管理密钥和证书,为用户建立起一个安全的网络运行环境,使用户可以在多种应用环境下方便的使用加密和数字签名技术,从而保证网上数据的完整性、机密性、不可否认性。
二、数字证书
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。数字证书还有一个重要的特征就是只在特定的时间段内有效。
实验步骤
- 无认证(服务器和客户端均不需要身份认证)
- 客户端启动协议分析器,选择“文件”|“新建捕获窗口”,然后单击工具栏中的按钮开始捕获。
- 客户端在IE浏览器地址栏中输入
http://172.168.1.115
,成功访问Web主页面。 - 单击协议分析器捕获窗口工具栏中的按钮刷新显示,点击“GET”的单词会话,切换至“协议解析”视图。
- 截图
- 分析:由此可知,在无认证模式下,服务器与客户端的Web通信过程是以明文实现的。
- 单向认证(仅服务器需要身份认证)
- CA安装证书服务:依次打开
开始-->设置-->控制面板-->添加或删除程序-->添加/删除Windows组件
,选中“证书服务”并安装。CA的公用名称为USER7D
,其他设置为默认。启动“证书颁发机构”服务后,主机7D便拥有了CA的角色。 - 服务器(主机7E)证书申请
- 服务器在IIS管理器中打开默认网站的属性,在安全通信中选择“服务器证书”,进入向导,默认选项。
- 服务器在IE浏览器中打开
http://172.168.1.107/certsrv/
。服务器依次单击“申请一个证书”|“高级证书申请”|“使用base64编码...提交一个申请”进“提交一个证书申请或续订申请”页面。 - 打开证书请求文件certreq.txt,将其内容全部复制粘贴到提交证书申请页面的“保存的申请”文本框中,然后单击“提交”,并通告CA已提交证书申请,等待CA颁发证书。
- 截图
- CA为服务器颁发证书
- CA在“管理工具”|“证书颁发机构”中单击左侧树状结构中的“挂起的申请”项,会看到服务器提交的证书申请。右键单击服务器提交的证书申请,选择“所有任”|“颁发”,为服务器颁发证书(这时“挂起的申请”目录中的申请立刻转移到“颁发的证书”目录中,双击查看为服务器颁发的证书)。
- 截图
- 服务器安装证书
- 打开CA证书申请网页,下载证书和证书链。
- 在IIS管理器中安装证书,选择SSL端口为443。
- 查看证书
- 证书信息描述:无法将这个证书验证到一个受信任的颁发机构
- 颁发者:USER7DCA
- 打开IE浏览器点击“工具”|“Internet选项”|“内容”|“证书”,在“受信任的根证书颁发机构”页签中,没有找到USER7DCA
- 右键单击certnew.p7b证书文件,在弹出菜单中选择“安装证书”,进入“证书导入向导”页面,单击“下一步”按钮,在“证书存储”中选择“将所有的证书放入下列存储”,浏览选择“受信任的根证书颁发机构”|“本地计算机”。
- 再次查看服务器证书
- 证书信息描述:这个证书的目的如下:保证远程计算机的身份
- 颁发者:USER7DCA
- 服务器在“默认网站”|“属性”的“目录安全性”页签“安全通信”中单击“编辑”按钮,选中“要求安全通道SSL”,并且“忽略客户端证书”(不需要客户端身份认证),单击“确定”按钮使设置生效。
- 客户端重启IE浏览器,在地址栏输入http://服务器IP/并确认,此时访问的Web页面。
- 再次通过IE浏览器查看“受信任的根证书颁发机构”,查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在
- 服务器在“默认网站”|“属性”的“目录安全性”页签“安全通信”中单击“编辑”按钮,选中“要求安全通道SSL”,并且“忽略客户端证书”(不需要客户端身份认证),单击“确定”按钮使设置生效。客户端重启IE浏览器,在地址栏输入http://服务器IP/并确认,此时访问的Web页面出现。
- 客户端启动协议分析器,捕获访问`
https://172.168.1.115
- 双向认证(服务器和客户端均需身份认证)
- 服务器要求客户端身份认证
- 客户端访问服务器
- 客户端通过IE浏览器访问
http://CA的IP/certsrv/
申请证书,填写相关信息。名称 | 内容 ---|--- 姓名 | USER7F 电子邮件 | [email protected] 公司 | Netlab 部门 |PKI ... | ...
- CA为客户端颁发证书。
- 客户端下载、安装证书链。
- 客户端单击IE浏览器的“工具”|“Internet选项”|“内容”|“证书”,会在“个人”页签中看到同组主机CA颁发给自己的证书。
- 客户端再次通过https访问服务器
思考题
- 如果用户将根证书删除,用户证书是否还会被信任?
- 不会被信任。
- 对比两次协议分析器捕获的会话有什么差异?
- 第一次捕获的是明文,看到的是英文。
- 第二次捕获的是密文,看到的是乱码。
实验体会
20155201
这次实验使我对数字证书的工作原理有了更加深刻的理解。数字证书的认证其实就是访问权限的设置,具体设置就是之前提到的一些关于数字证书的操作。本次是三人合作的实验,对比不同的访问结果了解了数字证书在访问服务器时的作用。
20155212
通过这次实验,我掌握了网上申请数字证书的方法,了解了数字证书的作用及使用方法,了解了无认证、单向认证和双向认证三种情况下访问网站的不同和传输内容的区别。
20155313
本次信息安全技术实验第一次采用了三人分组的实验,三人分别作为证书颁发者、服务器端和客户端。本次实验模拟了数字证书的整个参与用户访问服务器的流程,对该知识点有更深刻的理解,同时三个同学也培养了一定的合作能力。本次实验的内容比前两次要多,但是因为三人小组合作,所以每个人的任务都不重,且可以充分讨论,因此做起来难度也不大。希望以后的实验能让我们更多地以小组的形式进行一些较完整的大型实验操作,这样在实践中学习的收获肯定会更多。