P K I
1.基本介绍
公钥基础设施PKI(Public Key Infrastructure),是通过使用公钥技术和数字证书来提供系统信息安全服务,并负责验证数字证书持有者身份的一种体系
1.身份验证:确保另一方是你要与之通信的合法服务器或者个人。
2.信息加密:确保没有其他方可以阅读你的通信甚至篡改你的通信
2.为什么要使用P K I
身份证明/文件加密传输------>需要证书/密钥------->证书的管理/证书的可信度------>PKI出现
PKI体系的组成有证书授权中心(CA)、注册中心(RA)、证书库、证书吊销系统等组成
因此,pki本质上就是对密钥和证书进行管理的体系
3.数字证书
1.密钥的简单介绍
1.基本概念
密钥(secret key)——用于加解密数据的工具;私钥(private key)——私有的加解密工具;公钥(public key)——公开的加解密工具
2.密钥分类
分类特点对称密钥加密信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难非对称密钥加密(公钥加密)使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥
3.PS:一般来说两种结合使用,对称加密来加密数据,公钥加密来加密密钥。
2.证书所包含的信息
1证书的版本信息2证书的序列号,每个证书都有一个唯一的证书序列号3证书所使用的签名算法4证书的发行机构名称,命名规则一般采用X. 500格式5证书的有效期,通用的证书一般采用U TC时间格式6证书所有人的名称,命名规则一般采用X. 500格式7证书所有人的公开密钥8证书发行者对证书的签名
3.证书的生命周期
证书的初始化、颁发证书、取消证书三个阶段
证书的初始化颁发证书取消证书1、实体注册1、证书检索1、证书过期2、密钥对的产生2、证书验证2、证书撤销3、证书创建和密钥分发3、密钥恢复3、密钥历史4、证书分发4、密钥更新4、密钥档案5、密钥备份
4.利用数字证书进行通信的过程及可以避免的问题
过程
A要和一个自称B的人通信。这个自称B的人,会在通信的最开始,通过网络将证明书发给A,那么通过这个证明书,就证实了他就是B。
然后,A用这个“证明书中的密钥(即B的公钥)”,将A要发送给B的内容进行加密,然后发送给B。
用“证明书中的密钥”加密过的内容,只能用B自己才有的另一个“私人的密钥”才能解密。
问题
常见问题应对措施文件窃取A发送给B的内容经过了B的证书中的密钥(B的公钥)加密,只有B持有的私钥可以将其解密,因而即使被窃取,别人也无法解密文件修改文件发布方为保证文件不可篡改和对自己发布信息不可抵赖,会首先计算文件hash值,这称为消息摘要(用于保证文件的不可纂改),然后对消息摘要使用自己的私钥进行加密,这叫签名(仅能使用自己发布的公钥才能解密签名,也就证明了文件是公钥发布方,即文件发布方发布的,不可抵赖)。文件下载人使用文件发布方的公钥对签名进行解密,解密后的文件hash值和对文件再次hash后的结果比对。 但数字签名无法解决:文件发布方的权威性,即证明张三就是张三,需要第三方证书发布机构数字证书,即对张三身份进行签名,以此证明文件发布方是权威机构承认的。
5.pki重要组成部分的具体作用拆解分析
1.CA的作用:
在技术上:解决了"证明B就是B的问题"。体系上:CA中心以集中发放证书或网上发放证书为主要发证模式, CA系统负责管理和维护属地内证书库以及证书废除列表库
2.RA的作用
用户注册、注册审核、统一发证等各个业务步骤都必须统一化、规范化,这都可以由RA中心来实现,
3.证书库
存储CA签发的证书
4.证书吊销系统
用于管理证书的吊销,包含证书吊销列表CRL存储已吊销的证书
6. P K I的现实应用
1.虚拟专用网络(VPN)
VPN是一种架构在公用通信基础设施上的专用数据通信网络,利用网络层安全协议和建立在PKI上的加密与签名技术来获得机密性保护
2.安全电子邮件
电子邮件的安全需求也是机密、完整、认证和不可否认,而这些都可以利用PKI技术来获得
3.Web安全
利用PKI技术,SSL协议允许在浏览器和服务器之间进行加密通信。此外服务器端和浏览器端通信时双方可以通过数字证书确认对方的身份
7. P K I中的算法
分组密码算法(对称算法)公钥密码算法(非对称算法)摘要算法DES/3 D E S /IDEA,S M 1、S M 4、S M 7、祖冲之密码(Z U C)R S A/E C C,S M 2、S M 9C R C 3 2/M D 5/S H A-1/S H A-256,S M 3
8. 开源P K I
openxpki:一个用于管理SSL证书的申请、签发流程的平台,主要开发语言是Perl,使用于unix/linux
1.详细报告网络上发生的事件2.可以托管多个具有重叠身份验证有效性的证书颁发机构 (CA)3.无缝替换过时的 CA4.轻松与几乎所有网络基础设施集成5.支持与外部函数(如 S Q L 数据库、网络服务和 L D A P)进行通信6.硬件安全模块(H S M)安全7.为手动证书请求提供途径8.利用简单证书注册协议(S C E P) 和 EST 网关进行证书分发9.可以为智能卡配备证书10.证书吊销功能并承载证书吊销列表( C R L)
8.1在d e b i a n系统下安装o p e n x p k i CA:
1.使用apt-get install ca-certificates更新服务器中的CA证书列表
2.为了避免“不受信任包”警告,先添加openxpki包密钥签名:
3.将存储库添加到我的源列表:
4.安装mysql并和perl mysql绑定:
5.安装Openxpki核心包,会话驱动程序和翻译包
8.2使用默认脚本配置o p e n x p k i CA
1.使用bash /usr/share/doc/libopenxpki-perl/examples/sampleconfig.sh.运行脚本
2.使用openxpkiadm alias --realm ca-one确认设置
8.3使用访客身份登录演示:
8.4实际例子:利用openxpki来实现证书在谷歌浏览器中的使用
文章目录
版权归原作者 m0_73429317 所有, 如有侵权,请联系我们删除。