클라이언트측 암호화 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

클라이언트측 암호화

AWS Encryption SDK에는 KMS 키를 사용하여 봉투 암호화를 수행하기 위한 API 작업이 포함되어 있습니다. 전체 권장 사항 및 사용 세부 정보는 관련 설명서를 참조하세요. 클라이언트 애플리케이션은 를 사용하여 봉투 암호화를 사용하여 수행할 수 있습니다. AWS Encryption SDK AWS KMS

// Instantiate the SDK final AwsCrypto crypto = new AwsCrypto(); // Set up the KmsMasterKeyProvider backed by the default credentials final KmsMasterKeyProvider prov = new KmsMasterKeyProvider(keyId); // Do the encryption final byte[] ciphertext = crypto.encryptData(prov, message);

클라이언트 애플리케이션은 다음 단계를 실행할 수 있습니다.

  1. KMS 키를 사용하여 새 데이터 키에 대한 요청을 보냅니다. 암호화된 데이터 키와 일반 텍스트 버전의 데이터 키가 반환됩니다.

  2. AWS Encryption SDK에서는 일반 텍스트 데이터 키를 사용하여 메시지를 암호화합니다. 그런 다음 일반 텍스트 데이터 키가 메모리에서 삭제됩니다.

  3. 암호화된 데이터 키와 암호화된 메시지가 단일 암호화 텍스트 바이트 배열로 결합됩니다.

AWS Encryption SDK 봉투 암호화.

복호화 기능을 사용하여 봉투로 암호화된 메시지를 복호화하면 원래의 암호화된 메시지를 얻을 수 있습니다.

final AwsCrypto crypto = new AwsCrypto(); final KmsMasterKeyProvider prov = new KmsMasterKeyProvider(keyId); // Decrypt the data final CryptoResult<byte[], KmsMasterKey> res = crypto.decryptData(prov, ciphertext); // We need to check the KMS key to ensure that the // assumed key was used if (!res.getMasterKeyIds().get(0).equals(keyId)) { throw new IllegalStateException("Wrong key id!"); } byte[] plaintext = res.getResult();
  1. 는 봉투로 암호화된 메시지를 AWS Encryption SDK 구문 분석하여 암호화된 데이터 키를 얻고 데이터 키의 암호 AWS KMS 해독을 요청합니다.

  2. 에서 일반 텍스트 데이터 키를 AWS Encryption SDK 수신합니다. AWS KMS

  3. 그런 다음 데이터 키를 사용하여 메시지를 복호화하고 최초의 일반 텍스트를 반환합니다.

AWS Encryption SDK 봉투 암호 해독.