我正在使用基于 Cavium 的 AWS CloudHSM,并尝试弄清楚如何通过 PKCS #11 库将 HSM 呈现给应用程序。
从我的实验来看,无论有多少个 HSM,该库似乎只为应用程序提供一个插槽和令牌。但是,我希望有人可以证实这一点(从而排除我的配置错误)。我假设这是一个负载平衡的插槽,它将在 HSM 之间共享工作。
为了进行实验,我在一个集群中委托了两个 HSM,并使用以下命令配置了我的 EC2 实例:
sudo /opt/cloudhsm/bin/configure -a <IP address of HSM 1>
sudo start cloudhsm-client
sudo /opt/cloudhsm/bin/configure -m // which I think informs it of the second HSM
如果我运行getHSMInfo
命令我看到两个 HSM。但是,当我检查 PKCS #11 插槽配置时,只有一个插槽(其serial num
字段对应于第一个 HSM)。
有人能确认这应该如何工作吗?
(注:我在文档中提出了一个问题,要求提供更多说明这里)。
答案1
没错。整个集群将显示为单个插槽和单个令牌。
在负载平衡方面:
任何创建的令牌密钥都将在集群中的所有 HSM 中复制;任何会话密钥都只存在于单个 HSM 上。
任何对令牌密钥的操作都将在集群中的 HSM 之间进行负载平衡,但会话密钥操作则不会,因为会话密钥仅存在于单个设备上。