AWS CloudHSM용 JCE를 사용한 키 추출
JCE(자바 암호화 확장)는 다양한 암호화 구현을 연결할 수 있는 아키텍처를 사용합니다. AWS CloudHSM은 암호화 작업을 HSM으로 오프로드하는 JCE 제공업체 중 하나를 제공합니다. 대부분의 다른 JCE 공급자가 AWS CloudHSM에 저장된 키를 사용하려면 HSM에서 일반 텍스트 형식의 키 바이트를 추출하여 시스템 메모리로 사용해야 합니다. HSM은 일반적으로 키를 래핑된 객체로만 추출하고 일반 텍스트로는 추출할 수 없습니다. 하지만 공급자 간 통합 사용 사례를 지원하기 위해 AWS CloudHSM은 Opt-in 구성 옵션을 사용하여 클리어의 키 바이트를 추출할 수 있습니다.
중요
JCE는 AWS CloudHSM 공급자가 지정되거나 AWS CloudHSM 키 객체가 사용될 때마다 AWS CloudHSM으로 작업을 오프로드합니다. 작업이 HSM 내에서 수행될 것으로 예상되는 경우 키를 명확하게 추출할 필요가 없습니다. 일반 텍스트로 키를 추출하는 것은 타사 라이브러리 또는 JCE 공급자의 제한으로 인해 애플리케이션에서 키 래핑 및 래핑 해제와 같은 보안 메커니즘을 사용할 수 없는 경우에만 필요합니다.
AWS CloudHSM JCE 공급자는 기본적으로 외부 JCE 공급자와 연동되도록 퍼블릭 키를 추출할 수 있습니다. 항상 허용되는 방법은 다음과 같습니다.
| Class | 메서드 | 형식(getEncoded) |
|---|---|---|
| EcPublicKey | getEncoded() | X.509 |
| GetW () | N/A | |
| RSA 퍼블릭 키 | getEncoded() | X.509 |
| getPublicExponent() | N/A | |
| CloudHsmRsaPrivateCrtKey | getPublicExponent() | N/A |
AWS CloudHSM JCE 공급자는 기본적으로 퍼블릭 키 또는 비밀 키에 대해 키 바이트를 명확하게 추출하는 것을 허용하지 않습니다. 사용 사례에 필요한 경우 다음과 같은 조건에서 프라이빗 또는 비밀 키에 대해 키 바이트를 선명하게 추출할 수 있습니다.
프라이빗 및 비밀 키의
EXTRACTABLE속성은 true로 설정됩니다.기본적으로 프라이빗 및 비밀 키의
EXTRACTABLE속성은 true로 설정됩니다.EXTRACTABLE키는 HSM에서 내보낼 수 있는 키입니다. 지원되는 Java 속성에 대한 자세한 내용은 Client SDK 5를 참조하십시오.
프라이빗 키와 비밀 키의
WRAP_WITH_TRUSTED속성은 false로 설정됩니다.getEncoded,getPrivateExponent, 그리고getS는 명확하게 내보낼 수 없는 프라이빗 키와 함께 사용할 수 없습니다.WRAP_WITH_TRUSTED는 프라이빗 키를 HSM 밖으로 명확하게 내보낼 수 없습니다. 자세한 내용은 신뢰할 수 있는 키를 사용하여 키 래핑 해제 제어를 참조하십시오.