Рейтинг:1

Повторное использование ключа AES CBC и производные ключи

флаг in

Предположим, мы шифруем несколько файлов с помощью AES в режиме CBC и используем 256-битные ключи. Предположим, что IV для файлов генерируются случайным образом безопасным методом. Предположим, что какой-то ключ $К$ генерируется с помощью Argon2 из безопасной парольной фразы с безопасными параметрами.

Предположим, для каждого файла мы храним IV и 32 байта случайных данных. $R$. Позволять $K'=K\oplus{}R$.

Существуют ли какие-либо преимущества или недостатки, связанные с использованием $К'$ вместо $К$ для шифрования? Любая защита от теоретических или практических атак с повторным использованием ключа или чего-то подобного?

kelalaka avatar
флаг in
Последний абзац не ясен..
kelalaka avatar
флаг in
Есть одна основная причина PBKDF (Argon2 — одна из них); усложнить подбор пароля. Насколько я знаю, вы убираете это основное преимущество.
kelalaka avatar
флаг in
Может быть, вам следует [отредактировать] свой вопрос, чтобы писать пошагово? Что хранится, что генерируется и т.д.? Зачем нужно удалять Argon2? вместо создания таких методов?
user avatar
флаг in
@kelalaka Я думаю, что это может быть более точным, чем я думаю.
kelalaka avatar
флаг in
Я не вижу проблем, хотя вы можете получить каждый ключ из Argon2 с параметром соли. Вы также можете сгенерировать случайный ключ для каждого файла и зашифровать его с помощью полученного ключа из пароля через Argon2, как [описано здесь.] (https://crypto.stackexchange.com/q/75021/18298)
user avatar
флаг in
@kelalaka Я подумал об удалении части получения ключа Argon2, потому что не хотел, чтобы это стало потенциальным ответом из-за вычислительных затрат при регенерации ключа. Если бы было какое-то преимущество в использовании $K'$, я мог бы использовать его вместо повторного запуска Argon2 для каждого файла.
Рейтинг:2
флаг in

Нет никаких теоретических или практических преимуществ, когда речь идет о безопасности, так как XOR с $R$ легко переворачивается. Поскольку ключ полностью рандомизирован и зависит только от пароля, безопасность также не снижается. XOR с известным значением не дает злоумышленнику никакой информации, так как входные и выходные данные неизвестны — предполагается, что использование вашего шифра/ключа безопасно.

Есть практическое преимущество. При замене пароля можно повторно использовать существующий ключ шифрования данных. Сначала вы вычисляете $K_{орг}$ используя хэш пароля и $P_{орг}$, для которого требуется исходный пароль; $K_{орг}$ или производный ключ используется для шифрования данных. Затем вы вычисляете $K_{новый}$ с использованием $P_{новый}$. То, что вы храните, с зашифрованным текстом $D=K_{новый} \oplus K_{org}$. Теперь вы заменили свой пароль, рассчитав $K_{org}=K_{новый} \oplus D$.

Когда вы начинаете, вы также можете сгенерировать случайный $K_{данные}$ или же $K_{мастер}$ который вы можете получить, всегда создавая $Д$ для получения ключа XOR. По сути, вы сначала создаете рандомизированный ключ, который затем принудительно используете для другого неопубликованного рандомизированного ключа с помощью XOR.

Другими словами, преимущество заключается в управлении ключами, которое помогает с безопасностью на уровне системы, а не с безопасностью алгоритма.

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

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