Верхнее

Пас, вист, ГОСТ!

Вот этот уже прошлогодний пост Евгения Шауро со сравнением различных токенов напомнил мне, что давно хотел более пристально приглядеться к современным ГОСТовым токенам. Хорошо помню, что в своё время эта тема была очень модной и неизменно вызывала интерес у самой разной аудитории.

Небольшое отступление для тех, кто не очень знаком с предметом. USB-токен (он же просто токен, он же электронный ключ, он же брелок, он же USB-ключ) — это устройство, объединяющее в себе USB-контроллер и чип смарт-карты (микроконтроллер). Вся прелесть токена на основе смарт-карты заключается в том, что он целый ряд криптографических вычислений производит, что называется, «на борту». Данный функционал используется для надёжной аутентификации пользователей в самых различных системах (подробнее можно почитать, например, здесь) и особенно важен при использовании ЭЦП (электронной цифровой подписи), так как позволяет генерировать и использовать закрытые ключи, которые никогда не покидают защищённую память устройства. Данные, которые необходимо подписать, просто передаются внутрь токена, а тот сообщает лишь конечный результат, т.е. значение ЭЦП. Таким образом, закрытый ключ, используемый, например, для того же дистанционного банковского обслуживания, гарантировано не попадёт к злоумышленникам.

До недавнего времени все предлагаемые на российском рынке токены могли работать только с западными стандартами ЭЦП, а поддержка российской ГОСТовой криптографии сводилась к хранению контейнера с закрытым ключом в памяти устройства, защищённой PIN-кодом. При этом для выполнения операций с закрытым ключом контейнер копировался в память компьютера со всеми вытекающими из этого опасностями его утечки.

Первые токены с поддержкой ГОСТ работали только с ГОСТ 28147-89, т.е. могли шифровать данные симметричным алгоритмом, но ЭЦП (ГОСТ Р 34.10-2001 или ГОСТ Р 34.10-94) не поддерживали.

Именно такой токен в далёком 2001 году разработали ЗАО «Аладдин Р.Д.» и НТЦ «Атлас». Называлось изделие eToken RIC (Russian Intellectual Card), но, насколько мне известно, продажи его как-то не заладились и после 2003 года об устройстве ничего и слышно даже не было.

eToken-RIC

У извечного конкурента ЗАО «Аладдин Р.Д.» — компании ЗАО «Актив-софт» (при партнёрстве с ООО «Анкад») — устройство, представленное примерно в то же время, получилось более удачным: Rutoken продаётся и по сей день.
rutoken
Первым токеном с поддержкой российского алгоритма ЭЦП стала ШИПКА-1.5 от ЗАО «ОКБ САПР». Самое раннее упоминание ШИПКИ датируется сентябрём 2005 года. Этот год, наверное, и можно считать датой рождения нового устройства.
listovka-shipka

В последующие несколько лет ШИПКА оставалась единственным предложением на этом рынке, но никакого взрывного роста продаж, насколько можно судить об этом по отсутствию публикаций историй внедрения, не произошло: то ли отсутствие сертификации в ФСБ помешало, то ли что-то иное. Домысливать не буду, а то некоторые обижаются и вместо конструктива на личности переходят =)

Ситуация изменилась в 2008 году (более ранних упоминаний не обнаружил) с выпуском ООО «БИФИТ» ключа iBank 2 Key. По сообщениям в пресс-релизах данное устройство имело сертификат ФСБ, что положительно отличало его от остальных конкурентов. На самом деле, ситуация с сертификацией тут не однозначна, т.к. текущий сертификат (подробнее о сертификатах ниже) датируется только 08 июля 2010 года.

iBank2Key

Появление нового игрока явно подстегнуло других участников и конкуренты БИФИТа начали/усилили активную рекламную компанию своих аналогичных разработок: eToken ГОСТ у ЗАО «Аладдин Р.Д.» и Rutoken ЭЦП у ЗАО «Актив-софт». Примечательно, что оба продукта получили сертификаты ФСБ хоть и несколько лет спустя, но в один и тот же день — 11 мая 2011 г.
rutoken-dsaeToken_GOST_USB_Smart_Card
Таким образом, сегодня на рынке доступны четыре различных сертифицированных ФСБ токена с поддержкой российских криптографических алгоритмов, используемых для ЭЦП.

eToken ГОСТ

_eToken_

iBank 2 Key

_iBank2Key

Rutoken ЭЦП

_Rutoken

ШИПКА-1.6

_1.6

Беглый взгляд показывает, что сертификат сертификату рознь. Так, например, изделия ШИПКА и Rutoken сертифицированы целиком как СКЗИ и имеют самые широкие (по сравнению с остальными) разрешённые области применения, а вот в случае с eToken сертификат выдан на некий «Криптотокен», входящий в состав изделия. Если я правильно помню архитектуру, то этот «Криптотокен» — суть java-апплет, выполняемый на встроенной в eToken виртуальной Java-машине. При этом, в отличие от ШИПКи и Rutoken, для eToken в сертификате не прописан следующий функционал: управление ключевой информацией, шифрование данных, вычисление имитовставки для данных, содержащихся в областях оперативной памяти СКЗИ.

Ситуация с iBank 2 Key самая запутанная, т.к. сертифицировано программное средство криптографической защиты «Криптомодуль С23», предназначенное для встраивания в операционные системы интеллектуальных карт, построенных на базе микроконтроллеров семейств ST23. Область же применения вообще прописана так: может использоваться в качестве криптографического ядра для реализации функций формирования и проверки электронной цифровой подписи, шифрования информации, не содержащей сведений, составляющих государственную тайну, при создании функционально законченных СКЗИ класса КС2. Кстати, у всех остальных тоже класс КС2, кроме ШИПКи — у неё КС3.

В общем, не всё так просто и очевидно, как это пишут в маркетинговых материалах. Для более детального анализа, понятно, нужно изучать технические условия, формуляры и прочую сопроводительную документацию, да вот только редко производители это всё просто так выдают, хотя я бы, например, с удовольствием потратил немного личного времени на их изучение.

Выкладываю сводную таблицу с данными о токенах (пока только в части, касающейся сертификатов). Если тема окажется интересной, таблицу можно будет дополнить.

Токены с поддержкой ЭЦП по ГОСТ

Изображение: http://sladsloboda.ru/production/sweet/classical

, , , , , , ,