实验过程
无认证
客户端只需要在浏览器上访问服务器的网址即可访问服务器,打开网络协议分析器可以发现此时是明文传输。
单向认证
1.提交服务器证书申请
2.通过Web服务向CA申请证书
3.安装证书服务
- 主机A依次选择“开始”|“设置”| “控制面板”|“添加或删除程序”|“添加/删除Windows组件”,选中组件中的“证书服务”,此时出现“Microsoft证书服务”提示信息,单击“是”,然后单击“下一步”。
- CA的类型为独立根CA,证书数据库设置为默认。
- 安装过程中,在弹出的“所需文件”对话框中指定“文件复制来源”为C:\ExpNIS\Encrypt-Lab\Tools\WindowsCA\i386即可。
- 启动“证书颁发机构”服务后,主机A便拥有了CA的角色。
- 证书信息描述: 无法将这个证书验证到一个受信任的证书颁发机构。
颁发者:user4A
查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在:不存在
4.服务器下载、安装CA根证书
- 证书信息描述: 所有颁发策略;所有应用程序策略
颁发者:user4A
查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在:存在
- 在服务器提交了证书申请后,CA在“管理工具”|“证书颁发机构”中单击左侧树状结构中的“挂起的申请”项,会看到服务器提交的证书申请。右键单击服务器提交的证书申请,选择“所有任务”|“颁发”,为服务器颁发证书(这时“挂起的申请”目录中的申请立刻转移到“颁发的证书”目录中,双击查看为服务器颁发的证书)。
5.Web通信
选中“要求安全通道SSL”,并且“忽略客户端证书”
在服务器设置“要求安全通道SSL”,并且“忽略客户端证书”的设置生效后,客户端重启IE浏览器,在地址栏输入“http://172.16.0.90/”并确认,此时访问的Web页面出现如图所示信息:
把输入的网址加上“https://……”后,启动协议分析器,捕获数据。发现服务器与客户端的Web通信过程是以密文实现的,如下图所示:
双向认证
服务器:要求客户端身份认证,把第5步的“忽略”换选为“要求客户端证书”
服务器设置需要验证客户端身份后,客户端再登录浏览器无法访问服务器。
需要向主机A(担任CA角色)提出证书申请,客户端客户端下载、安装证书链后,查看证书如下图所示:
但是证书获取成功后再次访问服务器出现了以下错误提示:
按照网页上的提示,再次打开证书,并点击“清除SSL状态”,如下图所示:
清除后再次用https访问服务器成功,如下图所示:
服务器
1.提交服务器证书申请
2.通过Web服务向CA申请证书
3.服务器下载、安装证书
- ** 证书信息描述:无法将这个证书验证到一个受信任的证书颁发机构 。
颁发者:user4A
查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在:不存在 **
4.服务器下载、安装CA根证书
- ** 证书信息描述: 所有颁发策略;所有应用程序策略
颁发者:user4A
查看名为userGX的颁发者(也就是CA的根证书),查看其是否存在:存在 **
5.Web通信
选中“要求安全通道SSL”,并且“忽略客户端证书”
实验总结
通过实验前后证书信息的不同,更好地记住了当出现“无法将这个证书验证到一个受信任的证书颁发机构。 ”问题的原因及解决方法。
通过本次实验更加加深了我对数字证书的理解,增强了动手实践能力和解决问题的能力,更加深刻的理解了服务器与客户端进行访问的三种身份验证方式,此外还学习了协议分析器的使用方法,有助于理解通信建立的过程。
思考题
如果用户将根证书删除,用户证书是否还会被信任?
CA是PKI的核心,是PKI应用中权威的、可信任的、公正的第三方机构。根证书是整个证书体系安全的根本。所以,如果某个证书体系中,根证书出了问题(不再可信了),那么所有被根证书所信任的其它证书,也就不再可信了。
对比两次协议分析器捕获的会话有什么差异?
通过协议分析器对HTTP会话的解析中可以确定,在无认证模式下,服务器与客户端的Web通信过程是以明文实现的。而在认证模式下,通信内容是以密文实现的。3.服务器下载、安装证书