키 래핑

키 래핑은 안전하게 저장하거나 신뢰할 수 없는 채널을 통해 전송하기 위해 키 한 개를 다른 키로 암호화하는 프로세스입니다. 환경설정에 따라 키 래핑에서 대칭 또는 비대칭 암호화를 사용할 수 있습니다.

Cloud Key Management Service에서 키 래핑은 사용자가 제공 한 암호화 키를 안전하게 가져오는 데 사용됩니다. 키를 가져오려면 가져오기 작업이 필요하며, 각 가져오기 작업에는 사용할 키 래핑 프로토콜을 지정하는 가져오기 방법이 있습니다.

Cloud KMS는 가져온 키 자료에 특정 형식을 요구합니다. 가져오기 위해 키 자료를 래핑하기 전에 Cloud KMS에서 요구하는 형식으로 변환해야 할 수 있습니다. 가져올 키 형식 지정에는 필수 형식이 자세하게 설명되어 있으며 필요한 경우 키를 필수 형식으로 변환하는 방법도 설명되어 있습니다.

키 자료의 형식이 올바르게 지정되면 키 자료를 Cloud KMS로 안전하게 전송하기 전에 gcloud 명령줄 도구에서 자동으로 래핑할 수 있습니다. 자세한 내용은 키 가져오기를 참조하세요. 또는 적절한 암호화 프로토콜을 사용하여 키를 수동으로 래핑할 수도 있습니다. Linux에서 OpenSSL을 사용하여 키 래핑에는 이 작업을 수행하는 방법의 한 가지 예시가 나와 있습니다.

가져오기 방법

Cloud KMS는 다음과 같은 가져오기 방법을 제공합니다.

가져오기 방법 작업 키 유형 가져오기 키 래핑 알고리즘
RSA_OAEP_3072_SHA1_AES_256(권장) 3072비트 RSA RSAES-OAEP with SHA-1 + AES-KWP
RSA_OAEP_4096_SHA1_AES_256 4096비트 RSA RSAES-OAEP with SHA-1 + AES-KWP

키 래핑 알고리즘

Cloud KMS에서 제공하는 가져오기 방법은 다음과 같은 키 래핑 알고리즘에 해당합니다.

RSAES-OAEP with SHA-1 + AES-KWP

이 키 래핑 알고리즘은 비대칭 키 래핑 작업과 대칭 키 래핑 작업으로 구성된 하이브리드 암호화 스키마입니다.

  1. 가져오기 작업의 공개 키는 MGF-1 및 SHA-1 다이제스트 알고리즘과 함께 RSAES-OAEP를 사용하여 일회용 AES-256 키를 암호화합니다. 일회용 AES-256 키는 래핑이 수행될 때 생성됩니다.
  2. 1단계의 일회용 AES-256 키는 패딩을 통한 AES 키 래핑을 통해 대상 키 자료를 암호화하는 데 사용됩니다.

가져올 래핑된 키 자료는 순서대로 1단계 결과와 2단계 결과로 구성된 1바이트 배열입니다. 즉, 1단계 결과와 2단계 결과가 서로 연결되어 래핑된 키 자료를 형성합니다.

이 알고리즘은 PKCS #11 키 래핑 알고리즘 CKM_RSA_AES_KEY_WRAP과 동일합니다. HSM에서 키를 가져올 때 HSM이 이 알고리즘을 지원하면 이를 직접 사용할 수 있습니다. 또는 PKCS #11 메커니즘 CKM_RSA_PKCS_OAEPCKM_AES_KEY_WRAP_PAD를 각각 사용하여 위의 1단계와 2단계를 수행할 수 있습니다.

소스 HSM(또는 HSM을 사용하지 않는 경우 다른 키 제공자)이 RSA AES 키 래핑 메커니즘을 지원하지 않으면 가져오기 작업의 공개 키를 사용하여 키 자료를 수동으로 래핑해야 합니다. OpenSSL을 사용하여 키 자료를 래핑하는 방법의 예시는 Linux에서 OpenSSL을 사용하여 키 래핑을 참조하세요.