Работоспособность смарт-карт и токенов обеспечивается специальной программой, записанной в память аппаратного устройства, — карточной операционной системой (КОС).
Карточная ОС отвечает за обработку команд смарт-карты, работу ее файловой системы и оперативной памяти, выполнение «приложений». Приложениями в данном случае, например, можно считать криптографические алгоритмы. Для обеспечения совместимости с приложениями операционные системы смарт-карт должны соответствовать определенным стандартам, регламентирующим систему команд, файловую систему и т. п. Основной международный стандарт, использующийся в смарт-картах, — ISO/IEC 7816-4. Этому стандарту соответствует и КОС Рутокен.
Карточная операционная система Рутокен включена в Единый реестр российских программ для электронных вычислительных машин и баз данных.
Характеристики и возможности
- Микропроцессорная технология
-
Сердцем и мозгом основных продуктов линейки Рутокен служат 32-разрядные высокопроизводительные микроконтроллеры архитектуры ARM. Благодаря значительной вычислительной мощности процессора ресурсоемкие вычисления, такие как генерация ключевых пар, вычисление и проверка электронной подписи выполняются достаточно быстро — даже на тех моделях микроконтроллеров, где отсутствуют специальные ускорители криптографических операций.
В аппаратных решениях Рутокен используются современные защищенные микроконтроллеры с большим объемом энергонезависимой памяти для хранения пользовательских данных.
Архитектура карточной ОС Рутокен была спроектирована таким образом, что ее работа в минимальной степени зависит от аппаратных особенностей микроконтроллера конкретного производителя. Как следствие, КОС Рутокен может быть легко и быстро установлена в любой совместимый микроконтроллер, предоставляющий достаточное для ее полноценной работы количество ресурсов.
- Система команд
-
По сравнению с обычной ОС, карточная операционная система имеет целый ряд ограничений, обусловленных спецификой и возможностями управляемых ею устройств. Например, она не имеет средств для интерактивного взаимодействия с пользователем.
Взаимодействие со смарт-картами и токенами обеспечивается при помощи набора специальных команд — программного интерфейса. Команды этого интерфейса формируются пользовательскими приложениями или терминалами и передаются в смарт-карту, где обрабатываются карточной ОС. Результат обработки команды в виде ответа возвращается вызывающей стороне.
Совокупность команд и ответов образуют стандартный программный интерфейс смарт-карты, который называется APDU (Application Protocol Data Unit). Интерфейс APDU определен в международном стандарте ISO/IEC 7816-4. Смарт-карты поддерживают определенное подмножество команд этого стандарта, необходимое для реализации их возможностей.
Карточная ОС Рутокен поддерживает множество команд APDU-интерфейса: команды для работы с объектами в памяти смарт-карты (файлами, папками и специальными объектами), команды атутентификации пользователей, криптографические команды и т. д. Благодаря поддержке стандартизованных команд APDU-интерфейса процесс встраивания смарт-карт Рутокен в решения заказчика максимально упрощается и удешевляется.
- Файловая система
-
Для хранения и обслуживания данных в памяти Рутокен, а также для разграничения доступа к ним карточная ОС Рутокен предоставляет специальную файловую систему, имеющую следующие характеристики:
- Удовлетворяет требованиям стандарта ISO/IEC 7816-4.
- Использует File Allocation Table (FAT) для оптимального размещения файловых объектов и для исключения эффекта фрагментации памяти.
- Предоставляет папки (DF) и файлы (EF) для хранения и обработки информации. При этом уровень вложенности папок ограничен только объемом свободной памяти устройства, а в каждой папке можно хранить до 255 файловых объектов.
- Для хранения ключевой информации (ключи шифрования, PIN-коды и т. п. ) предоставляются специальные файлы — Rutoken Special File (RSF-файлы), имеющие особые характеристики и обеспечивающие полную защиту секретных данных от чтения извне.
- Каждый тип ключевой информации хранится в своей предопределенной папке, которая автоматически выбирается карточной ОС Рутокен при создании и использовании RSF-файла того или иного типа.
- Для удобной настройки параметров криптографических операций предоставляется Security Environment — специальная структура в оперативной памяти устройства Рутокен.
- В моделях Рутокен, имеющих внешнюю flash-память, может быть предоставлена технология поддержки Хранилищ. Эта технология обеспечивает хранение специфических объектов данных разного типа в доступной области памяти устройства — в Хранилище, с необходимым каждому типу объектов уровнем защищенности.
- Аутентификация пользователей
-
Карточная ОС Рутокен обеспечивает широкий спектр возможностей по аутентификации различных категорий владельцев и разделению их прав доступа:
- Поддерживаются 3 категории владельцев: Администратор, Пользователь, Гость.
- Поддерживаются 2 Глобальных PIN-кода — Администратора и Пользователя, а также до 29 Локальных PIN-кодов для защиты конкретных объектов в памяти устройства.
- Поддерживаются комбинированные схемы аутентификации: по схеме «Администратор или Пользователь», а также аутентификация по Глобальным PIN-кодам в сочетании с аутентификацией по Локальным PIN-кодам.
- Минимальный размер каждого PIN-кода может быть настроен индивидуально.
- Поддерживается аутентификация по сложным правилам — путем задания сложной логической комбинации условий выполнения защищенной операции. С помощью сложных правил можно сконструировать “нестандартные” условия выполнения операции: например, выполнение операции после аутентификации любым PIN-кодом из заданной группы, либо по пересечению (объединению) двух или более заданных групп и т. п.
- Поддерживается внешняя аутентификация (аутентификация внешнего ПО).
- Качество использующихся PIN-кодов можно контролировать при помощи гибко настраиваемых аппаратных политики качества PIN-кодов, таких как:
- Ограничение минимальной длины PIN-кода;
- Ограничение использования PIN-кодов по умолчанию;
- Запрет PIN-кода, состоящего из одного повторяющегося символа;
- Требования по наличию в PIN-коде: прописных и строчных букв, цифр, специальных символов;
- Контроль истории ранее установленных значений PIN-кода, и т. д.
- Криптографические возможности
-
Карточная ОС Рутокен позволяет выполнять широкий спектр криптографических операций на хранящейся в файловой системе ключевой информации:
- Генерация ключевых пар, формирование и проверка электронной подписи по алгоритмам ГОСТ Р 34.10-2012 и ГОСТ Р 34.10-2001.
- Вычисление значения хэш-функции данных по алгоритмам ГОСТ Р 34.11-2012 и ГОСТ Р 34.11-94, в том числе с возможностью последующего формирования электронной подписи.
- Генерация и импорт ключей шифрования, шифрование данных в стандартных режимах работы алгоритмов ГОСТ Р 34.12-2015 / ГОСТ 34.12-2018 («Кузнечик», «Магма»), ГОСТ 28147-89, вычисление и проверка криптографической контрольной суммы данных (имитовставки ГОСТ).
- Выработка сессионных ключей (ключей парной связи) по схемам VKO GOST R 34.10-2001 (RFC4357) и VKO GOST R 34.10-2012.
- Генерация последовательности случайных чисел требуемой длины.
- Опционально — поддержка зарубежных криптографических алгоритмов: RSA (с ключами размером до 4096 бит), ECDSA (с кривыми secp256k1 и secp256r1).
Карточная ОС Рутокен обеспечивает выполнение всех криптографических операций строго «на борту» устройства Рутокен, без необходимости выгрузки ключевой информации наружу. Как следствие, закрытые и симметричные ключи никогда не покидают пределы устройства Рутокен. Таким образом, исключается возможность компрометации ключа и увеличивается общая безопасность информационной системы.
Модули расширения ОС Рутокен
В рамках развития операционной системы Рутокен разработан ряд комбинированных модулей расширения, которые дополняют, изменяют или оптимизируют сразу несколько базовых компонентов ОС.
Каждый такой модуль обеспечивает комплексное расширение функциональности — от внедрения биометрии и механизмов безопасности до поддержки новых микропроцессоров и интерфейсов связи.
- Модуль «Журнал событий безопасности»
-
Модуль отвечает за обработку и фиксацию событий, связанных с безопасностью — попытки несанкционированного доступа, неверные PIN-коды, ошибки аутентификации и т. д.
Все события записываются в журнал безопасности (СБ), хранящийся в энергонезависимой памяти Рутокен.
Расширяемые компоненты ОС
- APDU-команды:
- набор дополнительных команд для создания, администрирования и чтения журнала СБ;
- защита доступа к журналу.
- Файловая система:
- поддержка абстракции «журнал СБ» на уровне ФС.
Используется в модели: Рутокен ЭЦП 3.0 3120.
- APDU-команды:
- Модуль «Обновление прошивки микроконтроллера»
-
Добавляет возможность самостоятельного обновления прошивки пользователем при соблюдении всех требований безопасности.
Реализует двухфазный процесс обновления с защитой от подмены, несанкционированного использования и атак типа Отказ в Обслуживании.
Расширяемые компоненты ОС
- APDU-команды:
- дополнительные команды обновления прошивки;
- реализация защищённого алгоритма обновления с проверкой целостности и подлинности.
Используется в модели: Рутокен ЭЦП Flash 3.0.
- APDU-команды:
- Модуль «Механизмы биометрической аутентификации по изображению отпечатка пальца»
-
Добавляет в ОС поддержку аутентификации по отпечатку пальца в соответствии с ГОСТ Р 58298-2018.
Обеспечивает обработку, хранение и защиту биометрических данных на уровне ядра ОС.
Расширяемые компоненты ОС
- APDU-команды:
- команды для регистрации, аутентификации и удаления биометрических шаблонов;
- встроенный модуль обработки отпечатков по ГОСТ-алгоритму.
- Файловая система:
- хранение биометрических данных в специальных RSF-файлах;
- защита доступа к биометрической информации.
Используется в модели: Рутокен ЭЦП 3.0 3250.
- APDU-команды:
- Модуль «Разграничение прав доступа»
-
Добавляет поддержку работы с Flash-накопителем и новыми микропроцессорами, обеспечивая создание логических разделов с независимыми правами доступа.
Расширяемые компоненты ОС
- APDU-команды:
- команды для управления разделами Flash-памяти (создание, защита, удаление);
- контроль несанкционированного доступа.
- Подсистема коммуникации с микропроцессором:
- поддержка дисковых устройств и SDIO;
- HAL-модуль для микропроцессора Nuvoton M484.
Используется в модели: Рутокен TLS.
- APDU-команды:
- Модуль «Поддержка высокопроизводительного процессора»
-
Обеспечивает поддержку микропроцессора HC32F460 (архитектура Cortex-M4) и оптимизацию криптографических алгоритмов под его возможности.
Расширяемые компоненты ОС
- Криптоядро:
- ускоренные реализации ГОСТ 34.11-2012 и ГОСТ 34.12-2018;
- скорость хэширования — не менее 100 КБ/с, шифрования — 200 КБ/с.
- Подсистема коммуникации с микропроцессором:
- HAL-модуль для взаимодействия с HC32F460.
Используется в модели: Рутокен ЭЦП 3.0 3220.
- Криптоядро:
- Модуль «Реализация протокола NFC»
-
Расширяет ОС Рутокен за счёт поддержки протокола обмена NFC и микропроцессора ST31G480.
Расширяемые компоненты ОС
- Подсистема внешних интерфейсов обмена данными:
- реализация модуля протокола NFC по ГОСТ ИСО 14443;
- расширение менеджера обмена для многопротокольного режима.
- Подсистема коммуникации с микропроцессором:
- HAL-модуль для ST31G480.
Используется в модели: Рутокен ЭЦП 3.0 NFC 3100.
- Подсистема внешних интерфейсов обмена данными:
Лицензирование и цены
При поставке карточной ОС Рутокен применяется гибкая системы лицензирования и ценообразования. Стандартно карточная ОС Рутокен поставляется в составе программно-аппаратного комплекса (ПАК) Рутокен: смарт-карт или USB-токенов различных форм-факторов. В этом случае стоимость КОС Рутокен включается в стоимость этого ПАК.