Наверное вы слышали историю о том, как искуственные интеллект Google придумал секретный язык, который никто не мог понять кроме другого искусственного интеллекта. Так я прочитал эту новость в ряде российских СМИ. На самом деле история была немного иной и она имеет прямое отношение к информационной безопасности.
В октябре 2016-го года Мартин Абади и Дэвид Андерсен из Google опубликовали результаты своего исследования, в котором они изучали возможность применения нейросетей для защиты коммуникаций от атак со стороны других нейросетей. Было создано три нейросети — Алиса, которая пыталась создать метод шифрования, Боб, которая, должна была расшифровать трафик от Алисы, и Ева, которая выступала в роли врага и должна была дешифровать трафик, передаваемый между Алисой и Бобом. Самое интересное, что нейросеть Алиса ничего не знала о криптографических алгоритмах и способах их применения — она до всего «дошла» сама. В заключении к своему исследованию инженеры Google предположили, что нейросети могут быть применены и в других областях криптографии — генерации псевдослучайных чисел, проверки целостности, стеганографии. В конце Абади и Андерсен даже предположили, что нейросети могут быть использованы для анализа зашифрованного трафика с целью анализа его содержимого. К слову сказать, к этому моменту у Cisco уже была разработана технология Encrypted Traffic Analytics, которая ровно это и делала, и позволяла обнаруживать вредоносный код в зашифрованном трафике (я писал про это тут).
Вы готовы к такому повороту событий? Интересно, а регуляторы к этому готовы? Ведь такого рода исследования открывают совершенно новые возможности и создают новые риски. Риски невозможности использовать традиционный криптоанализ к регулярно изменяемым защищенным коммуникациям. Ведь нейросети создает не ключ, а алгоритм, и может делать это для каждой новой коммуникации или менять алгоритмы раз в день. «Взламывать» такие алгоритмы будет невозможно. И требовать от разработчиков «поделиться» ключами тоже. И регулировать «это» непонятно как. И это уже реальность…
ЗЫ. Исходники описанных нейросетей можно найти на GitHub. Надеюсь эту ссылку нельзя рассматривать как распространение СКЗИ и мне не потребуется лицензия ФСБ 🙂
Новый криптоалгоритм — это, по сути, новый язык. Был такой фантастический рассказ. Инопланетяне завоевали чужую планету. Но не смогли ей управлять, потому что язык аборигенов постоянно (он-лайн) менялся (блок-чейн). Агрессор не смог ничего понять. Или, например, американцы во Второй мировой войне применяли язык индейцев племени навахо, которых оставалось мало и все были под контролем, для защиты тор сикрет сведений от японцев.
Но каждый ключ шифрования, по сути, тоже создает новый язык. Поэтому не вижу разницы между традиционным созданием ключей для криптоалгоритма и созданием нового алгоритма. Вероятно, что проблема в стойкости. Она, как известно с 1949 года, бывает "идеальной", если количество буковок равно количеству гаммы, гамма действительно получена случайным образом, и канал обмена ключами надежен. Если нет, то это стойкость "практическая". И никто не знает, когда она перестанет быть стойкой. Нейросети могут научиться дешифровать "практически" стойкие алгоритмы. Значит переходим обратно на "идеальные". Или на что-то совсем новое, такое как квантовая криптография. Если, конечно, не врут, что она такая стойкая.