

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# KMU를 사용하여 AWS CloudHSM 키 언래핑
<a name="key_mgmt_util-unwrapKey"></a>

 AWS CloudHSM key\$1mgmt\$1util 도구의 **unWrapKey** 명령을 사용하여 래핑된(암호화된) 대칭 또는 프라이빗 키를 파일에서 HSM으로 가져옵니다. key\$1mgmt\$1util의 [WrapKey](key_mgmt_util-wrapKey.md) 명령으로 래핑된 암호화된 키를 가져오도록 설계되었지만 다른 도구로 래핑된 키를 언래핑하는 데에도 사용할 수 있습니다. 하지만 이런 상황에서는 [PKCS\$111](pkcs11-library.md) 또는 [JCE](java-library.md) 소프트웨어 라이브러리를 사용하여 키를 언래핑하는 것이 좋습니다.

가져온 키는에서 생성된 키처럼 작동합니다 AWS CloudHSM. 하지만 [OBJ\$1ATTR\$1LOCAL 속성](key-attribute-table.md) 값은 0입니다. 이는 객체가 로컬에서 생성되지 않았음을 의미합니다.

키를 가져온 후 키 파일을 마킹 또는 삭제해야 합니다. 이 명령은 동일한 키 자료를 여러 번 가져오도록 허용합니다. 여러 개의 키가 고유한 키 핸들이고 동일한 키 자료라는 결과는 키 자료의 사용을 추적하기 어렵게 하고 암호화 한도를 초과하는 것을 방지합니다.

key\$1mgmt\$1util 명령을 실행하려면 먼저 [key\$1mgmt\$1util을 시작하고](key_mgmt_util-setup.md#key_mgmt_util-start) HSM에 암호화 사용자(crypto user)로 [로그인](key_mgmt_util-log-in.md)해야 합니다.

## 구문
<a name="unwrapKey-syntax"></a>

```
unWrapKey -h

unWrapKey -f <key-file-name> 
          -w <wrapping-key-handle> 
          [-sess]
          [-min_srv <minimum-number-of-HSMs>]          
          [-timeout <number-of-seconds>]
          [-aad <additional authenticated data filename>]
          [-tag_size <tag size>]
          [-iv_file <IV file>]
          [-attest]
          [-m <wrapping-mechanism>]
          [-t <hash-type>]
          [-nex]
          [-u <user id list>]
          [-m_value <number of users needed for approval>]
          [-noheader]
          [-l <key-label>]
          [-id <key-id>]
          [-kt <key-type>]
          [-kc <key-class>]
          [-i <unwrapping-IV>]
```

## 예제
<a name="unwrapKey-examples"></a>

이 예제에서는 **unWrapKey**를 사용하여 파일에서 HSM으로 래핑된 키를 가져오는 방법을 보여줍니다. 첫 번째 예시에서는 **[wrapKey](key_mgmt_util-wrapKey.md)** key\$1mgmt\$1util 명령으로 래핑되어 헤더가 있는 키를 언래핑합니다. 두 번째 예시에서는 key\$1mgmt\$1util 외부에서 래핑되어 헤더가 없는 키를 언래핑합니다.

**Example : 키 언래핑하기(헤더 있음)**  
이 명령은 3DES 대칭 키의 래핑된 복사본을 HSM으로 가져옵니다. 키는 레이블이 `6`인 AES 키로 언래핑됩니다. 3DES 키를 래핑하는 데 사용한 것과 암호화 방식에 있어 동일합니다. 출력은 파일의 키를 언래핑하고 가져왔으며 가져온 키의 핸들이 `29`임을 보여줍니다.  

```
        Command:  unWrapKey -f 3DES.key -w 6 -m 4

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Key Unwrapped.  Key Handle: 29

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : 키 언래핑하기(헤더 없음)**  
이 명령은 3DES 대칭 키의 래핑된 복사본을 HSM으로 가져옵니다. 키는 레이블이 `6`인 AES 키로 언래핑됩니다. 3DES 키를 래핑하는 데 사용한 것과 암호화 방식에 있어 동일합니다. 이 3DES 키는 key\$1mgmt\$1util로 래핑되지 않았으므로 함께 제공되는 필수 파라미터인 키 레이블(`unwrapped3DES`), 키 클래스(`4`) 및 키 유형(`21`)과 함께 `noheader` 파라미터가 지정됩니다. 출력은 파일의 키를 언래핑하고 가져왔으며 가져온 키의 핸들이 `8`임을 보여줍니다.  

```
Command: unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4
      
      Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS
       Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS

       Key Unwrapped. Key Handle: 8

       Cluster Error Status
       Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
       Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="unwrapKey-params"></a>

**-h**  
명령에 대한 도움말을 표시합니다.  
필수 항목 여부: 예

**-f**  
래핑된 키를 포함하는 파일의 경로 및 이름입니다.  
필수 항목 여부: 예

**-w**  
래핑 키를 지정합니다. HSM에서 AES 키 또는 RSA 키의 키 핸들을 입력합니다. 이 파라미터는 필수 사항입니다. 키 핸들을 찾으려면 [findKey](key_mgmt_util-findKey.md) 명령을 사용하십시오.  
래핑 키를 생성하려면 [genSymKey](key_mgmt_util-genSymKey.md)를 사용하여 AES 키를 생성하거나(유형 31) [genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)를 사용하여 RSA 키 페어를 생성합니다(유형 0). RSA 키 페어를 사용하는 경우 키 중 하나로 키를 래핑하고 다른 키로 언래핑해야 합니다. 키를 래핑 키로 사용할 수 있는지 확인하려면 [getAttribute](key_mgmt_util-getAttribute.md)를 사용하여 `262`라는 상수로 표시되는 `OBJ_ATTR_WRAP` 속성의 값을 가져옵니다.  
필수 항목 여부: 예

**-sess**  
현재 세션에만 존재하는 키를 생성합니다. 세션이 종료된 후에는 키를 복구할 수 없습니다.  
다른 키를 암호화한 후 다시 재빨리 암호를 해독하는 래핑 키와 같이 키가 일시적으로 필요한 경우 이 파라미터를 사용합니다. 세션 종료 후에 암호를 해독해야 할 수 있는 데이터를 암호화하는 데 세션 키를 사용해서는 안 됩니다.  
세션 키를 영구적인 (토큰) 키로 변경하려면 [setAttribute](key_mgmt_util-setAttribute.md)를 사용합니다.  
기본값: 키는 영구적입니다.  
필수 여부: 아니요

**-min\$1srv**  
`-timeout` 파라미터의 값이 만료되기 전에 키가 동기화되는 HSM의 최소 개수를 지정합니다. 할당된 시간에 지정된 서버 개수에 키가 동기화되지 않으면 키가 생성되지 않습니다.  
AWS CloudHSM 는 클러스터의 모든 HSM에 모든 키를 자동으로 동기화합니다. 이 과정을 더 빠르게 진행하려면 `min_srv`의 값을 클러스터의 HSM 개수보다 적게 설정하고 낮은 제한 시간 값을 설정합니다. 그러나 일부 요청은 키를 생성하지 않을 수 있음을 주의하십시오.  
기본값: 1  
필수 여부: 아니요

**-timeout**  
명령이 `min_srv` 파라미터에서 지정한 HSM의 수에 키가 동기화하기를 기다리는 시간(단위: 초)을 지정합니다.  
이 파라미터는 명령에서 `min_srv` 파라미터도 사용되는 경우에만 유효합니다.  
기본값: 제한 시간 없음. 명령은 무기한 기다리다가 최소 서버 개수에 키가 동기화될 때만 복귀합니다.  
필수 여부: 아니요

**-attest**  
클러스터가 실행되는 펌웨어가 변조되지 않았는지 확인하는 무결성 점검을 실행합니다.  
기본값: 증명 점검은 없음.  
필수 여부: 아니요

**-nex**  
키를 추출할 수 없도록 합니다. 생성된 키는 [HSM에서 내보내기](export-keys.md)를 수행할 수 없습니다.  
기본값: 키를 추출할 수 있습니다.  
필수 여부: 아니요

**-m**  
래핑 메커니즘을 나타내는 값입니다. CloudHSM은 다음과 같은 메커니즘을 지원합니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
필수 항목 여부: 예  
`RSA_OAEP` 래핑 메커니즘을 사용할 때 래핑할 수 있는 최대 키 크기는 RSA 키의 모듈 및 지정된 해시 길이로 결정됩니다(예: 최대 키 크기 = modulusLengthInBytes-(2\$1hashLengthInBytes)-2).  
RSA\$1PKCS 래핑 메커니즘을 사용할 때 래핑할 수 있는 최대 키 크기는 RSA 키의 모듈러스로 결정됩니다(예: 최대 키 크기 = (modulusLengthInBytes -11).

**-t**      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
필수 여부: 아니요

**-noheader**  
key\$1mgmt\$1util 외부에서 래핑된 키를 언래핑하는 경우 이 파라미터 및 연관된 다른 모든 파라미터를 지정해야 합니다.  
필수 여부: 아니요  
이 파라미터를 지정할 경우 **반드시** 다음의 `-noheader` 파라미터도 지정해야 합니다.
+ **-l**

  언래핑된 키에 추가할 레이블을 지정합니다.

  필수 항목 여부: 예
+ **-kc**

  언래핑할 키의 클래스를 지정합니다. 사용할 수 있는 값은 다음과 같습니다.

  3 = 퍼블릭-프라이빗 키 페어에서 프라이빗 키

  4 = 보안(대칭) 키

  필수 항목 여부: 예
+ **-kt**

  언래핑할 키의 유형을 지정합니다. 사용할 수 있는 값은 다음과 같습니다.

  0 = `RSA`

  1 = `DSA`

  3 = `ECC`

  16 = `GENERIC_SECRET`

  21 = `DES3`

  31 = `AES`

  필수 항목 여부: 예
**선택적으로** 다음 `-noheader` 파라미터를 지정할 수도 있습니다.  
+ **-id**

  언래핑된 키에 추가할 ID입니다.

  필수 여부: 아니요
+ **-i**

  사용할 언래핑 IV(초기화 벡터)입니다.

  필수 여부: 아니요

[1] NIST 지침에 따라 2023년 이후 FIPS 모드의 클러스터에는 허용되지 않습니다. 비FIPS 모드의 클러스터의 경우 2023년 이후에도 허용됩니다. 세부 정보는 [FIPS 140 규정 준수: 2024 메커니즘 지원 중단](compliance-dep-notif.md#compliance-dep-notif-1) 섹션을 참조하세요.

## 관련 주제
<a name="unwrapKey-seealso"></a>
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)