为什么HTTPS使用的混合加密

说起 HTTPS 现在各个网站、接口都在使用,那么为什么要使用 HTTPS 和 HTTPS 为什么要使用混合加密方式呢?这样就得从加密算法上说起。

使用 HTTP 协议存在信息窃听或身份伪造等安全问题,因为 HTTP 在数据传输过程中都是明文的,使用 HTTPS 通信机制可以有效的防止这些问题。

一、加密算法

加密算法可以分为两类:对称加密和非对称加密。

  1. 对称加密

密钥只有一个,加密解密为同⼀个密码,且加解密速度快,典型的对称加密算法有 DES、AES等;利用这种加密方式加密时必须要把密钥也发送给对方,密钥在传输过程中如果被截获,那么也就失去了加密的意义。所以从安全方面来讲,对称加密还是存在一定的风险。

  1. 非对称加密

密钥成对出现且根据公钥⽆法推知私钥,根据私钥也⽆法推知公钥,加密解密使⽤不同密钥,公钥加密需要私钥解密,私钥加密需要公钥解密,相对对称加密速度慢,典型的⾮对称加密算法有 RSA、DSA等。

非对称加密很好的解决了对称加密的不足之处。非对称加密使用一对非对称的密钥。一个叫做私有密钥(private key),另一个叫做公开密钥(public key)。私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得。

使用非对称加密方式,发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密。利用这种方式,不需要发送用来解密的私有密钥,也不必担心密钥被攻击者窃听而盗走。

二、HTTPS的加密方式

HTTPS = HTTP + 加密 + 认证 + 完整性保护。HTTP 加上加密处理和认证以及完整性保护后即是 HTTPS。HTTPS 采用混合加密的方式,即同时采用了对称加密和非对称加密。

非对称加密虽然比对称加密更安全,但其不足之处就是加解密需要耗费更长的时间。所以 HTTPS 综合了两者的优势,在交换密钥环节使用了非对称加密方式,之后建立通信交换报文阶段则使用了对称加密方式

从上图我们可以看到,客户端和服务器先使用非对称加密,服务器将公钥返回给客户端,客户端在拿到服务端的公钥后,通过公钥对key进行加密后发送给服务器,服务器再使用它的私钥进行解密后得到key。这个key只有服务器才能拿到。随后客户端和服务端建立连接进行通信,为了提高通信效率,使用对称加密进行,密钥就是之前拿到的key。

HTTPS 正好综合了这两种加密算法的优点,不仅保证了通信安全,还保证了数据传输效率。

参考资料:

https://www.jianshu.com/p/dc4e1d72e825

原文作者: dgb8901,yinxing

原文链接: https://www.itwork.club/2022/05/27/why-did-https-use-mixed-encryption-algorithm/

版权声明: 转载请注明出处

为您推荐

体验小程序「简易记账」

关注公众号「特想学英语」

前端知识点怎么记