2.4.1 Общие сведения о режимах работы

Набор доступных функций и возможность доступа к закрытым объектам в памяти поддерживаемого библиотекой устройства зависят от текущего режима работы.

Библиотека jcPKCS11-2 может работать в трёх режимах:

Основным режимом работы устройства является режим пользователя.

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

Для включения режима пользователя необходимо предъявить PIN-код пользователя, а для включения режима администратора – PIN-код администратора (см. C_Login()).

Для защиты от несанкционированного доступа в JaCarta предусмотрены счётчики, регистрирующие количество последовательно введённых неверных значений PIN-кода. При достижении максимально допустимого числа неудачных попыток ввода (до 15-ти), PIN-код блокируется и соответствующий ему режим становится недоступным. PIN-код пользователя может быть разблокирован (см. Разблокирование PIN-кода пользователя).

Если устройство было заблокировано на уровне администратора (счётчик неудачных попыток ввода ПИН-кода администратора достиг максимального значения), или пользователь и администратор заблокированы вместе, то можно выполнить сброс устройства, при котором будут удалены все объекты и ПИН-коды, и их можно будет выставить заново. В зависимости от типа приложения, поведение устройства будет разниться (см. Режим сброса).

2.4.2 Режим гостя

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

2.4.3 Режим пользователя

В режиме пользователя доступны основные функции библиотеки, а также операции с открытыми и закрытыми объектами и с PIN-кодом пользователя. Для работы в режиме пользователя необходимо предъявить PIN-код пользователя (см. C_Login()). При этом PIN-код пользователя должен быть инициализирован администратором.

2.4.4 Режим администратора

2.4.4.1 Инициализация приложения

Приложение GOST версий 2.5.5, 2.5.9:

Инициализация приложения не поддерживается.

Согласно правилам пользования, данная операция должна выполняться с использованием ПО «АРМ Администратора Безопасности».

Для облегчения процесса интеграции в прикладное ПО в ходе работ по разработке и тестированию допускается использовать  «АРМ разработчика», входящего в состав комплекта разработчика JaCarta SDK.

Приложение Biomanager:
Инициализация приложения Biomanager не поддерживается. Вместо этого необходимо пользоваться функцией сброса к заводским настройкам JC_BIO_MANAGER_ResetToFactorySettings

Все остальные приложения:

Инициализация приложения предполагает:

  • удаление хранящихся в памяти объектов (повторное создание файловой системы);
  • удаление значения PIN-кода пользователя;
  • сохранение значения PIN-кода администратора.

В момент инициализации устройству присваивается метка – строковое значение, используемое для идентификации устройства. Подробнее об инициализации см. C_InitToken().

Примечание: Инициализация приложения доступна даже при заблокированном PIN-коде администратора. Но, в этом случае, способ инициализации зависит от конкретного приложения.

Для работы с устройством после инициализации необходимо выполнить инициализацию PIN-кода пользователя.

2.4.4.2 Инициализация ПИН-кода пользователя

Приложение GOST версий 2.5.5, 2.5.9:

Инициализация PIN-кода пользователя приложения не поддерживается.

Согласно правилам пользования, данная операция должна выполняться с использованием ПО «АРМ Администратора Безопасности».

Для облегчения процесса интеграции в прикладное ПО в ходе работ по разработке и тестированию допускается использовать  «АРМ разработчика», входящего в состав комплекта разработчика JaCarta SDK.

Приложение Biomanager:
Инициализация PIN-кода пользователя для приложения Biomanager не применима.

Все остальные приложения:

Инициализация PIN-кода пользователя – это назначение администратором PIN-кода пользователя после инициализации приложения. Операция осуществляется только в режиме администратора (см. C_InitPIN()).

2.4.4.3 Разблокирование ПИН-кода пользователя

PIN-код пользователя блокируется, когда превышается число допустимых попыток его ввода (до 10 или 15, в зависимости от апплета).

Приложение GOST версий 2.5.5, 2.5.9:

Для приложения GOST версий 2.5.5, 2.5.9 предусмотрено несколько вариантов разблокировки PIN-кода пользователя:

  • С помощью PUK-кода. Необходимо предъявить PUK-код с типом пользователя CKU_PUK (см. C_Login()). При этом будет сброшен счетчик неудачных попыток ввода PIN-кода пользователя, а его значение останется прежним. Задание и разблокировка PUK-кода осуществляется при помощи ПО «АРМ Администратора Безопасности» или «АРМ разработчика»;

  • С помощью ПО «АРМ Администратора Безопасности» или «АРМ разработчика»;

Приложение PKI:

Для разблокировки приложения PKI необходимо из под администратора вызвать функцию JC_PKI_UnlockUserPIN().

Приложения GOST версии 2.5.13 и LT:

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

Приложение Biomanager:

Для разблокировки неудачных попыток прохождения биометрической идентификации, используется функция JC_BIO_MANAGER_Unlock

2.4.4.4 Разблокирование ПИН-кода администратора

Разблокирование PIN-кода администратора не доступно (см. Инициализация приложения).

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

Приложение PKI:

Для полной очистки памяти необходимо воспользоваться функцией JC_PKI_WipeCard()

Приложение GOST:

Начиная с версии 2.5.13 появилась возможность предъявить ПИН сброса к заводским настройкам. Необходимо вызвать функцию C_Login() с типом пользователя JC_KT2_PIN_TYPE_FACTORY_RESET.

2.4.5 Режим сброса

Если устройство было заблокировано на уровне администратора (счётчик неудачных попыток ввода ПИН-кода администратора достиг максимального значения), или пользователь и администратор заблокированы вместе (счётчики неудачных попыток ввода ПИН-кода пользователя и администратора достигли максимального значения), то можно выполнить сброс устройства, при котором будут удалены все объекты и ПИН-коды, и их можно будет выставить заново. В зависимости от типа приложения, поведение устройства будет разниться.

2.4.5.1 Приложение GOST

PIN-код форматирования (сброса к заводским настройкам) используется для сброса всех настроек приложения GOST версии 2.5.13 до заводских, а также удаления всех данных.

Установка, смена, удаление:

Установка, смена, удаление PIN-кода форматирования должна проводиться Администратором Безопасности на «АРМ Aдминистратора Безопасности».

Предъявление PIN-кода форматирования:

PIN-код форматирования предъявляется с помощью функции C_Login() с параметром userType равном JC_KT2_PIN_TYPE_FACTORY_RESET. При этом будет включена гостевая сессия, память очищена, а все настройки сброшены до заводских.

После сброса, с приложением можно будет работать как обычно.
По умолчанию ПИН-код форматирования установлен в значение 0801378717.

2.4.5.2 Приложение PKI

Для полной очистки памяти вызовите функцию JC_PKI_WipeCard(). Затем инициализируйте токен функцией C_InitToken(), передав новый ПИН-код Администратора. Установите ПИН-код Пользователя с помощью функции C_InitPIN().

Примечание

Новый ПИН-код Администратора может также быть задан с помощью функции JC_PKI_SetComplexity() путём заполнения полей NewAdminPinLength, NewAdminPin структуры JC_PKI_PERSONALIZATION_INFO.
Для завершения процесса нужно вызвать функцию C_InitToken(). При этом параметр pPin в C_InitToken() игнорируется - вместо него используется ПИН-код, установленный через JC_PKI_SetComplexity().

2.4.5.3 Приложение LT

Для полной очистки токена необходимо выполнить инициализацию с помощью функции C_InitToken(), указав ПИН-код Администратора. После инициализации токена ПИН-код Пользователя автоматически устанавливается в значение, совпадающее с ПИН-кодом Администратора. Изменить ПИН-код пользователя на требуемый можно с помощью функции C_SetPIN(), предварительно открыв сессию функцией C_OpenSession().

По умолчанию ПИН-код Администратора установлен в значение 87654321.

Примечание. Функция C_InitPIN() не поддерживается и возвращает ошибку CKR_FUNCTION_NOT_SUPPORTED.

2.4.5.4 Приложение Biomanager

Для сброса приложения и возврата к заводским настройкам, воспользуйтесь функцией JC_BIO_MANAGER_ResetToFactorySettings