Итак, я шифрую список документов с помощью алгоритма AES. Я использую PBKDF2 для определения ключа по паролю пользователя. У меня несколько вопросов по поводу данных магазина и IV / соли:
Как хранить документы:
- Зашифруйте все документы одним ключом AES, IV и солью
- Зашифруйте каждый документ одним ключом AES, но разделите IV и соль.
Как хранить / получать IV и соль:
- Получите IV из PBKDF2 (например, ключ AES) и не нужно его где-то хранить
- Генерация IV перед каждым шифрованием документа и сохранение в виде обычного текста
- Для соли, думаю, варианта нет - все равно нужно хранить в виде простого текста
Как я понял из этой статьи (http://adamcaudill.com/2013/04/16/1password-pbkdf2-and-implementation-flaws/) и некоторые другие:
- Можно хранить IV и соль в виде обычного текста, так как иногда злоумышленнику даже не нужно их знать.
- Другой IV может "исказить" только первый блок шифра (для режима CBC), но не весь, так что это не приносит большой безопасности методу AES.