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-кода пользователя.
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.
2.4.5.4 Приложение Biomanager
Для сброса приложения и возврата к заводским настройкам, воспользуйтесь функцией JC_BIO_MANAGER_ResetToFactorySettings