【问题标题】:Hardware Acceleration for non-SSL based signing and encryption非基于 SSL 的签名和加密的硬件加速
【发布时间】:2010-09-16 17:30:40
【问题描述】:

我正在从事一个项目,该项目执行大量散列、签名以及非对称和对称加密。由于这些步骤对我们的性能和可用负载有重大影响,我想知道是否有基于硬件的解决方案来卸载工作。

我进行了一些冲浪以找出答案,我能找到的唯一项目是专用于基于 SSL 的通信。我需要一个更通用的解决方案,无论它发生在哪里,我都可以加快签名和加密的速度。

是否可以调整这些基于 SSL 的解决方案(也许只是营销,很容易在其他地方重复使用)?是否有一个很好的通用协处理器可以提供帮助?

我需要在基于 Windows Server 2008 的机器上使用它,但我对任何平台上的解决方案都感兴趣。

【问题讨论】:

    标签: windows encryption hardware hash signing


    【解决方案1】:

    如果您正在使用的算法是标准加密算法,例如 3DES 和 AES,那么肯定有可用的硬件。 Hifn 是最有名的,但Broadcom 也有几年前收购 BlueSteel 的一系列芯片。 nCipher 也有一系列加密产品,不过当我上次查看它们时(几年前),它们更关注于其安全的密钥管理硬件,而不是块算法的加速。

    即使是为 SSL 设计的卡片也可能对您有用,但您需要访问底层详细信息。 SSL 硬件的最大胜利是指数器和宽乘法器单元,这两者通常可以在我所知道的硬件中独立访问。如果您使用的是非对称加密算法,那么这两个单元也可能对您有用。

    您还应该检查是否有更高效的软件实施可用。例如,Dan Bernstein 和 Peter Schwabe published 在 2008 年 9 月发表了一篇关于为现代 CPU 优化 AES 的论文。软件实现已置于公共领域(即否认所有版权,随心所欲地使用它)。

    最后,未来的 AMD(可能还有 Intel)CPU 将包括 SSE5,它添加了对 AES 非常有用的指令。如果您能坚持到那时,您的下一次服务器升级可能会提供您需要的所有硬件支持。

    【讨论】:

      【解决方案2】:

      我不确定这会有多大帮助,但是我看到了一些关于使用图形硬件加速加密的论文

      Heres a quick google search

      祝你好运。

      【讨论】:

        【解决方案3】:

        有几家公司生产加密专用硬件。例如,我最近在一个应用程序中编写了对 nCipher 硬件设备的支持,该设备在卡上处理 AES(并支持许多其他加密算法)。它们并不便宜,但它们确实支持多种算法和操作模式。

        【讨论】:

          【解决方案4】:

          最流行的硬件加密引擎是VIA Padlock,包含在 C3、C7 和更高版本的处理器中。这些是低性能、低功耗;但(据说)在加密算法上轻松胜过 Core2。

          Linux 内核 2.6.16 及更高版本 include support 用于 RNG、MD5、SHA1/256、SSL、GPG 和其他标准事物。我不确定 ssh。

          您提到了非 SSL,因此您可能无法从现有代码中受益,但 Via 的网站有从用户空间使用它所需的文档。

          【讨论】:

            【解决方案5】:

            在windows上你想找到一个API支持MSCAPI、CAPING或PKCS#11的设备,第一个和最后一个都很常见,但是MSCAPI不支持硬件AES/3DES。

            nCipher(现在的 Thales)做几个盒子或 PCI/PCIe 卡,支持上述(并支持 openssl)并且还支持包括 Linux 和 Solaris 在内的其他平台,Safenet 也做类似的硬件,具有类似的平台支持。

            如果我刚开始我会选择 PKCS#11,那么您可以选择多种语言编写,包括 C 或 java。

            如果你想用 C#/.Net 编写,那么你可以使用 .Net 的 MSCAPI,或者你可以 PInvoke 到你的硬件的 PKCS#11 DLL。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-10
              • 1970-01-01
              • 2012-01-30
              • 1970-01-01
              相关资源
              最近更新 更多