PKI体系相关知识
公钥与私钥
公钥和私钥均可以看作一种特殊的算法。但是公钥一般用作加密,是一个EnCode过程。私钥用作解密,是一个DeCode过程。
对称密钥可以看作一种既包含加密,也包含解密的算法,如:
x+3=y ==》 x加密成y ==》Encode过程
y-3=x ==》 y解密回x ==》Decode过程
这就是一个加法的对称密钥。
1. 密钥管理
密钥管理技术:无中心方式/有中心方式
无中心模式
信息发送:A->B
用户密钥交换方式:一对一交换
用户信息加密方式:A使用B公钥 或 随机产生一个对称密钥后再使用B公钥加密
解密方式:B使用自己私钥解密 或 先B先使用自己私钥解密后再使用对称密钥解密
无中心模式的特点
1. 假设有N个用户,则每个用户均需保留对方的联系方式(公钥),就需要保存N-1个公钥 ==》理解为交换电话号码,不然没法打电话
2. 公钥交换次数为:N * (N - 1) / 2
其需要占用大量的空间,适合小规模场景使用(局域网)
有中心模式
为了解决占用空间大以及大量无效性公钥问题(我不需要世界上每一个人的电话号码),于是提出了有中心模式。
有中心模式就相当于建立了一个官方电话查询平台,由国家进行运营,每个人的电话号码都与他本人信息进行绑定,每个人都相信它。
它的作用是保存每一个用户的电话号码,等你需要打电话时,就确保打给本人。这里的电话其实就是每个人的公钥,官方电话查询平台就是密钥管理中心(KMC)。
在用户需要申请CA证书时,先把自己的信息以及需要发布的公钥提交给KMC,KMC对你的信息进行审核,确保你的身份以及你有对应的私钥
或者KMC为你创建一对公钥和私钥,将公钥保存,私钥发送给你后销毁即可
同时KMC还需要将已经泄露私钥用户的公钥进行标记,标记该公钥已经失效(无法确认是否是本人)
有中心模式特点
1. N个用户只需要分配N次
2. 用户再进行加密通讯时,需要在线通过密钥管理中心验证对方公钥的合理性,存在一定的性能问题
2. 数字证书
数字证书可以理解为网络上的互联网身份证,是一个由权威机构发行的,可以用来识别对方身份的一系列数据信息。
数字证书内容
数字证书一般包括:
证书的版本信息;
证书的序列号,每个证书都有一个唯一的证书序列号;
证书所使用的签名算法;
证书的发行机构名称,命名规则一般采用X.500格式;
证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;
证书所有人的名称,命名规则一般采用X.500格式;
证书所有人的公开密钥;
证书发行者对证书的签名
LAPD
CRL
OCSP
3. 数字签名
数字签名的内容
数字签名的过程
三种签名包括的内容以及需要发送的内容
4. PKI体系框架
PKI体系包括哪些
公钥与私钥
证书认证的过程
X.509数字证书包括哪些
5. KMC是什么,其有什么作用
KMC:Key Manager Center,秘钥管理中心,密钥管理中心(KMC),是公钥基础设施中的一个重要组成部分,负责为CA系统提供密钥的生成、保存、备份、更新、恢复、查询等密钥服务,以解决分布式企业应用环境中大规模密码技术应用所带来的密钥管理问题。
(来源:百度百科 密钥管理中心_百度百科 (baidu.com))
6. 数字证书的生命周期
7. 签名证书和加密证书
签名证书:主要用于对用户信息进行签名,以保证信息的不可否认性。
加密证书:主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。
8. 对称密钥技术和非对称密钥技术
对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
非对称密钥加密,又称公钥加密,它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
非对称密钥加密的使用过程:
1. A要向B发送信息,A和B都要先在系统中生成一对用于加密和解密的公钥和私钥。
2. A的私钥保密,A的公钥告诉B;B的私钥保密,B的公钥告诉A。
3. A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。
4. A将这个消息发给B(已经用B的公钥加密消息)。
5. B收到这个消息后,B用自己的私钥解密A的消息,其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。
6. 反过来,B向A发送消息也是一样。
对称加密的不足主要有两点:
发送方和接收方首先需要共享相同的密钥,即存在密钥k的分发问题,如何安全的把共享密钥在双方进行分享,这本身也是一个如何安全通信的问题,一种方法是提前双方约定好,不通过具体的通信进行协商,避免被监听和截获。
9. 常用国密算法之间的区别
国密算法是国家密码局制定标准的一系列算法。其中包括了对称加密算法,椭圆曲线非对称加密算法,杂凑算法。具体包括SM1,SM2,SM3等,其中:
SM2为国家密码管理局公布的公钥算法,其加密强度为256位。其它几个重要的商用密码算法包括:
SM1,对称加密算法,加密强度为128位,采用硬件实现;
SM3,密码杂凑算法,杂凑值长度为32字节,和SM2算法同期公布,参见《国家密码管理局公告(第 22 号)》;
SMS4,对称加密算法,随WAPI标准一起公布,可使用软件实现,加密强度为128位。
1.SM2算法:SM2椭圆曲线公钥密码算法是我国自主设计的公钥密码算法,包括SM2-1椭圆曲线数字签名算法,SM2-2椭圆曲线密钥交换协议,SM2-3椭圆曲线公钥加密算法,分别用于实现数字签名密钥协商和数据加密等功能。SM2算法与RSA算法不同的是,SM2算法是基于椭圆曲线上点群离散对数难题,相对于RSA算法,256位的SM2密码强度已经比2048位的RSA密码强度要高。
椭圆曲线参数并没有给出推荐的曲线,曲线参数的产生需要利用一定的算法产生。但在实际使用中,国密局推荐使用素数域256 位椭圆曲线,其曲线方程为y^2= x^3+ax+b(其中p是大于3的一个大素数,n是基点G的阶,Gx、Gy 分别是基点G的x与y值,a、b是随圆曲线方程y^2= x^3+ax+b的系数)。
2.SM3算法:SM3杂凑算法是我国自主设计的密码杂凑算法,适用于商用密码应用中的数字签名和验证消息认证码的生成与验证以及随机数的生成,可满足多种密码应用的安全需求。为了保证杂凑算法的安全性,其产生的杂凑值的长度不应太短,例如MD5输出128比特杂凑值,输出长度太短,影响其安全性SHA-1算法的输出长度为160比特,SM3算法的输出长度为256比特,因此SM3算法的安全性要高于MD5算法和SHA-1算法。
3.SM4算法:SM4分组密码算法是我国自主设计的分组对称密码算法,用于实现数据的加密/解密运算,以保证数据和信息的机密性。要保证一个对称密码算法的安全性的基本条件是其具备足够的密钥长度,SM4算法与AES算法具有相同的密钥长度分组长度128比特,因此在安全性上高于3DES算法。