В современной информационной безопасности USB-токены (Рутокен, eToken, JaCarta и др.) являются основными носителями ключей электронной подписи (ЭП) и сертификатов. Каждое устройство имеет уникальный идентификатор — серийный номер (часто называемый «номером жетона»). Зная этот номер, можно извлечь значительный объем технической и идентификационной информации. В данной статье подробно разбирается, какие именно данные доступны по серийному номеру, как их получить и зачем это нужно.
Основные идентификационные данные
Самая базовая информация, зашитая в токен на заводе-изготовителе и доступная по серийному номеру:
- Уникальный серийный номер (Serial Number): Десятичное число, как правило, состоящее из 10 знаков (например, для Рутокен). Наносится на корпус промышленным принтером вместе с типом идентификатора и служебной информацией.
- Модель и тип носителя: Определение конкретной линейки устройства: Рутокен Lite, Рутокен ЭЦП 2.0, Рутокен S, JaCarta PKI/ГОСТ, JaCarta LT/PRO/SE, eToken 5110/5300 и др.
- ATR (Answer To Reset): Уникальная идентификационная строка, возвращаемая токеном при подключении (сбросе). Она позволяет программно определить тип чипа и производителя без установки проприетарных драйверов. Пример формата:
3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2(для Rutoken lite).
Техническая информация, доступная через программные интерфейсы
Используя стандартные API (PKCS#11, PC/SC, WinSCard) или утилиты производителей (Единый клиент JaCarta, Rutoken Control Panel, SafeNet Authentication Client), по серийному номеру можно запросить:
Состояние памяти и файловых систем
- Общий объем памяти пользователя.
- Свободное место на носителе (критично при записи новых сертификатов/ключей).
- Наличие и размер контейнеров закрытых ключей.
Информация о PIN-кодах и политике доступа
- Количество оставшихся попыток ввода PIN-кода пользователя и администратора (PUK).
- Информация о том, кто может менять PIN-код (пользователь или только администратор).
- Статус блокировки: заблокирован ли токен по PIN/PUK.
- Примечание: Стандартные заводские PIN-коды (например, для Рутокен — 12345678, для JaCarta, свой код, для eToken — свой) известны публично, но их смена обязательна при первом использовании.
Сертификаты и ключевые пары (PKCS#11 / PKCS#15)
Через криптографические интерфейсы по серийному номеру токена можно перечислить объекты, хранящиеся на нем:
- Список сертификатов X.509 (отпечатки/Thumbprint, сроки действия, субъекты, издатели).
- Наличие пар закрытых/открытых ключей (идентификаторы ключей CKA_ID).
- Атрибуты ключей: извлекаемые ли они, для каких операций разрешены (подпись, шифрование, аутентификация).
Методы получения информации по номеру жетона
Через системные утилиты (Linux / Windows)
В Astra Linux и других дистрибутивах для низкоуровневой диагностики используется pcsc_scan или opensc-tool.
# Пример получения ATR и имени ридера
pcsc_scan | grep -E '(Reader|ATR)'
Reader 0: Aktiv Rutoken lite 00 00
ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 6C 69 74 65 C2
Reader 1: Aktiv Rutoken ECP 01 00
ATR: 3B 8B 01 52 75 74 6F 6B 65 6E 20 44 53 20 C1
Через PKCS#11 библиотеки (программный способ)
Разработчики ПО используют библиотеки librtpkcs11ecp.so (Рутокен), libjcPKCS11.so (JaCarta), eTPKCS11.dll (eToken) для получения серийного номера и атрибутов токена.
- Функция
C_GetSlotList->C_GetSlotInfo->C_GetTokenInfoвозвращает структуруCK_TOKEN_INFO, где поляserialNumber,model,manufacturerIDсодержат искомые данные. - Для Рутокен ЭЦП и Lite также работает низкоуровневая APDU-команда ISO 7816:
00 CA 01 81 08, возвращающая ID токена в шестнадцатеричном виде.
Через фирменное ПО (GUI)
- Единый клиент JaCarta: Позволяет посмотреть серийный номер (View JC-XXXXXXXXX), свободную память, попытки PIN.
- Панель управления Рутокен / Rutoken Control Panel: Просмотр информации о носителе (имя, память, права на смену PIN).
- SafeNet Authentication Client (для eToken): Аналогичный функционал.
Практическое применение знания номера жетона
- Инвентаризация и учет СКЗИ: Ведение реестра ключевых носителей в организации (ФСТЭК, ФСБ требования). Серийный номер, первичный ключ учета.
- Автоматизация развертывания (MDM/SCCM): Привязка политик безопасности, автоматической установки драйверов и сертификатов к конкретному железу.
- Программное извлечение (Eject): Если токен подключен к ЭВМ, где его эксплуатация запрещена политиками безопасности, зная серийный номер, можно программно инициировать извлечение (через PKCS#11 или PC/SC SCardEject).
- Техподдержка и гарантия: Идентификация партии, даты выпуска, проверки подлинности устройства (защита от подделок).
- Аудит безопасности: Поиск «уязвимых» моделей (например, старые Рутокен S без поддержки ГОСТ 2012) по базе серийных номеров.
Отличия подходов у основных вендоров
| Вендор / Линейка | Формат серийного номера (на корпусе) | Ключевая утилита диагностики | Особенности ATR / ID |
|---|---|---|---|
| Aktiv (Рутокен) | 10 десятичных знаков (например, 1234567890) | Rutoken Control Panel, rtAdmin, pkcs11-tool | APDU 00 CA 01 81 08 для ЭЦП/Lite. ATR начинается с 3B 8B 01 52 75 74 6F 6B 65 6E ("Rutoken") |
| Аладдин Р.Д. (JaCarta) | Формат JC-XXXXXXXXX (буквы + цифры) | Единый клиент JaCarta, jcPKCS11 | Разделение на апплеты: PKI, ГОСТ, PRO, LT, SE. ATR зависит от апплета. |
| SafeNet / Gemalto (eToken) | Алфанумерический, на наклейке | SafeNet Authentication Client, etpkc11 | Часто требует проприетарные драйверы для полной инфы. Стандартный CCID ATR. |
Безопасность и конфиденциальность
Важно: Серийный номер токена не является секретным (он открыто читается через CCID/PCSC и написан на корпусе). Однако:
- Знание серийного номера не дает доступа к закрытым ключам (требуется PIN-код);
- Знание серийного номера не позволяет клонировать токен (ключи генерируются внутри защищенного контура чипа и невыводимы).
- В логах систем аудита (SIEM, СКУД) серийный номер используется для привязки события входа к конкретному физическому устройству.
Типовые проблемы и решения
Проблема: Токен виден в системе (lsusb / Диспетчер устройств), но не виден в PKCS#11 / КриптоПро / Едином клиенте.
- Причина: Не установлен или не работает драйвер CCID / PCSC (pcscd), либо используется неправильный апплет (для JaCarta).
- Решение: Проверить
pcsc_scan. Если ATR читается — железо работает. Установить/обновить PKCS#11 библиотеку вендора. Для JaCarta проверить выбор апплета (PKI vs ГОСТ).
Проблема: Ошибка «Некорректный тип носителя или носитель не отформатирован».
- Возможно, токен новый и требует инициализации (форматирования) через панель управления вендора с установкой PIN-кодов.
Проблема: «Недостаточно места на носителе».
- По серийному номеру (через ПКС#11) проверить свободную память. Удалить неиспользуемые сертификаты/контейнеры.
Номер жетона (серийный номер USB-токена) — это ключ к полной технической идентификации устройства. С его помощью можно определить модель, версию прошивки (через ATR), состояние памяти, политику PIN-кодов и перечень хранящихся сертификатов. Получение этой информации возможно как через стандартные системные инструменты (pcsc_scan, opensc-tool), так и через проприетарные библиотеки PKCS#11 и GUI-утилиты вендоров (Рутокен, JaCarta, eToken). Грамотное использование этих данных позволяет автоматизировать учет СКЗИ, ускорить техподдержку и повысить управляемость парка криптографических носителей в организации.
Статья подготовлена на основе технической документации производителей (Актив, Аладдин Р.Д., SafeNet), форумов технической поддержки (forum.rutoken.ru) и справочных центров (Astra Linux, СБИС) по состоянию на .