PKI及SSL协议分析
实验目的:
通过该实验了解和掌握证书服务的安装,理解证书的发放过程,掌握在WEB服务器上配置SSL, 使用HTTPS协议访问网站以验证结果,最后对HTTPS协议进行分析。
预备知识:
本实验要求实验者具备如下的相关知识。
PKI
PKI是指用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。PKI是由硬件、软件、策略和人构成的系统。
PKI的基本组成,完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。
数字证书,是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
HTTPS
实验步骤:
搭建CA服务器
本任务初步了解CA服务器的原理和配置过程。操作都在CA服务器上。
1、远程桌面方式登录到CA服务器,在CMD下查看本机IP地址:
2、安装证书服务
依次点击:“开始”->>“控制面板”->>“添加或删除程序”,以打开添加或删除程序对话框。
依次点击:“添加删除windows组件”,在组件向导中选中“应用程序服务器”与“证书服务”。
双击“应用程序服务器”,选中“ASP.NET”与“Internet信息服务(IIS)”。
点击“确定”开始安装,在出现的对话框中选择“独立根”,继续安装过程。选择相关的参数,(自己填写即可)。
下一步后,会出现证书数据库的相关设置,不用修改,继续下一步,
单击下一步后进行安装,在安装过程中会提示“输入磁盘”,按照安装IIS的方式,单击“浏览”、找到文件,确定完成安装。
(浏览到桌面-win2003-I386目录下)
安装完成后会发现有管理工具中多了“Internet信息服务(IIS)”,找到并打开:
右键“默认网站”,选择“属性”:
会出现如下属性对话框,在对话框中IP地址选择为本机IP(一般IP已经存在,不用手工输入),并点击确定:
打开浏览器输入 http://10.1.1.245/certsrv/ 可以浏览证书服务器,并添加为可信任网站,证书服务器搭建完成。
任务二:搭建HTTPS服务器
1、证书申请
登录到要搭建https服务的“网站”主机,查看IP:10.1.1.196
按照搭建CA服务器的方法安装IIS,区别是只选择“应用程序服务器”。
安装完成后,打开IIS,右键“默认网站”,选择“属性”
在“默认网站属性”中选择“目录安全性”标签,点击“服务器证书”,
会出现安装向导,点击下一步:
出现如下对话框,保持默认选项“新建证书”不动,下一步继续保持默认选项,接着向下
填写单位(liuyuetest)与部门信息(information):
填写公用名称,也就是本机的地址10.1.1.196
在下一步中输入证书的相关信息,中国 shandong qingdao
可以使用默认的文件名,但要记住存放地址,确认信息后,完成请求证书的设置。
接下来申请证书。
打开浏览器(IE),输入刚才我们搭建的证书服务器地址:
Http://10.1.1.245/certsrv/ (在实验中根据自己情况填写IP),在证书服务页面点击“申请一个证书”——>“高级证书申请”——>“使用base64编码的CMC……”——>找到刚才标绿部分的文件,找到一个TXT文件,然后将内容复制过来
会出现等待管理员审核批准的页面。
2、证书的颁发
证书的颁发在证书服务器中操作,接下来的操作是证书审核员的角色,切换到CA服务器,点击“开始”>>“管理工具”>>“证书颁发机构”
可以在挂起的申请中看到刚才我们的申请, 右键所有任务,选择“颁发”,颁发后可以在“颁发的证书”中看到。
3、下载并应用证书
本操作是网站主机上。
输入网址http://10.1.1.245/certsrv/
可以看到,证书已经审核通过,可以下载了, 点击“保存的申请证书”——>选择“Base 64编码”,并点击“下载证书”——>将证书保存到桌面,以便查找,可以看到桌面上的证书文件。
再进入到默认网站属性,选择“目录安全性”,单击“服务器证书”, 进入Web服务器证书向导, 在“处理挂起请求”中选择“浏览”,选择刚才下载的证书文件,并打开,下一步,使用默认的443端口,一直默认,知道完成向导。
任务三:访问HTTPS服务器
在“CA服务器”中打开已经申请了HTTPS服务的网站,输入https://10.1.1.196 (按照实际的IP),会出现一个证书安全问题的确认,单击“是”,进行浏览。
打开默认网站属性,选择“目录安全性”标签,单击“编辑”选择——>“要求安全通道”,点击确定即可。
1.通过本实验,论述本实验中有哪些角色?他们的任务分别是什么?
2.对数据包进行分析,比较使用HTTP和HTTPS有什么不同?
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。
即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议 http和https使用的是完全不同的连接方式用的端口也不一样:前者是80,后者是443。
http的连接很简单,是无状态的 HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议 要比http协议安全。
3.实验中我们是自己给自己签发证书,而且名称单位完全可以随意编造,同学可以尝试伪造别人的自签名证书,看看有什么反应。
如果网站使用自签SSL证书,那黑客也可以伪造一张一模一样的自签证书,用在钓鱼网站上,伪造出有一样证书的假冒网银网站!
4.12306也使用了自签证书,而且要求我们把它存入“受信任的根证书颁发机构”,这么做对12306网站有什么好处,对用户有什么坏处?
没有真正的加密主功能,所谓自签SSL证书,是指不受信任的任意机构或个人,使用工具自己签发的SSL证书。自签名SSL证书可以随意签发,没有第三方监督审核,不受浏览器和操作系统信任,常被用于伪造证书进行中间人攻击,劫持SSL加密流量。网站为了节约成本,采用自签名SSL证书,其实是给自己的网站埋下了一颗定时炸弹,随时可能被黑客利用。