您的位置  > 互联网

利用非对称加密传输SSL证书实现安全性大幅提高!

当网站安装SSL证书后,建立连接的流程将发生改变,安全性将大大提高。 其原理是使用非对称加密传输会话密钥,然后使用会话密钥对客户端和服务器之间传输的数据进行加密。

问题是,为什么不直接使用公钥加密数据,而是先使用公钥加密会话密钥,然后再使用会话密钥加密数据呢? 这不是多余的和没有必要的吗?

我们先来看看网站安装SSL证书后客户端与服务器建立连接的过程。

客户端提交https请求,服务器响应该请求并将证书公钥发送给客户端。 客户端验证证书公钥的有效性后,使用SSL证书的公钥生成会话密钥,并对会话密钥进行加密,并发送给服务器,服务器收到加密数据后,使用私钥进行解密它并获取会话密钥。 客户端和服务器使用会话密钥对要传输的数据进行加密并进行通信。

客户端成功验证SSL证书公钥的有效性后,可以直接通过公钥加密数据并将数据传输到服务器。 为什么还需要很多步骤?

其实这主要是为了解决速度太慢的问题。

RSA公钥算法的签名算法、验证算法耗时以及每秒可以完成的计算量如下:

我们以 RSA 2048 为例。 普通计算机完成一次签名操作需要4.097毫秒,也就是说一秒可以完成的加密是244.1*2048=.8bit/=499。

如此慢的速度对于用户来说肯定是无法接受的。

非对称加密虽然安全性高,但速度慢是一个致命的缺点。

对称加密则恰恰相反。 虽然安全性较差,但速度较高。

SSL证书的智慧就体现在这里。 首先,利用非对称加密的高安全性来传输AES对称加密密钥。 服务器解密后,通信双方就得到了会话密钥。 由于此会话密钥是通过非对称算法 RSA 加密的,因此不会被第三方监控或窃取。

之后就放弃了速度非常困难的非对称加密,直接使用对称加密算法进行通信。

我们可以举一个更容易理解的例子。

A和B在两个不同的地方。 他们要互相运输贵重的货物,运输过程中必须保证货物的安全。

他们现在有两种交通方式可供选择,一种是飞机,另一种是卡车。

A和B所在的地方很奇怪。 陆路运输公司都会配备专门的保安人员,但航空运输没有,所以劫持事件经常发生,陆路运输更安全。

无奈之下,A、B只能选择陆路交通,但随着时间的推移,他们发现这样效率太低了。 经调查发现,只要飞机遵循特定航线,就不会发生劫机事件。

于是,B想到了一个好办法,用陆路运输的方式将路线图运输给A。A知道路线后,双方都采用航空运输,这样既能保证速度,又能保证安全,一石二鸟。

另一方面,不使用公钥直接加密数据也是出于安全考虑。 如果直接使用公钥加密,一旦获得服务器私钥,所有通信内容都将被解密,极其不安全。

如果公钥对会话密钥进行加密,则即使获得了私钥,由于通信内容是使用会话密钥加密的,因此第三方无法解密该数据。

原文链接: