细数非对称加密与对称加密的区别
有两种加密方法常常在SSL生态系统中被提及——非对称加密与对称加密。
SSL握手期间的非对称加密
当你浏览一个使用SSL证书的网站时,你浏览器做的第一件事就是和带着证书的服务器实行SSL握手。
这个SSL握手是浏览器查看SSL证书有效性和磋商加密链接细节的关键一环。这一过程在几毫秒的时间里完成。
浏览器确定证书签发自可信CA、依旧有效且没有被撤回后,还要确保有问题的证书是其相应公钥的合法所有者。
你可能听说过公钥私钥。公钥更易识别,常见的有2048位签名**。数字越大,**越复杂。
公钥私钥是非对称加密的典型例子。公钥负责加密,私钥负责解密。使用非对称加密,连接方式只有一条路。
浏览器使用非对称加密来验证公私钥对,以及扩展证书本身。为此,浏览器将使用随时可用的公钥来加密一小撮一次性数据。 如果服务器能够解密这个数据并以明文形式发回,那么它证明了它的私钥对应于公钥。
至此,浏览器和服务器可以开始他们的加密链接了。
对话**形式的对称加密
在SSL握手期间使用非对称加密作为一种验证方法之后,浏览器和服务器协商加密连接的条款并交换所谓的会话**。
会话**提供了一种在安全会话期间用于通信的对称加密形式。 而私钥通常是2048位(偶尔有4096或1024),会话**往往较小,这也意味着不太安全。
但不用担心,即使在128/256位,会话**仍然需要专用超级计算机工作多年,才能加密可能被**。 换句话说,会话**仍然非常安全。
究其原因,大小差异仅仅是速度和性能。 在某些情况下,2048位**可能更繁琐。 128/256-bit的强度仍然足够,但是在加密连接期间允许更好的性能,这是一个重要的因素。
使用对称加密,**可以执行两种功能:既可以加密,也可以解密。 这使得拥有相应会话**的客户端和服务器能够安全地进行通信。 毕竟,没有正确的钥匙,没有人可以监视这个连接,不管第三方,无论多么复杂 。
会话**在加密连接的整个持续时间内保持活动状态。 在连接结束时**被丢弃,并且在下一次访问时生成新的**。 这很简单,但相当有效。
如你所见,对称或非对称**的运作方式不同,一种允许双方进行加密和解密,另一种则是单方面通信。但两者都是SSL的组成部分。非对称加密有助于在SSL握手期间验证公钥/私钥对的所有权,而对称加密是在安全连接期间用于实际通信的方法。