IBM Cloud Hyper Protect Crypto Services 시작하기
IBM Cloud® Hyper Protect Crypto Services (Hyper Protect Crypto Services ) 는 IBM Cloud에 기반한 전용 키 관리 서비스 및 하드웨어 보안 모듈 (HSM) 입니다. 이 서비스를 사용하는 경우 클라우드 HSM의 소유권을 확보하여 암호화 키를 완전히 관리하고 암호화 조작을 수행할 수 있습니다. Hyper Protect Crypto Services은(는) 클라우드 산업에서 FIPS 140-2 레벨 4 인증 하드웨어에 빌드된 유일한 서비스이기도 합니다. Unified Key Orchestrator 함수에서는 엔터프라이즈의 하이브리드 멀티클라우드 환경에서 암호화 키에 대해 유일한 클라우드 기본 단일 지점 제어를 제공합니다.
이 튜토리얼에서는 마스터 키를 로드하여 서비스 인스턴스를 설정하고, UI를 사용하여 암호화 키를 작성 및 관리하고, PKCS #11 API 또는 GREP11 API를 사용하여 암호화 조작을 수행하는 방법에 대한 상위 레벨 단계를 보여줍니다.
- 1단계: 서비스 인스턴스 초기화
- 2단계(표준 플랜 전용): 키 작성
- 2단계(Unified Key Orchestrator 플랜 전용): 암호화 키 관리
- 3단계: 클라우드 HSM을 사용하여 데이터 암호화
1단계: 서비스 인스턴스 초기화
서비스 인스턴스가 있는 위치 및 보안 요구사항에 따라 Hyper Protect Crypto Services 는 서비스 인스턴스를 초기화하기 위한 다음 세 가지 옵션을 제공합니다.
-
옵션 1: 스마트카드 및 관리 유틸리티를 사용하여 서비스 인스턴스 초기화
이 옵션은 스마트 카드를 사용하여 마스터 키 파트를 저장하고 관리할 수 있는 가장 높은 보안을 제공합니다.
-
옵션 2: 복구 암호화 단위를 사용하여 서비스 인스턴스 초기화
복구 암호화 단위가 사용으로 설정된 지역에서 서비스 인스턴스를 작성하는 경우 이 옵션을 선택할 수 있습니다. 이 옵션을 사용하면 마스터 키가 복구 암호화 단위 내에서 무작위로 생성된 후 자동으로 다른 암호화 단위로 내보내집니다. 마스터 키를 관리하고 최소한의 노력으로 인스턴스 초기화를 완료할 수 있습니다.
-
옵션 3: 키 파트 파일을 사용하여 서비스 인스턴스 초기화
로컬 워크스테이션의 파일에 저장된 마스터 키 파트를 사용하여 서비스 인스턴스를 초기화할 수도 있습니다.서비스 인스턴스에 복구 암호화 장치가 포함되어 있는지 여부에 관계 없이 이 접근법을 사용할 수 있습니다.
2단계 (표준 플랜 전용): 키 작성
표준 플랜을 사용하여 데이터 암호화를 위한 루트 키 또는 표준 키를 작성할 수 있습니다. 다음 단계를 완료하여 첫 암호화 키를 작성하십시오. 이러한 단계를 완료하려면 사용자가 IBM Cloud 계정 소유자이거나 writer 역할이 지정되었는지 확인하십시오. 세부사항은 UI에서 Hyper Protect Crypto Services 에 대한 액세스 지정 을 참조하십시오.
- UI에서 KMS키 > 키 추가를 클릭하십시오.
- 키 작성을 선택하십시오.
- 루트 키 또는 표준 키 를 키 유형으로 지정하고 키의 고유 이름을 입력하십시오. 키 이름에 사용자 이름 또는 위치와 같은 PII (Personally Identifiable Information) 가 포함되어 있지 않은지 확인하십시오.
- 키 추가 를 클릭하여 확인하십시오.
작성된 키는 대칭 256비트키이며 AES-CBC 알고리즘에서 지원됩니다. 키 관리 서비스 키 테이블에서 키의 일반 특성을 검사할 수 있습니다. base64-encoded 키 자료를 가져와서 사용자 고유의 키를 가져올 수도 있습니다.
2단계 (Unified Key Orchestrator 플랜 전용): 암호화 키 관리
Hyper Protect Crypto Services with Unified Key Orchestrator을(를) 사용하는 경우 다음 단계를 수행하여 암호화 키를 관리할 수 있습니다. 이러한 단계를 완료하려면 사용자가 IBM Cloud 계정 소유자이거나 저장소 관리자 역할이 지정되었는지 확인하십시오. 세부사항은 UI에서 Hyper Protect Crypto Services 에 대한 액세스 지정 을 참조하십시오.
1. 저장소 작성
저장소는 Cloud Identity and Access Management (IAM) 를 통해 관리 키 및 키 저장소에 대한 사용자 또는 액세스 그룹의 액세스를 제어하는 단일 저장소입니다.
첫 번째 저장소를 작성하려면 다음 단계를 완료하십시오.
- 서비스 인스턴스 UI의 탐색에서 저장소를 클릭하여 사용 가능한 모든 저장소를 표시하십시오.
- 저장소 작성을 클릭하십시오.
- 저장소 이름에 이름을 입력하십시오. 저장소 이름은 1 - 100자가 될 수 있습니다. 선택적으로 설명 섹션에 저장소에 대한 자세한 설명을 추가할 수 있습니다.
- 저장소 작성을 클릭하여 확인하십시오.
2. 키 저장소 작성
키 저장소는 암호화 키를 저장하는 저장소입니다. 서비스 인스턴스 내에 내부 키 저장소를 작성하거나 다른 서비스 인스턴스 또는 다른 클라우드 제공자 (예: Microsoft Azure Key Vault, Amazon Web Services (AWS) Key Management Service (KMS) 및 Google Cloud KMS) 의 외부 키 저장소에 연결할 수 있습니다.
다음 단계를 완료하여 첫 번째 내부 키 저장소를 작성하십시오.
- 서비스 인스턴스 UI의 탐색에서 키 저장소 를 클릭하여 사용 가능한 모든 키 저장소를 보십시오.
- 키 저장소 추가를 클릭하십시오.
- 저장소에서 작성된 저장소를 선택한 후 다음을 클릭하십시오. 새 저장소에 키 저장소를 지정하려면 저장소 작성을 클릭하십시오.
- 키 저장소 유형에서 IBM Cloud KMS 를 선택하고 다음을 클릭하십시오.
- 키 저장소 특성에서 키 저장소 이름에 이름을 입력하십시오. 키 저장소 이름은 1-100자가 될 수 있습니다. 이제 다음을 클릭하십시오.
- 요약에서 키 저장소 유형, 지정된 저장소 및 일반 특성을 포함하여 작성된 키 저장소의 요약을 확인할 수 있습니다.
- 키 저장소 세부사항을 확인한 후 키 저장소 작성을 클릭하여 키 저장소를 작성하십시오.
3. 키 템플리트 작성
키 템플리트는 작성할 관리 키의 특성 (예: 이름 지정 규칙, 키 알고리즘 및 키 길이) 을 지정합니다.
첫 번째 키 템플리트를 작성하려면 다음 단계를 완료하십시오.
- 서비스 인스턴스 UI의 탐색에서 키 템플리트 를 클릭하십시오.
- 키 템플리트 작성을 클릭하십시오.
- 저장소아래에서 방금 작성한 저장소를 선택한 후 다음을 클릭하십시오.
- 키 저장소에서 키 저장소 유형으로 IBM Cloud KMS 를 선택하고 방금 작성한 키 저장소를 선택한 후 다음을 클릭하십시오.
- 키 템플리트 특성아래에서 키 템플리트의 다음 세부사항을 지정하십시오. 다음을 클릭하여 계속 진행하십시오.
- 요약아래에서 키 템플리트의 요약을 본 후 키 템플리트 작성 을 클릭하여 키 템플리트 작성을 완료하십시오.
4. 관리 키 작성
하나 이상의 키 저장소에서 작성되고 활성화된 후에만 암호화 또는 복호화를 위해 관리 키를 사용할 수 있습니다. 다음 단계를 완료하여 첫 번째 IBM Cloud KMS키를 작성하고 작성한 키 저장소에서 키를 활성화하십시오.
- 서비스 인스턴스 UI의 탐색에서 관리 키를 클릭하여 사용 가능한 모든 키를 표시하십시오.
- 키 작성을 클릭하십시오.
- 저장소아래에서 방금 작성한 저장소를 선택한 후 다음을 클릭하십시오.
- 키 템플리트에서 키 템플리트에서 작성 을 선택한 후 방금 작성한 키 템플리트를 선택하고 다음을 클릭하십시오.
- 키 특성아래에서 키의 세부사항을 지정하십시오. 완료 시 다음을 클릭하여 계속 진행하십시오.
Pre-active키는 수동으로 활성화할 때까지 키 저장소에 설치되지 않습니다.Active키는 키 저장소에 자동으로 설치됩니다. 키 특성에 대한 자세한 정보는 IBM Cloud UI에서 키 템플리트를 사용하여 관리 키 작성 을 참조하십시오. - 요약에서 키의 요약을 본 후 키 작성 을 클릭하여 키를 작성하십시오.
3단계: 클라우드 HSM을 사용하여 데이터 암호화
PKCS #11 API 또는 GREP11 API를 통해 원격으로 Hyper Protect Crypto Services 클라우드 HSM에 액세스하여 암호화 오퍼레이션을 수행할 수 있습니다. 이러한 단계를 완료하려면 사용자가 IBM Cloud 계정 소유자이거나 writer 역할이 지정되었는지 확인하십시오. 세부사항은 UI에서 Hyper Protect Crypto Services 에 대한 액세스 지정 을 참조하십시오.
PKCS #11 API로 암호화 오퍼레이션 수행
PKCS #11 API로 암호화 오퍼레이션을 수행하려면 다음 단계를 완료하십시오.
- PKCS #11 서비스 ID, 역할 및 조치를 설정하십시오. 자세한 정보는 PKCS #11 API 사용자 유형 설정 을 참조하십시오.
- PKCS #11 클라이언트 라이브러리를 다운로드, 설치 및 구성하십시오. PKCS #11 클라이언트 라이브러리 구성에 대한 자세한 정보는 PKCS #11 API를 사용하여 암호화 조작 수행 을 참조하십시오.
GREP11 API로 암호화 오퍼레이션 수행
GREP11 API를 사용하여 암호화 조작을 수행하려면 애플리케이션이 gRPC에서 지원되는 프로그래밍 언어로 개발되었는지 확인해야 합니다.
다음 프로시저에서는 GREP11 함수를 테스트하는 예제로 Golang 코드를 사용합니다.
-
지시사항에 따라 Golang을 설치하십시오.
-
Golang의 샘플 GitHub 저장소 를 사용자가 선택하는 로컬 디렉토리에 복제하십시오. Go 모듈은 이 저장소에 사용되므로
GOPATH에 복제된 저장소를 배치할 필요가 없습니다. GREP11 Go 코드 예제에 대한 자세한 정보는 저장소의 README 파일을 참조하십시오. -
examples/server_test.go파일에서 다음 코드 스니펫을 업데이트하십시오.var ( Address = "<instance_ID>.ep11.us-east.hs-crypto.appdomain.cloud" APIKey = "<ibm_cloud_apikey>" )코드 예제에서
<instance_ID>를 GREP11 API 엔드포인트의 값으로 대체하십시오. 프로비저닝된 서비스 인스턴스 UI에서 서비스 엔드포인트 URL을 찾으려면 개요 > 연결 > Enterprise PKCS #11 엔드포인트 URL 을 클릭하십시오.<ibm_cloud_apikey>를 사용자가 작성한 서비스 ID API키 로 대체하십시오.
-
<your_repository_path>/hpcs-grep11-go/examples디렉토리에서go test -v -run Example명령을 실행하여 예제를 실행하십시오.