setAttribute - AWS CloudHSM

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

setAttribute

cloudhsm_mgmt_util 中的 setAttribute 命令更改 HSM 中的密钥的标签、加密、解密、包装和解开包装属性的值。您也可以使用 key_mgmt_util 中的 setAttribute 命令来将会话密钥转换为持久密钥。您只能更改自己拥有的密钥的属性。

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

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

用户类型

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

  • 加密用户 (CU)

语法

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

setAttribute <key handle> <attribute id>

示例

此示例说明如何禁用对称密钥的解密功能。您可以使用与此类似的命令来配置包装密钥,该密钥应能够将其他密钥进行包装和解开包装,但无法加密或解密数据。

第一步是创建包装密钥。此命令genSymKey在 key_mgmt_util 中使用来生成 256 位 AES 对称密钥。输出显示新密钥具有密钥句柄 14。

$ genSymKey -t 31 -s 32 -l aes256 Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS Symmetric Key Created. Key Handle: 14 Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS

接下来,我们想要确认解密属性的当前值。要获取解密属性的属性 ID,请使用 listAttributes。输出显示表示 OBJ_ATTR_DECRYPT 属性的常量为 261。有关解释密钥属性的帮助,请参阅 密钥属性引用

aws-cloudhsm> listAttributes Following are the possible attribute values for getAttribute: OBJ_ATTR_CLASS = 0 OBJ_ATTR_TOKEN = 1 OBJ_ATTR_PRIVATE = 2 OBJ_ATTR_LABEL = 3 OBJ_ATTR_TRUSTED = 134 OBJ_ATTR_KEY_TYPE = 256 OBJ_ATTR_ID = 258 OBJ_ATTR_SENSITIVE = 259 OBJ_ATTR_ENCRYPT = 260 OBJ_ATTR_DECRYPT = 261 OBJ_ATTR_WRAP = 262 OBJ_ATTR_UNWRAP = 263 OBJ_ATTR_SIGN = 264 OBJ_ATTR_VERIFY = 266 OBJ_ATTR_DERIVE = 268 OBJ_ATTR_LOCAL = 355 OBJ_ATTR_MODULUS = 288 OBJ_ATTR_MODULUS_BITS = 289 OBJ_ATTR_PUBLIC_EXPONENT = 290 OBJ_ATTR_VALUE_LEN = 353 OBJ_ATTR_EXTRACTABLE = 354 OBJ_ATTR_NEVER_EXTRACTABLE = 356 OBJ_ATTR_ALWAYS_SENSITIVE = 357 OBJ_ATTR_DESTROYABLE = 370 OBJ_ATTR_KCV = 371 OBJ_ATTR_WRAP_WITH_TRUSTED = 528 OBJ_ATTR_WRAP_TEMPLATE = 1073742353 OBJ_ATTR_UNWRAP_TEMPLATE = 1073742354 OBJ_ATTR_ALL = 512

要获取密钥 14 的解密属性的当前值,请使用 cloudhsm_mgmt_util 中的 getAttribute

输出显示解密属性的值在集群中的两个 HSM 上均为 true (1)。

aws-cloudhsm> getAttribute 14 261 Attribute Value on server 0(10.0.0.1): OBJ_ATTR_DECRYPT 0x00000001 Attribute Value on server 1(10.0.0.2): OBJ_ATTR_DECRYPT 0x00000001

此命令使用 setAttribute 将密钥 14 的解密属性(属性 261)的值更改为 0。这将禁用密钥上的解密功能。

输出显示该命令在集群中的两个 HSM 上已成功执行。

aws-cloudhsm> setAttribute 14 261 0 *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. AWS does NOT synchronize these changes automatically with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)? y setAttribute success on server 0(10.0.0.1) setAttribute success on server 1(10.0.0.2)

最后一个命令重复执行 getAttribute 命令。同样,它会获得密钥 14 的解密属性 (属性 261)。

此时,输出显示解密属性的值在两个 HSM 上均为 false (0)。

aws-cloudhsm>getAttribute 14 261 Attribute Value on server 0(10.0.3.6): OBJ_ATTR_DECRYPT 0x00000000 Attribute Value on server 1(10.0.1.7): OBJ_ATTR_DECRYPT 0x00000000

参数

setAttribute <key handle> <attribute id>
<key-handle>

指定您拥有的密钥的密钥句柄。您在每个命令中只能指定一个密钥。要获取密钥的密钥句柄,请使用 key_mgmt_util 中的 findKey。要查找密钥的用户,请使用getKeyInfo

必需:是

<attribute id>

指定表示您要更改的属性的常量。您在每个命令中只能指定一个属性。要获取属性及其整数值,请使用 listAttributes。有关解释密钥属性的帮助,请参阅 密钥属性引用

有效值:

  • 3OBJ_ATTR_LABEL

  • 134OBJ_ATTR_TRUSTED

  • 260OBJ_ATTR_ENCRYPT

  • 261OBJ_ATTR_DECRYPT

  • 262OBJ_ATTR_WRAP

  • 263OBJ_ATTR_UNWRAP

  • 264OBJ_ATTR_SIGN

  • 266OBJ_ATTR_VERIFY

  • 268OBJ_ATTR_DERIVE

  • 370OBJ_ATTR_DESTROYABLE

  • 528OBJ_ATTR_WRAP_WITH_TRUSTED

  • 1073742353OBJ_ATTR_WRAP_TEMPLATE

  • 1073742354OBJ_ATTR_UNWRAP_TEMPLATE

必需:是

相关 主题