一张图告诉你为何HTTPS是安全的

做者:站在书脊之上
连接:https://juejin.im/post/5ebe68...

为何要有HTTPS面试

在HTTPS出现以前,全部请求都是以明文方式送出的,那么若是有人在传输途中偷听或者抓包的话,你的全部通讯内容都会泄漏。比较安全的方法是将通讯内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。redis

对称加密数据库

对称加密指的是加密和解密用同一个密钥。可是在通讯以前,客户端和服务端是不会有这样同一把密钥的。须要其中一方将密钥发送给对方。在整个传输过程没有任何验证操做,因此黑客也能够截取到这把密钥从而破译出加密的内容。因此纯对称加密是不安全的。浏览器

非对称加密安全

非对称加密指的是加密和解密用不一样的密钥。能够是用私钥加密,公钥解密,也能够是用公钥加密,私钥解密。可是会有这种状况。服务端拥有私钥和公钥,将公钥发给客户端。既然客户端能够得到公钥,黑客也能够得到公钥。那么服务端发送给客户端的全部内容黑客也是能够解读的。客户端用公钥加密发送给服务端不受影响,由于黑客手上没有服务器的私钥。因此纯非对称加密也是不安全的。服务器

传输密钥的过程微信

登场人物介绍架构

图解传输密钥的过程app

HTTPS采用对称加密来加密通讯内容,所用的密钥称为A。用非对称加密来加密密钥A再发送给对方(有点绕)。只要密钥A不落入他人手中,那传输的数据就不会被别人破译。运维

那么问题来了,要如何安全的将这把密钥送到对方手上呢?

咱们来看密钥的传输过程

为何HTTPS是可靠的?

HTTPS是可靠的,由于它解决了三个问题。

加密通讯,即便别人获取到了信息也无法复原成原来的信息。

防止中间人攻击。黑客无法冒充服务端。由于在第2步,服务端给了客户端一个CA证书。

  • 若是客户端验证了这个证书,说明这个证书和公钥是由服务端发来的且真实可靠。
  • 若是客户端验证不了这个证书,就说明这个证书不可靠,有多是假的。

CA证书的公信力。CA证书须要由公司或者我的发出申请,再经过邮箱验证等方法验证域名存在。避免了黑客冒充网站获取证书的可能。

在技术层面上,CA机构的公钥是写在操做系统或者浏览器里的。只有用CA机构的私钥加密的内容才能完成解密。确保了证书的确是CA机构发行的。

密钥的做用

最后让咱们再来回顾一下每一把密钥的做用

最新整理的 2TB 技术干货:包括架构师实战教程、大数据、Docker容器、系统运维、数据库、redis、MongoDB、电子书、Java基础课程、Java实战项目、ELK Stack、机器学习、BAT面试精讲视频等。只需在 民工哥技术之路」微信公众号对话框回复关键字:1024 便可获取所有资料。

相关文章
相关标签/搜索