探索SSL密码学的幕后
作者:互联网
一、背景
SSL(安全套接字层)是一种标准的安全技术,用于在服务器和客户端之间建立加密链接,通常作用于Web服务器(网站)和浏览器,或邮件服务器和邮件客户端的信息加密。 网站通过安装SSL证书可以安全地传输×××号,手机号等敏感信息。
因此要建立安全连接,浏览器和服务器需要SSL证书。那么,SSL是如何实现数据加密的呢?以至于没有人可以破解它?接下来让我们一起去探索SSL加密幕后工作的技术。
SSL涵盖了非对称密钥和对称密钥以及它们如何协同工作创建SSL加密连接。SSL通过不同类型的算法,使它们形成几乎不可能破解的数学方程式。
二、非对称加密
非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公钥才能解密。加密和解密使用的是不同非对称加密(或公钥加密)单独进行加密和解密。任何人都可以使用加密密钥(公钥)来加密消息,但是,解密密钥(私钥)是机密的。这样,只有预期的接收者才能解密该消息,最常见的非对称加密算法是RSA。什么是RSA?后面会有解释。
非对称密钥通常为1024或2048位。但是,小于2048位的密钥不再被认为是安全的。2048位密钥是唯一足够的加密代码,虽然可以创建更大的密钥,但是会增加计算的负担,因此很少使用大于2048位的密钥。从破解的角度来看,普通计算机破解2048位SSL证书需要超过140亿年。
三、对称加密
对称加密(或预共享密钥加密)使用单个密钥来加密和解密数据。发送方和接收方都需要相同的密钥才能进行通信。
对称密钥大小通常为128或256位(密钥大小越大,密钥越难破解)。 例如,128位密钥具有340,282,366,920,938,463,463,374,607,431,768,211,456加密代码的可能性。 正如您可以想象的那样,“暴力***”(***者尝试每个可能的密钥,直到找到正确的密钥)将花费相当多的时间来破解。
是使用128位还是256位密钥取决于服务器和客户端软件的加密功能。 SSL证书不指定使用的密钥大小。
非对称密钥与对称密钥哪个更强?
由于非对称密钥大于对称密钥,因此非对称加密的数据比对称加密的数据更难破解。但是,这并不意味着非对称密钥更好。这些密钥不应通过它们的大小进行比较,而应通过“计算负担”和“易于分发”属性进行比较。
对称密钥小于非对称密钥,因此它们只需较少的计算负担。但是,对称密钥也有一个主要缺点,特别是使用它们来保护数据传输的时候。由于相同的密钥用于对称加密和解密,因此您和收件人都需要密钥。如果您告诉收件人钥匙,该问题就不存在。但是,如果您将密钥发送给世界各地的用户,这时候数据安全将不会得到保障。
而非对称加密没有这个问题,只要您保密私钥,任何人都无法解密您的邮件。您可以分发相应的公钥,而无需担心谁获得它。拥有公钥的任何人都可以加密数据,但只有拥有私钥的人才能对其进行解密。
SSL证书是如何使用非对称和对称加密?
公钥基础结构(PKI)是创建、管理、分发、使用、存储和撤销数字证书所需的一组硬件。SSL证书颁发机构(CA)通过PKI将密钥与用户身份绑定, PKI使用混合密码系统,并且可以使用这两种类型的加密。例如,服务器的SSL证书包含非对称公钥和对称私钥,服务器和浏览器在SSL握手期间创建的会话密钥是对称的。如图:
1. 服务器发送其非对称公钥的副本。
2. 浏览器创建对称会话密钥,并使用服务器的非对称公钥对其进行加密。然后将其发送到服务器。
3. 服务器使用其非对称私钥解密加密的会话密钥以获得对称会话密钥。
4. 服务器和浏览器使用对称会话密钥加密和解密所有传输的数据。这是被允许的安全通道,因为只有浏览器和服务器知道对称会话密钥,并且会话密钥仅用于该会话。 如果浏览器第二天要连接到同一服务器,则会创建一个新的会话密钥。
四、公钥加密算法
公钥加密(非对称)使用RSA和椭圆曲线加密(ECC)等加密算法来创建公钥和私钥。
通过非对称加密,可以轻松地生成公钥和私钥,使用公钥加密消息,以及使用私钥解密消息。但是,任何人都很难(或不可能)仅基于公钥导出私钥。
RSA
RSA基于假定的大于整数因子分解(整数分解)。在假设不存在用于整数分解的有效算法的情况下,认为RSA密文的完全解密是不可行的。
RSA的用户创建并发布两个大于质数的乘积以及辅助值作为其公钥。任何人都可以使用公钥来加密消息,但只有了解主要因素的人才能解码。
RSA代表Ron Rivest,Adi Shamir和Leonard Adleman-- 1977年首次公开描述该算法的人。
ECC
椭圆曲线密码学(ECC)依赖于有限域上椭圆曲线的代数结构。1985年,Neal Koblitz和Victor S. Miller独立地提出了在密码学中使用椭圆曲线; ECC算法于2004年投入使用。
ECC算法优于RSA的优点是密钥可以更小,从而提高了速度和安全性。 缺点在于并非所有服务和应用程序都可使用基于ECC的SSL证书。
五、预共享密钥加密算法
预共享密钥加密(对称)使用Twofish,AES或Blowfish等算法来创建目前最受欢迎的密钥-AES。 所有这些加密算法分为两种类型:流密码和分组密码。流密码将加密密钥和算法应用于数据流中的每个二进制数字,一次一位。 分组密码将加密密钥和算法作为一组应用于数据块(例如,64个连续位),分组密码是目前最常用的对称加密算法。
通过探索SSL密码学的幕后基本上可以看出SSL证书的加密系统是多么的强大,为网站安装SSL证书将成为未来互联网的一种趋势。安信SSL证书与Comodo、Symantec、Geotrust、thawte等全球知名CA合作面向国内用户提供SSL证书申请和安装服务。
标签:公钥,加密,解密,SSL,幕后,密钥,非对称,密码学 来源: https://blog.51cto.com/14127905/2376524