루트 키 작성
UI를 사용하거나 Hyper Protect Crypto Services 키 관리 서비스 API를 사용하여 프로그래밍 방식으로 루트 키A symmetric wrapping key that is used for encrypting and decrypting other keys that are stored in a data service. 를 작성하기 위해 IBM Cloud® Hyper Protect Crypto Services 를 사용할 수 있습니다.
루트 키는 클라우드에서 암호화된 데이터의 보안을 보호하는 데 사용되는 대칭 키-랩핑 키입니다. 루트 키에 대한 자세한 정보는 엔벨로프 암호화를 참조하십시오.
UI를 사용하여 루트 키 작성
서비스의 인스턴스를 작성한 후 UI를 사용하여 루트 키를 작성하려면 다음 단계를 완료하십시오.
Hyper Protect Crypto Services 인스턴스에 대한 이중 권한 설정을 사용으로 설정하는 경우 키를 삭제하려면 서비스에 추가하는 모든 키에 두 사용자의 권한이 필요합니다.
-
메뉴 > 리소스 목록으로 이동하여 리소스 목록을 보십시오.
-
IBM Cloud 리소스 목록에서 Hyper Protect Crypto Services의 프로비저닝된 인스턴스를 선택하십시오.
-
새 키를 작성하려면 사이드 메뉴에서 KMS키 탭을 선택하십시오.
-
키 테이블에서 키 추가를 클릭한 후 키 작성을 선택하십시오.
키의 세부사항을 지정하십시오.
표 1. 키를 작성하기 위한 설정에 대해 설명합니다. 설정 설명 키 유형 Hyper Protect Crypto Services에서 관리할 키의 유형입니다. 키 유형 목록에서 **루트 키**를 선택하십시오. 키 이름 키를 쉽게 식별할 수 있도록 해 주는 사용자가 읽을 수 있는 고유 이름입니다. 길이는 2 - 90자 이내여야 합니다. 개인정보를 보호하려면 키 이름에 사용자 이름 또는 위치와 같은 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키 링에 추가됩니다. 키 링에 대한 자세한 정보는 키 링 관리를 참조하십시오.만기 날짜 (선택사항) 키가 만료되는 날짜 및 시간을 설정하십시오. 만기 날짜 이후에는 키가 비활성화 상태로 이동합니다. 키 상태에 대한 자세한 정보는 암호화 키의 라이프사이클 모니터링을 참조하십시오. 설명 (선택사항) 키에 대한 자세한 설명을 추가하십시오. 길이는 2 - 240자가 될 수 있습니다. -
키의 세부사항 채우기가 완료되면 키 작성을 클릭하여 확인하십시오.
서비스에서 작성된 키는 대칭 256비트 키이며, AES-CBC 알고리즘으로 지원됩니다. 추가된 보안을 위해 키는 보안 IBM Cloud 데이터 센터에 있는 FIPS 140-2레벨 4인증 하드웨어 보안 모듈(HSM)A physical appliance that provides on-demand encryption, key management, and key storage as a managed service. 에 의해 생성됩니다.
API로 루트 키 작성
다음 엔드포인트에 대한 POST 호출을 작성하여 루트 키를 작성하십시오.
https://<instance_ID>.api.<region>.hs-crypto.appdomain.cloud/api/v2/keys
-
다음
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 "x-kms-key-ring: <key_ring_ID>" \ -H "correlation-id: <correlation_ID>" \ -d '{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "name": "<key_name>", "aliases": [alias_list], "description": "<key_description>", "expirationDate": "<YYYY-MM-DDTHH:MM:SS.SSZ>", "extractable": <key_type> } ] }'다음 표에 따라 예제 요청의 변수를 대체하십시오.
표 2. 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 검색을 참조하십시오. key_ring_ID선택사항. 키를 지정할 대상 키 링의 고유 ID입니다. 지정되지 않은 경우 헤더는 자동으로 default로 설정되고 키는 지정된 Hyper Protect Crypto Services 인스턴스의 기본 키 링에 속합니다.자세한 정보는 키 링 관리를 참조하십시오.
correlation_ID트랜잭션을 추적하고 상관시키는 데 사용되는 고유 ID입니다. key_name필수입니다. 키를 쉽게 식별할 수 있도록 해 주는 사용자가 읽을 수 있는 고유 이름입니다. 중요: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
alias_list선택사항. 키에 지정되었으며 사용자가 읽을 수 있는 하나 이상의 고유한 별명입니다. 중요: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
각 별명은 영숫자여야 하며 대소문자를 구분해야 하며 대시 (-) 또는 밑줄 (_) 이외의 공백이나 특수 문자를 포함할 수 없습니다. 별명은 버전 4 UUID일 수 없으며 Hyper Protect Crypto Services 예약 이름
allowed_ip,key,keys,metadata,policy,policies,registration,registrations,ring,rings,rotate,wrap,unwrap,rewrap,version,versions이 아니어야 합니다. 별명 크기는 2-90자 (포함) 일 수 있습니다.key_description선택사항: 키에 대한 자세한 설명입니다. 중요: 개인정보를 보호하려면 개인 데이터를 키의 메타데이터로 저장하지 마십시오.
YYYY-MM-DDHH:MM:SS.SS선택사항: 시스템에서 키가 만료되는 날짜 및 시간입니다(RFC 3339 형식). expirationDate속성이 생략되면 키가 만료되지 않습니다.key_type키 자료 서비스를 중단할지 여부를 판별하는 부울 값입니다. extractable속성을false로 설정하면 서비스가wrap또는unwrap오퍼레이션에 사용할 수 있는 루트 키를 작성합니다.개인 데이터의 기밀성을 보호하려면 서비스에 키를 추가할 때 사용자 이름 또는 위치와 같은 PII(Personally Identifiable Information)를 입력하지 않도록 하십시오. PII의 추가 예제는 NIST Special Publication 800-122의 2.2 절을 참조하십시오.
요청에서
expirationDate를 설정하는 경우 해당 키는 키의 만기 날짜 이후 1시간 이내에 비활성화 상태로 변경됩니다.성공한
POST /v2/keys응답은 기타 메타데이터와 함께 키의 ID 값을 리턴합니다. 이 ID는 키에 지정된 고유 ID이며 Hyper Protect Crypto Services 키 관리 서비스 API에 대한 후속 호출 시 사용됩니다.{ "metadata": { "collectionType": "application/vnd.ibm.kms.key+json", "collectionTotal": 1 }, "resources": [ { "type": "application/vnd.ibm.kms.key+json", "id": "02fd6835-6001-4482-a892-13bd2085f75d", "name": "test-root-key", "aliases": [ "alias-1", "alias-2" ], "description": "A test root key", "state": 1, "extractable": false, "crn": "crn:v1:bluemix:public:hs-crypto:us-south:a/f047b55a3362ac06afad8a3f2f5586ea:12e8c9c2-a162-472d-b7d6-8b9a86b815a6:key:02fd6835-6001-4482-a892-13bd2085f75d", "imported": false, "creationDate": "2020-03-12T03:37:32Z", "createdBy": "...", "algorithmType": "AES", "algorithmMetadata": { "bitLength": "256", "mode": "CBC_PAD" }, "algorithmBitSize": 256, "algorithmMode": "CBC_PAD", "lastUpdateDate": "2020-03-12T03:37:32Z", "keyVersion": { "id": "2291e4ae-a14c-4af9-88f0-27c0cb2739e2", "creationDate": "2020-03-12T03:37:32Z" }, "dualAuthDelete": { "enabled": false }, "deleted": false } ] }응답 매개변수에 대한 자세한 설명은 Hyper Protect Crypto Services REST API 참조 문서를 참조하십시오.
-
선택사항: 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>' \
서비스를 사용하여 루트 키를 작성한 후 해당 키는 Hyper Protect Crypto Services 범위 내에 유지되며 키 자료를 검색할 수 없습니다.
다음에 수행할 작업
- 엔벨로프 암호화로 키를 보호하는 데 대해 자세히 알아보려면 키 랩핑을 확인하십시오.
- 고유 키 가져오기에 대한 지시사항을 찾으려면 루트 키 가져오기 또는 표준 키 가져오기를 확인하십시오.
- 프로그래밍 방식으로 키를 관리하는 방법에 대해 자세히 알아보려면 Hyper Protect Crypto Services 키 관리 서비스 API 참조 문서를 확인하십시오.