KMU 的 AWS CloudHSM 密钥属性参考
AWS CloudHSM key_mgmt_util 命令使用常量表示硬件安全模块(HSM)中密钥的属性。本主题可帮助您标识属性、查找在命令中表示它们的常量以及了解属性值。
密钥的属性是在创建密钥时设置的。要更改令牌属性 (指示密钥是永久密钥还是只存在于会话中),请使用 key_mgmt_util 中的 setAttribute command in key_mgmt_util. 命令。要更改标签、包装、解开包装、加密和解密属性,使用 cloudhsm_mgmt_util 中的 setAttribute
命令。
要获取属性的列表及其常量,请使用 listAttributes。要获取密钥的属性值,请使用 getAttribute。
下表列出了密钥属性、其常量及其有效值。
属性 | 常量 | 值 |
---|---|---|
OBJ_ATTR_ALL |
512 |
表示所有属性。 |
OBJ_ATTR_ALWAYS_SENSITIVE |
357 |
0:False。 1:True。 |
OBJ_ATTR_CLASS |
0 |
2:公有私有密钥对中的公有密钥。 3:公有私有密钥对中的私有密钥。4:私有 (对称) 密钥。 |
OBJ_ATTR_DECRYPT |
261 |
0:False。 1:True。密钥可用于解密数据。 |
OBJ_ATTR_DERIVE |
268 |
0:False。 1:True。该函数派生密钥。 |
OBJ_ATTR_DESTROYABLE |
370 |
0:False。 1:True。 |
OBJ_ATTR_ENCRYPT |
260 |
0:False。 1:True。密钥可用于加密数据。 |
OBJ_ATTR_EXTRACTABLE |
354 |
0:False。 1:True。密钥可从 HSM 中导出。 |
OBJ_ATTR_ID |
258 | 用户定义的字符串。在集群中必须是唯一的。默认值是空字符串。 |
OBJ_ATTR_KCV |
371 |
密钥的密钥检查值。有关更多信息,请参阅其他详细信息。 |
OBJ_ATTR_KEY_TYPE |
256 | 0:RSA。 1:DSA。 3:EC。 16:普通机密。 18:RC4。 21:三重 DES (3DES)。 31:AES。 |
OBJ_ATTR_LABEL |
3 |
用户定义的字符串。它在集群中不必是唯一的。 |
OBJ_ATTR_LOCAL |
355 |
0。False。密钥已导入到 HSM 中。 1:True。 |
OBJ_ATTR_MODULUS |
288 |
用于生成 RSA 密钥对的模数。对于 EC 密钥,此值表示十六进制格式的 ANSI X9.62 ecPoint 值 Q 的 DER 编码。 对于其他密钥类型,此属性不存在。 |
OBJ_ATTR_MODULUS_BITS |
289 |
用于生成 RSA 密钥对的模数的长度。对于 EC 密钥,这表示用于生成密钥的椭圆曲线 ID。 对于其他密钥类型,此属性不存在。 |
OBJ_ATTR_NEVER_EXTRACTABLE |
356 |
0:False。 1:True。密钥无法从 HSM 中导出。 |
OBJ_ATTR_PUBLIC_EXPONENT |
290 |
用于生成 RSA 密钥对的公有指数。 对于其他密钥类型,此属性不存在。 |
OBJ_ATTR_PRIVATE |
2 |
0:False。 1:True。此属性指示未经身份验证的用户是否可以列出密钥的属性。由于 CloudHSM PKCS#11 提供程序当前不支持公有会话,所有密钥(包括公有/私有密钥对中的公有密钥)的此属性设置为 1。 |
OBJ_ATTR_SENSITIVE |
259 |
0:False。公有私有密钥对中的公有密钥。 1:True。 |
OBJ_ATTR_SIGN |
264 |
0:False。 1:True。密钥可用于签名 (私有密钥)。 |
OBJ_ATTR_TOKEN |
1 |
0:False。会话密钥。 1:True。永久密钥。 |
OBJ_ATTR_TRUSTED |
134 |
0:False。 1:True。 |
OBJ_ATTR_UNWRAP |
263 |
0:False。 1:True。密钥可用于解密密钥。 |
OBJ_ATTR_UNWRAP_TEMPLATE |
1073742354 |
值应使用应用于使用此包装密钥解开包装的任何密钥的属性模板。 |
OBJ_ATTR_VALUE_LEN |
353 |
密钥长度(字节)。 |
OBJ_ATTR_VERIFY |
266 |
0:False。 1:True。密钥可用于验证 (公有密钥)。 |
OBJ_ATTR_WRAP |
262 |
0:False。 1:True。密钥可用于加密密钥。 |
OBJ_ATTR_WRAP_TEMPLATE |
1073742353 |
值应使用属性模板来匹配使用此包装密钥包装的密钥。 |
OBJ_ATTR_WRAP_WITH_TRUSTED |
528 |
0:False。 1:True。 |
其他详细信息
- 密钥检查值 (KCV)
密钥检查值 (KCV) 是 HSM 导入或生成密钥时所产生密钥的 3 字节哈希值或校验和。您也可以在 HSM 之外计算 KCV,例如导出密钥之后。然后,您可对比 KCV 值,以确认密钥的标识和完整性。若要获取密钥 KCV,请使用 getAttribute。
AWS CloudHSM 使用以下标准方法生成密钥检查值:
-
对称密钥:密钥加密零块结果的前 3 个字节。
-
非对称密钥对:公钥 SHA-1 哈希值的前 3 个字节。
-
HMAC 密钥:目前不支持 HMAC 密钥 KCV。
-