1554948275575622.jpg

ECC更轻、更快、更安全。

我们一直在谈论ECC,让我们诚实的讨论一下吧。ECC看起来有点抽象,这可能不利于提高它的采用率。目前发行的大多数SSL/TLS证书使用的都是RSA公钥加密。我们之所以知道是因为我们卖了很多。

据我所知,ECC的使用率低很大程度上归因于大众认为基于ECC的加密系统在用户的浏览器和操作系统上没有得到广泛支持。

然而,事实并非如此。

所以,我们将讨论对“ECC不被支持”的错误认为,然后我们将讨论ECC本身、它的优点,以及为什么应该在SSL/TLS证书中使用它。

让我们开始讨论吧!


所有现代的操作系统和浏览器都支持ECC

SSL/TLS行业一直受到不再适用的传统观点的束缚。从HTTPS速度较慢的观点,到网站不收集个人信息所以不需要SSL的谬论,无所不包。虽然在一段时期内所有这些观点都是真的(在一定程度上),但在当下情况大不一样了。这其中就包括了终端用户没有广泛地支持ECC

服务器对ECC的支持可能是不同的。以下是主流操作系统对ECC的具体支持情况:

操作系统最低版本要求
Apple OS XOS X 10.6
Microsoft WindowsWindows Vista
Red Hat Enterprise Linux6.5
IOSIOS 7.x
Android OS3.x
Microsoft Windows Phone7.x


以下是4个最流行的浏览器兼容ECC的情况:

浏览器最低版本要求
Apple Safari4
Google Chrome1.0
Microsoft Internet Explorer7
Mozilla Firefox2.0

的确,Windows XP 用户和古董级设备可能无法兼顾对ECC的支持,这就完美的过渡到我们下一个观点。


高瞻远瞩,不要留恋过去—不要把互操作性置于安全性之上

在过去的两个月里,我们详细介绍了针对RSA和许多过时的SSL/TLS部署的漏洞。共同的认知是,打着互操作性的名义继续支持老旧的、脆弱的加密系统和算法,会给企业招致不必要的风险。

相信我,我充分理解为什么需要互操作性。企业不愿将任何人拒之门外。但是,如果你继续遵循此想法,你就会错失享有ECC具有的几大优势。

 ECC密钥更短,意味着ECC将占用更少的资源却有更高的性能;

 ECC更易扩展,随着RSA密钥更长只会让SSL/TLS面临更多的麻烦。

 ECC并不太容易受到量子计算机的安全威胁,这是很重要的一点


椭圆曲线加密101

很久以前,Vincent Lynch(现就职于DigiCert)写了一篇关于ECC的优秀总结,旨在五分钟内告诉你需要知道的一切。如果你能抽出时间,我强烈推荐它。以下是缩减版:

椭圆曲线密码学顾名思义,是一种利用椭圆曲线的数学原理进行加密的方式。感觉有点儿抽象,我之前提到过这一点,这也是我所指的部分。

我们从什么是x轴开始。你可能会笑出声,但这对理解ECC非常重要。椭圆曲线的每一点都通过x轴上映射——即图上的水平线——这就是椭圆曲线对称性的来源。

1554948861811033.png

现在我们来讨论一下打点。画一条漂亮的椭圆曲线,通过在上面作图来解释我在说什么。在椭圆曲线上绘制A、B两个点,只有私钥的所有者知道。

1554948897193199.jpg

连接A、B两点绘制一条直线,直线会与椭圆曲线在第三个位置相交,相交的点是我们所关心的。以x轴为对称轴会将此象限中的点(下图中第一象限的点)映射到第四象限。你可以看到,连接AB,与椭圆曲线在第三个位置相交,相交的点以X轴为对称轴进行对称得到点C。

1554948949597933.jpg

现在重复一遍上面的操作,这次连接A、C两点绘制一条直线,在椭圆曲线上找到相交的点,以X轴为对称轴进行对称,绘制它的镜像点D。

1554949003681641.jpg

以上称为打点。而交点的数量,或者说点的数量,只有私钥持有者知道,不具备相关知识的人是不可能解密它的。

显然,这是一个公钥密码系统,用于密钥对称交换,类似于RSA。但它通过椭圆曲线生成密钥,而非使用质因数分解。两者都完成相同的任务,但是ECC有一些明显的优势。


ECC密钥更短

RSA密钥很笨重。行业标准是2048位,而一些组织选择使用更长的密钥。还有一个主要的缺点:由于密钥的大小影响RSA加密所需的计算资源,密钥越大,所需资源越多,这可能导致您的网站性能滞后。当讨论RSA的扩展性问题时,我们会对此做更深入地讨论,但对RSA来说,更大的问题是密钥大小与它的安全性不相称。随着密钥长度的增长,安全性的强度不会以相同的程度提高。

相比RSA, ECC密钥不仅更短,而且很难破解。举例来说:根据通用安全(Universal Security)的一项研究,计算机破解一个228位RSA密钥所消耗的能量大约足以烧开一茶匙水。破解同样大小的228位ECC密钥所需的能量将超过煮沸地球上所有水所需的能量。

差距显而易见。

以下是一份ECC密钥大小的具体情况,以及与它们安全性对等的RSA密钥的大小:

ECC密钥大小RSA密钥大小
160位1024位
224位2048位
256位3072位
384位7680位
521位15360位

需要关注的是,美国国家安全局(NSA)要求所有Top Secret文件和文档都必须使用384位ECC密钥加密。换作RSA,将是 7680位的RSA密钥,真的是相当笨重。

这很好地引出了我们下一论点。


ECC扩展性优于RSA

正如我们所提到的,从所需资源角度来说,RSA比ECC更昂贵。因式分解需要相当多的计算资源。现代加密技术面临的威胁越来越大,所需RSA密钥的长度也越来越大,它只会变得越来越昂贵。

同时,还有一个更紧迫的问题。特别是对大型公司和企业来说。当规模足够大时, 所有这些SSL/TLS握手的费用和所有解密都可能成为您网络的最大负担。这就是为什么许多企业卸载SSL作为整个SSL/TLS部署的一部分。通过将这些流程卸载到专用设备上,可以释放应用服务器上的资源,从而提高网站的整体性能。

现在让我们应用我们所知道的ECC和RSA的差别:与ECC密钥相比RSA密钥扩展性更差。随着威胁的增长,密钥长度需要更大,这将给网络造成越来越大的压力。另一方面,ECC扩展性好,所需资源少。

对于规模较小的公司来说,这可能不是什么大问题,但随着规模的不断扩大,它终将成为你需要关心的问题。ECC会解决你的烦恼。


ECC更好的抵抗量子计算的安全威胁

在我们开始之前,为防有人坚持认为:ECC在其最常见的迭代中并不具备抗量子性。它可以被Shor算法的修改版本破解。但是,有一种基于椭圆曲线的密码学展示出了前景:超奇异椭圆曲线同源密码术。

我们不打算讨论超奇异椭圆曲线和同源性图,因为量子计算目前还不可行,我也不是数学专业的学生。但SIDH,像其名称一样,相比竞争对手,它有两大优势:更短的密钥规模和完美的前向保密性。

简单介绍一下完美的前向保密性。很受隐私倡导者欢迎的一个属性,即使私钥被破解,它生成的会话密钥也不会受到损害。这在RSA中从技术上是可行的,但它需要寿命短的密钥,这就意味着需要定期的密钥旋转,如上所述,生成新的RSA密钥非常昂贵。而ECC密钥更短,容易旋转,很适合这种模型。

这是属于PFS的部分,我们将在今年春天晚些时候更深入地讨论它。



如何获得ECC SSL证书?

ECC SSL证书的获得与订购SSL证书一样简单。已知有CA厂商如DigiCert/Symantec证书支持ECC加密算法的证书签发。

最重要的是:ECC的成本并不比RSA高。无论从密钥大小,扩展性和长期有效性,它都是一个更好的密码系统。

1554949556594716.png

上图为使用MySSL在线检测SSL/TLS证书信息


目前,亚洲诚信提供了对 ECC/RSA 双算法证书的支持。由国际知名CA颁发机构DigiCert提供基础设施支撑,既能够为大多数的浏览器提供更快、更安全的体验;同时,也能够保障老旧的浏览器可以获取RSA证书,具有较好的兼容性,HTTPS访问性能获得大幅提升。




图文来源:【SSL中国】




1554949644203537.jpeg