

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

# 에서 AES 키 래핑의 길이가 비준수인 사용자 지정 IVs AWS CloudHSM
<a name="troubleshooting-aes-keys"></a>

이 문제 해결 항목은 애플리케이션에서 복구할 수 없는 래핑된 키를 생성하는지 확인하는 데 도움이 됩니다. 이 문제의 영향을 받는 경우 이 주제를 사용하여 문제를 해결하세요.

**Topics**
+ [코드에서 복구할 수 없는 래핑된 키가 생성되는지 확인하세요.](#troubleshooting-problem1)
+ [코드에서 복구할 수 없는 래핑된 키가 생성되는 경우 취해야 할 조치](#troubleshooting-problem2)

## 코드에서 복구할 수 없는 래핑된 키가 생성되는지 확인하세요.
<a name="troubleshooting-problem1"></a>

아래 조건을 *모두* 충족하는 경우에만 영향을 받습니다.



| 조건 | 방법 | 
| --- | --- | 
| 애플리케이션은 PKCS \#11 라이브러리를 사용합니다. | PKCS \#11 라이브러리는 `/opt/cloudhsm/lib` 폴더에 `libpkcs11.so` 파일로 설치됩니다. C 언어로 작성된 애플리케이션은 일반적으로 PKCS \#11 라이브러리를 직접 사용하는 반면, Java로 작성된 애플리케이션은 Java 추상화 계층을 통해 라이브러리를 간접적으로 사용할 수 있습니다. 현재 Windows에서는 PKCS \#11 라이브러리를 사용할 수 없으므로 Windows를 사용하는 경우에는 영향을 받지 않습니다. | 
| 애플리케이션은 특히 PKCS \#11 라이브러리 버전 3.0.0 을 사용합니다. |  AWS CloudHSM 팀으로부터 이메일을 받았다면 PKCS \#11 라이브러리 버전 3.0.0을 사용하고 있을 것입니다.<br />애플리케이션 인스턴스의 소프트웨어 버전을 확인하려면 다음 명령어를 사용하세요.<pre>rpm -qa | grep ^cloudhsm</pre> | 
| AES 키 래핑을 사용하여 키를 래핑합니다. | AES 키 래핑이란 AES 키를 사용하여 다른 키를 래핑하는 것을 의미합니다. 해당 메커니즘 이름은 입니다`CKM_AES_KEY_WRAP`. 함수와 함께 사용됩니다`C_WrapKey`. `CKM_AES_GCM` 및와 같이 초기화 벡터(IVs)를 사용하는 다른 AES 기반 래핑 메커니즘`CKM_CLOUDHSM_AES_GCM`은이 문제의 영향을 받지 않습니다. [함수 및 메커니즘에 대해 자세히 알아보십시오](pkcs11-mechanisms.md). | 
| AES 키 래핑을 호출할 때 사용자 지정 IV를 지정하는데 이 IV의 길이는 8보다 짧습니다. | AES 키 래핑은 일반적으로 다음과 같은 `CK_MECHANISM` 구조를 사용하여 초기화됩니다.<br />`CK_MECHANISM mech = {CKM_AES_KEY_WRAP, IV_POINTER, IV_LENGTH};`<br />다음과 같은 경우에만 이 문제가 적용됩니다.+  IV\_포인터는 널이 아닙니다. <br />+  IV\_길이가 8바이트 미만입니다.  | 

위의 모든 조건을 충족하지 못하면 지금 읽기를 중단할 수 있습니다. 래핑된 키는 제대로 래핑을 풀 수 있으며 이 문제는 영향을 받지 않습니다. 그렇지 않으면 [코드에서 복구할 수 없는 래핑된 키가 생성되는 경우 취해야 할 조치](#troubleshooting-problem2) 단원을 참조하세요.

## 코드에서 복구할 수 없는 래핑된 키가 생성되는 경우 취해야 할 조치
<a name="troubleshooting-problem2"></a>

다음 세 단계를 수행해야 합니다.

1.  **PKCS \#11 라이브러리를 최신 버전으로 즉시 업그레이드**
   + [Amazon Linux, CentOS 6 및 RHEL 6용 최신 PKCS \#11 라이브러리](client-upgrade.md)
   + [Amazon Linux 2, CentOS 7 및 RHEL 7용 최신 PKCS \#11 라이브러리](client-upgrade.md)
   + [Ubuntu 16.04 LTS용 최신 PKCS \#11 라이브러리](client-upgrade.md)

1. **표준 호환 IV를 사용하도록 소프트웨어 업데이트**

   샘플 코드를 따르고 NULL IV를 지정하기만 하면 HSM이 표준을 준수하는 기본 IV를 활용하도록 하는 것이 좋습니다. 또는 IV를 해당되는 `8`의 IV 길이를 가진 `0xA6A6A6A6A6A6A6A6`로 명시적으로 지정할 수도 있습니다. AES 키 래핑에는 다른 IV를 사용하지 않는 것이 좋으며, 향후 버전의 PKCS \#11 라이브러리에서는 AES 키 래핑을 위한 사용자 지정 IV를 명시적으로 비활성화할 예정입니다.

   IV를 올바르게 지정하는 샘플 코드는 GitHub의 [aes\_wrapping.c](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/wrapping/aes_wrapping.c#L72)에 나와 있습니다.

1. **기존의 래핑된 키 식별 및 복구**

   PKCS \#11 라이브러리 버전 3.0.0을 사용하여 래핑한 모든 키를 식별한 다음, 이러한 키를 복구하는 데 필요한 지원을 받으려면 지원팀([https://aws.amazon.com/support](https://aws.amazon.com/support)) 에 문의해야 합니다.

**중요**  
이 문제는 PKCS \#11 라이브러리 버전 3.0.0으로 래핑된 키에만 영향을 미칩니다. PKCS \#11 라이브러리의 이전 버전(2.0.4 이하 패키지) 또는 이후 버전(3.0.1 이상 번호 패키지)을 사용하여 키를 래핑할 수 있습니다.