数字签名和数字证书
-
数字签名
用途:对数据的签名,证明数字信息的完整性和真实性
利用密码学原理,将数字数据文件信息利用私钥进行加密,以确保信息的真实性、完整性和不可抵赖性构成元素:
* 原文信息
* 数字摘要
* 私钥:用于数据加密
* 公钥:用于数据解密 -
数字证书
用途:多用于证实某个主体(公司和个人)身份的真实性一种可信任的数字标识,证明了数字信息的真实性和完整性。数字证书通常被用来认证用户身份,提供数据加密和身份验证功能
构成元素:
* 证书主体
* 证书颁发者
* 公钥
* 证书有效期
* 数字签名等
种类:
* 自签名证书:由证书的持有者自己签发
* 公开信任证书:由专门机构颁发,实现公开信任
对称加密和非对称加密
-
对称加密
加密和解密使用相同的秘钥
加密算法:
* DES: data encryption standard (数据加密标准),是一个分组加密算法,以64位为分组对数据进行加密,密钥长度是56位
* AES: advanced encryption standard, 现行的对称加密标准
以128bit分组,密钥长度:128bit、192bit、256bit
* DSA: data signature algorithm, 数字签名算法, 一般用于数字签名和认证,发送者使用自己的私钥对文件或消息进行签名,接受者收到消息后使用发送者的公钥来验证签名的正确性。DSA只是一种算法,和RSA不同之处在于他不能用作加密和解密,也不能进行密钥交换,只用用作签名,它比RSA要快很多 -
非对称加密
加密和解密使用不同的秘钥,也称为公私钥加密。用户双方交换公钥,使用时一方用对方的公钥加密,另一方即可用自己的私钥解密。常用的非对称加密算法:RSA、ECC(移动设备用)、Diffie-Hellman、El Gamal、DSA(数字签名用)
加密算法:
* ECC : elliptic curves cryptography, 椭圆曲线算法,被认为在给定密钥长度下最安全的加密算法,缺点:加密和解密的实现比其他机制花费的时间长
* RSA: 这种算法非常可靠,密钥越长,它就越难破解
私钥通常用来生成签名,公钥用来验证签名 -
Hash算法:
一种单向算法,用户可以通过hash算法对目标信息生成一段特定长度的唯一的HASH值,却不能通过这个hash值重新获得目标信息,因此常用在不可还原的密码存储、信息完整性校验等。
用途:产生信息摘要、密钥加密等
算法:
* MD5: message digest algorithm 5, 非可逆,相同的明文产生相同的密文
* SHA: secure hash algorithm:可以对任意长度的数据运算生成一个160位是数值 -
对称和非对称加密结合:
通过非对称加密来协商对称加密的密钥,服务端一旦把正确的公钥安全地送达到客户端后,后续的通信,为了保证高效通信,再采用对称加密来加密数据。 -
摘要、数字签名、数字证书
- 摘要
一段信息,经过摘要算法得到一串哈希值
只用于验证数据的完整性,不能保证正确性 - 数字签名
摘要经过私钥的加密后,便有了一个新的名字–数字签名
签名:发送方,加密过程
验签:接收方,解密的过程 - 为什么不对内容直接加密,而是对摘要进行加密
- 非对称加密的速度非常慢,如果传输的数据量非常大,那加解密的时间比传输时间还长
- 如果我们对传输的内容只有完整性要求,而安全性没有要求(传输的内容被别人知道也没有关系)
- 数字证书
如果拿到的公钥是黑客给的而不是服务端的,当你使用假公钥加密一些敏感信息时,黑客就可以截取到你的信息- 数字证书就是一个.crt文件
- 数字证书是CA颁发的
-
在自己的服务器上生成一对公钥和私钥,然后将域名、申请者、公钥等其他信息整合在一起,生成.csr 文件
-
将.csr文件发给CA机构,CA机构去验证申请者的组织信息和个人信息,如果没有异常,CA使用散列算法对.csr里的明文信息做hash,得到一个信息摘要,再用CA自己的私钥对这个信息进行加密,生成一串密文,密文就是所说的签名。签名+.csr明文信息,即是证书
证书:.crt = 加密(hash(.csr),CA 的私钥) + .csr解密(签名, CA的公钥) = hash(明文信息)
-
- 摘要
-
证书类型
- PEM
明文格式,中间是经过base64编码的内容, PEM就是把DER的内容进行了一次base64编码 - DER
二进制格式的证书
参考:https://mp.weixin.qq.com/s?__biz=MzI2MzEwNTY3OQ==&mid=2648979521&idx=2&sn=16f5c3d95b28d3d7104f66105e0cb6d5&chksm=f25065a1c527ecb740b5e4f16fbaac44e4b01d060a0bddefec602f1c17f74fb7a4284de2eaaa&scene=27
- PEM