CMU를 사용하여 AWS CloudHSM 키의 속성 설정 - AWS CloudHSM

CMU를 사용하여 AWS CloudHSM 키의 속성 설정

AWS CloudHSM cloudhsm_mgmt_util에서 setAttribute 명령을 사용하여 HSM에 있는 키의 label, encrypt, decrypt, wrap 및 unwrap 속성 값을 변경합니다. key_mgmt_util에서 setAttribute 명령을 사용하여 세션 키를 영구 키로 변환할 수도 있습니다. 본인이 소유한 키의 속성만 변경할 수 있습니다.

CMU 명령을 실행하려면 먼저 CMU를 시작하고, HSM에 로그인해야 합니다. 사용하려는 명령을 실행할 수 있는 사용자 유형으로 로그인해야 합니다.

HSM을 추가하거나 삭제하는 경우 CMU의 구성 파일을 업데이트하십시오. 그렇지 않으면 변경 내용이 클러스터의 모든 HSM에서 유효하지 않을 수도 있습니다.

사용자 유형

다음 사용자가 이 명령을 실행할 수 있습니다.

  • 암호화 사용자(Crypto User)

구문

이 명령에는 이름이 지정된 파라미터가 없으므로 구문 다이어그램에 지정된 순서대로 인수를 입력해야 합니다.

setAttribute <key handle> <attribute id>

이 예제는 대칭 키의 암호 해독 기능을 비활성화하는 방법을 보여줍니다. 이와 같은 명령을 사용하여 래핑 키를 구성할 수 있습니다. 래핑 키는 다른 키를 래핑 및 언래핑할 수 있지만 데이터를 암호화하거나 암호화 해제할 수 없습니다.

첫 번째 단계는 래핑 키를 생성하는 것입니다. 이 명령은 key_mgmt_util의 genSymKey를 사용하여 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

다음으로 decrypt 속성의 현재 값을 확인합니다. decrypt 속성의 속성 ID를 가져오려면 listAttributes를 사용합니다. 출력은 OBJ_ATTR_DECRYPT 속성을 나타내는 상수가 261임을 보여줍니다. 키 속성 해석에 대한 도움말은 KMU용 AWS CloudHSM 키 속성 참조 섹션을 참조하십시오.

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 모두에서 decrypt 속성의 값이 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의 decrypt 속성(속성 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의 decrypt 속성(속성 261)을 가져옵니다.

이번 출력은 클러스터에 있는 두 HSM 모두에서 decrypt 속성의 값이 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를 사용합니다. 키 속성 해석에 대한 도움말은 KMU용 AWS CloudHSM 키 속성 참조 섹션을 참조하십시오.

유효한 값:

  • 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.

필수 항목 여부: 예

관련 주제