我有一个关于在SSL/TLS中ECC (椭圆曲线密码学)密码套件的性能好处(从服务器端CPU负载方面)的问题。
众所周知,ECC的性能非常好,它提供了一个很好的“安全/密钥长度”比率。
但是在SSL/TLS会话中,ECC kan可用于两种情况:
因此,我想知道:您是否需要“完整”ECC包(ECDHE + ECDSA = ECC密钥建立+ ECC服务器证书)才能通过SSL获得实质性的性能增益,还是ECDHE (ECC密钥建立)已经提供了可能的性能增益的最大部分?
或者,为了使这个问题不那么抽象,让我们考虑3个SSL密码套件:
( a)非ECC密码套件: TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (DHE-RSA-SHA256).这里根本不使用ECC。
( b)部分ECC密码套件: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (ECDHE-RSA-美学256-SHA 384)。这里ECC用于DH密钥建立,RSA用于服务器身份验证(RSA服务器证书)。
( c)完整的ECC密码套件: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (ECDHE-ECDSA-美学256-SHA 384)。这里,ECC用于DH密钥建立和服务器身份验证(ECC服务器证书)。
我假设场景C比场景B更好(从性能上讲),而场景B又比场景A更好,但是:场景B究竟将定位在哪里?
如果场景A= 1% (性能差:服务器CPU负载高)和场景C= 100% (良好性能:低服务器CPU负载),那么使用场景B: 10%、50%、90%可以达到多远?
我希望这个问题是明确的,有人知道答案,或者告诉我一些关于这个问题的文件。
提前感谢!
伯特
发布于 2017-02-10 15:43:49
很难给出准确的百分比,因为性能取决于硬件平台。但让我们谈谈这个问题吧。
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384和TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384的唯一区别是签名算法。
无论如何,要执行ECDHE,必须动态生成ECC密钥对。然后,将使用证书私钥对此密钥对进行签名。如果证书包含RSA公钥,则生成的ECC公钥将使用RSA签名。否则(即,如果它包含ECDSA公钥),它将使用ECDSA进行签名。还请注意,必须在生成自己签名的基础上验证对等签名。
因此,您的问题相当于将RSA与ECDSA进行比较,我建议您查看一下RSA和ECDSA在签名性能上有何不同?和签名: RSA与ECDSA相比。
https://crypto.stackexchange.com/questions/43771
复制相似问题