目录
对称加密
同一个密钥进行加解密,典型的对称加密方式 AES 算法
优点
运算速度快
缺点
非对称加密
公钥加密,私钥解密;或者私钥加密,公钥解密
优点
私钥严格保密,公钥任意分发,黑客获取公钥无法破解密文
缺点
非对称加密的更多细节:
公钥加密私钥解密
公钥可以分发给多人,任何人可以用公钥对信息进行加密,加密后的信息只能被对应的私钥解密。从而,公钥加密私钥解密能保证信息安全性,但是无法确认信息来源
私钥加密公钥解密
私钥加密后的数据,只能对应的公钥解密,因为每个私钥的拥有者是可以确定,所以私钥加密公钥解密能确认信息来源
摘要算法与数据完整性
摘要算法的四种特性
常见的摘要算法:MD5,SHA1,SHA2
- 不可逆:只有算法,没有密钥,只能加密,不能解密
- 难题友好性:想要破解,只能暴力破解
- 发散性:只要对原文进行一点点改动,摘要就会发生剧烈变化
- 抗碰撞性:原文不同,计算后的摘要也要不同
保证信息完整性
方式一
Bob通过摘要算法将信息生成一个摘要,再将摘要附在信息上一起发送给Pat,Pat取下摘要A,使用和Bob一样的摘要算法生成一个新的摘要B,Pat通过对比摘要A和摘要B是否一致来判断信息是否是Bob发送过来的,并且还是未篡改的
优点: 速度快,校验简单
缺点: 不够安全,黑客可以拦截Bob发送的信息,然后模拟Bob的操作,将新信息生成一个新摘要,一起发送给Pat,Pat校验也能通过,但是信息却被改变
方式二
先用摘要算法生成信息的摘要,将用Bob的私钥将摘要加密,加密后的结果(数字签名),将数字签名附在信息下面一起发送给Pat,Pat收到信息后,取下数字签名,用Bob给的公钥解密得到信息的摘要,再用和Bob一样的摘要算法加密信件的原文,得到信息的摘要,Pat将两个摘要进行对比,如果一致,则表示信息是Bob发送的,并且是未篡改过的
数字证书
在实际业务中,上面第二种方式也不是最安全的。举个例子:Doug伪造Bob将自己的公钥发给Pat,Doug就可可以用自己的私钥对加密后的摘要进行验签,Pat以为将信息发送给了Bob,实际是被Doug获取了。所以存在伪造公钥的风险,于是就有了数字证书
数字证书的组成
- 公钥:Bob的公钥
- 颁发者:CA(证书认证机构)
- 有效期:证书的使用期限
- 签名哈希算法:指定摘要算法,用来计算证书的摘要
- 指纹:证书的摘要,保证证书的完整性
- 签名算法:用于生成签名,确保证书是由CA签发
- 序列号:证书的唯一标识
数字证书生成步骤
- CA中根据证书中指定的哈希算法,根据证书信息,计算整个证书信息的摘要,即生成证书的指纹
- CA根据证书中的签名算法,用CA自己的私钥将摘要信息进行加密,生成证书的签名
- 将证书的签名和证书一起发布,就能得到一个数字证书
数字证书的使用
- Pat收到Bob的信时,将数字证书取出
- Pat根据指定的Hash算法计算证书基本信息,得到整个证书的摘要A
- Pat再用CA的公钥对数字证书进行解密,得到证书的摘要B
- 比较摘要A和摘要B是否相等,完成证书验签;如果相等,则取出证书基本信息中Bob的公钥
- Pat利用上一步得到的公钥对信件进行解密,得到一个摘要C
- Pat根据哈希算法计算信件信息的摘要,得到另一个摘要D
- 比较摘要C和摘要D,完成信件验签,如果相等,则Pat可以放心读取数据了
HTTPS的原理
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/202804.html