Рейтинг:0

Безопасно ли OpenSSL enc использует AES-256-CBC для шифрования больших файлов?

флаг jp

Сначала я создаю ключевой файл с ключевой файл openssl rand -hex 64 -out.

Затем я шифрую файл с помощью openssl enc -aes-256-cbc -salt -in large_file.zip -out large_encrypted.bin -pass file:./keyfile.

Я шифрую файлы размером от нескольких байтов до 1 ТБ. Я буду использовать это в простом сценарии bash.

  1. Безопасно ли это в 2021 году? Должен ли я использовать другой шифр?
  2. Могут ли какие-либо метаданные утечь из зашифрованного файла?
  3. Должен/может ли ключевой файл быть больше 64 байт?
  4. Должен ли я создавать новые ключевые файлы для каждого файла, который я шифрую?
  5. Есть ли минимальный/максимальный размер файла, который можно зашифровать? Влияют ли разные размеры файлов на безопасность?
  6. Считается ли это «перекатыванием моей собственной криптовалюты» (что, как я знаю, широко не рекомендуется)?
kelalaka avatar
флаг in
Почему вы выбираете CBC вместо AES-GCM или ChaCha20-Poly1305. Зашифрованные данные содержат только IV и ничего более, поскольку AES безопасен. Почему бы вам не использовать том VeraCrypy для хранения этих файлов? Также см. [это] (https://crypto.stackexchange.com/a/87033/18298)
SAI Peregrinus avatar
флаг si
Командная строка OpenSSL поддерживает только менее безопасные режимы, такие как CBC. Том VeraCrypt будет использовать XTS, который также не является AEAD. Также намного сложнее обеспечить отсутствие повторного использования одноразового номера с шифрованием файлов и коротким одноразовым номером, как это использует GCM. XChaCha20-Poly1305 может безопасно использовать случайный одноразовый номер из-за его расширенной длины одноразового номера.
henderson avatar
флаг jp
Мне нужно шифровать файлы по запросу и индивидуально. VeraCrypt, похоже, не может этого сделать. OpenSSL не является обязательным требованием, это просто лучший из найденных мною инструментов, который соответствует (или, по крайней мере, кажется, соответствует) моим требованиям. @SAIPeregrinus
SAI Peregrinus avatar
флаг si
Я бы порекомендовал https://age-encryption.org.Он создан для шифрования файлов, может генерировать безопасную парольную фразу (устраняя проблему слабого пароля) и использует настоящий AEAD, в отличие от OpenSSL, Veracrypt и GPG. Пример использования: `age -p -o output.age input.txt` зашифрует `input.txt` в файл `output.txt` и напечатает используемую фразу-пароль. Вы также можете передать свою собственную кодовую фразу, но я не рекомендую этого делать. Если вы хотите зашифровать много файлов, используйте параметры ключа SSH.

Ответить или комментировать

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