SSL证书(https)中的非对称加密与对称加密
有两种加密方法常常在SSL生态系统中被提及——非对称加密与对称加密。
对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用 0 来解密,不行的话就再用 1 解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率,
1976 年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。
当你浏览一个使用SSL证书的网站时,浏览器做的第一件事就是和带着证书的服务器实行SSL握手。 这个SSL握手是浏览器查看SSL证书有效性和磋商加密链接细节的关键一环。这一过程在几毫秒的时间里完成。 浏览器确定证书签发自可信CA(如GlobalSign)、依旧有效且没有被撤回后,还要确保有问题的证书是其相应公钥的合法所有者。 你可能听说过公钥私钥。公钥更易识别,常见的有 2048 位签名密钥。数字越大,密钥越复杂。 公钥私钥是非对称加密的典型例子。公钥负责加密,私钥负责解密。使用非对称加密,连接方式只有一条路。 浏览器使用非对称加密来验证公私钥对,以及扩展证书本身。为此,浏览器将使用随时可用的公钥来加密一小撮一次性数据。 如果服务器能够解密这个数据并以明文形式发回,那么它证明了它的私钥对应于公钥。 至此,浏览器和服务器可以开始他们的加密链接了。
在SSL握手期间使用非对称加密作为一种验证方法之后,浏览器和服务器协商加密连接的条款并交换会话密钥。 会话密钥提供了一种在安全会话期间用于通信的对称加密形式, 分为 40 位, 128 位, 256 位。 使用对称加密,密钥可以执行两种功能:既可以加密,也可以解密。 这使得拥有相应会话密钥的客户端和服务器能够安全地进行通信。 毕竟,没有正确的钥匙,没有人可以监视这个连接,不管第三方,无论多么复杂 。 会话密钥在加密连接的整个持续时间内保持活动状态。 在连接结束时密钥被丢弃,并且在下一次访问时生成新的密钥。 这很简单,但相当有效。 如你所见,对称或非对称密钥的运作方式不同,一种允许双方进行加密和解密,另一种则是单方面通信。但两者都是SSL的组成部分。非对称加密有助于在SSL握手期间验证公钥/私钥对的所有权,而对称加密是在安全连接期间用于实际通信的方法。 简而言之,就是SSL证书使用对称密钥加密算法和非对称密钥加密算法相结合的方法对网站进行加密,能够保证发送信息保密性。GlobalSign 提供的SSL证书支持 2048 位公钥以及最高 256 位的对称加密,是国内SSL证书的首选品牌。 (编辑:ASP站长网) |