AES 키 랩을 위한 비준수 길이 포함 사용자 지정 아이스 - AWS CloudHSM

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

AES 키 랩을 위한 비준수 길이 포함 사용자 지정 아이스

이 문제 해결 항목은 응용 프로그램이 복구할 수 없는 랩 키를 생성하는지 여부를 결정하는 데 도움이 됩니다. 이 문제로 인해 영향을 받는 경우 이 항목을 사용하여 문제를 해결합니다.

코드가 복구 불가능한 랩 키를 생성하는지 확인

귀하가 만난 경우에만 영향을 받는 경우 모두 아래 조건:

Condition 어떻게 알 수 있습니까?

응용 프로그램 사용 PKCS #11 라이브러리

The PKCS #11 라이브러리 이(가) libpkcs11.so 파일 /opt/cloudhsm/lib 폴더. C 언어로 작성된 애플리케이션은 일반적으로 PKCS #11 라이브러리 Java에 쓰여진 응용 프로그램은 Java 추상화 계층을 통해 간접적으로 라이브러리를 사용할 수 있습니다. Windows를 사용하는 경우 영향을 받지 않습니다. PKCS #11 라이브러리 은(는) 현재 Windows에 사용할 수 없습니다.

응용 프로그램은 특히 PKCS #11 라이브러리

이메일을 받은 경우 AWS CloudHSM 팀, 귀하는 PKCS #11 라이브러리.

애플리케이션 인스턴스에서 소프트웨어 버전을 확인하려면 다음 명령을 사용하십시오.

rpm -qa | grep ^cloudhsm

AES 키 랩핑을 사용하여 키를 포장합니다.

AES 키 랩핑이란 AES 키를 사용하여 다른 키를 포장하는 것을 의미합니다. 해당 메커니즘 이름은 다음과 같습니다. CKM_AES_KEY_WRAP. 기능과 함께 사용됩니다. C_WrapKey. 다음과 같은 초기화 벡터(ivs)를 사용하는 기타 AES 기반 래핑 메커니즘이 있습니다. CKM_AES_GCM and CKM_CLOUDHSM_AES_GCM은(는) 이 문제의 영향을 받지 않습니다. 기능 및 메커니즘에 대해 자세히 알아보기.

AES 키 래핑을 호출할 때 사용자 지정 IV를 지정하고 이 IV의 길이는 8보다 짧습니다.

AES 키 랩은 일반적으로 CK_MECHANISM 구조:

CK_MECHANISM mech = {CKM_AES_KEY_WRAP, IV_POINTER, IV_LENGTH};

이 문제는 다음과 같은 경우에만 적용됩니다.

  • IV_POINTER가 NULL이 아닙니다.

  • IV_길이가 8바이트 미만입니다.

위의 조건을 모두 충족하지 못하는 경우 지금 읽기를 중단할 수 있습니다. 포장된 키는 제대로 포장 해제될 수 있으며 이 문제는 에 영향을 주지 않습니다. 그렇지 않으면 귀하의 코드가 복구 불가능한 랩 키를 생성하는 경우 취해야 할 조치 단원을 참조하십시오.

귀하의 코드가 복구 불가능한 랩 키를 생성하는 경우 취해야 할 조치

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

  1. 즉시 PKCS #11 라이브러리 새로운 버전으로

  2. 표준 준수 IV를 사용하도록 소프트웨어 업데이트

    샘플 코드를 따르고 단순히 NULL IV를 지정하여 HSM이 표준 준수 기본 IV를 활용하도록 합니다. 또는 IV를 0xA6A6A6A6A6A6A6A6 해당 IV 길이 8. AES 키 랩핑을 위해 다른 IV 사용을 권장하지 않으며, 향후 버전의 AES 키 랩핑을 위해 사용자 지정 ivs를 PKCS #11 라이브러리.

    IV를 올바르게 지정하기 위한 샘플 코드가 aes_래핑.c github.

  3. 기존 포장된 키 식별 및 복구

    귀하는 PKCS #11 라이브러리지원 센터에 연락하여 지원(https://aws.amazon.com/support)를 클릭합니다.

중요

이 문제는 PKCS #11 라이브러리. 이전 버전(2.0.4 및 하위 번호 패키지) 이상 버전(3.0.1 및 더 높은 번호가 지정된 패키지)을 사용하여 키를 PKCS #11 라이브러리.