有人在生产中使用基于 Nvidia CUDA 的 SSL/AES 加速解决方案吗?我对 SSL 卸载和 AES 加密/解密加速很感兴趣。
我发现很少有像 engine-cuda 这样的开源解决方案。基准相当令人印象深刻。但我仍然怀疑它在实际生产系统中是否有用。
可能的缺点是:
- 第三方开源解决方案还不够成熟,无法用于生产
- 它不如合成测试那么有效
- 它是否容易与脚本语言集成,否则我将被迫分叉 openssl
有人在生产中使用基于 Nvidia CUDA 的 SSL/AES 加速解决方案吗?我对 SSL 卸载和 AES 加密/解密加速很感兴趣。
我发现很少有像 engine-cuda 这样的开源解决方案。基准相当令人印象深刻。但我仍然怀疑它在实际生产系统中是否有用。
可能的缺点是:
我不使用 CUDA 进行加速,但我不认为 AES 是您应该在 SSL 中优化的算法。AES 被设计为在软件方面非常高效,最新的英特尔处理器甚至具有专门的指令,可以完全在硬件中执行一整轮 AES。
此外,最近的一些攻击还促使许多站点将首选密码套件从 AES 切换到 RC4,而 RC4 的软件速度甚至更快。
在 SSL 中,历史上最耗时的操作一直是服务器在初始握手期间和大多数密码套件中必须执行的 RSA 私钥解密。这就是导致 90 年代后期在市场上出现如此多用于电子商务网站的硬件加速器的原因之一。软件中的 RSA 解密速度非常慢,这限制了每个网站可以承受的负载,即每秒 TCP/SSL 连接的数量。
据我所知,已经有一些关于这个话题的学术研究。GPU 可以有效地加速 RSA(或者更准确地说,是大整数的模幂运算),但速度并不快。此外,延迟也可能是一个问题,具体取决于您拥有的显卡型号。不过,我找不到太多用于在 GPU 中执行 RSA 的开源软件,更不用说任何集成到 SSL 堆栈(如 openssl)的软件了。
有证据表明,严重的加密不应该使用英特尔和威盛芯片提出的硬件加密指令。在斯诺登泄密之后,此类硬件生成的随机数可能会减少熵,因此不像声称的那样安全!欲了解更多信息:http ://bit.ly/IDkRVq