Шифрование методом envelope encryption
Зашифрование методом envelope encryption
Заголовок раздела «Зашифрование методом envelope encryption»Используйте метод envelope encryption для данных объемом больше 4 КБ.
- MWS CLI
- API
Если у вас нет утилиты MWS CLI:
Узнайте идентификатор KMS-ключа, который будет выступать в роли KEK:
bash mws kms crypto-key listСгенерируйте DEK и зашифруйте с помощью KEK через KMS:
bash mws kms crypto-key generate-data-key <идентификатор KMS-ключа> --bits=256Пример выполнения команды:
bash dataKeyCiphertext: AQAAAAEXrlKQZ0oP6zg4Y94iC0htDMHfhiAVPS/xWzqwJUX4YYWmKCeJC3N9GYlBYlsqmFyw0xKWQJBw/xncag=dataKeyPlaintext: z0GWvn9qSXDcEfvVGcZkRGs1MHsS3An/OIcX1x54yo=version: 1Сохраните полученные DEK:
- Значение
dataKeyCiphertext— в файлdek.enc.key. - Значение
dataKeyPlaintext— в файлdek.open.key.
Создайте файл с текстом, который нужно зашифровать, и сохраните его с именем
plaintext.txt.Зашифруйте данные с помощью DEK:
bash openssl enc -e -aes-256-cbc \-salt \-in ./plaintext.txt \-out ./plaintext.txt.enc \-pass file:dek.open.key \-pbkdf2В результате выполнения команды будет создан файл
plaintext.txt.enc, содержащий зашифрованный текст.Удалите незашифрованный DEK:
bash rm dek.open.keyЕсли исходные данные больше не нужны, удалите их:
bash rm plaintext.txt
Расшифрование методом envelope encryption
Заголовок раздела «Расшифрование методом envelope encryption»- MWS CLI
- API
Расшифруйте DEK с помощью KEK через KMS:
bash mws kms crypto-key decrypt <идентификатор KMS-ключа> \--ciphertext "$(cat dek.enc.key)" |grep "^plaintext:" |cut -d' ' -f2 > decrypted.dekВ результате выполнения команды ключ
dek.enc.keyбудет расшифрован и сохранен в открытом виде в файлdecrypted.dek.Расшифруйте данные с помощью DEK:
bash openssl enc -d -aes-256-cbc \-in plaintext.txt.enc \-out plaintext.decrypted \-pass file:decrypted.dek \-pbkdf2В результате выполнения команды будет создан файл
plaintext.decrypted, в котором зашифрованный ранее текст будет сохранен в открытом виде.Удалите восстановленный открытый DEK:
bash rm decrypted.dek