Особенности интеграции JaCarta-2 ГОСТ

JaCarta-2 ГОСТ — новое поколение USB-токенов и смарт-карт.

Администрирование JaCarta-2 ГОСТ

Согласно «Правилам пользования сертифицированного устройства JaCarta-2 ГОСТ» администрирование такого устройства должно выполняться с использованием СКЗИ «Криптотокен 2» в исполнении 13 (обозначение 46538383.425000.012) – АРМа Администратора безопасности JaCarta-2 ГОСТ.

АРМ администратора безопасности необходим для:
  • инициализации JaCarta-2 ГОСТ;
  • импорта доверенного открытого ключа в JaCarta-2 ГОСТ;
  • генерации собственной ключевой пары в JaCarta-2 ГОСТ;
  • смены ключа администратора безопасности;
  • установки PIN- и PUK-кодов пользователя в JaCarta-2 ГОСТ;
  • разблокирования JaCarta-2 ГОСТ;
  • управления файлами в JaCarta-2 ГОСТ;
  • генерации и управления мастер-ключами;
  • генерации ключей для HMAC, импорта и управления ими в JaCarta-2 ГОСТ;
  • просмотра журналов операций СКЗИ «Криптотокен 2» при работе АРМа администратора безопасности.

Примечание

В состав JC-WebClient SDK входит “JaCarta-2 ГОСТ. АРМ разработчика”, который также позволяет выполнять административные операции с JaCarta-2 ГОСТ, но его использование допускается только в целях разработки и тестирования прикладных программ, взаимодействующих с JaCarta-2 ГОСТ.

JaCarta-2 ГОСТ и JaCarta ГОСТ. Что нового?

В JaCarta-2 ГОСТ в сравнении с JaCarta ГОСТ поддерживается:
  • формирование (команды signData и signBase64EncodedData) и проверка (команды verifyData и verifyBase64EncodedData) электронной подписи (ЭП) согласно ГОСТ Р 34.10-2012 (256 бит) с быстрым программным хэшированием по ГОСТ Р 34.11-2012;
  • быстрое программное хэширование по ГОСТ Р 34.11-2012, скорость ограничивается только мощностью ПК (команда digest);
  • быстрое программное зашифрование/расшифрование (команды encryptData/decryptData) сообщений и документов по ГОСТ 28147-89 в формате CMS согласно Рекомендациям Технического комитета 026;
  • хранилище доверенных объектов JaCarta-2 ГОСТ, в которое администратор безопасности JaCarta-2 ГОСТ записывает доверенные открытые ключи. Указанные ключи выступают в роли открытых ключей доверенных Удостоверяющих центров и предназначены для построения цепочек доверия при операциях проверки ЭП и зашифрования/расшифрования документов. Команды проверки ЭП (verifyData и verifyBase64EncodedData) работают только после проверки всей цепочки сертификатов от сертификата подписанта до доверенного открытого ключа. Команды зашифрования/расшифрования (encryptData/decryptData) также работают только при условии проверки всей цепочки сертификатов от сертификата получателя/отправителя сообщения до доверенного открытого ключа.
  • автоматическое построение защищённого канала между приложением JC-WebClient и USB-токеном или смарт-картой JaCarta-2 ГОСТ при передаче PIN- и PUK-кодов в устройство. Это защищает от перехвата PIN- и PUK-кодов при их передаче между приложением JC-WebClient и USB-токеном/смарт-картой JaCarta-2 ГОСТ.
  • установка строгого сеанса работы между приложением JC-WebClient и токеном JaCarta-2 ГОСТ (см. аргумент secureMessaging в команде bindToken).
  • установка дополнительного PIN-код (PIN-код подписи) для операций формирования ЭП при использовании JaCarta-2 ГОСТ. Необходимость ввода дополнительного PIN-кода устанавливается при создании ключевой пары (команда createKeyPair). Таким образом, устройство может быть сконфигурировано так, что при входе в систему для строгой двухфакторной аутентификации пользователь должен ввести один PIN-код, а при проведении финансовых транзакций или при подписании электронных документов (команды signData и signBase64EncodedData) — другой PIN-код, разрешающий формирование ЭП. Это защищает от попыток вредоносных скриптов из браузера использовать состояние “залогиненности” JaCarta-2 ГОСТ для подписи поддельных документов.
  • разблокировка PIN-кода пользователя по PUK-коду (команда unblockUserPIN), позволяющая разблокировать устройство без обращений к администратору.

В JaCarta-2 ГОСТ обеспечена обратная совместимость с JaCarta ГОСТ на уровне использования алгоритмов генерации ключевой пары, формирования и проверки ЭП согласно ГОСТ Р 34.10-2001, а также вычисления хэш-функции согласно ГОСТ Р 34.11-94.

Сроки действия криптографических ключей

При встраивании JaCarta-2 ГОСТ необходимо учитывать допустимые сроки использования ключей согласно Правилам пользования СКЗИ “Криптотокен 2 ЭП”:

Вид ключей Срок действия
Ключи ЭП (закрытые ключи) 3 года
Доверенные открытые ключи 15 лет

PIN-код подписи

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

Установка и смена

PIN-код подписи устанавливается для токена с помощью команды setSignaturePIN. После установки PIN-код подписи пользователь уже не сможет его удалить, только изменить на новый.

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

PIN-код подписи может быть удалён только после инициализации устройства администратором с помощью АРМа администратора безопасности JaCarta-2 ГОСТ (или АРМа разработчика).

Использование PIN-кода подписи

Предъявление PIN-кода подписи является опциональным для каждой ключевой пары на устройстве. Необходимость предъявления задаётся аргументом requireSignaturePin команды createKeyPair. Атрибут неизменяемый, т.е. необходимость использования PIN-кода подписи для каждой ключевой пары задаётся на этапе её создания.

Подготовка PIN-кода подписи к использованию:
  • установить PIN-код подписи на токен с помощью команды setSignaturePIN;
  • создать ключевую пару при помощи команды createKeyPair с аргументом requireSignaturePin, установленным в значение true.

Примечание

Если не установить PIN-код подписи, но при этом создать ключевую пару с необходимостью его предъявления, то такой ключевой парой нельзя будет подписать до установки PIN-кода подписи.

Использование PIN-кода подписи:
Проверка наличия PIN-кода подписи:

Строгий сеанс работы

JC-WebClient позволяет установить строгий сеанс работы с токеном JaCarta-2 ГОСТ, при котором устройство отвергает попытки любых сторонних приложений получить доступ к его функциям. Это защищает от попыток сторонних вредоносных приложений использовать состояние “залогиненности” JaCarta-2 ГОСТ для подписи поддельных документов.

Для его включения необходимо установить аргумент secureMessaging в true в команде bindToken.

Примечание

Строгий сеанс не поддерживается для смарт-карт JaCarta-2 ГОСТ, подключенных к Антифрод-терминалу.