[应用]SSL/TLS证书应该采用ECC加密算法了

版主: 丁程

回复
头像
丁程
论坛版主
论坛版主
帖子: 262
注册时间: 周四 1月 12, 2017 9:32 pm

[应用]SSL/TLS证书应该采用ECC加密算法了

帖子 丁程 » 周五 8月 02, 2019 12:20 pm

  在我们公司,很多网站应用程序,都强制性使用SSL加密以保证数据的完整性,安全性,那么在HTTPS协议兴起的今天,应该使用默认的RSA 2048证书还是ECC证书呢?答案肯定是后者。下面我们来详细为大家讲解一下两者的兼容性和区别。
1554948275575622.jpg
RSA&ECC
  服务器对ECC的支持可能是不同的。以下是主流操作系统对ECC的具体支持情况:

  操作系统 最低版本要求

代码: 全选

Apple OS X	OS X 10.6
Microsoft Windows	Windows Vista
Red Hat Enterprise Linux	6.5
IOS	IOS 7.x
Android OS	3.x
Microsoft Windows Phone	7.x
  以下是4个最流行的浏览器兼容ECC的情况:

浏览器 最低版本要求

代码: 全选

Apple Safari	4
Google Chrome	1.0
Microsoft Internet Explorer	7
Mozilla Firefox	2.0
的确,Windows XP 用户和古董级设备可能无法兼顾对ECC的支持,这就完美的过渡到我们下一个观点。

头像
丁程
论坛版主
论坛版主
帖子: 262
注册时间: 周四 1月 12, 2017 9:32 pm

Re: [应用]SSL/TLS证书应该采用ECC加密算法了

帖子 丁程 » 周五 8月 02, 2019 12:25 pm

ECC证书的几大优势
▶ ECC密钥更短,意味着ECC将占用更少的资源却有更高的性能;

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

▶ ECC并不太容易受到量子计算机的安全威胁,这是很重要的一点。
  椭圆曲线加密101

  很久以前,Vincent Lynch(现就职于DigiCert)写了一篇关于ECC的优秀总结,旨在五分钟内告诉你需要知道的一切。如果你能抽出时间,我强烈推荐它。以下是缩减版:椭圆曲线密码学顾名思义,是一种利用椭圆曲线的数学原理进行加密的方式。感觉有点儿抽象,我之前提到过这一点,这也是我所指的部分。我们从什么是x轴开始。你可能会笑出声,但这对理解ECC非常重要。椭圆曲线的每一点都通过x轴上映射。

  RSA密钥很笨重。行业标准是2048位,而一些组织选择使用更长的密钥。还有一个主要的缺点:由于密钥的大小影响RSA加密所需的计算资源,密钥越大,所需资源越多,这可能导致您的网站性能滞后。当讨论RSA的扩展性问题时,我们会对此做更深入地讨论,但对RSA来说,更大的问题是密钥大小与它的安全性不相称。随着密钥长度的增长,安全性的强度不会以相同的程度提高。
1554948275575623.jpg
椭圆曲线加密101
1554948275575623.jpg (10.77 KiB) 查看 49 次
  相比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的部分,我们将在今年春天晚些时候更深入地讨论它。

  目前很多数字证书颁发机构CA,都已经支持ECC证书的申请,配置好的网站可以到 ssllabs 检测SSL是否正常。

头像
歌源
闻弦雅士
闻弦雅士
帖子: 110
注册时间: 周日 1月 22, 2017 11:02 am

Re: [应用]SSL/TLS证书应该采用ECC加密算法了

帖子 歌源 » 周六 8月 03, 2019 9:01 am

不知道为什么部署了let's encrypt的证书,windows 7 64bit下会变成1024的rsa公钥

头像
李兴建
论坛版主
论坛版主
帖子: 221
注册时间: 周六 1月 14, 2017 9:31 am

Re: [应用]SSL/TLS证书应该采用ECC加密算法了

帖子 李兴建 » 周六 8月 03, 2019 4:50 pm

歌源 写了:
周六 8月 03, 2019 9:01 am
不知道为什么部署了let's encrypt的证书,windows 7 64bit下会变成1024的rsa公钥
这就是证书更新之后的降级了

小华芝
逍遥游侠
逍遥游侠
帖子: 46
注册时间: 周日 1月 29, 2017 2:54 pm

Re: [应用]SSL/TLS证书应该采用ECC加密算法了

帖子 小华芝 » 周日 8月 04, 2019 10:00 am

密钥短,而且不可逆运算,的确是个好东东

BennieFef
VIP贵宾
VIP贵宾
帖子: 4
注册时间: 周三 5月 01, 2019 11:59 pm

Re: [应用]SSL/TLS证书应该采用ECC加密算法了

帖子 BennieFef » 周一 8月 05, 2019 9:37 pm

所以还是ECC证书棒

回复