HTTPS

作者: 晴天的晴q | 来源:发表于2019-02-20 12:52 被阅读202次

简单来说,HTTPS 就是套在 SSL/TLS 内的 HTTP,也就是安全的 HTTP。那么,何为安全?一个安全的网络通信环境要解决三个问题:

1. 通信内容的保密性

2. 通信双方身份的真实性

3. 通信内容的完整性

HTTPS 就是为了解决这三大问题而诞生的。

通信内容的保密性

首先,理解 HTTPS 中的加解密、秘钥、公钥、私钥、对称加密、非对称加密。

简单来说,加解密就是一个函数,而秘钥则就是这个函数的参数。比如定义一个简单的加密函数,f(x) = x + b,x 就是输入的明文,而 b 就是秘钥;解密函数就是加密函数的反函数,也就是 g(x) = x - b。当不知道 b 的时候,就算看到密文也猜不出真实内容,这样就实现加解密。这种加解密都用同一个秘钥,就叫做对称加密。

在真实网络环境中,通信双方不可能进行直接沟通来定义秘钥 b,所以这就需要用到非对称加密算法了,这种算法有公钥和私钥一对钥匙,公钥是所有人都能获取到的钥匙,私钥则是服务器私自保存的钥匙。非对称加密算法中公钥加密的内容只能用私钥解密,私钥加密的内容则只有公钥才能解密。

非对称加密算法实现信息交换的基本过程:甲方生成一对秘钥并将其中的一把作为公用秘钥(公钥)向其他方公开;得到该公用秘钥的乙方使用该秘钥对信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用秘钥(私钥)对加密后的信息进行解密。

对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个秘钥来进行加密和解密,这两个秘钥就是公开密钥(公钥)和私有秘钥(私钥)。

如果甲方也想要回应乙方消息呢?如果甲方用私钥来进行信息加密,所有人都知道公钥,而公钥可以解私钥的加密,也就意味着所有人都可以解密甲方回应的信息。解决方案:利用非对称加密算法加密出一个对称秘钥给甲方,甲方用他的私钥读取对称秘钥,然后就可以用对称秘钥来做对称加密,双方便可以愉快的通信啦。

通信双方身份的真实性

证书机制可以判定通信双方的真实性。证书机制是链式颁发的,HTTPS 体系中所谓的根 CA 就是最权威的机构。在 HTTPS 证书体系里面,根证书是操作系统/浏览器自带的,我们可以相信这些机构认证的证书。

判定证书真假具体来说就是先将证书用哈希算法提取摘要,然后对摘要进行加密的过程。(注意:证书是有期限的,所以即使是真证书也可能会过期)

通信内容的完整性

先用哈希算法提取内容摘要,然后对摘要进行加密生成数字签名,验证数字签名就可以判断出通信内容的完整性了。

以上便是 HTTPS 用到技术的简化版,结合起来一个 HTTPS 通信流程如下:

大体步骤:

1. 客户端发送 Client Hello 报文开始 SSL 通信,报文中包含 SSL 版本、可用算法列表、秘钥长度等。

2. 服务器支持 SSL 通信时,会以 Server Hello 报文作为报答,报文中同样包括 SSL 版本以及加密算法配置,也就是协商加解密算法。

3. 然后服务器会发送 Certificate 报文,也就是将证书发送给客户端。

4. 客户端发送 Client Key Exchange 报文,使用3中的证书公钥加密 Pre-master secret 随机密码串,后续就以这个密码来做对称加密进行通信。

5. 服务器使用私钥解密成功后返回一个响应提示 SSL 通信环境已经搭建好了。

6. 然后就是常规的 HTTP C/S 通信。

根据前文所述,步骤3和步骤6都会使用摘要和签名算法来保证传递的证书和通信不被篡改。通过这个流程可以看出,HTTPS 的核心在于加密,尤其是非对称加密算法被多次使用来传送关键信息。

参考:https时代来了,你却还一无所知? - 知乎

相关文章

  • 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/kzncyqtx.html