首页 > 技术文章 > PKI及SSL协议分析

baliu86 2021-10-08 17:38 原文

一、实验简介

实验所属系列:安全协议应用与分析/网络安全与防护 

实验对象:本科/专科信息安全专业

相关课程及专业:信息网络安全概论、网络攻击与防御技术、计算机网络 

实验时数(学分):2学时 

实验类别:实践实验类

二、实验目的

通过该实验了解和掌握证书服务的安装,理解证书的发放过程,掌握在WEB服务器上配置SSL, 使用HTTPS协议访问网站以验证结果,最后对HTTPS协议进行分析。

三、预备知识

PKI是Public Key Infrastructure的缩写,是指用公钥概念和技术来实施和提供安全服务的具有普适性的安全基础设施。PKI是由硬件、软件、策略和人构成的系统,当完善实施后,能够为敏感通信和交易提供一套信息安全保障,包括保密性、完整性、真实性和不可否认。

      PKI的基本组成,完整的PKI系统必须具有权威认证机构(CA)、数字证书库、密钥备份及恢复系统、证书作废系统、应用接口(API)等基本构成部分,构建PKI也将围绕着这五大系统来着手构建。

 HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

四、实验环境

本实验中自己指定CA服务器与申请证书的网站。

实验过程中建议使用IE浏览器,如果不使用IE,可能会导致后续实验过程中证书不能下载。

五、实验步骤

1)

任务一:搭建CA服务器

本任务初步了解CA服务器的原理和配置过程。操作都在CA服务器上。

1、远程桌面方式登录到CA服务器,在CMD下查看本机IP地址:

      注:在本例中CA服务器IP为10.1.1.245,但在做实验过程中,IP可能会出现变动,要记住自己CA的IP,在后面实验过程中填写自己的IP,否则实验可能失败。

2、安装证书服务

      依次点击:“开始”->>“控制面板”->>“添加或删除程序”,以打开添加或删除程序对话框:

       依次点击:“添加删除windows组件”,在组件向导中选中“应用程序服务器”与“证书服务”,先不要点击下一步:

       双击“应用程序服务器”,选中“ASP.NET”与“Internet信息服务(IIS)”,如下图:

       点击“确定”开始安装,在出现的对话框中选择“独立根”,继续安装过程

       选择相关的参数,如下图:

       下一步后,会出现证书数据库的相关设置,不用修改,继续下一步:

      单击下一步后进行安装,在安装过程中会提示“输入磁盘”,按照安装IIS的方式,单击“浏览”、找到文件,确定完成安装。

      (浏览到桌面-win2003-I386目录下)

      在安装完成后会提示启用Active Server Page,点击“确定”

       安装完成后会发现有管理工具中多了“Internet信息服务(IIS)”,找到并打开:

       右键“默认网站”,选择“属性”:

       会出现如下属性对话框,在对话框中IP地址选择为本机IP(一般IP已经存在,不用手工输入),并点击确定:

       打开浏览器输入 http://10.1.1.245/certsrv/ 可以浏览证书服务器

       至此,证书服务器搭建完成。

2)

任务二:搭建HTTPS服务器

1、证书申请

      登录到要搭建https服务的“网站”主机,查看IP:

       按照搭建CA服务器的方法安装IIS,区别是只选择“应用程序服务器”,如下图:

       安装完成后,打开IIS,右键“默认网站”,选择“属性”:

       在“默认网站属性”中选择“目录安全性”标签,点击“服务器证书”:

       会出现安装向导,点击下一步:

       出现如下对话框,保持默认选项“新建证书”不动,继续下一步:

       继续保持默认选项,单击下一步:

       填写单位与部门信息:

       填写公用名称,由于在本环境中没有使用DNS服务器,没有域名因此使用IP地址访问,在公用名称中输入本机的IP地址,如果名称错误,后面过程中会出现问题,因此应仔细核对:

       在下一步中输入证书的相关信息:

       可以使用默认的文件名,但要记住存放地址:

      确认信息后,完成请求证书的设置。

      接下来申请证书。

      打开浏览器,输入刚才我们搭建的证书服务器地址:

      Http://10.1.1.245/certsrv/ (在实验中根据自己情况填写IP),在证书服务页面点击“申请一个证书”

       在下图的页面中点击“高级证书申请”:

       在出现的页面中选择第二个“使用base64编码的CMC……”

       打开前面步骤建立的文本文件,将文本文件的内容复制到页面中,并提交:

       会出现等待管理员审核批准的页面。

2、证书的颁发

      证书的颁发在证书服务器中操作,接下来的操作是证书审核员的角色,切换到CA服务器,点击“开始”>>“管理工具”>>“证书颁发机构”:

       可以在挂起的申请中看到刚才我们的申请:

       右键所有任务,选择“颁发”:

       颁发后可以在“颁发的证书”中看到,如下图:

3、下载并应用证书

      本操作是网站主机上。

       可以看到,证书已经审核通过,可以下载了:

        点击“保存的申请证书”,进入到下一页面:

       选择“Base 64编码”,并点击“下载证书”:

       将证书保存到桌面,以便查找,可以看到桌面上的证书文件。

       再进入到默认网站属性,选择“目录安全性”,单击“服务器证书”:

       进入Web服务器证书向导,点击下一步:

       在“处理挂起请求”中选择“浏览”,选择刚才下载的证书文件,并打开,下一步,使用默认的443端口,点击下一步:

      继续下一步,完成向导。

      打开默认网站属性,选择“目录安全性”标签,单击“编辑”

      选择“要求安全通道”,确定:

3)

任务三:访问HTTPS服务器

      在“CA服务器”中打开已经申请了HTTPS服务的网站:

      输入https://10.1.1.196 (按照实际情况),会出现一个证书安全问题的确认,单击“是”,进行浏览:

      可以看到能够通过HTTPS协议浏览。

六、心得体会

1.通过本实验,论述本实验中有哪些角色?他们的任务分别是什么?

CA服务器:CA,证书库,使用证书的网站

网站主机:使用网站WEB服务的用户

2.对数据包进行分析,比较使用HTTP和HTTPS有什么不同?

根据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电。
HTTPS连接缓存不如HTTP高效,流量成本高。
HTTPS连接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本。
HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。比较好的方式是采用分而治之,类似12306网站的主页使用HTTP协议,有关于用户信息等方面使用HTTPS。

推荐阅读