Я хочу реализовать шифрование на стороне клиента для данных, загружаемых в корзину S3. Однако, поскольку у меня есть только базовые знания в области шифрования, меня немного смущают примеры, которые я нашел для решения этой проблемы.
Для других языков программирования, таких как Java, .NET, Ruby, Go, ... AWS SDK предоставляет методы для шифрования на стороне клиента. И я также нашел примеры [1] [2] , которые копируют то же поведение для python.
Однако все эти примеры заканчиваются использованием сервиса AWS KMS для генерации, хранения и получения их ключей шифрования, которые я нахожу запутывающими. Насколько я понимаю, у вас есть два основных варианта:
Вы доверяете AWS или ваши данные не очень чувствительны: Тогда вы можете использовать шифрование на стороне сервера AWS или вообще не шифровать.
Ваши данные конфиденциальны, и / или вы не хотите доверять AWS: В этом случае мне приходится генерировать ключи и управлять ими где-то еще, кроме AWS (правильно?). Или есть какие-то препятствия, мешающие AWS читать ваши зашифрованные данные, если они этого хотят?
Существуют ли какие-либо очевидные недостатки в реализации шифрования на стороне клиента, если следовать базовому учебному пособию AES [3] и загружать зашифрованные данные?