Шифрование множества буферов одним и тем же ключом - PullRequest
0 голосов
/ 03 июня 2018

У меня большой набор данных (скажем, 1 ГБ), состоящий из множества блоков, некоторые размером ~ 100 байт, некоторые размером около мегабайта.Каждый блок зашифрован AES-GCM с тем же ключом , равным 128b (и разным IV, естественно).У меня есть структура, которая сохраняет смещение и длину каждого зашифрованного блока, с его тегами IV и GCM.

Вопрос : если я зашифрую структуру (таким образом, скрывая начало, длину и IV / тег каждого зашифрованного блока), это сделает мои данные более безопасными?Или можно оставить открытыми все тысячи (и) зашифрованных блоков, чтобы кто-нибудь мог увидеть, где каждый начинается и заканчивается, и какова его IV / метка?Размер блока является довольно стандартным, и мало что говорит о данных.Я обеспокоен прямыми атаками на ключ и данные (с тысячами доступных зашифрованных образцов) или другими косвенными атаками.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Похоже, я нашел дополнительный ответ здесь .Это касается другого вопроса, но относится к моему, это означает: да, нормально оставлять в открытом виде тысячи блоков, зашифрованных одним и тем же ключом.На самом деле, до ~ миллиарда должно быть в порядке - и в случайном, и в детерминистическом режимах IV AES-GCM.

0 голосов
/ 03 июня 2018

Я верю в комментарии, которые вы ответили на большинство ваших собственных вопросов.Если вопрос «мне нужно зашифровать структуру?»тогда следующий вопрос (как отмечает YAHsaves): «Является ли структура самой конфиденциальной информацией?»Если ответ нет, то это ваш ответ.Поскольку сама структура является чувствительной, она должна быть защищена.

Если существуют атаки на ваш ключ из-за многократного использования с уникальными IV, это указывает на неправильное использование GCM и должно быть устранено.GCM предназначен для поддержки повторного использования ключа, если используется правильно.NIST предоставляет хорошее и четкое руководство по проектированию систем GCM в NIST 800-38d .В частности, вы хотите прочитать раздел 8, и особенно 8.2.1 о рекомендуемой конструкции IV (и 8.3, если вы не используете рекомендуемую конструкцию IV).

Большинство рекомендаций NIST можно обобщить следующим образом: «убедитесь, что Key + IV никогда не используется повторно, и если вы не можете гарантировать это на 100%, то гарантируйте его как минимум 2 ^ -31 (99,999999%), нет, серьезно, мы не шутим, не используйте Key + IV ни разу. "

...