Стратегия шифрования файлов (общие и уникальные ключи)

Я работаю над проектом по управлению артефактами сборки и соответствующими метаданными в S3 и SimpleDB соответственно.

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

Симметрично зашифровать файл перед сохранением.

  • Чтение секрета из файла.
  • Непосредственно AES256 шифрует файл, который будет храниться в S3, используя этот секрет в качестве ключа.
  • Загрузите зашифрованный файл на S3.
  • Расшифровка будет выполняться путем загрузки файла с S3 и расшифровки тем же ключом.

Зашифровать файл случайной строкой. Симметрично зашифровать и сохранить строку с файлом.

  • Чтение секрета из файла.
  • Создайте случайную строку. Зашифруйте файл случайной строкой.
  • Зашифровать случайную строку.
  • Храните зашифрованную случайную строку в SimpleDB. Расшифровка будет выполняться путем загрузки объекта из S3, а также строки из SimpleDB. Расшифровка зашифрованной строки с помощью секрета и использование незашифрованной строки для расшифровки файла.

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

Кто-нибудь занимался этой проблемой, кто может прокомментировать сильные и слабые стороны каждой стратегии?


person inverse.aqua.net    schedule 22.09.2012    source источник


Ответы (1)


С криптографической точки зрения обе схемы обеспечивают одинаковую безопасность. Основное отличие заключается в организационной характеристике. Вторая схема дает вам возможность сделать все зашифрованные файлы нечитаемыми, просто удалив файл SimpleDB. Кроме того, вы можете изменить пароль для расшифровки файловых ключей, как вы сказали. Примерно так хранятся ключи дешифрования в разделах LUKS. Так что я бы тоже склонялся ко второму варианту.

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

Кстати. какой режим вы выбрали для шифрования?

person Peter F.    schedule 22.09.2012
comment
Мне непонятно, что выиграет в этой ситуации асимметричное шифрование. - person CodesInChaos; 22.09.2012
comment
Простой. Добавление других сторон на лету. Без необходимости отправлять им пароль. - person Peter F.; 22.09.2012
comment
В настоящее время я использую первый, но оцениваю гибкость в выполнении поворотов клавиш, обеспечиваемую вторым. - person inverse.aqua.net; 23.10.2012