표준 키 가져오기

UI를 사용하거나 Hyper Protect Crypto Services 키 관리 서비스 API를 사용하여 프로그래밍 방식으로 기존 암호화 키를 추가할 수 있습니다.

UI를 사용하여 표준 키 가져오기

서비스의 인스턴스를 작성한 후, 다음 단계를 완료하여 Hyper Protect Crypto Services GUI로 기존 표준 키를 입력하십시오.

  1. UI에 로그인하십시오.

  2. 메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.

  3. IBM Cloud 리소스 목록에서 Hyper Protect Crypto Services의 프로비저닝된 인스턴스를 선택하십시오.

  4. 키를 가져오려면 사이드 메뉴에서 KMS 키 탭을 선택하십시오.

  5. 테이블에서 키 추가를 클릭한 후 키 가져오기를 선택하십시오.

    키의 세부사항을 지정하십시오.

    표 1. 표준 키를 가져오기 위한 설정을 설명합니다.
    설정 설명
    키 유형 Hyper Protect Crypto Services에서 관리할 키의 유형입니다. 키 유형 목록에서 **표준 키**를 선택하십시오.
    키 이름 키를 쉽게 식별할 수 있도록 해 주는 사용자가 읽을 수 있는 고유 별명입니다. 개인정보를 보호하려면 키 이름에 사용자 이름 또는 위치와 같은 PII(Personally Identifiable Information)가 포함되지 않았는지 확인하십시오.
    키 별명 (선택 사항) 쉽게 인식할 수 있도록 키에 할당하려는 하나 이상의 사람이 읽을 수 있는 고유한 별명입니다. 별명 크기는 2 - 90자가 될 수 있습니다. 키에 대해 각각 쉼표로 구분하여 최대 다섯 개의 키 별명을 설정할 수 있습니다.

    참고: 각 별명은 대소문자를 구분하는 영숫자여야 하며 대시 (-) 또는 밑줄 (_) 이외의 공백이나 특수 문자를 포함할 수 없습니다. 별명은 버전 4 UUID일 수 없으며 Hyper Protect Crypto Services 예약 이름 allowed_ip, key, keys, metadata, policy, policies, registration, registrations, ring, rings, rotate, wrap, unwrap, rewrap, version, versions 이 아니어야 합니다.

    키 링 ID 기존 키 링이 포함된 목록에서 키 링을 선택하십시오. 키 링을 지정하지 않을 경우 키가 default 키 링에 추가됩니다. 키 링에 대한 자세한 정보는 키 링 관리를 참조하십시오.
    키 자료

    서비스에서 관리할 base64로 인코딩된 키 자료입니다(예: 대칭 키). 자세한 정보는 키 자료를 Base64로 인코딩을 참조하십시오. 키 자료가 다음 요구사항을 충족하는지 확인하십시오.

    • 키는 최대 7500바이트일 수 있습니다.
    • 키는 base64로 인코딩되어야 합니다.
    만기 날짜 (선택사항) 키가 만료되는 날짜 및 시간을 설정하십시오. 만기 날짜 이후에는 키가 비활성화 상태로 이동합니다. 키 상태에 대한 자세한 정보는 암호화 키의 라이프사이클 모니터링을 참조하십시오.
    설명 (선택사항) 키에 대한 자세한 설명을 추가하십시오. 길이는 2-240자여야 합니다.
  6. 키의 세부사항 채우기를 완료한 후 키 가져오기를 클릭하여 확인하십시오.

API로 표준 키 가져오기

다음 엔드포인트에 대한 POST 호출을 작성하여 표준 키를 가져오십시오.

https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
  1. 서비스 및 인증용 인증 정보를 검색하여 서비스에서 키에 대한 작업을 수행하십시오.

  2. 다음 cURL 명령을 사용하여 Hyper Protect Crypto Services 키 관리 서비스 API 를 호출하십시오.

    curl -X POST \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'content-type: application/vnd.ibm.kms.key+json' \
      -H 'correlation-id: <correlation_ID>' \
      -H 'prefer: <return_preference>' \
      -d '{
     "metadata": {
       "collectionType": "application/vnd.ibm.kms.key+json",
       "collectionTotal": 1
     },
     "resources": [
       {
       "type": "application/vnd.ibm.kms.key+json",
       "name": "<key_alias>",
       "description": "<key_description>",
       "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>",
       "payload": "<key_material>",
       "extractable": <key_type>
       }
     ]
    }'
    

    다음 표에 따라 예제 요청의 변수를 대체하십시오.

    표 2. Hyper Protect Crypto Services 키 관리 서비스 API를 사용하여 표준 키를 추가하는 데 필요한 변수를 설명합니다.
    가변 설명
    region Hyper Protect Crypto Services 서비스 인스턴스가 상주하는 지리적 영역을 표시하는 지역 약어(예: us-south 또는 au-syd)입니다. 자세한 정보는 지역 서비스 엔드포인트를 참조하십시오.
    port 필수입니다. API 엔드포인트의 포트 번호입니다.
    IAM_token 사용자의 IBM Cloud 액세스 토큰입니다. cURL 요청에 Bearer 값 등 IAM 토큰의 전체 컨텐츠를 포함하십시오. 자세한 정보는 액세스 토큰 검색을 참조하십시오.
    instance_ID Hyper Protect Crypto Services 서비스 인스턴스에 지정된 고유 ID입니다. 자세한 정보는 인스턴스 ID 검색을 참조하십시오.
    correlation_ID 트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다.
    return_preference 선택사항: POSTDELETE 조작에 대한 서버 동작을 변경하는 헤더입니다. return_preference 변수를 return=minimal 로 설정하면 서비스가 키 이름 및 ID값과 같은 키 메타데이터만 응답 엔티티-본문에 리턴합니다. 변수를 return=representation으로 설정하면 서비스가 키 자료와 키 메타데이터를 둘 다 리턴합니다.
    key_alias 키를 쉽게 식별할 수 있도록 해 주는 사용자가 읽을 수 있는 고유 이름입니다.

    중요사항: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
    key_description 선택사항: 키에 대한 자세한 설명입니다.

    중요사항: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
    YYYY-MM-DD

    HH:MM:SS.SS

    선택사항: 시스템에서 키가 만료되는 날짜 및 시간입니다(RFC 3339 형식). expirationDate 속성이 생략되면 키가 만료되지 않습니다.
    key_material 서비스에서 관리할 base64로 인코딩된 키 자료입니다(예: 대칭 키). 자세한 정보는 키 자료를 인코딩하는Base64
    를 참조하십시오.
    키 자료가 다음 요구사항을 충족하는지 확인하십시오.

    * 키는 최대 7,500바이트까지 가능합니다.
    * 키는 base64로 인코딩되어야 합니다.
    key_type 키 자료 서비스를 중단할지 여부를 판별하는 부울 값입니다.

    extractable 속성을 true 로 설정하면 서비스가 키를 앱 또는 서비스에 저장할 수 있는 표준 키로 지정합니다.

    개인 데이터의 기밀성을 보호하려면 서비스에 키를 추가할 때 사용자 이름 또는 위치와 같은 PII(Personally Identifiable Information)를 입력하지 않도록 하십시오. PII의 추가 예제는 NIST Special Publication 800-122의 2.2 절을 참조하십시오.

    성공한 POST /v2/keys 응답은 기타 메타데이터와 함께 키의 ID 값을 리턴합니다. 이 ID는 키에 지정된 고유 ID이며 Hyper Protect Crypto Services 키 관리 서비스 API에 대한 후속 호출 시 사용됩니다.

  3. 선택사항: Hyper Protect Crypto Services 서비스 인스턴스에서 키를 가져오는 다음 호출을 실행하여 키가 추가되었는지 확인하십시오.

    curl -X GET \
      https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys \
      -H 'accept: application/vnd.ibm.collection+json' \
      -H 'authorization: Bearer <IAM_token>' \
      -H 'bluemix-instance: <instance_ID>' \
      -H 'correlation-id: <correlation_ID>' \
    

CLI를 사용하여 표준 키 가져오기

Hyper Protect Crypto Services에 통합된 Key Protect CLI를 사용하는 표준 키를 가져오려면 다음 단계를 완료하십시오.

  1. Key Protect CLI를 설정하십시오.

  2. 다음 명령을 사용하여 표준 키를 가져오십시오.

    ibmcloud kp key create
    

    Key Protect CLI 참조에서 이 명령에 대한 추가적인 매개변수를 찾을 수 있습니다.

키 자료를 base64로 인코딩

기존 표준 키를 가져오는 경우 해당 키에 서비스에서 저장하고 관리할 암호화된 키 자료가 포함되어 있어야 합니다.

OpenSSL을 사용하여 기존 키 자료 인코딩

  1. OpenSSL을 다운로드하여 설치하십시오.

  2. 다음 명령을 실행하여 키 자료를 base64로 인코딩하십시오.

    $ openssl base64 -in <infile> -out <outfile>
    

    다음 표에 따라 예제 요청의 변수를 대체하십시오.

    표 3. 키 자료를 base64 인코드하는 데 필요한 변수를 설명합니다.
    가변 설명
    infile 키 자료 문자열이 상주하는 파일의 이름입니다.
    outfile 명령 실행 시 base64로 인코딩된 키 자료가 작성되는 파일의 이름입니다.

    파일이 아닌 명령행에서 base64 자료를 출력하려면 openssl enc -base64 <<< '<key_material_string>' 명령을 실행하십시오. 여기서 key_material al_string은 가져온 키에 대한 키 자료 입력입니다.

OpenSSL을 사용하여 새 키 자료 작성 및 인코딩

  1. OpenSSL을 다운로드하여 설치하십시오.

  2. 다음 명령을 실행하여 키 자료를 base64로 인코딩하십시오.

    $ openssl rand <byte_length> -base64
    

    예제 요청의 byte_length 변수를 바이트 단위로 측정되는 키의 길이로 대체하십시오. 허용되는 바이트 길이는 최대 7,500바이트일 수 있습니다.

다음에 수행할 작업

프로그래밍 방식으로 키를 관리하는 방법에 대해 자세히 알아보려면 Hyper Protect Crypto Services 키 관리 서비스 API 참조 문서를 확인하십시오.