Key Vault로 HSM 보호 키 가져오기(BYOK)

보안을 강화하기 위해 Azure Key Vault 사용 시 HSM(하드웨어 보안 모듈)에서 키를 가져오거나 생성할 수 있습니다. 이렇게 하면 키가 HSM 경계를 절대 벗어나지 않습니다. 이 시나리오를 흔히 BYOK(Bring Your Own Key)라고 합니다. Key Vault는 FIPS 140 유효성이 검사된 HSM을 사용하여 키를 보호합니다 .

이 문서의 정보를 참조하여 Azure Key Vault에서 사용할 고유의 HSM 보호 키를 계획하고 생성하고 전송할 수 있습니다.

참고 항목

이 기능은 21Vianet에서 운영하는 Microsoft Azure에서 사용할 수 없습니다.

이 가져오기 방법은 지원되는 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 브랜드 및 모델
  • nCipher
  • Thales
  • Utimaco
자세한 내용은 Cryptomathic 사이트 참조
Entrust 제조업체,
서비스로 제공되는 HSM
  • HSM의 nShield 제품군
  • 서비스로 제공되는 nShield
nCipher 새 BYOK 도구 및 설명서
Fortanix 제조업체,
서비스로 제공되는 HSM
  • SDKMS(자체 방어 키 관리 서비스)
  • Equinix SmartKey
BYOK용 클라우드 공급자에게 SDKMS 키 내보내기 - Azure Key Vault
IBM 제조업체 IBM 476x, CryptoExpress IBM Enterprise Key Management Foundation
Marvell 제조업체 다음을 사용하는 모든 LiquidSecurity HSM
  • 펌웨어 버전 2.0.4 이상
  • 펌웨어 버전 3.2 이상
Marvell BYOK 도구 및 설명서
nCipher 제조업체,
서비스로 제공되는 HSM
  • HSM의 nShield 제품군
  • 서비스로 제공되는 nShield
nCipher 새 BYOK 도구 및 설명서
Securosys SA 제조업체,
서비스로 제공되는 HSM
Primus HSM 제품군, Securosys 클라우드 HSM Primus BYOK 도구 및 설명서
StorMagic ISV(엔터프라이즈 키 관리 시스템) 다음을 포함한 여러 HSM 브랜드 및 모델
  • Utimaco
  • Thales
  • nCipher
자세한 내용은 StorMagic 사이트를 참조하세요.
SvKMS 및 Azure Key Vault BYOK
Thales 제조업체
  • 펌웨어 버전 7.3 이상을 사용하는 Luna HSM 7 제품군
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단계kid2단계에서 다운로드한 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 보호된 키를 사용할 수 있습니다. 자세한 내용은 가격 및 기능 비교를 참조하세요.