非对称加密和对称加密是SSL证书中两种不同的加密方法,每种方法在SSL生态系统中都有位置,下面主要讲解两者之间的区别。
通过标准的HTTP连接,通信是不安全的,这意味着任何感兴趣的第三方都可以拦截甚至操纵正在传输的数据。安装SSL证书后,网站可以迁移到HTTPS(HTTP的安全版本)。通过HTTPS建立连接时,将对其进行加密。但是,当我们提到加密时,我们指的是两种非常不同的加密样式:非对称加密和对称加密。
SSL握手期间的非对称加密
当您访问安装了SSL证书的网站时,浏览器要做的第一件事就是对安装证书的服务器执行称为SSL握手的操作。
此SSL握手过程是浏览器检查SSL证书的有效性并协商加密连接的条款的过程。SSL握手因为它需要许多步骤和检查,所有这些步骤和检查都需要数毫秒的时间。
在浏览器检查以确保证书是由受信任的CA颁发的,仍处于其有效期且尚未吊销之后,它会确保所讨论的证书是其相应公钥的合法所有者。
您可能听说过公钥/私钥。在配对中,私钥通常会得到更多识别,您可能已经看到它们宣传为2048位签名密钥。这是指与密钥关联的安全性数量(在这种情况下为2048位)。
公钥/私钥是非对称加密的一个示例。公钥能够加密,而私钥能够解密。使用非对称加密,通信只能以一种方式进行。
为了进行SSL握手,浏览器使用非对称加密来验证公钥/私钥对,并通过扩展证书本身。为了做到这一点,浏览器将使用现成的公共密钥来加密少量的一次性数据。如果服务器能够解密该数据并将其以纯文本格式发送回去,则表明它的私钥与公钥相对应。
现在,浏览器和服务器可以开始其加密连接。
会话密钥形式的对称加密
在SSL握手过程中使用非对称加密作为一种验证方法之后,浏览器和服务器会协商加密连接的条款并交换所谓的会话密钥。
会话密钥促进了对称加密的形式,该对称加密用于在安全会话期间进行通信。私有密钥通常为2048位(或偶尔为4096或1024),而会话密钥往往更小,这也意味着安全性较低。但是,这不是应该使您感到震惊的事情。即使使用128/256位,会话密钥仍需要专用的超级计算机连续工作数年,才能破解其加密。或者换一种说法,会话密钥仍然很安全。
大小差异的原因仅仅是速度和性能。在某些情况下,使用2048位密钥可能更麻烦。128/256位强度仍然足够,但是可以提供更好的性能,这是加密连接期间的重要因素。
使用对称加密,密钥可以执行两种功能:它们可以加密和解密。这允许同时拥有相应会话密钥的客户端和服务器进行安全通信。毕竟,如果没有正确的密钥,那么任何人(无论多么复杂)都无法监视连接。
会话密钥在加密连接的整个持续时间内保持活动状态。在连接结束时,将丢弃密钥,并在下次访问时生成新密钥。这很简单,但是很有效。
综上,对称和非对称加密以不同的方式起作用,虽然一种形式允许双方进行加密和解密,但另一种形式则促进了更为单边的通信形式。
两者都是SSL不可或缺的部分。非对称加密有助于在SSL握手期间验证公钥/私钥对的所有权,而对称加密是在安全连接期间实际通信的方法。