对称加密、非对称加密、数字证书、数字签名都是用来干什么的?

想必大家都遇到过访问网站时,浏览器会提示不安全的情况,我们都知道这是因为没有使用https导致问题,但是究竟哪里不安全?举个简单的例子来说,当我们登录只使用了http协议的门户网站时,我们将用户名密码发送给门户网站,门户网站在用户名密码校验通过后将带有个人信息的网页发送给你。这个过程听起来很合理,但是又感觉不太对劲。

如果有个黑客截取了你的网络收发信息,我们的用户名和密码就会完全暴露出来。聪明的同学这时想到对"用户名和密码"加密,如下图所示


这种双方使用同一个私钥进行加解密的方法称为对称加密,但是还是存在问题,我和网站之间如何传递秘钥?如果黑客截取了网站发给我的秘钥并伪造出一个秘钥给我,让我使用错误的秘钥来进行加解密,我的信息还是会被一览无遗。


聪明的工程师想到利用公私钥的方式来解决这个问题,网站将公钥发给发送给用户,用户接收到公钥之后,使用公钥对"用户名和密码"进行加密,虽然黑客也有我们的公钥,但是公钥只能用来加密不能用来解密,这样解决了会话秘钥传输的问题。这种采用了公私钥的加解密方式,我们称为非对称加密


但是这样真的安全吗?如果黑客伪造了一套公私钥,把自己的公钥发给我们,让我们使用错误的公钥去加密信息,这样仍然会导致我们的信息对黑客来说是透明的。


这样又衍生出来一个问题,我们如何确定拿到的公钥是网站发给我们的,而不是中间人发给我们的。这时候就需要第三方介入了,第三方相当于一个公证处(CA),证明我们的公钥是由网站发给我们的。这样我们的流程就发生了变化,网站首先把公钥发送给第三方,第三方把公钥和其他信息结合起来生成了"数字证书",网站将数字证书发送给用户,用户接收到证书后,从证书中提取出来公钥,使用公钥对信息进行加密,听起来好像很合理,但是真的没有问题吗?


我们如何确定证书是由信任的第三方颁发的呢?证书上要是有CA的人工签名就好了,但是很显然不行,我们只能另寻办法。再来捋一边数字证书的流程,网站将公钥以及其他信息发送给CA,CA收到信息后,可以对信息进行hash计算,我们都知道,如果原始信息中任何一个值发生变动,那么hash计算后的hash值就会天差地别,然后CA会生成一对自己的公私钥,使用私钥对计算的hash值进行加密。然后将加密后的信息和网站的公钥和其他信息结合起来生成数字证书,这样就完成了数字签名的过程。


我们再来走一遍流程,网站将数字证书发送给中间人和用户,用户收到之后,使用CA的公钥对加密后hash值进行解密得到原始的hash值,再对公钥用同样的算法进行hash计算,比对两者的hash值,如果一样就证明数字证书是由我们信任的CA颁发的。又要但是了,如何确定我们获取到的CA的公钥是对的?根据上面的流程,很显然CA也需要数字证书,这份数字证书由根CA颁发,根CA也需要数字证书,好像可以一直循环下去,哈哈哈哈哈。其实操作系统在安装的时候就已经预置了根CA,(所以不要安装盗版系统哟),这样整个证书链就完成了闭环。


0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
桉
作者分享
----学习伊始,重新出发--- 👍今日学习 1. python实战功能基本实现。 2.软考练习81(未完成) 3.英语口语改为每日五分钟(完成) 读书感悟 无 😄明日计划 南瑞科技项目演示。
1
----学习伊始,重新出发--- 👍今日学习 1. 韩顺平python入门课程中的对象和类相关的知识(进阶部分已完成) 2.软考练习81(未完成) 3.英语口语改为每日五分钟(完成) 读书感悟 无 学习方法 podcast练习口语 😄明日计划 软考刷题81 英语口语每日五分钟。 python实战 日常工作处理
6
----学习伊始,重新出发--- 👍今日学习 1. 韩顺平python入门课程中的对象和类相关的知识(基础部分已完成) 2.软考练习81(已完成) 3.英语口语10 (已完成) 读书感悟 《松弛感》:要对己宽容,过于求全,容易急躁,先承认现状,然后慢慢改进,才能平静的追求持续的提升。还是那句话,选择永远在你。 😄明日计划 软考刷题82 英语口语11 python类与对象(进阶篇) 日常工作处理。
4
----学习伊始,重新出发--- 👍昨日学习 1. 韩顺平python入门课程中的对象和类相关的知识 2. shell基本语法复习及工作中实际演练 3.软考练习80 4.英语口语未完成 6.工作遗留问题完成 读书感悟 无,昨日未读书 😄今日计划 软考刷题81 英语口语10 python对象结束 其他酌情增加
5
----学习伊始,重新出发--- 👍今日学习 1. 韩顺平python入门课程中的包和模块相关的知识。 2. shell基本语法复习及工作中实际演练 读书感悟 《松弛感》这本书给我最大的启发就是要多读书多积累,积跬步至千里,自主学习很重要。向内求才能杜绝焦虑,起始学习曲线要平,要低。这样才会通过锻炼成就感来激励自己坚持下去。 😄明日计划 软考刷题50 英语口语10 python对象结束 其他酌情增加 工作遗留问题解决、跟进。
1
下载 APP