Пас, вист, ГОСТ!
Вот этот уже прошлогодний пост Евгения Шауро со сравнением различных токенов напомнил мне, что давно хотел более пристально приглядеться к современным ГОСТовым токенам. Хорошо помню, что в своё время эта тема была очень модной и неизменно вызывала интерес у самой разной аудитории.
Небольшое отступление для тех, кто не очень знаком с предметом. USB-токен (он же просто токен, он же электронный ключ, он же брелок, он же USB-ключ) - это устройство, объединяющее в себе USB-контроллер и чип смарт-карты (микроконтроллер). Вся прелесть токена на основе смарт-карты заключается в том, что он целый ряд криптографических вычислений производит, что называется, “на борту”. Данный функционал используется для надёжной аутентификации пользователей в самых различных системах (подробнее можно почитать, например, здесь) и особенно важен при использовании ЭЦП (электронной цифровой подписи), так как позволяет генерировать и использовать закрытые ключи, которые никогда не покидают защищённую память устройства. Данные, которые необходимо подписать, просто передаются внутрь токена, а тот сообщает лишь конечный результат, т.е. значение ЭЦП. Таким образом, закрытый ключ, используемый, например, для того же дистанционного банковского обслуживания, гарантировано не попадёт к злоумышленникам.
До недавнего времени все предлагаемые на российском рынке токены могли работать только с западными стандартами ЭЦП, а поддержка российской ГОСТовой криптографии сводилась к хранению контейнера с закрытым ключом в памяти устройства, защищённой PIN-кодом. При этом для выполнения операций с закрытым ключом контейнер копировался в память компьютера со всеми вытекающими из этого опасностями его утечки.
Первые токены с поддержкой ГОСТ работали только с ГОСТ 28147-89, т.е. могли шифровать данные симметричным алгоритмом, но ЭЦП (ГОСТ Р 34.10-2001 или ГОСТ Р 34.10-94) не поддерживали.
Именно такой токен в далёком 2001 году разработали ЗАО “Аладдин Р.Д." и НТЦ “Атлас”. Называлось изделие eToken RIC (Russian Intellectual Card), но, насколько мне известно, продажи его как-то не заладились и после 2003 года об устройстве ничего и слышно даже не было.
В последующие несколько лет ШИПКА оставалась единственным предложением на этом рынке, но никакого взрывного роста продаж, насколько можно судить об этом по отсутствию публикаций историй внедрения, не произошло: то ли отсутствие сертификации в ФСБ помешало, то ли что-то иное. Домысливать не буду, а то некоторые обижаются и вместо конструктива на личности переходят =)
Ситуация изменилась в 2008 году (более ранних упоминаний не обнаружил) с выпуском ООО “БИФИТ” ключа iBank 2 Key. По сообщениям в пресс-релизах данное устройство имело сертификат ФСБ, что положительно отличало его от остальных конкурентов. На самом деле, ситуация с сертификацией тут не однозначна, т.к. текущий сертификат (подробнее о сертификатах ниже) датируется только 08 июля 2010 года.
Беглый взгляд показывает, что сертификат сертификату рознь. Так, например, изделия ШИПКА и Rutoken сертифицированы целиком как СКЗИ и имеют самые широкие (по сравнению с остальными) разрешённые области применения, а вот в случае с eToken сертификат выдан на некий “Криптотокен”, входящий в состав изделия. Если я правильно помню архитектуру, то этот “Криптотокен” - суть java-апплет, выполняемый на встроенной в eToken виртуальной Java-машине. При этом, в отличие от ШИПКи и Rutoken, для eToken в сертификате не прописан следующий функционал: управление ключевой информацией, шифрование данных, вычисление имитовставки для данных, содержащихся в областях оперативной памяти СКЗИ.
Ситуация с iBank 2 Key самая запутанная, т.к. сертифицировано программное средство криптографической защиты “Криптомодуль С23”, предназначенное для встраивания в операционные системы интеллектуальных карт, построенных на базе микроконтроллеров семейств ST23. Область же применения вообще прописана так: может использоваться в качестве криптографического ядра для реализации функций формирования и проверки электронной цифровой подписи, шифрования информации, не содержащей сведений, составляющих государственную тайну, при создании функционально законченных СКЗИ класса КС2. Кстати, у всех остальных тоже класс КС2, кроме ШИПКи - у неё КС3.
В общем, не всё так просто и очевидно, как это пишут в маркетинговых материалах. Для более детального анализа, понятно, нужно изучать технические условия, формуляры и прочую сопроводительную документацию, да вот только редко производители это всё просто так выдают, хотя я бы, например, с удовольствием потратил немного личного времени на их изучение.
Выкладываю сводную таблицу с данными о токенах (пока только в части, касающейся сертификатов). Если тема окажется интересной, таблицу можно будет дополнить.
Токены с поддержкой ЭЦП по ГОСТ