椭圆曲线密码技术详解
公钥基础设施(PKI)依赖公钥、私钥两类不同的加密密钥完成数据加密与解密。这类复杂算法通过数学公式生成具备唯一数字身份的数字证书,以此保障信息安全。
椭圆曲线密码(Elliptic Curve Cryptography,ECC)是生成上述密钥对的方法之一,已被证实是保障数据安全的有效途径。美国国家标准与技术研究院(NIST)已将 ECC 列为安全密钥交换的推荐算法,制定了对应的数字签名标准,数字签名标准.
ECC 密钥长度更短、算力需求更低,这一特性对嵌入式系统(如移动设备、IoT 设备)场景,以及对加载速度有要求的场景具备重要价值。
什么是椭圆曲线密码?
顾名思义,椭圆曲线密码(ECC)是一类基于椭圆曲线理论、采用公私钥加密机制的密码技术,可生成体积更小、效率更高的安全加密密钥。
相较于目前用于保障传输中数据安全的 Rivest-Shamir-Adelman(RSA)公钥加密方法,ECC 密码技术的普及度正在持续提升。RSA 算法通过质数分解实现邮件或数据加密,而 ECC 密码技术则基于坐标系中相交轴点上的环线构造公钥。
这些曲线沿 x 轴对称,任意非垂直直线与曲线的交点不超过 3 个。用简化公式解释椭圆曲线密码,形式如下:
椭圆曲线方程
Y² = x³ + ax + b
该算法的优劣势
ECC 优势
ECC 密码技术普及度不断提升的原因之一是:在同等有效加密强度下,ECC 密钥本身的体积要小得多。举例来说,256 位的 ECC 密钥,安全级别等同于 3072 位的 RSA 密钥。此外,密钥长度与安全强度并非线性对应关系:若要达到与 521 位 ECC 密钥同等的加密强度,RSA 密钥长度需达到 15360 位。
基于 ECC 的系统相比其他方法可提供更高的安全级别,目前已被证实可抵御一定程度的量子计算攻击,量子计算,不过业内预计未来在某个时间点击破 ECC终会被破解。
更小的密钥体积让密钥生成、签名操作的速度大幅提升,可降低流程中产生的延迟。对于存储空间较小、算力不足以运行椭圆曲线算法的移动设备或 IoT 设备而言,这一特性同样十分重要。
ECC 还能加快 SSL/TLS 握手速度,更高效地完成网页数字证书的交换与校验。由于密钥体积更小,握手过程中需要往返传输的数据更少,可提升网站加载速度。一般情况下,ECC 证书占用的内存也更少,有助于提升网络性能。对于高流量站点而言,这是一项显著优势;由于对服务器算力的门槛要求更低,ECC 可实现更好的可扩展性——如果考虑到全球数十亿的终端设备规模,这一点尤为重要。
举例来说,处理 450 次请求时,RSA 证书的平均响应时间为 150 毫秒,而 ECC 处理同等规模请求仅需一半的时间。
ECC 劣势
不过,使用椭圆曲线密码学也存在一些弊端。其应用学习曲线更陡峭,集成复杂度也更高。这可能导致实施过程中出错率升高,进而影响可用性或安全性。索尼在为PlayStation游戏主机的软件签名时,因错误使用ECDSA(椭圆曲线数字签名算法)就基本属于这类问题:开发人员使用了静态参数而非随机密钥,使黑客能够破解该算法 进而破解私钥。
另一项潜在风险是侧信道攻击(SCA)。侧信道攻击通过监测并解读处理器“泄漏”的信息,从芯片或系统中提取密钥。这类攻击会探测芯片功耗、温度变化、处理器事件时序,甚至芯片发出的声音等侧信道信息。凭借这些信息,老练的侧信道攻击可以缩小密钥空间范围,让暴力破解变得可行。目前已存在针对这类攻击的防御措施,大致思路是引入一定的随机性或其他遮蔽手段,掩盖侧信道携带的信息。
针对ECC的另一类潜在攻击是扭曲安全攻击,也叫故障攻击。在这类攻击场景中,攻击者会提供一个数学上无效、不在任何ECC曲线上的公钥,这可能触发某个流程,让攻击者能够从连接的共享密钥中逆向推导出目标方的私钥。这类攻击也可以通过严格执行曲线和参数校验来缓解。
使用该方法
椭圆曲线密码学可通过更小、运算速度更快的密钥保障网站安全,在不牺牲安全性的前提下提升性能、降低延迟。不过,您如何实现和管理ECC算法,将在保护数字密钥方面发挥至关重要的作用。
Sectigo 提供全面的SSL 证书产品套件以及网络安全产品,保护您的企业与客户安全。我们还提供证书生命周期管理(CLM)平台,可针对任意设备、用户或应用的公网证书与私有证书,安全管理其数字身份。
了解更多关于 Sectigo 的信息 以及我们如何帮助您保护网站抵御安全威胁。