10、PKI(公钥基础设施)

PKI(公钥基础设施)

PKI概述

Public Key Infrastructure(PKI),中文叫做公开密钥基础设施

作用:通过 加密技术数字签名 保证信息存储和传输的安全。

PKI基础设施的组成:公钥加密技术、数字证书、CA、RA。

信息安全三要素/四要素:机密性、完整性、身份验证(可用性?)、(不可否认性)

使用到PKI技术的IT领域:https(s:SSL/pki)、VPN–IPsecVPN、VPN–部分远程访问VPN

公钥加密技术

作用:通过 加密技术数字签名 保证信息存储和传输的安全。

算法概念:x+5=y,x原数据、y密文、5密钥。

加密算法分类

1、对称加密算法:加密和解密的密钥一致。

优点:加密速度快;缺点:密钥容易被截获

常见算法:DES、3DES、AES。Data/Advanced Encryption Standard,AES最常见。

2、非对称加密算法:加密和解密的密钥不同,称为公私钥。

公私钥:非对称加密算法自己产生一对公私钥,不需要双方协商。(公钥私钥孪生,不可互相逆推)双方公钥明文发送,私钥自我保留。

优点:安全(完整性、机密性);缺点:效率低、速度慢。

流程双方各持有RSA公私钥,然后交换公钥。使用对方公钥加密并使用哈希算法计算密文指纹,再使用私钥加密指纹。最后将加密指纹和密文共同发送。

私钥加密指纹,中间人可截取使用公钥破译但破译无意义,由于私钥完全隐私所以无法伪造指纹,以成功保证数据传输的完整性和机密性。

UCEIsS.png

第三方公证机构(证书颁发发机构 CA认证/RA注册审批):为了防止中间人在一开始就伪装通信双方公钥进行消息截取,就要寻求公证机构的验证帮助。服务器在封闭安全的环境内向公证机构发送自己的域名、IP、公钥等信息,公证机构会对服务器的信息生成一个钢印(加密指纹)(通过哈希形成指纹然后使用私钥进行RSA加密),然后生成一个服务器数字证书(信息(域名、IP、公钥等信息)+钢印)发送给服务器。

后面服务器和客户机进行通信时,先发送数字证书给客户机,客户机使用公证机构的公钥对钢印进行RSA解密,得到HASH钢印指纹,再对除钢印以外的证书内容进行HASH计算得到HASH普通指纹,然后用普通指纹和钢印指纹进行对比,如果相同,则说明服务器是通过公证机构认证的、安全的服务器。

世界上比较出名的根证书颁发机构已经内置在了浏览器中。

UCVawQ.png

CA(证书颁发机构):接受申请,制作数字证书,颁发数字证书

数字证书:用于公正并保证公钥的合法性

数字证书格式:遵循X.509标准。

证书内容:使用者的公钥、使用者的标识信息(域名、IP、名称、电子邮箱地址)、证书有效期、颁发者的标识信息(公证机构)、颁发者的数字签名(钢印)。

常见算法:RSA(HTTPS用的算法)、DH(迪菲·赫尔曼发明)、

3、哈希算法:

常见的哈希算法:MD5、SHA

哈希加密算法不可逆。无论数据多大加密后都是4字节的哈希值(hash值、指纹、摘要)。主要用于计算数据是否正确与完整。

实验:部署HTTPS服务器(CA服务器、Web服务器、DNS服务器)

实验目标:部署HTTPS服务器

实验环境:windows2008作为HTTPS服务器(10.1.1.2)、win7作为客户机(10.1.1.1),桥接vmnet1。

实验步骤:

1、还原快照、桥接、配置网络地址信息、禁用再启用(清除ipv6缓存信息)

2、安装IIS,windows2008服务安装包已经内置在系统中。计算机右键 -》服务器管理 -》添加角色 -》Web服务器(IIS) -》安装。不要动IIS自带的默认网站!默认网站会被CA装载服务网页!

3、准备网站文件夹flower在D盘,在Web服务器中添加网站,绑定域名、IP、子网掩码,先使用的是http协议(因为暂时无法使用https)。设置默认文档。

4、在IIS中安装DNS角色。然后使用客户机尝试访问网站。

5、安装CA组件:计算机右键 -》服务器管理 -》添加角色 -》Active Directory证书颁发机构-》角色服务再选择证书颁发机构Web注册 -》修改CA的公用名称(CAzongju)-》安装,去Web服务器给注册网站绑定域名(www.ca.com)。DNS服务器域名解析。客户机访问www.ca.com/certsrv测试。

6、在windows2008的IIS中,写证书申请单:左键总服务器-》服务器证书-》创建证书申请-》通用名称必须和网站域名相同-》生成证书申请txt文件(base64编码)

7、向CA提交证书申请:在服务器上访问CA的注册网站(防止网页信任弹窗的方法:降低windows2008服务器的安全级别:服务器管理器-》配置IE EXC-》禁用) -》 申请证书 -》高级证书申请 -》使用base64编码申请 -》 提交

8、CA服务器审核并颁发证书:管理工具-》证书颁发机构-》挂起的申请-》右键所有任务、颁发。

9、服务器安装证书:服务器去证书申请网站-》查看挂起的申请证书-》下载证书。总Web服务器-》服务器证书-》完成证书申请-》写一个好记名称flower

10、服务器使用证书:选择Web服务器中的网页 -》 添加网页绑定 -》选择https类型并且选择刚刚安装的证书。

11、客户机使用https访问flower网站进行初步测试,会显示证书无效,但可继续访问。

12、客户机浏览器添加信任我们的证书机构(获得证书公钥):去证书机构注册网站上下载当前CA机构证书。浏览器选项-》内容-》证书-》受信任的根证书颁发机构-》导入-》导入我们的CA机构证书。

或者直接双击CA机构证书-》安装证书-》浏览选择安装到受信任的根证书颁发机构。

13、禁用服务器的http访问,只允许https访问:Web服务器flower-》SSL设置-》选中要求SSL-》点击右侧的应用。然后验证是否成功。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器