PKI及SSL协议分析

实验目的

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

预备知识

 PKI

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

      PKI的基本组成

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

     认证机构(CA)

      证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。

     数字证书库

     用于存储已签发的数字证书及公钥,用户可由此获得所需的其它用户的证书及公钥

     密钥备份及恢复系统     

     如果用户丢失了用于解密数据的密钥,则数据将无法被解密,这将造成合法数据丢失。为避免这种情况,PK提供备份与恢复密钥的机制。但须注意,密钥的备份与恢复必须由可信的机构来完成。并且密钥备份与恢复只能针对解密密钥,签名私钥为确保其性而不能够作备份。

     证书作废系统   

     证书作废处理系统是PK的一个必备的组件。与日常生活中的各种身份证件一样,证书有效期以内也可能需要作废,原因可能是密钥介质丢失或用户身份变更等为实现这一点,PK必须提供作废证书的一系列机制。

      应用接口(API)

      PK的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PK必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PK交互,确保安全网络环境的完整性和易用性

 

     工作原理;

    证书签发,发布,下载:

 

 

 

 

 

      数字证书,是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。

HTTPS

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

HTTPS协议 = HTTP协议 + SSL/TLS协议

 

工作原理:

一个HTTPS请求实际上包含了两次HTTP传输,可以细分为8步。
1.客户端向服务器发起HTTPS请求,连接到服务器的443端口

2.服务器端有一个密钥对,即公钥和私钥,是用来进行非对称加密使用的,服务器端保存着私钥,不能将其泄露,公钥可以发送给任何人。

3.服务器将自己的公钥发送给客户端。

4.客户端收到服务器端的证书之后,会对证书进行检查,验证其合法性,如果发现发现证书有问题,那么HTTPS传输就无法继续。严格的说,这里应该是验证服务器发送的数字证书的合法。如果公钥合格,那么客户端会生成一个随机值,这个随机值就是用于进行对称加密的密钥,我们将该密钥称之为client key,即客户端密钥,这样在概念上和服务器端的密钥容易进行区分。然后用服务器的公钥对客户端密钥进行非对称加密,这样客户端密钥就变成密文了,至此,HTTPS中的第一次HTTP请求结束。

5.客户端会发起HTTPS中的第二个HTTP请求,将加密之后的客户端密钥发送给服务器。

6.服务器接收到客户端发来的密文之后,会用自己的私钥对其进行非对称解密,解密之后的明文就是客户端密钥,然后用客户端密钥对数据进行对称加密,这样数据就变成了密文。

7.然后服务器将加密后的密文发送给客户端。

8.客户端收到服务器发送来的密文,用客户端密钥对其进行对称解密,得到服务器发送的数据。这样HTTPS中的第二个HTTP请求结束,整个HTTPS传输完成。



参考:https://www.jianshu.com/p/14cd2c9d2cd2

 

实验环境

 

 

 

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

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

搭建CA服务器

给自己安装服务证书

 

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

 

 

2、安装证书服务

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

 

 

  依次点击:“添加删除windows组件”,在组件向导中选中“应用程序服务器”与“证书服务”,双击“应用程序服务器”,选中“ASP.NET”与“Internet信息服务(IIS)

 

 

 

下一步

 

 

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

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

 

 

 

 

 

 

成功安装:管理工具中多了“Internet信息服务(IIS)

打开它!!

 

 

  右键“默认网站”,选择“属性”,在对话框中IP地址选择为本机IP,并点击确定

 

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

 

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

搭建HTTPS服务器

步骤:

1.证书申请(提交身份证申请,拍照,录指纹,输入信息)

搭建的证书服务器

申请证书

2.证书的颁发(身份证信息审核,制作)

3.下载并应用证书(领取身份证)

1、证书申请

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

 

 

  按照搭建CA服务器的方法(上述过程)安装IIS,区别是只选择“应用程序服务器”

 

 安装完成后,打开IIS,右键“默认网站”,选择“属性”;在“默认网站属性”中选择“目录安全性”标签,点击“服务器证书”

 

 安装向导,点击下一步至下图:

 

 填写单位与部门信息

 

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

 

 

 

 

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

 

 一直下一步;完成请求证书的设置

申请证书

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

      Http://10.1.1.245/certsrv/

在证书服务页面点击“申请一个证书”

 

 

 点击“高级证书申请”

 

 择第二个“使用base64编码的CMC……

 

 打开之前建立的文本文件,将文本文件的内容复制到页面中,

 

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

 

 

 

 

2、证书的颁发

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

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

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

 

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

 

 

 

   颁发后可以在“颁发的证书”中看到

 

 3、下载并应用证书

  本操作是网站主机上

 

 

 

 

 

 

 

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

 

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

 

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

 

 

 

 继续下一步,完成向导。

 

 

打开默认网站属性,选择“目录安全性”标签,单击“编辑”,选择“要求安全通道”,确定:

 

 访问HTTPS服务器

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

 

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

 

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

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

CA服务器:给自己颁发服务证书,审核别人的申请,决定给不给其证书

Web客户端:申请证书,等待审核结果,下载证书

 

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

 https:

端口:433

要使用ca,不是明文传输,内容加密,验证身份,保护数据完整性

握手阶段比较费时,对网站的响应速度有影响

http:

端口:80

无状态:协议对客户端没有状态存储,对事物处理没有“记忆”能力

简单快速,灵活

通信使用明文、请求和响应不会对通信方进行确认、无法保护数据的完整性

 

 

posted @ 2021-10-07 20:42  学习日志羁旅  阅读(427)  评论(0编辑  收藏  举报