HTTPS中的S(SSL)工作原理

試著忘記壹切 提交于 2020-02-07 10:17:41

HTTPS

在以往的HTTP传输中数据都是以明文方式进行传输,而且HTTP协议是无状态的,不能验证对方身份,也不能保证数据传输完整性,如果攻击者在我们的通信中截取数据那就可以获得大量的有用信息,所以一种更加安全的协议HTTPS诞生了

HTTPS是在HTTP传输中增加了SSL协议,这一层协议加在了传输层与应用层之间,它使通通信更加安全,通信可以互相验证对方身份,并且保证了数据传输完整性,对通信数据进行了加密,即使被攻击者截取到了数据流,也很难解析出有用的信息。

而SSL不是一个搭配HTTP的协议,它是一个单独的协议,并且可以与应用层上其他协议进行搭配使用比如telenet,ftp等协议。

SSL的工作流程

服务器必须拥有第三方CA机构颁发的SSL证书,而且现在的SSL证书大多不免费。

比如对于一个开头是HTTPS加载的网站,它会依靠公钥密码制度生成自己公钥和私钥,私钥自己保存,然后发送公钥给第三方CA机构,再经历过鉴别和审核后,第三方CA机构在这个网站的信息和公钥中进行数字签名并且返回数字证书,数字证书最少包含这个网站信息,公钥,第三方机构数字签名。

我们现在访问一个HTTPS的网站

  • 客户端与服务器建立连接请求访问,要求建立SSL连接
  • 网站收到请求后返回它的证书信息,客户端收到之后验证真假
  • 客户端审核确认后与服务器协商建立SSL连接并且请求等级,也就是信息加密等级
  • 客户端建立会话密钥对,然后利用网站证书中的公钥将会话密钥对的公钥进行加密,并发送给服务器
  • 服务器利用自己的私钥解密出会话密钥对的公钥。所以现在我们有了网站的公钥,网站也有了我们浏览器会话密钥对的公钥
  • 双方利用公钥进行数据加密传输

 

在我们的浏览器中会存储很多的证书

并且我们可以直接查看相关的证书信息

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!