vlambda博客
学习文章列表

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

立即加星标,第一时间看好文

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

当网站安装SSL证书后,建立连接的过程会发生改变,安全性大幅提高,其原理就是利用非对称加密传输会话密钥,再通过会话密钥加密客户端与服务器之间传输的数据。为什么不直接使用公钥加密数据,而是先用公钥加密会话密钥,再通过会话密钥加密数据呢?

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

先来看看什么是公钥加密数据:
公钥加密,也叫非对称(密钥)加密(public key encryption),属于通信科技下的网络安全二级学科,指的是由对应的一对唯一性密钥(即公开密钥和私有密钥)组成的加密方法。它解决了密钥的发布和管理问题,是商业密码的核心。在公钥加密体制中,没有公开的是私钥,公开的是公钥。
再来看看网站安装SSL证书后,客户端与服务器建立连接的过程:
客户端提交https请求
服务器响应请求,把证书公钥发给客户端
客户端验证证书公钥的有效性
验证通过后,生成一个会话密钥
使用SSL证书的公钥,加密该会话密钥,并发送给服务器
服务器收到加密数据后,使用私钥解密,得到会话密钥
客户端与服务器利用该会话密钥,加密要传输的数据,进行通信

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

TLS/SSL(传输层安全性/安全套接字层)是一种安全协议,可用于促进网络上的加密通信。对于计划实施绝对数据安全框架的任何网站,它都是至关重要的安全层。它使用公钥加密,也称为非对称加密。安全协议使用公钥和私钥(PKI)来利用灵活的加密方案。

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

当客户端成功验证了SSL证书公钥的有效性后,便可以直接通过该公钥加密数据,与服务器传输数据,为什么还需要多出很多步骤出来呢?其实主要是为了解决速率太慢的问题。RSA公钥算法的签名算法、验证算法耗时以及每秒所能完成的计算量,普通电脑完成一次签名操作需要4.097毫秒,也就是说一秒钟可以完成的加密了为244.1*2048=499916.8bit/second=499.917kbps。如此慢的速率,用户肯定无法接受。从另一方面说,不使用公钥直接加密数据,也是为了安全考虑。假如直接使用公钥加密,一旦服务器私钥被获取,那么所有通信内容都将被解密,如果公钥加密的是会话密钥,即便私钥被获取,由于通信内容是采用会话密钥进行加密的,第三方也无法解密数据。

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

点分享

网站安装SSL证书,利用非对称加密传输会话密钥,为什么不直接使用公钥加密数据?

点收藏

点点赞

点在看