程序员基础知识:HTTPS只比HTTP多了一个S,却多出了这么多学问?

我们常说,网络环境处处险恶,我们随便发出的一条数据,接收到的任何一条数据,都可能被坏人所窜改。今天,防人之心不可无,我们来讲一讲HTTPS协议。

中间人攻击

要讲HTTPS,我们首先要从HTTP说起,众所周知,HTTP是明文传输的,所以整个网络的中间设备都可以知道你请求的真实内容,甚至可以窜改你发送的内容。



上述例子,小明上大学没有生活费了,跟爸爸说没钱了,支付宝账户是小明,如果中间存在不法份子,就能看到小明说的话,并修改这句话,最终小明爸爸看到的内容就可能是坏人提供的信息了。这种,我们称之为中间人攻击。

非对称加密

这种情况在以往的电报也经常发生,所以,我们可以提前约定一个加密算法,然后每次对话都提前进行校验。但是,什么时候约定这个算法呢?第一次约定密钥的时候,用什么进行加密?

在HTTPS中,我们常常使用非对称加密。什么是非对称加密的,就是进行加密的密钥跟解密的密钥并不相同,单他们确实一一配对,我们称之为公钥与私钥,用公钥加密的数据,只有用对应的私钥才能解开。

所以,小明与小明爸爸就可以提前将自己的公钥告诉对方,这样子,小明跟爸爸说话之前,就能把自己相对爸爸的话用爸爸的公钥进行加密,爸爸收到小明的内容的后,用自己的私钥进行解密,就能得到小明对自己说的话了。这就安全了么?



狡猾的中间人虽然不知道小明说的内容,但是却知道小明爸爸的公钥,所以,他自己生产了一个内容,假装自己是小明发送过去了。

第三方证书

问题到底出在哪里了呢?还是因为一开始的密钥交换问题。第一次约定密钥的时候,用什么进行加密才安全!这就引出了证书机构。证书是由CA机构颁发的,很多手机电脑都会预设一些国际权威机构的根证书,以保证通信安全,第一次通信的时候,小明爸爸可以先向第三方机构申请证书,然后小明获取到这个证书之后,直接在本地校验,获取其中的公钥之后再进行加密。

这个时候你可能会问,万一在进行证书认证的时候,爸爸就在跟一个假小明聊天怎么办呢?解决这个问题,我们就需要像QQ/微信这样的后台服务器,客户端先跟服务器通过证书互相信任,服务器根据客户端提供的用户名密码确认他们的身份,然后最后再由服务器来协助他们之间的对话



总结

好了,今天我们就介绍到这里,只是大概讲了讲HTTPS的概括,更多HTTPS的详细知识点,还有望大家去书本或者其他书籍里面获取。欢迎关注我,一起共同学习,共同进步!(公众号:沙茶敏碎碎念)

发表评论
留言与评论(共有 0 条评论)
   
验证码:

相关文章

推荐文章

'); })();