Особенности моделей с ГОСТ
Модели с ГОСТ бывают двух видов:
- Только с ГОСТ — JaCarta-2 ГОСТ, JaCarta-3 ГОСТ;
- Комбинированные с ГОСТ — JaCarta-2 PKI/ГОСТ, JaCarta-3 PKI/ГОСТ, JaCarta-2 SE, JaCarta-3 SE;
Учет версионности ГОСТ
Заголовок раздела «Учет версионности ГОСТ»Подробная информация содержится в разделе “Особенности выбора приложения GOST” из описания Единой Библиотеки PKCS#11
Модели JaCarta-2 ГОСТ, JaCarta-2 PKI/ГОСТ, JaCarta-3 ГОСТ, JaCarta-3 PKI/ГОСТ, JaCarta-2 SE, JaCarta-3 SE, JaCarta SecurBIO® могут содержать функциональность ГОСТ разных версий, являющиеся поэтапным развитием:
- 2.5.5
- 2.5.13
Для того, чтобы однозначно определить с каким приложением какой версии предстоит работать, необходимо после выбора приложения получить его версию. Сделать это можно с помощью функции C_GetTokenInfo, проанализировав tokenInfo.firmwareVersion.major и tokenInfo.firmwareVersion.minor.
Версии приложения GOST:
- *ver255 = (tokenInfo.firmwareVersion.major == 2 && tokenInfo.firmwareVersion.minor == 0x37)
- ver2513 = (tokenInfo.firmwareVersion.major == 2 && tokenInfo.firmwareVersion.minor == 0x3f)
О функциональных отличиях можно прочитать в разделе “Функциональные отличия версий ГОСТ”
Функциональные отличия версий ГОСТ
Заголовок раздела «Функциональные отличия версий ГОСТ»Ниже приведены таблицы сравнения функциональных возможностей ГОСТ версий 2.5.5, 2.5.13.
Необходимо ориентироваться на эту информацию при встраивании ГОСТ.
Важно! Помните, что более новые (высокие) версии ГОСТ имеют ряд функциональных отличий, не поддерживаемых более старыми (низкими) версиями приложения.
| Функциональность | ГОСТ, версия 2.5.5 | ГОСТ, версия 2.5.13 |
|---|---|---|
| Поддержка алгоритмов ** ГОСТ Р 34.10-2012/ГОСТ 34.10-2018 (256 и 512 бит)**: - генерация ключевых пар; - формирование и проверка электронной подписи; - срок действия закрытых ключей до 3-х лет. | Частичное соответствие. Поддерживаются только ключи длиной 256 бит. | Соответствие |
| Поддержка алгоритмов ** ГОСТ Р 34.11-2012/ГОСТ 34.11-2018 (256 и 512 бит)**: - вычисление хэш-суммы. | Соответствие | Соответствие |
| Поддержка алгоритма ГОСТ 28147-89: - генерация и импорт ключей шифрования; - шифрование данных в режимах простой замены, гаммирования; - вычисление и проверка криптографической контрольной суммы данных (имитовставки по ГОСТ). | Соответствие | Соответствие |
| Поддержка алгоритмов ** ГОСТ Р 34.12-2015/ГОСТ 34.12-2018 (Магма)**: - генерация и импорт ключей шифрования; - шифрование данных в режимах простой замены, гаммирования и гаммирования с обратной связью; - вычисление и проверка криптографической контрольной суммы данных (имитовставки по ГОСТ). | Поддержка отсутствует | Соответствие |
| Поддержка алгоритмов ** ГОСТ Р 34.12-2015/ГОСТ 34.12-2018 (Кузнечик)**: - генерация и импорт ключей шифрования - шифрование данных в режимах простой замены, гаммирования и гаммирования с обратной связью; - вычисление и проверка криптографической контрольной суммы данных (имитовставки ГОСТ). | Поддержка отсутствует | Соответствие |
| Работа с СКЗИ “КриптоПро CSP 5.0 R3” и новее по протоколу защиты канала SESPAKE (режим ФКН) | Поддержка отсутствует | Соответствие. Реализовано отдельным апплетом ФКН со своим PIN-кодом и PUK-кодом. |
Ролевая модель:
| Роль | ГОСТ, версия 2.5.5 | ГОСТ, версия 2.5.13 |
|---|---|---|
| Гость Доступны только публичные объекты для чтения. Введение ПИН-кода не требуется. | Соответствие | Соответствие |
| Пользователь Доступны любые объекты для записи, чтения, модификации, удаления. Требуется введение ПИН-кода. | Соответствие | Соответствие |
| Администратор изделия (АИ) Доступны административные действия над устройством. Требуется введение ПИН-кода АИ. | Поддержка отсутствует | Соответствие |
| Администратор безопасности (АБ) Доступны все административные действия и действия над доверенными ключами. Требуется введение ключа АБ. | Соответствие | Соответствие |
Поддержка ПИН-кодов:
| Роль | ГОСТ, версия 2.5.5 | ГОСТ, версия 2.5.13 |
|---|---|---|
| ПИН-код пользователя | Соответствие | Соответствие |
| ПИН-код администратора изделия (АИ) | Поддержка отсутствует | Соответствие |
| ПИН-код подписи | Соответствие | Соответствие |
| ПИН-код форматирования | Поддержка отсутствует | Соответствие |
| PUK-код разблокировки | Соответствие | Соответствие. Роль PUK-кода исполняет ПИН-код администратора изделия (АИ) |
Функциональные возможности, связанные с ПИН-кодами:
| Функциональность | ГОСТ, версия 2.5.5 | ГОСТ, версия 2.5.13 |
|---|---|---|
| Разблокировка PIN-кода пользователя | Соответствие | Соответствие |
| Форматирование приложения по PIN-коду пользователя | Соответствие | Соответствие |
| Форматирование приложения по PIN-коду АИ с установкой политик PIN-кода пользователя | Поддержка отсутствует | Соответствие (при наличии полномочий АИ) |
| Смена PIN-кода пользователя | Соответствие | Соответствие. Доступно пользователю и АИ (при наличии полномочий АИ). |
| Смена PIN-кода администратора | Поддержка отсутствует | Соответствие |
| Настройка политики смены PIN-кода пользователя | Поддержка отсутствует | С производства смена PIN-кода доступна пользователю и администратору. Доступные политики смены: - Смена доступна только пользователю - Смена доступна только АИ - Смена доступна пользователю и АИ |
| PIN-код форматирования | Поддержка отсутствует | Соответствие |
| Индикация смены дефолтных PIN-кодов | Поддержка отсутствует | Соответствие |
Ролевая модель ГОСТ
Заголовок раздела «Ролевая модель ГОСТ»USB-токены и смарт-карты c ГОСТ поддерживают следующую ролевую модель доступа к устройству:
- Гость В этом режиме доступа устройство работает по умолчанию. Гостю доступны только публичные объекты и только для чтения. Гость не может выполнять операции записи, изменения или удаления данных, включая пользовательские данные и криптографические ключи.
- Пользователь Этот режим доступа включается после предъявления ПИН-кода пользователя. Пользователь может выполнять операции чтения, записи, изменения или удаления данных, включая любые приватные данные и некоторые криптографические ключи. Пользователь может выполнять криптографические операции, такие как электронная подпись и шифрование.
- Администратор изделия (или просто Администратор). Этот режим доступа включается после предъявления ПИН-кода администратора. Администратор имеет право выполнять различные административные действия, такие как разблокирование устройства, инициализация устройства, установка ПИН-кода пользователя, установка парольных политик и ряд других действий. Администратор не имеет доступа к пользовательским данным и криптографическим ключам. Только для ГОСТ версии 2.5.13 и выше!
- Администратор Безопасности Этот режим доступа включается после предъявления ключа администратора безопасности. Администратор Безопасности имеет расширенные полномочия, по сравнению с Администратором, и может выполнять полную реконфигурацию изделия, устанавливать любые политики, а также записывать и управлять доверенной ключевой информацией. Доверенные ключи, записанные Администратором Безопасности, не могут быть удалены или изменены. Согласно правилам пользования, функции Администратора Безопасности должны выполняться с помощью специального ПО - АРМ Администратора Безопасности.
В состав SDK входит функциональный аналог - АРМ Разработчика, предназначенный для тех же целей, что АРМ Администратора Безопасности. Однако его применение возможно только на этапе разработки и тестирования.
Строгий сеанс работы
Заголовок раздела «Строгий сеанс работы»ГОСТ поддерживает строгий сеанс работы с токеном, в котором:
- все данные, передаваемые между библиотекой и токеном, шифруются;
- устройство входит в эксклюзивный режим работы и отвергает попытки любых сторонних приложений получить доступ к его функциям.
Это защищает от попыток вредоносных приложений:
- подменить подписываемый документ в канале связи между библиотекой и токеном;
- использовать состояние “залогиненности” для подписи посторонних поддельных документов.
Для его включения необходимо вызвать функцию C_Login() с параметром userType равном CKU_USER_SM.
Уникальные ПИН-коды ГОСТ
Заголовок раздела «Уникальные ПИН-коды ГОСТ»PUK-код
Заголовок раздела «PUK-код»PUK-код используется для разблокировки PIN-кода пользователя для ГОСТ версий 2.5.5. PUK-код не сбрасывает PIN-код пользователя, а обнуляет счётчик неуспешных попыток.
Установка, смена, удаление.
Установка, смена, удаление PUK-кода должна проводиться Администратором Безопасности на “АРМ Aдминистратора Безопасности”.
Предъявление PUK-кода.
PUK-код предъявляется с помощью функции C_Login() с параметром userType равном CKU_PUK. При этом будет включена гостевая сессия, а счётчик неверных попыток ввода PIN-кода пользователя будет сброшен и установлен в 0.
PIN-код подписи
Заголовок раздела «PIN-код подписи»PIN-код подписи используется как дополнительный фактор для подтверждения операции подписи. Его использование не отменяет необходимость предъявления PIN-кода пользователя для работы в режиме пользователя.
Установка, смена, удаление и предъявление PIN-кода подписи:
- Установка — функцией
JC_KT2_SetSignaturePIN(). После установки удалить PIN-код подписи нельзя — только изменить на новый. - Смена — функцией
JC_KT2_ChangeSignaturePIN(). - Удаление — возможно только после инициализации устройства.
- Предъявление — функцией
C_Login()с параметром userType равнымCKU_SIGNATURE. ВызовC_Logout()переключает текущую сессию в гостевую — отменить PIN-код подписи отдельно от сессии пользователя нельзя.
Использование PIN-кода подписи
Предъявление PIN-кода подписи является опциональным для каждой ключевой пары на устройстве. Необходимость предъявления задаётся атрибутом CKA_ALWAYS_AUTHENTICATE:
CK_TRUE– необходимо предъявление PIN-кода подписи;CK_FALSE– предъявление PIN-кода подписи не требуется.
Атрибут неизменяемый, т.е. необходимость использования PIN-кода подписи для каждой ключевой пары задаётся на этапе её создания.
Подготовка PIN-кода подписи к использованию:
- установить PIN-код подписи на токен с помощью функции
JC_KT2_SetSignaturePIN(). - сгенерировать ключевую пару при помощи функции
C_GenerateKeyPair(), где в шаблоне закрытого ключа установить атрибутCKA_ALWAYS_AUTHENTICATEвCK_TRUE.
**Примечание: ** Если не установить PIN-код подписи, но при этом создать ключевую пару с необходимостью его предъявления, то такой ключевой парой нельзя будет подписать до установки PIN-кода подписи.
Использование PIN-кода подписи:
- Предъявить PIN-код пользователя, вызвав функцию
C_Login()с параметром userType равномCKU_USER. Произойдет переход в пользовательскую сессию. - Предъявить PIN-код подписи, вызвав функцию
C_Login()с параметром userType равномCKU_SIGNATURE. Сессия не изменится, т.е. останется пользовательской. - Подписать данные или создать запрос на сертификат.
- Сбросить состояние аутентификации, вызвав функцию
C_Login(). Произойдет переход в гостевую сессию.
PIN-код форматирования (сброса к заводским настройкам)
Заголовок раздела «PIN-код форматирования (сброса к заводским настройкам)»PIN-код форматирования (сброса к заводским настройкам) используется для сброса всех настроек ГОСТ версии 2.5.13 до заводских, а также удаления всех данных.
Установка, смена, удаление.
Установка, смена, удаление PIN-кода форматирования должна проводиться Администратором Безопасности на “АРМ Aдминистратора Безопасности”.
Предъявление PIN-кода форматирования.
PIN-код форматирования предъявляется с помощью функции C_Login() с параметром userType равном JC_KT2_PIN_TYPE_FACTORY_RESET. При этом будет включена гостевая сессия, память очищена, все настройки сброшены до заводских, а значения ПИН-кодов будут установлены в значения по умолчанию.

