AWS KMS: уточняющий вопрос о CMK и Data Key

Я новичок в AWS, и я надеялся, что кто-нибудь может что-то прояснить для меня в отношении шифрования.

Я читал документ AWS о шифровании Amazon EBS, и в этом документе в разделе Как работает шифрование EBS я заметил, что одним из шагов является Amazon EBS отправляет запрос GenerateDataKeyWithoutPlaintext в AWS KMS, указание CMK для шифрования тома

Разве CMK не должен шифровать ключ данных, который затем используется для шифрования тома? Это связано с тем, что CMK не может зашифровать данные размером более 4 КБ.

Насколько я понимаю, CMK (сидящий в KMS) будет шифровать ключ данных, который не имеет предельного размера CMK, и ключ данных затем будет шифровать том экземпляра EC2 и сидеть на том же зашифрованный том, потому что сам ключ данных также зашифрован.

Я неправильно понял этот шаг?

Ссылка на документ: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html?icmpid=docs_ec2_console

Заранее спасибо!


person TheProf    schedule 08.07.2020    source источник


Ответы (1)


Да, вы правы, что ключ данных будет использоваться для шифрования тома [а сам CMK не будет использоваться напрямую]. Я верю приведенному вами заявлению:

Amazon EBS отправляет запрос GenerateDataKeyWithoutPlaintext в AWS KMS, указывая CMK, который вы выбрали для шифрования тома.

можно интерпретировать как: EBS вызывает API GenerateDataKeyWithoutPlaintext, а для получения ключа данных от KMS EBS необходимо указать CMK. KeyId является обязательным параметром для API . Я считаю, что следующий шаг (указанный ниже) в document действительно заявляет об этом и устраняет путаницу.

AWS KMS генерирует новый ключ данных, шифрует его с помощью CMK, который вы выбрали для шифрования тома, и отправляет зашифрованный ключ данных в Amazon EBS для хранения вместе с метаданными тома.

Эта публикация на форуме AWS очень интересна, если вы хотите узнать, почему GenerateDataKeyWithoutPlaintext вызывается вместо GenerateDataKey.

person sudo    schedule 21.07.2020