一、实验目的
(1)理解CA系统的原理及主要功能。
(2)理解SSL协议的工作过程。
(3)掌握CA系统的配置步骤及其应用。
二、实验环境
本实验在VMware中安装的3台Windows server 2003的虚拟机中完成。
三、实验原理
基于SSL的WEB安全访问是指通过SSL(Secure Sockets Layer)协议对网站的信息传输进行加密,确保传输的数据在互联网上不被截获、窃听或篡改,从而保障用户在互联网上的交互和通信安全。SSL协议是一种密码通信框架,使用对称密码,消息认证码,公钥密码,数字签名,伪随机数生成器等密码学技术综合运用,可以保障通信过程的安全性。
同时,为了实现基于SSL的WEB安全访问,需要在服务器上部署SSL证书。SSL证书是由数字证书颁发机构(CA)颁发的,其中包含了网站的公钥和相关的身份信息,能够验证网站的真实性和身份,确保向用户提供的是真实的网站服务。用户通过访问带有SSL证书的网站,可以通过HTTPS协议和网站建立安全的加密通信,从而防范各类网络攻击和信息泄露风险。
1、SSL的工作机制
(1)客户端向服务器提出请求,要求建立安全通信连接。
(2)客户端与服务器进行协商,确定用于保证安全通信的加密算法和强度。
(3)服务器将其服务器证书发送给客户端。该证书包含服务器的公钥,并用CA的私钥加密。
(4)客户端使用CA的公钥对服务器证书进行解密,获得服务器公钥。客户端产生用于创建会话密钥的信息,并用服务器公钥加密,然后发送到服务器。
(5)服务器使用自己的私钥解密该消息,然后生成会话密钥,然后将其用服务器公钥加密,再发送给客户端。这样服务器和客户端双方就都拥有了会话密钥。
(6)服务器和客户端使用会话密钥来加密和解密传输的数据。它们之间数据传输使用的是对称加密。
2、SSL协议主要解决3个关键问题
(1)客户端对服务器的身份确认。
(2)服务器对客户的身份确认。
(3)在服务器和客户之间建立安全的数据通道。
说明:对于SSL安全来说,客户认证是可选的,即不强制进行客户端验证。这有利于SSL的广泛使用,如果要强制客户端验证,就要求每个客户端都有自己的公钥,并且服务器要对每个客户端进行认证,仅为每个用户分发公钥和数字证书,对于客户基数大的应用来说负担很重。而在实际应用中,服务器的认证更为重要,因为确保用户知道自己正在和哪个服务器进行连接,比商家知道自己在和哪个用户进行连接更为重要。而且服务器比客户数量要少得多,为服务器配备公钥和站点证书易于实现。
3、安全认证中心(CA)
数字证书是网络通讯中标志通讯各方身份信息的一系列数据,提供一种在internet上验证身份的方式,是由一个权威机构——CA机构,又称证书授权中心发行的。数字证书是一个经证书授权中心数字签字的包含客户的公钥等于客户身份相关的信息,如:客户唯一可识别名等等。同时CA可以提供时间戳,密钥管理及证书作废表(CRL)等服务。作为网络安全的公正机构,为了维护网络用户间的安全通信,CA必须行使以下职能:
(1)管理和维护客户的证书和CRL
(2)维护自身的安全
(3)提供安全审计的依据
四、实验步骤及结果
1、在计算机A中,安装独立根CA
(1)在开始中找到控制面板 - - 添加或删除程序 - - 选择添加/删除Windows组件。
(2)勾选应用程序服务器进行下一步。
(3)返回添加界面添加证书服务。
(4)勾选【独立根】及【自定义设置】后全部选择默认进行下一步,直至完成Windows组件向导。
(5)在管理工具中找到证书颁发机构。
2、在计算机B上,为IE浏览器申请证书
(1)打开命令行输入ipconfig查询本机IP,192.168.236.129。
(2)打开浏览器输入 http://192.168.236.129/certsrv/ 打开证书申请网页,选择申请一个证书(中间IP为CA服务器IP),选择web浏览器证书。
(3)填写信息后点击提交,后续弹窗均选择“是”,打开“证书挂起”窗口,等待CA服务器为IE浏览器颁发证书。回到证书颁布机构,选择“挂失的申请”,显示ID为2的申请,右键选择“所有任务”“颁布”后,在颁布的证书里可以看到该证书。
(4)重新访问证书申请网页,查看挂起的证书申请的状态,然后安装此证书,证书安装成功。
(5)查看IE浏览器需要的证书,在计算机B上一次点击“工具”,“Internet选项”菜单,弹出“Internet选项”窗口,选择“内容”选项卡,单击“证书”按钮,弹出“证书”窗口,选择“个人”选项卡。双击列表中的证书,可以查看证书的详细信息,如证书的目的、有效期、版本、签名算法和公钥等信息。
3、为web服务器申请证书
(1)生成web服务器证书请求,在计算机C上,打开“Internet信息服务”,在网站中,弹出“默认Web站点属性”窗口,正确设置Web站点的IP地址、主目录、默认文档等属性,使之能被正常访问。选择“目录安全性”选项卡,单击“服务器证书”按钮。
(2)选择“新建证书”项,单击下一步,根据要求填写信息,直至完成。生成的证书保存在“c:\certreq.txt”中。
(3)申请Web服务器证书,在计算机C上,打开IE浏览器,在地址栏中输入“http://192.168.236.129/certsrv”,申请一个证书,提交高级证书申请。选择以base64编码方式的文件提交或更新证书申请,打开“提交一个证书”窗口,把请求文件certreq.txt的内容粘贴到“保存的申请”下方的文本框中,单击“提交”按钮。
(4)打开“证书挂起”窗口,等待CA服务器为Web服务器颁发证书。在CA服务器上,为Web服务器颁发证书。
(5)在计算机C上,回到“欢迎”窗口,检查挂起的证书,单击“下一步”按钮。弹出“证书已发布”窗口,单击“下载证书”,选择合适的路径及文件名,把web服务器证书文件下载并保存到本地计算机中。
(6)安装web服务器证书。
(7)安装完成后,“默认网站属性”窗口中的“查看证书”、“编辑”按钮均为激活状态,点击查看证书,可以查看web服务器证书的详细信息,这里,web服务器证书提示错误信息,是因为没有在计算机C上安装CA服务器自身的证书。
(8)为web服务器安装CA服务器证书,单击“下载CA证书”超链接,单击“安装证书”按钮,选择下一步,弹出“证书存储”窗口,选择“将所有的证书放入下列存储区”项,单击浏览按钮。选中“显示物理存储区”复选框,展开节点“受信任的根证书颁发机构”,选择“本地计算机”子节点。最终,弹出导入成功窗口。
至此,CA服务器证书在web服务器上安装成功。
4、在web服务器上配置SSL
(1)在计算机C上,打开“默认网站”属性,单击“编辑”按钮,弹出“安全通信”窗口,保留默认设置。
(2)打开计算机B的IE浏览器,在地址栏输入“http://192.168.236.130”,web服务器的IP地址,同时在计算机C上启动协议分析软件Sniffer。此时能够正常访问服务器。
(3)通过“https”方式正确访问了Web服务器,在此过程中如果计算机C上启动Sniffer,捕获的数据包可以看出https使用的端口号为443。另外,通过Sniffer监视器已经无法读出有效的HTTP报文信息,说明了使用SSL连续的安全性。
五、实验总结
1、实验过程中遇到的问题及解决办法;
(1)在用计算机B访问CA服务器IP时,一致显示无法访问页面,最后是由于没有添加应用程序服务器组件。
(2)CA服务器颁布后,在证书中不显示,注意要安装证书后才算成功。
(3)在选择受信任的根证书颁布机构时,找不到本地计算机,需要勾选显示物理存储区。
(4)在计算机B中访问http://192.168.236.130,显示查看的站点没有默认页,这里需要注意的是iis默认文档上是index.htm而不是index.html。
(5)新建虚拟机时,需要下载正确对应的镜像。
2、设计及调试过程中的心得体会。
在本次基于CA的安全web访问实验中,我完成了实验要求,也遇到了很多问题。但是通过查找资料和耐心尝试,我深入了解了数字证书认证机构及其作用,掌握了生成数字证书的基本方法和配置Web服务器进行安全访问的技术。同时,我还学会了如何使用sniffer抓包工具进行网络通信分析,对虚拟机的建立和配置也更加熟悉了。
通过本次实验,我认识到数字证书认证机构在数据通信安全方面的重要性,同时也学习到了如何使用不同工具和技术来保障网络通信的安全性。这次实验不仅拓展了我的知识面,也提高了我对网络安全的认识和警惕性。在未来的学习和工作中,我将继续努力提升自己的网络安全能力和防护意识,为保障网络安全作出自己的贡献。