Я работаю над проектом по управлению артефактами сборки и соответствующими метаданными в S3 и SimpleDB соответственно.
Я хотел бы получить отзывы о различных стратегиях шифрования артефактов сборки, загружаемых в корзину S3.
Симметрично зашифровать файл перед сохранением.
- Чтение секрета из файла.
- Непосредственно AES256 шифрует файл, который будет храниться в S3, используя этот секрет в качестве ключа.
- Загрузите зашифрованный файл на S3.
- Расшифровка будет выполняться путем загрузки файла с S3 и расшифровки тем же ключом.
Зашифровать файл случайной строкой. Симметрично зашифровать и сохранить строку с файлом.
- Чтение секрета из файла.
- Создайте случайную строку. Зашифруйте файл случайной строкой.
- Зашифровать случайную строку.
- Храните зашифрованную случайную строку в SimpleDB. Расшифровка будет выполняться путем загрузки объекта из S3, а также строки из SimpleDB. Расшифровка зашифрованной строки с помощью секрета и использование незашифрованной строки для расшифровки файла.
Я склоняюсь к последнему варианту, так как он предлагает возможность ротации ключа шифрования путем повторного шифрования строки, хранящейся в SimpleDB, с новым секретом.
Кто-нибудь занимался этой проблемой, кто может прокомментировать сильные и слабые стороны каждой стратегии?