Key Vault로 HSM 보호 키 가져오기(BYOK)
보안을 강화하기 위해 Azure Key Vault 사용 시 HSM(하드웨어 보안 모듈)에서 키를 가져오거나 생성할 수 있습니다. 이렇게 하면 키가 HSM 경계를 절대 벗어나지 않습니다. 이 시나리오를 흔히 BYOK(Bring Your Own Key)라고 합니다. Key Vault는 FIPS 140 유효성이 검사된 HSM을 사용하여 키를 보호합니다.
이 문서의 정보를 참조하여 Azure Key Vault에서 사용할 고유의 HSM 보호 키를 계획하고 생성하고 전송할 수 있습니다.
자세한 내용 및 Key Vault를 시작하는 방법에 대한 자습서(HSM 보호 키에 대한 키 자격 증명 모음을 만드는 방법 포함)는 Azure Key Vault란?을 참조하세요.
개요
다음은 프로세스의 개요입니다. 구체적인 단계는 이 문서의 뒷부분에서 설명합니다.
- Key Vault에서 키(KEK(키 교환 키)라고 함)를 생성합니다. KEK는
import
키 작업만 포함하는 RSA-HSM 키여야 합니다. Key Vault 프리미엄 및 관리형 HSM만 RSA-HSM 키를 지원합니다. - KEK 공개 키를 .pem 파일로 다운로드합니다.
- KEK 공개 키를 온-프레미스 HSM에 연결된 오프라인 컴퓨터로 전송합니다.
- 오프라인 컴퓨터에서, HSM 공급업체에서 제공한 BYOK 도구를 사용하여 BYOK 파일을 만듭니다.
- 대상 키는 KEK(키 교환 키)로 암호화되며, Key Vault HSM으로 전송될 때까지 암호화 상태를 유지합니다. 암호화된 버전의 키만 온-프레미스 HSM을 벗어납니다.
- Key Vault HSM 내에 생성된 KEK는 내보낼 수 없습니다. HSM은 Key Vault HSM 외부에는 KEK의 일반 버전이 없다는 규칙을 적용합니다.
- KEK는 대상 키를 가져올 키 자격 증명 모음과 동일한 키 자격 증명 모음에 있어야 합니다.
- BYOK 파일이 Key Vault에 업로드되면 Key Vault HSM은 KEK 프라이빗 키를 사용하여 대상 키 자료를 해독하고 HSM 키로 가져옵니다. 이 작업은 Key Vault HSM 내에서만 발생합니다. 대상 키는 항상 HSM 보호 경계에 남아 있습니다.
필수 조건
다음 표에는 Azure Key Vault에서 BYOK를 사용하기 위한 전제 조건이 나열되어 있습니다.
요건 | 자세한 정보 |
---|---|
Azure 구독 | Azure Key Vault에서 키 자격 증명 모음을 만들려면 Azure 구독이 필요합니다. 평가판에 가입합니다. |
HSM 보호 키를 가져올 Key Vault 프리미엄 및 관리형 HSM | Azure Key Vault의 서비스 계층 및 기능에 대한 자세한 내용은 Key Vault 가격 책정을 참조하세요. |
지원되는 HSM 목록의 HSM과 HSM 공급업체에서 제공한 BYOK 도구 및 지침 | HSM 사용 권한과 HSM 사용 방법에 대한 기본 지식이 필요합니다. 지원되는 HSM을 참조하세요. |
Azure CLI 버전 2.1.0 이상 | Azure CLI 설치를 참조하세요. |
지원되는 HSM
공급업체 이름 | 공급업체 유형 | 지원되는 HSM 모델 | 자세한 정보 |
---|---|---|---|
Cryptomathic | ISV(엔터프라이즈 키 관리 시스템) | 다음을 포함한 여러 HSM 브랜드 및 모델
|
|
Entrust | 제조업체, 서비스로 제공되는 HSM |
|
nCipher 새 BYOK 도구 및 설명서 |
Fortanix | 제조업체, 서비스로 제공되는 HSM |
|
BYOK용 클라우드 공급자에게 SDKMS 키 내보내기 - Azure Key Vault |
Futurex | 제조업체, 서비스로 제공되는 HSM |
|
Futurex 통합 가이드 - Azure Key Vault |
IBM | 제조업체 | IBM 476x, CryptoExpress | IBM Enterprise Key Management Foundation |
Marvell | 제조업체 | 다음을 사용하는 모든 LiquidSecurity HSM
|
Marvell BYOK 도구 및 설명서 |
nCipher | 제조업체, 서비스로 제공되는 HSM |
|
nCipher 새 BYOK 도구 및 설명서 |
Securosys SA | 제조업체, 서비스로 제공되는 HSM |
Primus HSM 제품군, Securosys 클라우드 HSM | Primus BYOK 도구 및 설명서 |
StorMagic | ISV(엔터프라이즈 키 관리 시스템) | 다음을 포함한 여러 HSM 브랜드 및 모델
|
SvKMS 및 Azure Key Vault BYOK |
Thales | 제조업체 |
|
Luna BYOK 도구 및 설명서 |
Utimaco | 제조업체, 서비스로 제공되는 HSM |
u.trust Anchor, CryptoServer | Utimaco BYOK 도구 및 통합 가이드 |
지원되는 키 유형
키 이름 | 키 유형 | 키 크기/곡선 | 기원 | 설명 |
---|---|---|---|---|
KEK(키 교환 키) | RSA | 2048비트 3072비트 4096비트 |
Azure Key Vault HSM | Azure Key Vault에서 생성된 HSM 지원 RSA 키 쌍 |
대상 키 | ||||
RSA | 2048비트 3072비트 4096비트 |
공급업체 HSM | Azure Key Vault HSM으로 전송할 키 | |
EC | P-256 P-384 P-521 |
공급업체 HSM | Azure Key Vault HSM으로 전송할 키 | |
Key Vault 프리미엄 HSM 또는 관리형 HSM으로 키 생성 및 전송
Key Vault 프리미엄 또는 관리형 HSM으로 키를 생성 및 전송하려면:
KEK 생성
KEK는 Key Vault 프리미엄 또는 관리형 HSM에서 생성되는 RSA 키입니다. KEK는 가져오려는 키(대상 키)를 암호화하는 데 사용됩니다.
KEK는 다음과 같아야 합니다.
- RSA HSM 키(2048비트, 3072비트 또는 4096비트)이어야 함
- 대상 키를 가져오려는 키 자격 증명 모음과 동일한 키 자격 증명 모음에 만들어야 함
- 허용되는 키 작업이
import
로 설정된 상태에서 만들어야 함
참고 항목
KEK의 유일하게 허용되는 키 작업은 'import'여야 합니다. 'import'는 다른 모든 키 작업과 상호 배타적 관계입니다.
az keyvault key create 명령을 사용하여 키 작업이 import
로 설정된 KEK를 만듭니다. 다음 명령에서 반환된 키 식별자(kid
)를 기록해 둡니다. (3단계에서 kid
값이 사용됩니다.)
az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --vault-name ContosoKeyVaultHSM
관리형 HSM의 경우:
az keyvault key create --kty RSA-HSM --size 4096 --name KEKforBYOK --ops import --hsm-name ContosoKeyVaultHSM
KEK 공개 키 다운로드
az keyvault key download 명령을 사용하여 KEK 공개 키를 .pem 파일로 다운로드합니다. 가져오는 대상 키는 KEK 공개 키를 사용하여 암호화됩니다.
az keyvault key download --name KEKforBYOK --vault-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
관리형 HSM의 경우:
az keyvault key download --name KEKforBYOK --hsm-name ContosoKeyVaultHSM --file KEKforBYOK.publickey.pem
KEKforBYOK.publickey.pem 파일을 오프라인 컴퓨터로 전송합니다. 다음 단계에서 이 파일이 필요합니다.
키를 생성하고 전송 준비
HSM 공급업체의 설명서를 참조하여 BYOK 도구를 다운로드하고 설치합니다. HSM 공급업체의 지침에 따라 대상 키를 생성한 다음, 키 전송 패키지(BYOK 파일)를 만듭니다. BYOK 도구는 1단계의 kid
및 2단계에서 다운로드한 KEKforBYOK.publickey.pem 파일을 사용하여 BYOK 파일에 암호화된 대상 키를 생성합니다.
BYOK 파일을 연결된 컴퓨터로 전송합니다.
참고 항목
RSA 1024비트 키를 가져오는 것은 지원되지 않습니다. 곡선 P-256K가 있는 타원 곡선 키를 가져올 수 있습니다.
알려진 문제: Luna HSM에서 RSA 4K 대상 키 가져오기는 펌웨어 7.4.0 이상에서만 지원됩니다.
Azure Key Vault에 키 전송
키 가져오기를 완료하려면 연결이 끊어진 컴퓨터의 키 전송 패키지(BYOK 파일)를 인터넷에 연결된 컴퓨터로 전송합니다. az keyvault key import 명령을 사용하여 BYOK 파일을 Key Vault HSM에 업로드합니다.
RSA 키를 가져오려면 다음 명령을 사용합니다. 매개 변수 --kty는 선택 사항이며 기본값은 'RSA-HSM'입니다.
az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
관리형 HSM의 경우
az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
EC 키를 가져오려면 키 유형과 곡선 이름을 지정해야 합니다.
az keyvault key import --vault-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --kty EC-HSM --curve-name "P-256" --byok-file KeyTransferPackage-ContosoFirstHSMkey.byok
관리형 HSM의 경우
az keyvault key import --hsm-name ContosoKeyVaultHSM --name ContosoFirstHSMkey --byok-file --kty EC-HSM --curve-name "P-256" KeyTransferPackage-ContosoFirstHSMkey.byok
업로드가 성공하면 가져온 키의 속성이 Azure CLI에 표시됩니다.
다음 단계
이제 주요 자격 증명 모음에서 이 HSM 보호된 키를 사용할 수 있습니다. 자세한 내용은 가격 및 기능 비교를 참조하세요.