Множественное шифрование
Множественное шифрование - это процесс зашифровки уже зашифрованного сообщение еще один или несколько раз, используя тот же самый или другие алгоритмы. В английской литературе также известна как: cascade encryption, cascade ciphering, multiple encryption, и superencipherment.
По мнению некоторых криптографов это решение для несуществующей проблемы. Например Мэтью Грин, профессор из университета Джона Хопкинса, считает, что современные шифры крайне сложно взломать, и более вероятно подвергнуться вирусной атаке, нежели кто-то действительно будет взламывать шифр.[1]
Независимые ключи
При использовании двух любых шифрований с одинаковым ключом есть ненулевая вероятность, что второй процесс зашифровки частично или же полностью расшифрует первый уровень. Особенно это важно для тех шифров, в которых алгоритм зашифровки и расшифровки идентичны. Тогда применяя это шифрование дважды, вы просто напросто полностью расшифруете ранее зашифрованное сообщение. Также если потенциальный хакер взломает первый уровень и узнает секретный ключ, то, используя только что полученный ключ, хакер может взломать все остальные уровни. А значит эффекта от множественного шифрования нет.
Для предотвращения этого недоразумения необходимо выбирать разные ключи, а лучше статистически независимые.
Важность первого уровень
Первый уровень шифрования крайне важен. Особенности первого шифрования могут быть замечены на последующих уровнях. По той причине, что открытый текст первого шифрования, является зашифрованный для второго, второй открытый текст может переносить уязвимости первого.[1]
Например, пусть первое шифрование всегда добавляет некоторую строку символов в зашифрованный текст. Соответственно, будучи найденной в тексте, строка подсказывает, что нужно применить этот конкретный алгоритм, для расшифровки. В случае множественного шифрования, эту строку лучше убрать.[2]
Для предотвращения атаки, основывающейся на этой уязвимости шифров, можно воспользоваться методом, предложенным Брюсом Шнайером. Создать случайным образом "блокнот" того же размера что и открытый текст, провести операцию XOR на них, получая первый шифротекст. Шифруя "блокнот" и текст разными алгоритмами и разными ключами, получаем два шифротекста. Далее сшиваем эти два шифротекста в один. В итоге, чтобы получить исходный текст, придется расшифровать одновременно два текста, два разных алгоритма, два разных ключа. Однако у этого метода есть один очевидный минус, после зашифровки текст становиться в два раза больше.
Правило Двух
Правило Двух - принцип защиты информации из Коммерческих Решений для Засекреченных Программ, опубликованных АНБ[3].Документ определяет два совершенно независимых уровня шифрования для защиты информации. Например первый уровень шифрования может быть связан с аппаратурой, а второй с программным обеспечением.
Этот принцип используется в телефонах АНБ, Fishbow[4]. В них используется два уровня шифровальных протоколов, IPsec and Secure Real-time Transport Protocol (SRTP), для защиты телефонных разговоров.
Пример Множественного шифрования
На схеме изображен процесс шифрования сообщения согласно Echo Protocol, используемый мессенджером GoldBug[5]. Мессенджер пользуемся гибридной системой аутентификации и поддержания конфиденциальности.
Первый уровень: Зашифрованный текст оригинального сообщения хэшируется, далее симметричные ключи шифруется асимметричными шифрами. На промежуточном шаге зашифрованный текст и хеш-сумма собраны в одну "капсулу". При этом, для того, чтобы получатель мог быть уверен, что сообщение не было "хакнуто", сумма будет посчитана перед расшифровкой.[5]
Второй уровень: Дополнительно, возможно зашифровать эту "капсулу" через AES-256.[5]
Третий уровень: Далее капсула передается по безопасному SSL/TLS каналу вашему собеседнику.[5]
Ссылки
Мэтью Грин. Multiple encryption (англ.) (сайт) (2 февраля 2012). — A few thoughts on multiple encription.
Adams, David / Maier, Ann-Kathrin. BIG SEVEN Study. — BoD, Norderstedt, 2016. — 305 с. — ISBN 9783750408975.
Примечания
- ↑ 1 2 Multiple encryption (англ.). A Few Thoughts on Cryptographic Engineering (2 февраля 2012). Дата обращения: 23 декабря 2019. Архивировано 25 декабря 2019 года.
- ↑ Matthew Green. Multiple encryption. The not-so-good (англ.). A Few Thoughts on Cryptographic Engineering (2 февраля 2012). Дата обращения: 23 декабря 2019. Архивировано 25 декабря 2019 года.
- ↑ Commercial Solutions for Classified Program . US National Security Agency. Дата обращения: 24 декабря 2015. Архивировано 25 декабря 2015 года.
- ↑ Commercial Solutions for Classified Program (англ.) (видео). National Security Agency. Дата обращения: 22 декабря 2019. Архивировано 21 марта 2020 года.
- ↑ 1 2 3 4 David Adams & Ann-Kathrin Maier. Confidentiality Review & Audit of GoldBug - Encrypting E-Mail-Client & Secure Instant Messenger (англ.). — 2016. — С. 46-47. Архивировано 23 декабря 2019 года.