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를 사용하여 암호화 조작을 수행하는 방법에 대한 상위 레벨 단계를 보여줍니다.

시작하기 전에

Hyper Protect Crypto Services를 사용하려면 다음 전제조건을 충족하는지 확인하십시오.

  1. 종량과금제 또는 구독 IBM Cloud 계정이 있습니다.

    프로모션 코드 HPCRYPTO30 를 사용하여 30일동안 무료로 두 개의 암호화 단위를 가져올 수 있습니다.

  2. 다음 플랜 중 하나를 사용하여 서비스 인스턴스를 프로비저닝 했습니다.

1단계: 서비스 인스턴스 초기화

서비스 인스턴스가 있는 위치 및 보안 요구사항에 따라 Hyper Protect Crypto Services 는 서비스 인스턴스를 초기화하기 위한 다음 세 가지 옵션을 제공합니다.

2단계 (표준 플랜 전용): 키 작성

표준 플랜을 사용하여 데이터 암호화를 위한 루트 키 또는 표준 키를 작성할 수 있습니다. 다음 단계를 완료하여 첫 암호화 키를 작성하십시오. 이러한 단계를 완료하려면 사용자가 IBM Cloud 계정 소유자이거나 writer 역할이 지정되었는지 확인하십시오. 세부사항은 UI에서 Hyper Protect Crypto Services 에 대한 액세스 지정 을 참조하십시오.

  1. UI에서 KMS키 > 키 추가를 클릭하십시오.
  2. 키 작성을 선택하십시오.
  3. 루트 키 또는 표준 키 를 키 유형으로 지정하고 키의 고유 이름을 입력하십시오. 키 이름에 사용자 이름 또는 위치와 같은 PII (Personally Identifiable Information) 가 포함되어 있지 않은지 확인하십시오.
  4. 키 추가 를 클릭하여 확인하십시오.

작성된 키는 대칭 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) 를 통해 관리 키 및 키 저장소에 대한 사용자 또는 액세스 그룹의 액세스를 제어하는 단일 저장소입니다.

첫 번째 저장소를 작성하려면 다음 단계를 완료하십시오.

  1. 서비스 인스턴스 UI의 탐색에서 저장소를 클릭하여 사용 가능한 모든 저장소를 표시하십시오.
  2. 저장소 작성을 클릭하십시오.
  3. 저장소 이름에 이름을 입력하십시오. 저장소 이름은 1 - 100자가 될 수 있습니다. 선택적으로 설명 섹션에 저장소에 대한 자세한 설명을 추가할 수 있습니다.
  4. 저장소 작성을 클릭하여 확인하십시오.

2. 키 저장소 작성

키 저장소는 암호화 키를 저장하는 저장소입니다. 서비스 인스턴스 내에 내부 키 저장소를 작성하거나 다른 서비스 인스턴스 또는 다른 클라우드 제공자 (예: Microsoft Azure Key Vault, Amazon Web Services (AWS) Key Management Service (KMS) 및 Google Cloud KMS) 의 외부 키 저장소에 연결할 수 있습니다.

다음 단계를 완료하여 첫 번째 내부 키 저장소를 작성하십시오.

  1. 서비스 인스턴스 UI의 탐색에서 키 저장소 를 클릭하여 사용 가능한 모든 키 저장소를 보십시오.
  2. 키 저장소 추가를 클릭하십시오.
  3. 저장소에서 작성된 저장소를 선택한 후 다음을 클릭하십시오. 새 저장소에 키 저장소를 지정하려면 저장소 작성을 클릭하십시오.
  4. 키 저장소 유형에서 IBM Cloud KMS 를 선택하고 다음을 클릭하십시오.
  5. 키 저장소 특성에서 키 저장소 이름에 이름을 입력하십시오. 키 저장소 이름은 1-100자가 될 수 있습니다. 이제 다음을 클릭하십시오.
  6. 요약에서 키 저장소 유형, 지정된 저장소 및 일반 특성을 포함하여 작성된 키 저장소의 요약을 확인할 수 있습니다.
  7. 키 저장소 세부사항을 확인한 후 키 저장소 작성을 클릭하여 키 저장소를 작성하십시오.

3. 키 템플리트 작성

키 템플리트는 작성할 관리 키의 특성 (예: 이름 지정 규칙, 키 알고리즘 및 키 길이) 을 지정합니다.

첫 번째 키 템플리트를 작성하려면 다음 단계를 완료하십시오.

  1. 서비스 인스턴스 UI의 탐색에서 키 템플리트 를 클릭하십시오.
  2. 키 템플리트 작성을 클릭하십시오.
  3. 저장소아래에서 방금 작성한 저장소를 선택한 후 다음을 클릭하십시오.
  4. 키 저장소에서 키 저장소 유형으로 IBM Cloud KMS 를 선택하고 방금 작성한 키 저장소를 선택한 후 다음을 클릭하십시오.
  5. 키 템플리트 특성아래에서 키 템플리트의 다음 세부사항을 지정하십시오. 다음을 클릭하여 계속 진행하십시오.
  6. 요약아래에서 키 템플리트의 요약을 본 후 키 템플리트 작성 을 클릭하여 키 템플리트 작성을 완료하십시오.

4. 관리 키 작성

하나 이상의 키 저장소에서 작성되고 활성화된 후에만 암호화 또는 복호화를 위해 관리 키를 사용할 수 있습니다. 다음 단계를 완료하여 첫 번째 IBM Cloud KMS키를 작성하고 작성한 키 저장소에서 키를 활성화하십시오.

  1. 서비스 인스턴스 UI의 탐색에서 관리 키를 클릭하여 사용 가능한 모든 키를 표시하십시오.
  2. 키 작성을 클릭하십시오.
  3. 저장소아래에서 방금 작성한 저장소를 선택한 후 다음을 클릭하십시오.
  4. 키 템플리트에서 키 템플리트에서 작성 을 선택한 후 방금 작성한 키 템플리트를 선택하고 다음을 클릭하십시오.
  5. 키 특성아래에서 키의 세부사항을 지정하십시오. 완료 시 다음을 클릭하여 계속 진행하십시오. Pre-active 키는 수동으로 활성화할 때까지 키 저장소에 설치되지 않습니다. Active 키는 키 저장소에 자동으로 설치됩니다. 키 특성에 대한 자세한 정보는 IBM Cloud UI에서 키 템플리트를 사용하여 관리 키 작성 을 참조하십시오.
  6. 요약에서 키의 요약을 본 후 키 작성 을 클릭하여 키를 작성하십시오.

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로 암호화 오퍼레이션을 수행하려면 다음 단계를 완료하십시오.

  1. PKCS #11 서비스 ID, 역할 및 조치를 설정하십시오. 자세한 정보는 PKCS #11 API 사용자 유형 설정 을 참조하십시오.
  2. PKCS #11 클라이언트 라이브러리를 다운로드, 설치 및 구성하십시오. PKCS #11 클라이언트 라이브러리 구성에 대한 자세한 정보는 PKCS #11 API를 사용하여 암호화 조작 수행 을 참조하십시오.

GREP11 API로 암호화 오퍼레이션 수행

GREP11 API를 사용하여 암호화 조작을 수행하려면 애플리케이션이 gRPC에서 지원되는 프로그래밍 언어로 개발되었는지 확인해야 합니다.

다음 프로시저에서는 GREP11 함수를 테스트하는 예제로 Golang 코드를 사용합니다.

  1. 지시사항에 따라 Golang을 설치하십시오.

  2. Golang의 샘플 GitHub 저장소 를 사용자가 선택하는 로컬 디렉토리에 복제하십시오. Go 모듈은 이 저장소에 사용되므로 GOPATH에 복제된 저장소를 배치할 필요가 없습니다. GREP11 Go 코드 예제에 대한 자세한 정보는 저장소의 README 파일을 참조하십시오.

  3. 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키 로 대체하십시오.
  4. <your_repository_path>/hpcs-grep11-go/examples 디렉토리에서 go test -v -run Example 명령을 실행하여 예제를 실행하십시오.