非对称加密及CA

必备

  • 公钥(公开)
  • 私钥(私人持有)

应用

1. 数据加密

使用公钥加密,私钥解密,解决了密钥传送的问题。


数据加密

2. 电子签名

将数据生成散列值,如MD5,将散列值使用私钥进行加密,公钥可以解密。
和现实世界的盖章类似,但盖章机制存在先盖章,后书写内容的漏洞,电子签名相当于数据加密和盖章一起使用,只拿到盖章没用。

电子签名

注:数据加密和电子签名互为逆向使用

CA机构

1. 存在问题

公钥验证问题,如下


公钥伪装

2. 解决方案

引入第三方机构


解决方案
  1. 兔小白生成密钥对 “兔PublicKey” 和 “兔PrivateKey”
  2. 兔小白保存好 “兔PrivateKey”,将 “兔PublicKey” 发给认证机构
  3. 认证机构确认 “兔PublicKey” 确实属于兔小白,然后用自己的“ 机构PrivateKey” 对 “兔PublicKey” 进行数字签名,生成证书。
  4. 熊小猫想要与兔小白通信时,先从认证机构处获取到兔小白公钥证书。
  5. 熊小猫用 “机构PublicKey” 验证证书上 “兔PublicKey” 的签名,确保 “兔PublicKey” 没有被篡改以及确实来自认证机构。
  6. 熊小猫用证书中的 “兔PublicKey” 对信息进行加密,发给兔小白
  7. 兔小白用自己的私钥 “兔PrivateKey” 解密信息

总结

在最讲安全的领域,密码学,其实“很不安全”。

  1. 从来没有100%的信任,信任只会转移,不会消失,信任有且必须有载体。(<100%
  2. 我们不得不对Object投入一定量的前提信任成本。(>0%

参考博客:1. 证书-解决非对称加密的公钥信任问题 - 爱码叔-iCodeBook

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容