https

作者: 达文西_Huong | 来源:发表于2020-06-18 16:43 被阅读0次

2.2 https建立流程(https = http + SSL;TLS就是握手协议)

Https的作用:在传输过程中通过加密来保护数据安全,避免用户敏感信息被第三方获取后破解

https 采用了对称加密非对称加密。握手过程中采用非对称加密得到一个对称假面的密钥。在之后的数据传输中,使用对称加密。

原因:

对称加密速度快,浏览器的开销小
非对称加密开销大,速度慢,但是安全,所以在握手的时候为了保证非对称加密的密钥安全,所以使用它来生成密钥

工作流程如下(图片是copy下来的):

image

握手 : 在开始加密通信之前,客户端和服务端首先必须建立连接和交换参数

  1. 首先客户端会发送一个请求,里面包含 客户端生成的随机数,以及客户端支持的加密算法(都是对称加密算法)
  2. 服务端收到请求之后,从中选出一组加密算法和HASH算法,并将自己的数字证书,以及一个自己生成的随机数发送给客户端
  3. 客户端收到后,先验证证书是否有效(会一直验证到最顶层的根证书),如果有效就生成一个随机数,然后用证书中包含的公钥加密这个随机数生成密文,并且用服务端刚刚挑选的HASH算法对这个随机数进行加密,生成的hash值称为校验值One一起发给服务端
  4. 服务端收到后,用自己的私钥解密出随机数,然后用hash算法对这个随机数进行加密,得到校验值Two。然后判断校验值1 == 校验值2,如果相同,则说明内容未被篡改,可以信任。最后用随机数,加上第二步中选出的加密算法,加密一段握手消息,发还给客户端。同时包含Hash值
  5. 客户端收到服务端消息之后,首先检验是否为握手消息,然后用HASH算法解密,再判断两个校验值是否一致。
  6. 握手结束之后。客户端和服务端就会使用在握手阶段产生的随机数(3个)和挑选出来的算法进行对称加解密传输
总结: 就是一共三个随机数。根据这三个随机数创建了一个对称加密的密钥,之后的数据传输均使用这个生成的密钥。

小答疑:

  • 对于第一第二步中的交换随机数。

那是为了保证生成的密钥不会每次都一样。因为SSL协议中证书是静态的。因此引入随机数是为了保证生成的密钥具有随机性。

  • 为啥要使用三个随机数一起生成密钥?

这样做是为了让随机数更随机。避免生成的随机数是一个伪随机数。因为一旦随机数不够随机,就有可能会被猜出来这样就会很不安全。要知道一个伪随机数可能是伪随机数,但是三个或者多个伪随机数,那么它其实已经很接近真随机数了。所以用了三个随机数一起组合生成密钥.

相关文章

  • https VS https

    HTTPS=SSL+HTTPHTTP协议传输的数据是未加密的 ,也就是明文,因此使用HTTP协议传输隐私信息非常不...

  • HTTPS

    什么是HTTPS HTTPS(全称:Hypertext Transfer Protocol over Secure...

  • HTTPS

    HTTP 有以下安全性问题: 使用明文进行通信,内容可能会被窃听;(请求时,需加密) 不验证通信方的身份,通信方的...

  • HTTPS

    站点证书的有效性 SSL 自身不要求用户检查Web服务器证书,但大部分现代浏览器都会对证书进行简单的完整性检查,并...

  • Https

    我们都知道HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采...

  • HTTPS

    1.为什么要有HTTPS2.HTTPS的工作原理3.密码学4.HTTPS的优缺点5.在iOS中使用HTTPS 为什...

  • HTTPS

    精悍小文:https是如何工作的? - 简书 急速开发系列——打造完善的https使用方案 - 简书

  • https

    摘自[白话Https]https://www.cnblogs.com/xinzhao/p/4949344.html...

  • HTTPS

    一、背景 对于大规模的购物、银行事务或访问机密数据来说,这些重要的事务需要将 HTTP和数字加密技术结合起来使用,...

  • HTTPS

    在 HTTP 协议中有可能存在信息窃听或身份伪装等安全问题。使用 HTTPS 通信机制可以有效地防止这些问题。本篇...

网友评论

      本文标题:https

      本文链接:https://www.haomeiwen.com/subject/awsltktx.html