内容简介:最近看了一本关于网络的书,叫做《图解http》,觉得这本书写的很好,看完之后印象比较深的是这本书的https的解释,为此在此总结一下自己的理解。文中的很多截图出自http图解,在此表示感谢。https不是一种新的协议,只是http的通信接口部分使用了ssl和tsl协议替代,加入了加密、证书、完整性保护的功能,下面解释一下加密和证书,如下图所示
最近看了一本关于网络的书,叫做《图解http》,觉得这本书写的很好,看完之后印象比较深的是这本书的https的解释,为此在此总结一下自己的理解。文中的很多截图出自http图解,在此表示感谢。
什么是https
https不是一种新的协议,只是http的通信接口部分使用了ssl和tsl协议替代,加入了加密、证书、完整性保护的功能,下面解释一下加密和证书,如下图所示
加密:
共享密钥加密
加密和解密公用一套秘钥,这样就会产生问题,已共享秘钥加密方式必须将秘钥传送给对方,但如果通信被监听,那么秘钥可能会被泄漏产生危险。
公开秘钥加密
公开秘钥加密使用一种非对称加密的算法,使用一对非对称的秘钥,一把叫做共有秘钥,一把叫做私有秘钥,在加密的时候,通信的一方使用共有秘钥进行加密,通信的另一方使用私有秘钥进行解密,利用这种方式不需要发送私有秘钥,也就不存在泄漏的风险了。
https加密方式
因为公开秘钥加密的方式比共享秘钥加密的方式钥消耗cpu资源,https采取了混合加密的方式,来结合两者的优点。
在秘钥交换阶段使用公开加密的方式,之后建立连接后使用共享秘钥加密方式进行加密,如下图。
为什么要使用证书:
因为公开加密还存在一些问题就是无法证明公开秘钥的正确性,为了解决这个问题,https采取了有数字证实认证机构和其相关机构颁发的公开秘钥证书,通信过程如下图所示。
解释一下上图的步骤:
1.服务器将自己的公开秘钥传到数字证书认证机构
2.数字证书认证机构使用自己的秘钥来对传来的服务器公钥进行加密,,并颁发数字证书
3.服务器将传回的公钥证书发送给客户端,客户端使用数字机构颁发的公开秘钥来验证证书的有效性,以及公开秘钥的真实性
4.客户端使用服务器的公开秘钥进行消息加密,后发送给服务器。
5.服务器使用私有秘钥进行解密。
浏览器在安装的时候会内置可信的数字证书机构的共有秘钥,如下图所示。
这就是为什么我们使用自己生成的证书的时候会产生安全警告的原因。
再附一张https的具体通信步骤和图解。
最后用了人家这么多图给个购买链接吧 图解http
以上所述就是小编给大家介绍的《为什么https要使用证书》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 使用 EasyRSA 自签名 SSL 证书
- 使用 PHP 获取网站 SSL 证书信息
- 使用 openssl 生成证书(含openssl详解)
- 使用 Docker CertBot 获取 SSL 证书
- 使用fastlane match自动和手动管理证书
- 用户自助查看kubectl使用的证书状态以及如何更新
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Artificial Intelligence
Stuart Russell、Peter Norvig / Pearson / 2009-12-11 / USD 195.00
The long-anticipated revision of this #1 selling book offers the most comprehensive, state of the art introduction to the theory and practice of artificial intelligence for modern applications. Intell......一起来看看 《Artificial Intelligence》 这本书的介绍吧!