findAllKeys - AWS CloudHSM

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

findAllKeys

cloudhsm_mgmt_util 中的 findAllKeys 命令用于获取指定加密用户(CU)所拥有或共享的密钥。它还会返回每个 HSM 上的用户数据的哈希。您可以使用哈希来大致确定用户、密钥所有权和密钥共享数据在集群中的所有 HSM 上是否相同。在输出中,用户拥有的密钥由 (o) 进行注释,而共享密钥由 (s) 进行注释。

仅当指定 CU 拥有公有密钥时,findAllKeys 才会返回该密钥,即使 HSM 上的所有 CU 都可以使用任何公有密钥也是如此。此行为不同于 key_mgmt_util 中的 findKey,前者将为所有 CU 用户返回公有密钥。

只有加密管理者(CO 和 PCO)和设备用户 (AU) 才能运行此命令。加密用户 (CU) 可以运行以下命令:

  • listUsers,用于查找所有用户

  • 通过 key_mgmt_util 中的 findKey 可以找到其可以使用的密钥

  • getKeyInfo在 key_mgmt_util 中查找他们拥有或共享的特定密钥的所有者和共享用户

在运行任何 CMU 命令之前,必须启动 CMU 并登录 HSM。请确保使用可运行您计划使用的命令的用户类型登录。

如果您要添加或删除 HSM,请更新 CMU 的配置文件。否则,您所做的更改可能不会对集群中的所有 HSM 生效。

用户类型

以下用户均可运行此命令。

  • 加密员 (CO、PCO)

  • 设备用户 (AU)

语法

由于此命令没有命名参数,因此您必须按语法图中指定的顺序输入参数。

findAllKeys <user id> <key hash (0/1)> [<output file>]

示例

以下示例演示如何使用 findAllKeys 来查找某个用户的所有密钥并获取每个 HSM 上的密钥用户信息的哈希。

例 :查找 CU 的密钥

本示例使用 findAllKeys 来查找 HSM 中由用户 4 拥有和共享的密钥。该命令使用第二个参数的值 0 来隐藏哈希值。由于本示例忽略了可选的文件名,因此该命令将写入到 stdout(标准输出)。

输出表明用户 4 可使用 6 个密钥:8、9、17、262162、19 和 31。输出使用 (s) 指示用户显式共享的密钥。用户拥有的密钥由 (o) 表示,包含用户未共享的对称密钥和私有密钥,以及对所有加密用户可用的公有密钥。

aws-cloudhsm> findAllKeys 4 0 Keys on server 0(10.0.0.1): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 1(10.0.0.2) Keys on server 1(10.0.0.3): Number of keys found 6 number of keys matched from start index 0::6 8(s),9(s),17,262162(s),19(o),31(o) findAllKeys success on server 1(10.0.0.3)
例 :验证用户数据是否已同步

本示例使用 findAllKeys 来确认集群中的所有 HSM 都包含相同的用户、密钥所有权和密钥共享值。为了执行此操作,它获取了每个 HSM 上的密钥用户数据的哈希并比较了哈希值。

为了获取密钥哈希,该命令在第二个参数中使用了值 1。由于可选文件名已忽略,因此该命令将密钥哈希写入到 stdout。

本示例指定了用户 6,但哈希值对于拥有或共享 HSM 上的任一密钥的任何用户都是相同的。如果指定的用户不拥有或共享任何密钥 (如 CO),则该命令不会返回哈希值。

输出表明集群中的两个 HSM 的密钥哈希是相同的。如果其中一个 HSM 具有不同的用户、不同的密钥所有者或不同的共享用户,密钥哈希值将不相等。

aws-cloudhsm> findAllKeys 6 1 Keys on server 0(10.0.0.1): Number of keys found 3 number of keys matched from start index 0::3 8(s),9(s),11,17(s) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 3 number of keys matched from start index 0::3 8(s),9(s),11(o),17(s) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 1(10.0.0.2)

此命令演示了哈希值表示 HSM 上的所有密钥的用户数据。此命令对用户 3 使用了 findAllKeys。与仅拥有或共享 3 个密钥的用户 6 不同,用户 3 拥有或共享 17 个密钥,但它们的密钥哈希值是相同的。

aws-cloudhsm> findAllKeys 3 1 Keys on server 0(10.0.0.1): Number of keys found 17 number of keys matched from start index 0::17 6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 0(10.0.0.1) Keys on server 1(10.0.0.2): Number of keys found 17 number of keys matched from start index 0::17 6(o),7(o),8(s),11(o),12(o),14(o),262159(o),262160(o),17(s),262162(s),19(s),20(o),21(o),262177(o),262179(o),262180(o),262181(o) Key Hash: 55655676c95547fd4e82189a072ee1100eccfca6f10509077a0d6936a976bd49 findAllKeys success on server 1(10.0.0.2)

参数

由于此命令没有命名参数,因此您必须按语法图中指定的顺序输入参数。

findAllKeys <user id> <key hash (0/1)> [<output file>]
<user id>

获取指定用户拥有或共享的所有密钥。输入 HSM 上的用户的用户 ID。要查找所有用户的用户 ID,请使用 listUsers

所有用户 ID 都有效,但 findAllKeys 仅为加密用户 (CU) 返回密钥。

必需:是

<key hash>

包含 (1) 或排除 (0) 用户所有权以及每个 HSM 中的所有密钥的共享数据的哈希。

user id 参数表示拥有或共享密钥的用户时,系统将填充密钥哈希。密钥哈希值对拥有或共享 HSM 上的密钥的所有用户都是相同的,即使它们拥有和共享不同的密钥。但是,当 user id 表示不拥有或共享任何密钥的用户 (如 CO) 时,将不会填充哈希值。

必需:是

<output file>

将输出写入到指定文件。

必需:否

默认值:Stdout

相关 主题