ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

为什么 HTTPS 是安全的?图文详解!

2021-06-05 14:05:06  阅读:144  来源: 互联网

标签:公钥 加密 详解 密钥 HTTPS 图文 服务端 客户端


作者:站在书脊之上
来源:juejin.im/post/5ebe6870f265da7bce2696b9

「一、为什么要有HTTPS」

HTTPS出现之前,所有请求都是以明文方式送出的,那么如果有人在传输途中偷听或者抓包的话,你的所有通信内容都会泄漏。

比较安全的方法是将通信内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。

「二、对称加密」

对称加密指的是加密和解密用同一个密钥。但是在通信之前,客户端和服务端是不会有这样同一把密钥的。需要其中一方将密钥发送给对方。

在整个传输过程没有任何验证操作,所以***也可以截取到这把密钥从而破译出加密的内容。所以纯对称加密是不安全的。

「三、非对称加密」

非对称加密指的是加密和解密用不同的密钥。可以是用私钥加密,公钥解密,也可以是用公钥加密,私钥解密。但是会有这种情况。服务端拥有私钥和公钥,将公钥发给客户端。既然客户端可以获得公钥,***也可以获得公钥。

那么服务端发送给客户端的所有内容***也是可以解读的。客户端用公钥加密发送给服务端不受影响,因为***手上没有服务器的私钥。所以纯非对称加密也是不安全的。

「传输密钥的过程」

「四、图解传输密钥的过程」

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

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

我们来看密钥的传输过程:

「五、为什么HTTPS是可靠的?」

HTTPS是可靠的,因为它解决了三个问题。Spring Boot 支持 HTTPS,这篇推荐看下,关注公众号Java技术栈回复boot获取更多教程。

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

防止中间人***。***没法冒充服务端。因为在第2步,服务端给了客户端一个CA证书。

如果客户端验证了这个证书,说明这个证书和公钥是由服务端发来的且真实可靠。

如果客户端验证不了这个证书,就说明这个证书不可靠,有可能是假的。

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

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

「六、密钥的作用」

最后让我们再来回顾一下每一把密钥的作用:

近期热文推荐:

1.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

2.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

3.吊打 Tomcat ,Undertow 性能很炸!!

4.国人开源了一款超好用的 Redis 客户端,真香!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

标签:公钥,加密,详解,密钥,HTTPS,图文,服务端,客户端
来源: https://blog.51cto.com/javastack/2869736

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有