AWS S3 с использованием клиентской энциклопедии - PullRequest
1 голос
/ 25 июня 2019

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

Для других языков программирования, таких как Java, .NET, Ruby, Go, ... AWS SDK предоставляет методы для шифрования на стороне клиента. И я также нашел примеры [1] [2] , которые копируют то же поведение для python.

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

  • Вы доверяете AWS или ваши данные не очень чувствительны: Тогда вы можете использовать шифрование на стороне сервера AWS или вообще не шифровать.

  • Ваши данные конфиденциальны, и / или вы не хотите доверять AWS: В этом случае мне приходится генерировать ключи и управлять ими где-то еще, кроме AWS (правильно?). Или есть какие-то препятствия, мешающие AWS читать ваши зашифрованные данные, если они этого хотят?

Существуют ли какие-либо очевидные недостатки в реализации шифрования на стороне клиента, если следовать базовому учебному пособию AES [3] и загружать зашифрованные данные?

1 Ответ

2 голосов
/ 25 июня 2019

Управление ключами (и ротация) является одним недостатком.Теперь вам нужно безопасно управлять ключами.

Неспособность клиента фактически зашифровать данные является еще одним недостатком.С помощью шифрования, управляемого AWS, вы можете устанавливать политики, запрещающие незашифрованные загрузки.

Также возможно, что ваш клиент шифрования содержит ошибки.Это не так просто написать программное обеспечение для шифрования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...