彻底弄懂 https 原理本质(四)数字证书

一、加密知识回顾

        信息的传输过程中,如何保证内容不被篡改,即信息的完整性?结合前面学到的加密知识,我们可以用单向加密算法。

        比如,用 md5 加密算法,小明👦给小花👧发的内容用 md5 作一次加密运算,会生成一个唯一的字符串,我们把这个字符串起个名,叫做“摘要🍎”。

        小明👦会把单向加密算法 md5, 以及md5运算的结果摘要🍎,一块发给小花👧。小花收到内容后,用md5对内容进行加密算法,生成新的摘要。

        小花👧将新的摘要🍎和原先的摘要进行对比,如果相等,说明没有被人篡改过。如果不相等,说明内容被别人修改过了。

如下图表示此过程。

        小花,看见内容后,用md5对摘要二次运算,发现仍然和原来的一致。不由得感慨,小明这个理工男非常不懂浪漫,也不邀请她一起看个电影。

这个时候,老王🐢又出现了。

  1. 首先老王拿到邮件了,把内容给改了;
  2. 老王用md5算法 重新把内容运算,得到新的加密结果串——摘要🍎;
  3. 老王把修改后的邮件发给了小花。

如下图表示:

         这次,老王却弄巧成拙,成全了小明和小花成功约会看电影🎬。

但是,话说回来,使用单向加密算法生成摘要的方式,是不能保证内容的安全完整性的。

如何才能保证信件的完整性,不被人篡改呢?

答案是,签名✒️


二、数字签名的由来 

        通过前面学习,我们知道非对称加密,有2个作用,其中一个就是身份认证

还是上面的例子我, 我们改一下:

  1. 小明用md5🔐运算得到摘要🍎
  2. 小明用私钥🔑对摘要🍎加密运算得到一个签名✒️;
  3. 小明将 md5🔐摘要🍎、签名✒️一块发给小花
  4. 小花👧用小明的公钥🔑对签名进行解密,到得摘要 d1;md5运算摘要d2;
  5. 对比 d1 和 d2,相等说明信件内容没有被篡改过,不相等,说明被篡改过。

        此时,这个过程就是安全的了。老王截取了信件修改内容,可以用md5算出新的摘要。但老王是修改不了签名,因为签名是小明私钥加密的。就算老王能用公钥解密,也没法生成新的签名,因为只有小明有私钥。小花用小明的公钥对签名解密,假如老王用私钥对摘要加密生成签名,小花用小明的公钥也是解密不了的。

概念的总结:

摘要:单向加密算法对内容加密出来的字符串,就叫做摘要。

签名:小明用私钥对摘要进行加密出来签字串,就叫做签名。

验签:用小明的公钥对签名进行解密出来的摘要和原来的对比,就叫做验签。
 


三、数字证书的由来

        数字证书是由CA机构颁发的,用来解决公钥传输问题的。

        小明如果想要有一个数字证书,就要向CA机构申请。CA机构会给小明颁发一张数字证书。小明的证书,里面包含以下内容:

公钥:小明的公钥;
颁发者:CA(证书认证机构);
有效期:证书的使用期限;
摘要算法:指定的摘要算法,用来计算证书的摘要;
指纹:也就是证书的摘要,保证证书的完整性;
签名算法:用于生成签名,确保证书是由CA签发;
序列号:证书的唯一标识;

CA 将小明的公钥,颁发者,有效期,摘要算法 ,哈希算法写入证书;

CA 根据证书中的指定的哈希算法计算出整个证书的摘要,即 digest(摘要);

CA 用私钥对摘要进行加密生成签名,即 signature(签名);

CA 把摘要、签名、证书的基本信息,一起发布就生产了小明的证书。


四、数字证书的作用

        数字证书就是解决公钥安全传输的,同时数字证书就是一个文件。

        小明👦有了自己的证书📖了,就不用公开传输公钥了,只需要传输证书就行了。

        小明👦❤️小花👧想要安全的通信。小明先要把数字证书发送给小花。但是,担心证书被老王🐢掉包,小花需要对证书进行验证。

        验证数字证书是CA频发的,需要CA的数字证书(因为里面有CA的公钥)。通过从上面的描述,我们知道了,需要一个数字证书,就向CA申请颁发。

        因为,CA机构自己的数字证书,也是自己给自己颁发的,那么我们从哪里获取呢?

        如果从网上,或者从其它服务器下载,又有可能会被掉包,又不安全了。从网上下载或者从其它服务器下载数字证书,都不安全的,那么怎么样才是安全的呢?

        答案就在你电脑里的操作系统里面,它内置了非常多的CA机构的数字证书了。也就说,只要你安装了操作系统,不管是windows、 linux、 mac、android都有CA机构的数字证书。

        这些都是可以相信的,是真的CA机构的数字证书,不会有假。(盗版除外)

        其实 https 过程不知道,也没啥关系,也不影响你写代码,但是那些面试官就死爱问这块,好像他们能搞懂这个过程很了不起似的,你问点设计模式它不香嘛?


        话说回来,接下来,我们就要对数字证书进行辨别真伪了。 

欢迎关注,持续更新。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾阳Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值