Https为什么是安全的?

一.http为什么是不安全的?

        在我们的手机或者电脑进行http请求的时候,实际上是应用程序,比如浏览器或者手机软件,它把一个http请求报文发送给了服务器,服务器接收到请求之后去处理,处理之后再返回一个响应报文,这样一个请求就结束了。

        但是 这个请求是怎么到达服务器的呢?在实际的网络中,每个消息都会经过很多个中间节点,比如路由器,网关,这些节点会以接力的形式,一步一步的转发这些消息,一步一步的让消息达到目标服务器,最终服务器接收到消息并且进行处理。

        那么这些中间节点的转发者是怎么转发这些消息的呢?就是一个节点一个节点的转发,下一个节点在原封不动的转发给下下个节点,但是如果其中的一个节点是一个坏人,他把消息篡改了之后再转发出去,那就会产生问题了。

        比如说,要转账给我大爷,但是中间的坏人将消息篡改了,将转账地址改成了自己的地址,那么钱就跑到了坏人的兜里了。另外不止是篡改,单纯的窃听,对于我们来说也是一种风险。比如,我的账号和密码在向服务器发送的时候,路过的每一个节点都能看到账号和密码,这是不是很危险?而且不止是中间节点,网络上的其他节点也是可以对消息进行窃听的,所以网络从本质上就不可避免的会让别人看到你发送和接收的消息,这是http不安全的原因之一。但是从这个角度解决问题是不现实的,我们总不能把网络结构修改了吧,那么就要说到http不安全的另外一个原因:明文传输,所谓明文传输就是把你的消息内容不做任何加工直接传输,与之对应的有一个概念叫做加密,https就是通过加密让消息变的安全。

二.https为什么是安全的?

        https把http消息进行加密之后再传送,这样就算坏人拦截到了,得到消息之后也看不懂,这样就做到了安全,具体来说,https是通过对称加密和非对称加密和hash算法共同作用,来在性能和安全性上达到一个平衡,加密是会影响性能的,尤其是非对称加密,因为它的算法比较复杂,那么加密了就安全了吗?不是的,https除了对消息进行了加密以外还会对通信的对象进行身份验证。

        https并不是一种新的协议,而是使用了一种叫做TLS(Transport layer secure)的安全层,这个安全层提供了数据加密的支持,让http消息运行在这个安全层上,就达到了安全,而运行在这个安全层上的http就叫做https(http secure)

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

推荐阅读更多精彩内容