5

我正在询问有关与 HSM 的会话的问题。

我知道,如果您为要加密/解密的每个文件初始化和最终确定 cryptoki api,则会产生开销。

我的疑问是,

  1. 为每个文件打开和关闭单独的会话是否有开销,您想要加密/解密。(C_Initialize/C_Finalize)

  2. 在不影响性能的情况下,我可以同时为 HSM 拥有多少个最大会话数?

  3. 打开和关闭会话以处理单个文件是最佳方法,还是打开会话并处理多个文件然后关闭会话是最佳方法?

谢谢

4

3 回答 3

2

首先,PKCS#11 规范在关于线程、应用程序和会话的一般概述下具有相当广泛的文档。

其次,它取决于您的 HSM 硬件和 PKCS#11 模块实现。您的 PKCS#11 提供商如何表示插槽?您是否一直使用相同的密钥?密钥的身份验证机制是什么?

  1. PKCS#11 规范中广泛介绍了如何使用 C_Initialize(和 C_Finalize)
  2. 会话数取决于 PKCS#11 实现,请参阅 CK_TOKEN_INFO 中的 ulMaxSessionCount

尝试单个会话。您确定您的瓶颈将是会话处理吗?

于 2010-06-15T13:23:07.400 回答
0

打开和关闭会话有开销(来自我的实验)。最好不要为每个文件打开单独的会话。

更新:来自我的供应商:

您可以在令牌上打开的会话没有限制或指定数量,但它可能是数千个。

这取决于您在做什么以及它如何消耗设备的 RAM。打开太多会话并创建太多会话对象达到 RAM 可以容纳的限制肯定会影响设备的性能。

谢谢

于 2010-06-17T17:16:14.383 回答
0

最好的方法绝对是在每次应用程序启动时打开一次会话。即,没有理由在您的应用程序工作时关闭会话——会话对您的应用程序是私有的,如果您打开会话,则没有其他应用程序可以使用它来访问和使用设备。

于 2010-06-15T11:38:09.393 回答