四. Public Key Infrastructure公钥基础设施详解

PKI(Public Key Infrastructure公钥基础设施)回顾学习 - 签名等过程

 基础说明:

PKI技术-CAs架构(Single-Root CA -简单/Hierarchical CAs-分层/Cross-Certified CAs-交叉认证)

    • 分层架构

PKI和用途密钥

公钥加密(非对称加密算法)/数字签名(散列+密钥)/数字证书(基于非对称算法,以一个密钥对加以说明)

    •  概述
    • 数字签名过程:
    • Single-Root CA过程说明(数字签名到数字证书),数字证书主要是对各自的公钥做认证。

为后续VPN打基础:

建立IPsec VPN认证双方的身份有3种方式:

pre-share-key预共享枕钥,VPN双方使用相同的宽码认证。

RSA公钥加密,VPN双方使用相同的RSA密钥对进行加解密

RSA签名,数字证书认证双方的身份信息合法性

1.1 基础说明:

- PKI:需要支持大规模基于公钥的技术的服务架构。
- CA:证书(认证)中心(certificate authority,简称CA),或受信任的第三方协议,它们在网络中签署公钥。
- 数字证书:将名字绑定到CA签署的公钥上面的文书。

点击此处展开...

扫描二维码关注公众号,回复: 7586890 查看本文章

1.1.1 PKI技术-CAs架构(Single-Root CA -简单/Hierarchical CAs-分层/Cross-Certified CAs-交叉认证)

分层架构

ROOT CA:

这是第一个CA被安装在你的PKI部署中
1.在层次化的PKI中是最高级别
2.可以作为一个功能齐全的客户端证书的生命周期管理(管理客户端证书的生命周期)
3.有在PKI中的最高寿命自签名数字证书。
4.可以把所有CA功能委托给子CA
5.可以将部分功能委托给RA
6.子CA,根CA不在线出于安全原因,颁发证书给下属子CA负责。

SUB CA:

  

这是第二个CA被安装在你的PKI中
1.在层次化的PKI中是第二高级别
2.也可以从一个SUB CA到另一个SUB CA
3.有CA的全部功能(管理客户端的证书有效期内)
4.会收到一张从根CA颁发的数字证书
5.能委托全部CA功能给其他SUB CA
6.能委托部分功能给RA

RA(注册授权服务器)

在PKI体系中是一个可选项
1.作为一个代理在客户端和root CA或者SUB CA之间
2.他的功能执行默认是由rootCA或者SUB CA
3.认证和授权客户端的证书请求
4.转发合法和批准请求给rootCA或者subCA
5.不能颁发客户端证书

RA就像是CA的代理
RA使得CA对网络的暴露性降低

1.1.2 PKI和用途密钥

一些KPI需要用户同时拥有两组密钥对
一组只为加密使用
另一组只为解密使用
- 两组密钥对长度可以不同
- 用户拥有两个证书:一个加密证书和一个签名证书

1.1.3 公钥加密(非对称加密算法)/数字签名(散列+密钥)/数字证书(基于非对称算法,以一个密钥对加以说明)

概述:

使用对称和非对称密码算法都可以实现数字签名。
目前采用较多的是公钥加密技术。

数字签名过程:

使用公钥加密技术的签名和验证过程是(二进制):
1)发送方(甲)先用单向散列函数对某个信息(如合同的电子文件)A进行计算,得到128位的结果B,再用私钥SK对B进行加密,得到C,该数据串C就是甲对合同A的签名。
2)他人(乙)的验证过程为:乙用单向散列函数对A进行计算,得到结果B1,对签名C用甲的公钥PK进行解密,得到数据串B2,如果B1=B2,则签名是真的,反之签名则为假的。

使用公钥加密技术的签名和验证过程是(具体):

1. A对其要发送给B的文档使用Hash函数,生成文档的摘要(digest),摘要是一个单向散列值。
2. A使用自己的私钥对单向散列值进行加密,加密后的消息摘要生成"数字签名"(signature)(哈希消息验证码HMAC)
3. A将数字签名附着在文档下面连同自己的公钥一起发给B。
4. B收到文档,取下数字签名,使用A的公钥对数字签名进行解密,得到文档的摘要,知道文档是A发的。
5. B同时针对文档本身使用Hash函数,计算出从A收到的文档的单向散列值。比较计算出来的散列值和上一步解密出来的散列值,如果一样表示文档没有被篡改过。
只要文档被篡改,那么只是细微的改变,都会造成计算出来的散列值和原来的有巨大差别(雪崩效应)

使用公钥加密技术的签名和验证过程是(OSI分层):

Single-Root CA过程说明(数字签名到数字证书),数字证书主要是对各自的公钥做认证。

  

首先Jane向Root CA申请根证书(自签名证书,有有效期),也就是加密请求。

Root CA产生(两个,一个只加密,一个只签名)密钥对,用(加密密钥对的)私钥对(经过签名密钥对的私钥)签名后的证书加密后(类似数字签名),将根证书(已附着公钥)发给用户Jane。

Jane用户(首次)用CA的(加密密钥对的)公钥解密,用计算出的单项散列值对比解密的散列值,对比无误。Jane用户申请个人证书,密钥对,将自己的个人证书连同自己的公钥发给CA,CA用Jane用户的公钥解密,认对比正确后,再用CA自己的私钥加密Jane用户的个人证书,最后发给Jane用户。

Phil同样如此。此时每个用户拥有俩个私钥,三个公钥(俩个自己的,一个Root CA的)。而Root CA拥有俩个私钥,四个公钥(俩个自己的,一个Jane的,一个Phil的)

Jane用户和Phil用户,通过Root CA认证公钥,进行加密通信。

猜你喜欢

转载自www.cnblogs.com/gunxiaoshi/p/11735838.html