美文网首页
HTTP 与 HTTPS 的区别

HTTP 与 HTTPS 的区别

作者: 赵邦华 | 来源:发表于2020-11-14 17:29 被阅读0次

一句话总结:

HTTP以明文方式发送内容,不验证服务器身份,不提供数据加密

HTTPS在HTTP基础上加了SSL协议,验证服务器身份加密传输的数据

下面具体总结一下HTTPS如何实现身份验证+数据加密的:

数据加密

  • 客户端和服务器之间的数据加密是对称的(这是为了提高效率,数据很多的情况下,非对称加密效率低),实现对称加密,只需要一把钥匙(简称密钥),密钥只有客户端和服务器知道,其他人不知道。
  • 这把密钥的是由客户端生成的,生成过程采用非对称加密,具体过程如下
  • 客户端向服务器要服务器的公钥,用来加密对称加密的密钥
  • 服务器发给客户端服务器的公钥,客户端收到后,首先生成一个随机数,这个随机数就是密钥,然后用这把服务器的公钥加密密钥
  • 客户端把加密的密钥发给服务器
  • 服务器用自己的私钥解密,得到了对称加密的密钥(因为只有服务器的私钥能解服务器的公钥,所以得到的密钥只有客户端和服务器知道,其他人不知道)

这就是数据加密的过程:非对称加密生成密钥,用密钥进行数据的对称加密。

然而这里有个问题,服务器可能会被冒充,假服务器在中间发送假的公钥,客户端以为自己在和服务器对称加密通信,实际是和假的服务器对称加密通信。

解决办法就是服务器身份验证,具体如下:

  • 为了验证服务器的身份(或者说是安全传输服务器的公钥),解决方法是申请一个服务器的数字证书
  • 数字证书是服务器去权威机构(CA)申请的,包含的是用权威机构的私钥加密的两个信息:服务器的公钥,数字签名(对证书内容用Hash函数,生成证书摘要,再用权威机构的私钥加密)。这个数字证书只有权威机构的公钥才能解开
  • 这样服务器不直接给客户端发服务器的公钥,而是发服务器的数字证书
  • 客户端收到服务器的数字证书,就用权威机构的公钥(正规的浏览器提供)解开,得到服务器的公钥和数字签名。(这里能用权威机构的公钥解密,说明这个证书的确来自权威机构)
  • 客户端用权威机构的私钥解开数字签名,得到证书摘要H1,再用Hash函数自己生成一次证书摘要H2,如果H1等于H2,说明数字证书没有被篡改过(如果数字证书被篡改了,篡改者必须对应的修改数字签名,但篡改者没有权威机构的私钥,无法生成对应的数字签名,导致H1不等于H2)
  • 证书没有被篡改的基础上,客户端检查证书上的使用者的URL和我们请求的URL是否相等,如果相等,那么就可以证明这个证书的确来自我们请求的服务器。
  • 这样证明了证书的确来自权威机构+证书没有被篡改+证书的来源可信,那么里面的服务器的公钥就一定是可信的

相关文章

  • HTTP面试题都在这里

    HTTP常见面试题 Http与Https的区别: Http与Https的区别: HTTP 的URL 以http:/...

  • HTTP与HTTPS区别

    HTTP协议缺点:不校验请求方的身份信息不对报文做加密处理(对通信内容可以加密,但是需要服务器有相应解密操作)不校...

  • http与https区别

    https协议需要到ca申请证书,一般免费证书很少,需要交费。http是超文本传输协议,信息是明文传输,https...

  • http与https区别

    1.URL不同 2.http明文,https加密 3.http效率高,https需要生成秘钥 4.https需要证...

  • Http与Https区别

    1、区别: 1.1 概念 Https是一种通过计算机网络进行安全通信的传输协议。Https经由Http进行通信,利...

  • http与https区别

    HTTP属于超文本传输协议,而HTTPS为安全超文本传输协议,在HTTP基础上拥有更强的安全性,简而言之,HTT...

  • http与https区别

    HTTP 超文本传输协议目的是保证客户机与服务器之间的通信。HTTP 的工作方式是客户机与服务器之间的请求-应答协...

  • http与https区别

    1加密 https是加密的,更安全 2端口 http是80,https是443 3速度 http页面响应速度更快,...

  • http与https的区别?

    A:安全性上的区别:HTTPS是HTTP协议的安全加强版,通过在HTTP上建立加密层,对传输数据进行加密。主要作用...

  • HTTP与HTTPS的区别

    一.HTTP和HTTPS的基本概念 HTTP(超文本传输协议):是互联网上应用最为广泛的一种网络协议,是一个客户端...

网友评论

      本文标题:HTTP 与 HTTPS 的区别

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