Общая информация
Архитектура решений Рутокен выработана в соответствии с требованиями общепринятых индустриальных стандартов.
Общепринято деление интерфейсов на высокий, низкий и аппаратный уровни.
Такое деление позволяет разграничить задачи взаимодействия между конечным пользователем (через высокоуровневое ПО), системными компонентами операционной системы и непосредственно физическим устройством.
- Интерфейсы высокого уровня обеспечивают интеграцию идентификаторов Рутокен в клиентское программное обеспечение через стандартные системные библиотеки.
- Интерфейсы низкого уровня отвечают за представление устройства в системе как смарт-карты, обеспечивая связь между системными сервисами и драйверами.
- Аппаратный уровень представляет собой физическую реализацию взаимодействия между защищенным микроконтроллером идентификатора и USB-host-контроллером компьютера.
Интерфейсы высокого уровня
Интерфейсы высокого уровня ориентированы на разработчиков высокоуровневого клиентского программного обеспечения и используются для встраивания поддержки идентификаторов Рутокен.
Общепринятые стандартизованные интерфейсы:
- PKCS#11 (версии 2.30 или новее),
- Microsoft CryptoAPI (версии 2.0),
- Microsoft Crypto Next Generation Key Storage Provider (minidriver).
Эти интерфейсы реализуются в виде подгружаемых системных библиотек для легкой интеграции в любые системы.
Интерфейсы низкого уровня
Этот слой обеспечивает представление идентификаторов Рутокен в виде вставленной в считыватель смарт-карты.
Он включает:
- USB-драйверы идентификаторов Рутокен;
- системные CCID-драйверы (для идентификаторов Рутокен ЭЦП);
- промежуточное ПО, реализующее стандартный протокол взаимодействия PC/SC (также известный как Microsoft SmartCard API)
В операционных системах Windows за это отвечает Microsoft Resource Manager (системный сервис Смарт-карт), а в UNIX-подобных системах (включая macOS) — программное обеспечение проекта M.U.S.C.L.E. (известное как pcsc-lite) Взаимодействие с аппаратным уровнем происходит через передачу команд с использованием Transport Protocol Data Units (TPDU) по протоколу T=0|1.
Аппаратный уровень
Самый нижний уровень представлен двумя физическими устройствами:
- персональным идентификатором Рутокен;
- USB host-контроллером клиентского компьютера.
Взаимодействие между токеном и хост-контроллером осуществляется по протоколу USB Control Transfer Protocol, который использует Vendor Specific Requests (VSR).
Основным аппаратным элементом идентификаторов Рутокен является защищенный микроконтроллер, который реализует функции интерфейса USB, поддержку файловой системы и команд по ISO/IEC 7816 (ГОСТ Р ИСО/МЭК 7816).
