HSM 连接持久或非持久

Posted

技术标签:

【中文标题】HSM 连接持久或非持久【英文标题】:HSM Connection Persistent or Non-persistent 【发布时间】:2017-07-12 14:39:41 【问题描述】:

我将使用 thales hsm 来做一些使用 http://www.pkcs11interop.net/ 的 aes 加密/解密

但是,我想到了一个问题。 我有两种方法可以在我的服务器应用程序中使用 thales hsm

一种方法是:每当我需要做aes操作时,打开一个连接,做这个工作,关闭连接。

另一种方式:在服务端应用启动时打开连接,在服务端生命周期内做AES操作 应用程序,在服务器需要时关闭连接 关闭。

所以我的问题是,哪种方式是使用 hsm 的正确(或建议)方式?

【问题讨论】:

“打开连接”到底是什么意思?创建实例Pkcs11 类?还是Session 类的实例?还是完全不同的东西? 【参考方案1】:

这完全取决于您对 HSM 的需求和使用情况。如果您在 5 分钟内发送 1 条消息,最好为每个 AES 操作打开连接并在完成工作后关闭连接。一般来说,如果您在一分钟内发送超过 1 条消息,您应该有持久连接,因为 HSM 有限的连接资源可能会在短时间内耗尽。

Thales HSM 的默认设置允许您打开最多 64 个连接并以 60 分钟的间隔检查这些连接。如果连接关闭,它可以在 60 分钟后理解它。

如果您为每个请求打开一个连接,您可以在短时间内达到 64 个连接限制,并且通常 HSM 开始不允许再打开新连接。要摆脱它,您可以将 Hsm 设置更改为 1 分钟检查间隔以进行垃圾收集连接。

我建议使用持久连接(池)来大量使用 HSM,并在 20 分钟间隔内更新(关闭打开)所有连接。

【讨论】:

以上是关于HSM 连接持久或非持久的主要内容,如果未能解决你的问题,请参考以下文章

PHP 连接数据库啥情况下才会用到持久链接 mysql

LVS 持久连接

LVS 持久连接

[日常] MySQL数据库持久连接

【小白学爬虫笔记】持久连接、非持久连接

linux集群系列 --- LVS之负载均衡集群 --- 持久连接