AWS KMS хранит главный ключ клиента - PullRequest
0 голосов
/ 01 марта 2019

Я знаю, что чего-то здесь не хватает, но я изо всех сил пытаюсь понять концепцию мастер-ключ клиента в AWS KMS.Ниже приведен пример кода.

Код для создания мастер-ключа:

`CreateKeyRequest req = new CreateKeyRequest();
CreateKeyResult result = kmsClient.createKey(req);
String customerMasterKey = result.getKeyMetadata().getKeyId();`

Код для создания ключа данных с использованием мастер-ключа клиента:

`GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest();
dataKeyRequest.setKeyId(customerMasterKey);
dataKeyRequest.setKeySpec("AES_128");
GenerateDataKeyResult dataKeyResult = kmsClient.generateDataKey(dataKeyRequest);`

Теперь согласно моемуПонимая, мне нужно использовать главный ключ для расшифровки зашифрованного ключа данных каждый раз, когда я хочу зашифровать / расшифровать какую-то вещь.Что означает, что мне нужно хранить эти два ключа в каком-то месте.Так что, если кто-то еще сможет получить доступ к этим двум ключам, смогут ли они расшифровать мои данные с помощью AWS encryption SDK?

1 Ответ

0 голосов
/ 01 марта 2019
  1. Главный ключ никогда не покидает AWS и доступен только тому, кто имеет соответствующий доступ к вашей учетной записи и ключу.Если они имеют доступ к вашей учетной записи и имеют соответствующие права на использование ключа, они могут использовать главный ключ для шифрования / дешифрования вашего ключа данных.Помните, что идентификатор мастер-ключа не является фактическим ключом, поэтому обладание идентификатором ключа бесполезно за пределами AWS.
  2. Вы не сохраняете оба ключа, идентификатор мастер-ключа всегда можно просмотреть с помощьюконсоль, CLI или SDK (я полагаю, поскольку я не использовал его).
  3. Ключ данных не управляется службой KMS, поэтому вам придется хранить его (после шифрования с помощью главного ключа) вместе с зашифрованными данными.

Ответ на ваш вопрос ... если случится так, что неавторизованный пользователь получит копию вашего идентификатора главного ключа и вашего зашифрованного ключа данных, он не сможет использовать этот главный ключ, если у него нет доступа к вашим учетным данным AWS ссоответствующие права на использование этого мастер-ключа.

...