Базовые технологии

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

Эти технологии представляют собой реализации стандартизованных процессов, характерных для информационных систем, использующих элементы информационной безопасности и защиты информации, в том числе и криптографической. К базовым технологиям относятся реализация криптографических алгоритмов и протоколов, операционная и файловая система Рутокен, а также способы взаимодействия с приложениями и пользователями.

Сердцем и мозгом основных продуктов линейки Рутокен служат 32-разрядные высокопроизводительные микропроцессоры архитектуры ARM. Благодаря значительной вычислительной мощности процессора ресурсоемкие вычисления, такие как генерация ключевых пар, вычисление и проверка электронной подписи выполняются достаточно быстро, несмотря на отсутствие специальных ускорителей криптографических операций.

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

Работоспособность смарт-карт и токенов, как их разновидности, обеспечивается специальной операционной системой. В мире существует относительно небольшое количество таких систем: как правило, своя операционная система имеется у производителей чипов смарт-карт, крупных производителей которых насчитывается около десятка. Системы можно разделить на две группы: ОС с фиксированной файловой системой и ОС с динамической загрузкой приложений. ОС Рутокен по такой классификации относится к ОС с фиксированной файловой системой, поскольку загрузка приложений в нее не предусмотрена.

Операционная система отвечает за обработку команд, работу с файловой системой, оперативной памятью, выполнение «приложений». Приложениями в данном случае, например, можно считать криптографические алгоритмы. Для обеспечения совместимости с приложениями операционные системы смарт-карт должны соответствовать определенным стандартам, регламентирующим систему команд, файловую систему и т. п. Основной международный стандарт ISO/IEC 7816-4, которому соответствует и операционная система Рутокен.

Карточная операционная система Рутокен включена в Единый реестр российских программ для электронных вычислительных машин и баз данных.

Карточная операционная система имеет мало общего с операционной системой в обычном понимании, поскольку, например, не имеет средств для интерактивного взаимодействия с пользователем. Взаимодействие со смарт-картами и токенами возможно через специальную систему команд. Команды формируются пользовательскими приложениями или терминалами. В ответ на команды токен производит различные операции и формирует ответы.

Команды и ответы составляют протокол, который называется APDU (Application Protocol Data Unit). Стандарт APDU определен в ISO/IEC 7816-4. Протоколы карт различных производителей как правило составляют определенное подмножество этого стандарта.

Как и любая другая, файловая система Рутокен является частью ОС, предназначенной для хранения данных и обеспечения доступа к ним, а также разграничения прав. Файловая система регламентируется тем же стандартом ISO/IEC 7816-4.

Особенность файловой системы токена состоит в том, что различные виды данных хранятся в различных типах объектов, содержащих кроме всего прочего атрибуты безопасности. Окружение безопасности (Security Environment) используется для удобной настройки параметров криптографических операций.

Для хранения ключевой информации: ключей шифрования, сертификатов и т. п. используются файлы Rutoken Special File (RSF-файлы). Разные виды ключевой информации хранятся в предопределенных папках с автоматическим выбором нужной папки при создании и использовании RSF-файлов.

  • Поддержка 3-х категорий владельцев: Администратор, Пользователь, Гость.
  • Поддержка 2-х Глобальных PIN-кодов: Администратора и Пользователя.
  • Поддержка Локальных PIN-кодов для защиты конкретных объектов (например, контейнеров сертификатов) в памяти устройства.
  • Поддержка комбинированной аутентификации: по схеме «Администратор или Пользователь» и аутентификация по Глобальным PIN-кодам в сочетании с аутентификацией по Локальным PIN-кодам.
  • Индикация факта смены Глобальных PIN-кодов по умолчанию на оригинальные.

Настраиваемые аппаратные политики качества PIN-кодов, обрабатываются микропрограммой при соответствующих операциях. Устанавливаются при форматировании, опционально могут изменяться позднее по PIN-коду Администратора.

Варианты политик:

  • Ограничение минимальной длины PIN-кода.
  • Ограничение использования PIN-кода по умолчанию.
  • Запрет PIN-кода, состоящего из одного повторяющегося символа.
  • Независимые требования по наличию в PIN-коде: прописных, строчных букв латинского и русского алфавитов; цифр; специальных символов.
  • Запоминание до 10 устанавливаемых значений PIN-кода, и возможность запрета установки ранее использованного PIN-кода.

Современные модели аппаратных устройств Рутокен кроме хранения данных и ключевой информации способны выполнять ряд криптографических алгоритмов, в число которых входят:

  • Поддержка алгоритмов ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001: генерация ключевых пар, формирование и проверка электронной подписи.
  • Поддержка алгоритмов ГОСТ Р 34.11-2012 и ГОСТ Р 34.11-94: вычисление значения хэш-функции данных, в том числе с возможностью последующего формирования электронной подписи.
  • Поддержка алгоритмов ГОСТ Р 34.12-2015/ГОСТ 34.12-2018 (Кузнечик, Магма), ГОСТ 28147-89: генерация и импорт ключей шифрования, шифрование данных в режимах простой замены, гаммирования и гаммирования с обратной связью, вычисление и проверка криптографической контрольной суммы данных (имитовставки ГОСТ).
  • Поддержка алгоритма ГОСТ 28147-89: генерация и импорт ключей шифрования, шифрование данных в режимах простой замены, гаммирования и гаммирования с обратной связью, вычисление и проверка криптографической контрольной суммы данных (имитовставки ГОСТ).
  • Выработка сессионных ключей (ключей парной связи) по схемам VKO GOST R 34.10-2001 (RFC4357) и VKO GOST R 34.10-2012.
  • Генерация последовательности случайных чисел требуемой длины.
  • Поддержка алгоритма RSA с ключам 1024, 2048, 4096 бит.
  • Поддержка алгоритма ECDSA с кривыми secp256k1 и secp256r1

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

Одно из основных применений USB-токенов и смарт-карт — строгая двухфакторная аутентификация, в процессе которой используются аутентификационные факторы нескольких типов. В случае с USB-токенами Рутокен или TrustScreen-устройствами первым фактором аутентификации выступает сам токен или устройство, а вторым фактором PIN-код, который необходим для доступа к ним.

Определяющим фактором успешной интеграции решений Рутокен в приложения можно назвать программное обеспечение промежуточного уровня, также называемое middleware. В большинстве случаев конечный пользователь не сталкивается с ним непосредственно, но без него невозможна работа устройств Рутокен со всевозможными приложениями, оперирующими со смарт-картами и токенами через широко используемые интерфейсы.

В нашем случае к middleware можно отнести:

  • библиотеки, реализующие интерфейс с Рутокен по стандарту PKCS#11 в различных операционных системах (подробнее о PKCS#11 можно прочитать на Портале документации Рутокен);
  • Рутокен CSP и Рутокен MiniDriver, дающие возможность задействовать Microsoft Crypto API (MS CAPI) и стандартные функции Windows для работы со смарт-картами.
  • Рутокен Плагин — кроссплатформенный и мультибраузерный плагин, который позволяет работать с аппаратной реализацией российских криптоалгоритмов в устройствах Рутокен из контекста браузера.

Поддержка различных стандартов middleware позволят производителям систем информационной безопасности и интеграторам легко встраивать технологии Рутокен в свои решения.

USB на сегодняшний день является основным способом подключения всевозможных устройств к компьютерам. Надежность, простота использования, высокая скорость, универсальность и возможность «горячего» переподключения устройств определяют широчайшую распространенность этого интерфейса: от серверов до мобильных устройств.

Поддержка USB присутствует практически в любой современной операционной системе. Поэтому вполне естественно, что устройства Рутокен используют именно этот интерфейс в различных его вариантах.

  • USB CCID Спецификация USB CCID (Chip Card Interface Devices) широко используется для считывателей смарт-карт, подключаемых через интерфейс USB. Большое количество приложений использует драйверы USB CCID, входящие в состав операционных систем, что решает проблемы совместимости и поддержки пользователей. Реализации этого драйвера имеются практически во всех широко используемых операционных системах. Основные модели Рутокен работают на основе этой спецификации.
  • USB HID Интерфейс USB HID не типичен для токенов и считывателей смарт-карт, но поскольку драйвер USB HID присутствует практически во всех современных операционных системах, он был использован для идентификаторов Рутокен Web. Применение этого интерфейса позволяет сделать Рутокен Web работоспособным почти на любых платформах. Пользователю не нужно беспокоиться об установке каких-либо дополнительных драйверов, что снижает риски возникновения технических проблем и сильно удешевляет техническую поддержку.

На первый взгляд, PIN-код и пароль очень похожи, но это не так. Пароль обязательно должен быть сложным, только тогда он защитит вас от злоумышленников. PIN-коду не обязательно быть сложным. Почему так, давайте разберемся.

Как подбирают пароли

Стойкость пароля — это способность противостоять угадыванию с помощью специальных программ. Эти программы систематически перебирают все возможные комбинации символов до тех пор, пока не будет найдена правильная.

Такой перебор может занять очень много времени, поэтому злоумышленники сначала запускают подбор по парольным базам. Однако такой метод сработает только в том случае, когда кто-то использовал обычное слово или часто используемые сочетания в качестве пароля. Поэтому задача «сильного» пароля — настолько усложнить взломщику жизнь, чтобы он потерял интерес к цели и переключился на другую, более доступную мишень.

Стойкость пароля определяется его длиной, непредсказуемостью и уникальностью.

Эксперты из Национального института стандартов и технологий США (NIST) в документе, рассматривающем разнообразные аспекты безопасности цифровых профилей, утверждают, что пароли повышенной сложности (стойкие к перебору) должны состоять минимум из 8 символов, цифр, букв в разных регистрах и служебных символов, чтобы иметь хорошую стойкость.

NIST о длине паролей: «…SHALL be at least 8 characters in length if chosen by the subscriber.» Раздел 5.1.1.1.

Verifiers SHOULD offer guidance to the subscriber, such as a password-strength meter, to assist the user in choosing a strong memorized secret. Раздел 5.1.1.2.

Почему PIN-код лучше пароля

Преимущества PIN-кода в сравнении с паролем связаны не только с его длиной или сложностью, но и с принципом работы.

PIN-код, в отличие от пароля, не обязан быть длинным и случайным. Он привязан к смарт-карте или токену, а это значит, чтобы воспользоваться PIN-кодом, злоумышленнику придется физически получить устройство в распоряжение.

Недостатки в длине или случайности PIN-кода компенсируются требованием физического владения устройством и ограничениями на перебор PIN-кода. После определенного количества неудачных попыток ввода PIN-кода Рутокен блокируется до момента его разблокировки Администратором. Таким образом операционная система Рутокен защищает от множества известных и потенциальных атак, в том числе от атак методом подбора PIN-кода.

Мы рекомендуем для защиты информации низкой и средней степени секретности использовать PIN-коды, состоящие не менее чем из 6 цифр.

Математически высчитать вероятность угадывания довольно просто.

Вероятность угадывания PIN-кода: P= i / mn, где:

  • i — число попыток угадывания,
  • m — число возможных символов на позиции,
  • n — число позиций в PIN-коде.

К примеру, если PIN-код состоит из 6 цифр, то n = 6, m = 10 (каждая цифра имеет значение от 0 до 9). Тогда число возможных комбинаций mn = 106 = 1 000 000. Если количество неудачных попыток ввода PIN-кода, i = 10, то вероятность его угадывания составляет 0,0001%.

Если исключить самые очевидные комбинации (11111, 123456, 123123, дату рождения, телефонный номер), то вероятность угадать PIN-код, состоящий из 6 цифр, со стандартными ограничениями в 10 попыток, составляет 0,0001%. Такая вероятность угадывания считается достаточно хорошей для обеспечения личной безопасности и широко применяется в финансовой сфере. Например, стандартная длина PIN-кода банковской карты составляет 4 символа при трех попытках подбора.

Подведем итог:

  • Чтобы пароль был безопасным, он должен быть сложным. Если он сложный, то его трудно запомнить. Поэтому программы-запоминалки паролей еще никогда не были так популярны. Но нельзя забывать, что они защищаются точно таким же паролем.
  • PIN-код может быть простым для запоминания, в сочетании с использованием токена или смарт-карты. Их конечно надо будет держать при себе. Карту легко хранить с обычным пропуском или использовать вместо него. Токен можно носить как брелок. А если оснастить смарт-карту Рутокен RFID-меткой, то ее можно использовать как электронный ключ от двери.

Технология Touch для подтверждения подписания

Touch — это механизм физического подтверждения операции подписи. На корпусе Рутокена установлена сенсорная кнопка, которая фиксирует прикосновение пользователя. Подписание выполняется только после успешного ввода PIN‑кода и физического касания токена, что исключает возможность подписания без явного присутствия владельца.

Зачем нужна технология Touch

Главная угроза для систем ЭДО — скомпрометированная рабочая станция. Если злоумышленник получает удаленный доступ к компьютеру, а токен уже подключен и PIN-код перехвачен (или сессия активна), он может подписывать платежи без ведома пользователя.

Технология Touch решает эту проблему аппаратно:

Угроза Описание
Токен остается в компьютере после ухода сотрудника Даже оставленный токен не превращается в постоянно доступное средство подписи
Удаленное управление ПК через вредоносное ПО Удаленно коснуться сенсора невозможно — подпись не выполняется. Управление сенсорной кнопкой контролируется ОС Рутокен и полностью изолировано от ОС на ПК
Перехват PIN-кода кейлоггером PIN перехвачен, но подпись требует физического действия, которое ПО не может имитировать

Как работает

  1. Пользователь вводит PIN‑код.
  2. Система запрашивает подтверждение: «Коснитесь USB‑токена».
  3. Светодиод токена мерцает, устройство находится в режиме ожидания касания кнопки.
  4. Успешный сценарий — касание зафиксировано, токен сообщает «готово», подписанный документ передается получателю.
    Неуспешный сценарий — касание не зафиксировано, система выводит сообщение «Подписание прервано», документ не отправляется.

Преимущества

  • Защита от удаленных атак. Даже если рабочая станция скомпрометирована, злоумышленник не может использовать токен без физического касания.
  • Гарантия присутствия пользователя. Подпись выполняется исключительно при реальном присутствии владельца у токена, что повышает доверие.
  • Простота интеграции. Токен может быть легко внедрен в существующие системы и сервисы без изменения пользовательского интерфейса.

Ключевые особенности USB-токена с технологией Touch

  • Сенсорная область для касания.
  • Подтверждение операции происходит внутри токена, а не в приложении на компьютере.
  • Даже при оставленном без присмотра подключенном токене риск удаленного подписания исключается.
  • Возможно совмещение с технологией NFC в ультратонком Slim-корпусе.

Режимы работы сенсорной кнопки

  1. Режим «удержания». Несколько подписаний может быть сделано друг за другом, пока кнопка удерживается пальцем.
  2. Режим «запоминания нажатия». После того, как кнопка отпущена, устройство «запоминает» нажатие.
  3. Таймаут. Время, после которого устройство перестает ждать касания кнопки и вернет ошибку.

Зная PIN-код Администратора в Центре управления Рутокен есть возможность настроить режимы.

Готовое решение для тестирования

Функциональность доступна для демонстрации. Протестируйте реальный сценарий подписания платежного поручения на демостенде.

Технология Touch обеспечивает дополнительный уровень контроля над процессом подписания, минимизируя риски нелегитимных операций и соответствуя требованиям регуляторов по физическому подтверждению транзакций.