飞鱼

恭喜你发现了一个菜鸡博主。

为什么要用 ECC 来替代 RSA证书

飞鱼 2020年03月01日 08:03:15

什么是 ECC 加密算法?

ECC 是 Elliptic Curve Cryptography 的缩写,即:椭圆曲线密码学

ECC 是一种基于椭圆曲线数学的公开密钥加密算法。椭圆曲线在密码学中的使用是在1985年由Neal Koblitz和Victor Miller分别独立提出的。ECC 的主要优势是在某些情况下它比其他的算法(比如RSA加密算法)使用更小的密钥并提供相当的或更高等级的安全。

ECC 与 RSA 的对比

关于这两种加密算法的对比,网上的信息一抓一大把。感兴趣的小伙伴,可以去看看相关文章。

总结下来就是:ECC 256位的加密等级已经相当于或强于 RSA 2048位。由于计算机算力的不断提升,未来大概在 2030年 2048位的 RSA 也将变得不再安全 。而 ECC 取代 RSA 只是时间的问题。


悄然间我们早已进入移动互联网的时代

以下数据来自 StatCounter



现在手机上网成了主流,更短的密钥也就意味着更快的速度。ECC的密钥更短,在客户端,尤其是移动设备上的体验,自然也更具优势。

与之对应的,在服务器这边ECC 的证书及密钥文件更小,同样的密钥交换机制下, ECC 所需的信息量要远小于 RSA。因此服务器的带宽、内存及CPU开销也更少


为什么很多网站仍在使用 RSA 证书?

个人觉得这应该是历史遗留问题。

首先,RSA 加密算法出现的更早,因此它所能够兼容的设备也更多,可靠性也更强。很多网站为了兼容所有的设备都选用了 RSA 证书。

其次,RSA 加密的数学原理更简单,更易于实现。在某些特定的环境下(例如企业内部),其加密解密速度也更快。


ECC 证书有什么缺点?

主要还是兼容性问题。

使用 ECC证书的网站将无法兼容 Windows XP 及 Android 2.3 以下的用户。虽然这类人群占比已经很小,但对于访问量较大的网站来说,还是需要考虑的部分。

如果你的网站流量不算太大,建议你使用 ECC证书就可以,这样能带来更好的性能和浏览体验。

毕竟还在使用 XP 或 Android 2.3 系统的用户,真的很稀有。

如果你的网站流量非常大,属于知乎、淘宝级别的,那还是建议用兼容性更好的 RSA。


当然,还有更完美的解决方案!

那就是使用ECC 和 RSA 双证书


最后,因为博主很懒,所以本站只配置了 ECC 证书。难道 XP 的用户会逛我的站?反正我是不信。


© 2020 飞鱼的博客