HTTPS 是在应用层的 HTTP 协议和传输层TCP之间加入了SSL/TLS安全协议,使得原本明文传输的 HTTP 协议具有了保密,校验,认证的安全功能。

tips:在SSL更新到3.0时,IETF对SSL3.0进行了标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0(Transport Layer Security 安全传输层协议),可以说TLS就是SSL的新版本3.1。

显而易见,https比http更加安全,那这种安全是怎么实现的呢?
先了解一下加密算法,对称加密和非对称加密。

对称加密

加密和解密都是使用的同一种**。
优点:算法公开、计算量小、加密速度快、加密效率高,适合加密比较大的数据。
缺点:交易双方需要使用相同的**,也就无法避免**的传输,而**在传输过程中无法保证不被截获,因此对称加密的安全性得不到保证。

非对称加密

加密和解密需要使用两个不同的**:公钥(public key)和私钥(private key)。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对**并将其中的一把作为公钥对外公开;得到该公钥的乙方使用公钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的私钥对加密后的信息进行解密。
常用的非对称加密算法是 RSA 算法,其优缺点如下:
优点:算法公开,加密和解密使用不同的钥匙,私钥不需要通过网络进行传输,安全性很高。
缺点:计算量比较大,加密和解密速度相比对称加密慢很多。

HTTPS 原理解析

1、客户端请求 HTTPS 网址,然后连接到 server 的 443 端口(HTTPS 默认端口,类似于 HTTP 的 80 端口)。
2、服务器响应请求,会携带数据证书(包含公钥A)返回,自已留下私钥B。
3、客户端解析证书,验证合法性,不合法,提示https警告;合法,取出公钥A,生成随机码KEY,并对随机码KEY进行加密,发送给服务器。
4、服务器收到随机码KEY,用私钥B解密,用解密得到的随机码KEY,对传输数据进行对称加密。
5、客户端收到数据,用之前生成的随机码KEY对数据进行解密。
说一下https
总结一下,这个过程就是用非称加密传输随机码KEY,再用随机码KEY作为**对数据进行对称加密的传输。一句话概括就是,用非称加密传输对称加密中需要用的**,再进行数据传输。

虽然https的安全性很高,但是也有一些缺点,如页面加载时间延长,证书需要花钱。详细如下:

缺点

1、页面加载时长
https握手阶段比较费时,会使页面加载时间延长50%,增加10%~20%的耗电。
2、成本所需较高
https缓存不如http高效,会增加数据开销;需要更多的服务器资源,也会导致成本的升高。
SSL证书也需要钱,功能越强大的证书费用越高。
SSL证书需要绑定IP,不能在同一个IP上绑定多个域名。

相关文章:

  • 2022-01-15
  • 2021-07-21
  • 2022-01-03
  • 2021-07-20
  • 2021-08-02
  • 2021-09-06
  • 2021-09-08
猜你喜欢
  • 2021-12-29
  • 2021-05-16
  • 2021-09-28
  • 2021-12-03
  • 2021-04-20
  • 2021-12-18
  • 2022-02-15
相关资源
相似解决方案