Построение функционально законченных СКЗИ с использованием решений ТК 26
Одной из широко обсуждавшихся в 2014 г. тем в российском криптографическом сообществе стало понятие так называемой функциональной законченности, ставшее важным элементом набора свойств криптосредств, необходимых для их сертификации и беспроблемного внедрения в конечные системы.
Функционально законченными криптосредствами, в соответствии с формулировками, предложенными в докладах на конференциях РусКрипто 2014, CTCrypt 2014 и CTCrypt 2015, называются те криптосредства, любая последовательность документированных вызовов которых с любым допустимым сочетанием параметров не приводит к криптографически опасным последствиям — таким как перекрытие гаммы, небезопасное использование ключей, создание предпосылок для бесключевого чтения зашифрованных сообщений и пр. В частности, вся работа с ключами (их хранение, использование, преобразование и уничтожение) должна при этом производиться внутри системы хранения ключей криптосредства.
Примерами возможностей, которые приводят к появлению потенциально опасных сценариев использования СКЗИ, являются, например, явное управление ключами, шифрование на одном ключе неограниченного объема данных, фиксация произвольных параметров криптоалгоритмов (узлы замены, эллиптические кривые и т.п.). В этих ситуациях встраивание криптобиблиотек без проведения дополнительных тематических исследований чревато реальными уязвимостями в конечных продуктах.
В случае допустимости встраивания с помощью низкоуровневых интерфейсов обозначенную проблему нельзя решить расширением документации на криптосредство — требования к ее подробности в таком случае становятся совершенно абсурдными. К примеру, если при работе с ГОСТ Р 34.10–2012 допускается использовать произвольные эллиптические кривые, то документация обязана содержать подборку из нескольких десятков научных статей с актуальными результатами о методах генерации кривых с положительными криптографическими свойствами, а если допускается произвольное использование алгоритмов шифрования, необходимо прикладывать также и монографию на тему анализа криптографических протоколов.
Отсутствие же ограничений по использованию низкоуровневых интерфейсов приводит к ситуациям, когда сертифицированные криптосредства используются методами, строго требующими проведения отдельных тематических исследований: ключи порождаются из паролей по самопальным алгоритмам, небольшие программные апплеты с реализацией базовых функций встраиваются в программно-аппаратные решения, свойства которых определяются, в частности, не прошедшей исследования аппаратной частью, а средства электронной подписи и средства хранения ключей используются на серверах, доступ к которым производится с использованием небезопасных методов аутентификации. Разумеется, для подобных продуктов не может идти и речи о предоставлении каких-либо гарантий безопасности сертификатом соответствия встраиваемого криптосредства.
Разумным путем решения описанной проблемы является подъем уровня соприкосновения разработчиков СКЗИ и создателей прикладных систем с утвержденных в стандартах базовых криптографических алгоритмов до протокольных решений. Действительно, государственные стандарты не содержат (и не могут содержать) весь спектр рекомендаций по их использованию в конечных системах: абсурдно было бы полагать, что, скажем, описание блочного шифра в государственном стандарте может сопровождаться полным перечнем сценариев его использования, включая методы распределения ключей, способы выработки синхропосылок и порядок обработки ошибок проверки имитовставки в протоколах. А ведь именно подобные ошибки и приводят к подавляющему числу эксплуатируемых на практике уязвимостей. Ярчайшим примером этого тезиса является недавнее множество практических атак на протокол TLS (BEAST, Lucky13, POODLE), вовсе не связанных с какими-либо негативными свойствами шифра AES, зато в полной мере использующих ошибки в указанных выше элементах.
Но на что же опираться, если не на государственные стандарты? С 2008 г. действует Технический комитет по стандартизации «Криптографическая защита информации» (ТК 26), в рамках рабочих групп которого производится создание протокольных решений на основе российских государственных стандартов. Все предложения проходят независимую многоуровневую экспертизу, в рамках которой оценивается как криптографическая стойкость решений, так и возможность использования их реализаций в прикладных системах без проведения дополнительных исследований, то есть как раз соответствие принципам той самой функциональной законченности.
С начала деятельности в ТК 26 принято уже полтора десятка технических спецификаций и рекомендаций по стандартизации, на завершающей стадии анализа находятся сразу несколько проектов документов.
Решение задач
Предлагаемые в документах ТК 26 алгоритмы и протоколы позволяют решать следующие задачи.
Во-первых, эффективно защищать сетевые соединения — как на транспортном уровне с использованием TLS, так и на сетевом с помощью IPsec и IPlir. Методы использования российских стандартов в этих протоколах не подвержены ни уязвимостям из-за небезопасных методов работы с паддингом (как в POODLE или Lucky13) или синхропосылками (BEAST), ни переходу на использование укороченных ключей (Logjam). Например, для предотвращения структурных атак на основе обработки паддинга используются режимы, вовсе его не требующие (гаммирование, гаммирование с обратной связью).
Во-вторых, благодаря методическим рекомендациям «Использование алгоритмов ГОСТ 28147–89, ГОСТ Р 34.11 и ГОСТ Р 34.10 в криптографических сообщениях формата CMS» можно защищать передачу сообщений (например, электронной почты) с использованием российской криптографии, а также использовать алгоритмы электронной подписи с высокоуровневыми форматами (CAdES, PAdES, XMLDSig).
В-третьих, решениями ТК 26 утверждены прошедшие экспертизу параметры узлов замены и эллиптических кривых, допустимые для использования с ГОСТ 28147–89 и ГОСТ Р 34.10–-2012 — в частности, скрученные эллиптические кривые Эдвардса, позволяющие существенно повысить быстродействие систем.
Кроме того, в документах ТК 26 предлагается набор механизмов для организации надежной парольной аутентификации. Выработка ключей и их использование для подтверждения личности или данных возможна на основе решений рекомендаций по стандартизации ТК 26 «Использование криптографических алгоритмов, сопутствующих применению стандартов ГОСТ Р 34.10–2012 и ГОСТ Р 34.11–2012» и «Парольная защита с использованием алгоритмов ГОСТ», а также «Протокол выработки общего ключа с аутентификацией на основе пароля». Остановимся на последнем документе подробнее.
В настоящее время все большую популярность начинают иметь решения по хранению ключей на токенах, доступ к которым производится с мобильного устройства «по воздуху» — с использованием Bluetooth или NFC. При таком способе работы с устройством, конечно, не рассматривать возможность присутствия нарушителя в канале связи просто преступно: купить Bluetooth-передатчик и ПО для прямой работы с ним можно на любом радиорынке. Пренебрегать этой опасностью так же безответственно, как не предусматривать атаки на автомобильную сигнализацию с перехватом и подменой команд в радиоканале (к которым были повально уязвимы почти все сигнализации 90-х гг.). Таким образом, защита канала от системы до токена должна осуществляться с использованием стойкой двусторонней аутентификации — при том, что аутентифицируется на токене не система, а сам пользователь. Казалось бы, вариантов тогда остается только три: либо использовать не штатный адаптер устройства, а специализированный считыватель, либо в каждом мобильном устройстве держать долговременный ключ доступа к токену, либо вводить длинный пароль, совпадающий по длине с ключом защиты сеанса связи.
Все эти варианты доставляют определенные неудобства пользователю — становится соблазнительно просто пренебречь доверенной аутентификацией. И именно здесь имеет смысл применить решение из документа «Протокол выработки общего ключа с аутентификацией на основе пароля»: за счет весьма нетривиального подхода к согласованию ключей по Диффи-Хеллману оно позволяет использовать для аутентификации обычные короткие пароли и не бояться даже тех нарушителей, которые имеют полный доступ к каналу связи и способны осуществлять неинтерактивный (без контроля со стороны токена) полный перебор парольного множества.
Представляется важным продолжать работы по созданию решений с интерфейсами данного уровня и активно содействовать партнерам и интеграторам в переходе к ним от частных самопальных решений, создававшихся на основе функций низкого уровня.
Комментарий эксперта
Григорий Маршалко, эксперт технического комитета по стандартизации ТК 26, эксперт ISO/IEC JTC1/SC 27: «Затронутая в статье проблема создания функционально законченных средств криптографической защиты информации является принципиальной с точки зрения обеспечения реальной, а не мнимой безопасности информационных систем. Многочисленные публикации об уязвимостях защиты широко используемых протоколов информационного взаимодействия показывают необходимость всестороннего и независимого анализа реализуемых на практике синтезных решений до их непосредственного внедрения. В настоящее время Технический комитет ТК 26 проводит активную работу по стандартизации различных криптографических механизмов безопасности, при этом основной акцент сделан именно на открытости процесса разработки, что позволяет обеспечить всестороннюю оценку характеристик этих механизмов как представителями научной общественности (в том числе и международной), так и специалистами-практиками, непосредственно занимающимися созданием средств криптографической защиты информации».
Автор: Станислав Смышляев, начальник отдела защиты информации ООО «КриптоПро», к.ф.-м.н.
Опубликовано: Журнал «Information Security/ Информационная безопасность» № 6, 2015
Источник: ITSec.Ru
Читайте также:
ПодписатьсяПрогноз «Кода безопасности»: комплексные решения придут на смену классическим средствам защиты информации от несанкционированного доступа
Компания «Код безопасности» провела исследование российского рынка средств защиты информации от несанкционированного доступа (СЗИ от НСД). По прогнозам аналитиков, в ближайшие годы функциональные возможности этих продуктов расширятся, вырастет спрос заказчиков на комплексные endpoint-решения. Объемы рынка будут зависеть от количества проданных компьютеров, а также от активности госзаказчиков.