Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств Электронная цифровая подпись

Я так и подумал, но решил сначала уточнить. Поделюсь с вами способом которым пользуюсь самостоятельно — возможно он вам тоже пригодится. Существует такая утилита ImDisk Virtual Driver (распространяется под GNU GPL, BSD). В функционале этой софтиры есть возможность монтирования любого файла в качестве диска. В том числе представлять его в качестве Сьемного носителя (Removable Media).

Порядок действия такой:

1) Создаем и Монтируем пустую «Виртуальную флешку», проставив при этом галку «Removable Media». Размер обычно ставлю 5 мегабайт. По указанному пути в драйвере создает обычный файлик в который осуществляется запись. 2) Форматируем появившуюся в системе «Виртуальную флешку» стандартными средствами Windows в FAT. 3) При помощи оснастки КриптоПро выполняем обычную функцию «Скопировать» (Сервис — Скопировать). В качестве исходного контейнера указываем необходимый на токене — в качестве получателя указываем «Виртуальную флешку». КриптоПро воспринимает такой контейнер вполне адекватно как обычную флешку и создает копию ключа. 4) Извлекаем виртуальный контейнер через оснастку программы ImDisk Virtual Driver. 5) Переносим созданный файлик-виртуальную-флешку на другой компьютер. 6) Монтируем «Виртуальную флешку» через ImDisk Virtual Driver. 7) Производим обратное копирование контейнера закрытого ключа стандартными средствами Крипто-Про.

Заранее прошу меня извинить если описанная выше инструкция покажется сумбурной. Если общий принцип или конкретные пункты будут не понятны, но заинтересованость воспользоваться методом будет — то отпишитесь.

Воспользовавшись приложением ImDisk, можно создать виртуальный накопитель, который будет идентифицироваться Windows как флешка или флоппи-диск, но у этой программы есть один недостаток. Созданный с ее помощью образ придется монтировать каждый раз после загрузки операционной системы, при этом графический интерфейс ImDisk не предусматривает опции, которая позволяла бы автоматизировать эту процедуру.

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

Реализовать автомонтирование образов ImDisk при загрузке Windows можно двумя способами: через добавленный в автозагрузку командный файл и через штатный Планировщик заданий.

Создайте Блокнотом текстовый файл, вставьте в него команду imdisk -a -f путь_к_образу -m X: и сохраните его в формате CMD или BAT. X в данном примере это буква, которая присваивается виртуальному тому, у вас она может быть своя, главное, чтобы она не была занята другими дисками.

Imdisk cryptopro и сохранение корпоративных средств

Откройте командой shell:startup папку автозагрузки и поместите в нее созданный скрипт.

Imdisk cryptopro и сохранение корпоративных средств

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

Если этот способ не сработает, добавляем команду монтирования в Планировщик заданий.

Открываем последний командой taskschd. msc и жмем в левой колонке «Создать простую задачу».

Imdisk cryptopro и сохранение корпоративных средств

Затем выполняем следующие действия:

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Не исключено, что и в этом случае образ не будет смонтирован, тогда попробуйте создать в том же Планировщике обычную задачу и на вкладке «Общие» активировать опцию «Выполнить с наивысшими правами».

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

Imdisk cryptopro и сохранение корпоративных средств

Запустите добавленный на панель апплет ImDisk Virtual Disk Driver.

Imdisk cryptopro и сохранение корпоративных средств

Нажмите в открывшемся окошке утилиты кнопку «Mount new.

Imdisk cryptopro и сохранение корпоративных средств

Откроется новое окно, в котором в поле «Mount new virtual disk» нажмите кнопку в виде троеточия.

Imdisk cryptopro и сохранение корпоративных средств

Далее в окне обзора Проводника указываем путь сохранения виртуального диска и даем ему название, например, disk. img. Название может быть любым, но расширение должно всегда быть IMG. После нажатия «Открыть» вы получите сообщение «Такой файл не существует. Хотите создать этот файл?». Нажмите «Да». Итак, первая подготовительная фаза создания диска выполнена, можно продолжать настройку.

Imdisk cryptopro и сохранение корпоративных средств

В поле «Drive letter» задаем букву диска, в поле «Size of virtual disk» выставляем размер контейнера в мегабайтах, гигабайтах или других доступных значениях. Затем в качестве значения опции «Device type» выставляем «Harddisk volume», а для опции «Image file access» выставляем «Virtual disk drive accesses image file directly». Остальные параметры оставляем по умолчанию и жмем «OK».

Imdisk cryptopro и сохранение корпоративных средств

В результате в указанном расположении будет создан образ с расширением IMG.

Imdisk cryptopro и сохранение корпоративных средств

И в «Этом компьютере» появится новый локальный диск с заданной буквой.

Imdisk cryptopro и сохранение корпоративных средств

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

Для этого открываем его двойным кликом и даем согласие в диалоговом окошке отформатировать виртуальный накопитель. Выбираем, если потребуется, нужную файловую систему, жмем «Начать» и подтверждаем действие. После форматирования образом можно будет пользоваться как виртуальной флешкой.

Imdisk cryptopro и сохранение корпоративных средств

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

Для этого опять запускаем в панели управления апплет ImDisk Virtual Disk Driver, опять жмем «Mount new. », так же указываем путь к уже существующему образу IMG. А вот все остальные настройки оставляем без изменений и нажимаем «OK».

Imdisk cryptopro и сохранение корпоративных средств

Эту процедуру можно упростить, а при желании и автоматизировать, воспользовавшись быстрой командой:

imdisk -a -f C:disk. img -m I:

Только не забудьте заменить в ней путь к образу.

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Хранение ключей на токенах и смарт-картах обеспечивает дополнительную защиту от внешних и внутренних нарушителей, в том числе имеющих определенный уровень доступа к информационной системе и оборудованию.

Сегодня я расскажу, как мы защищаем ключи шифрования и электронной подписи в наших информационных системах, и сделаю это в подробном, хорошо проиллюстрированном руководстве по настройке SUSE Linux Enterprise Server 12 SP3 для работы с токеном Aladdin JaCarta PKI и КриптоПро CSP KC2 4. 9944.

Опубликовать данное руководство побудило несколько причин:

Причина 1

Официальная документация на Aladdin-RD JaCarta больше адаптирована под операционные системы Astra Linux и ALT Linux, сертифицированные в Минобороны, ФСТЭК и ФСБ как средства защиты информации.

Причина 2

Лучшая инструкция по настройке взаимодействия с аппаратными носителями в Linux, которую удалось найти, была также от wiki. astralinux. ru — Работа с КриптоПро CSP

Причина 3

UPD 16. 2019: В процессе настройки среды и оборудования выяснилось, что носитель, первым оказавшийся в распоряжении, был вовсе не JaCarta PKI Nano, как ожидалось, а устройство работающее в режиме SafeNet Authentication Client eToken PRO.

UPD 16. 2019: Некогда Банку требовалось устройство, которое могло бы работать в той же инфраструктуре, что и eToken PRO (Java). В качестве такого устройства компания “ЗАО Аладдин Р. ” предложила токен JaCarta PRO, который был выбран банком. Однако на этапе формирования артикула и отгрузочных документов сотрудником компании была допущена ошибка. Вместо модели JaCarta PRO в артикул и отгрузочные документы случайно вписали JaCarta PKI.

UPD 16. 2019: Благодарю компанию Аладдин Р. , за то что помогли разобраться и установить истину.

Читайте также:  Как подписать документ электронной подписью в 2019 году

В этой ошибке нет никаких политических и скрытых смыслов, а только техническая ошибка сотрудника при подготовке документов. Токен JaCarta PRO является продуктом компании ЗАО “Аладдин Р. Апплет, выполняющий функциональную часть, разработан компанией “ЗАО Аладдин Р.

Этот eToken PRO относился к партии, выпущенной до 1 декабря 2017 года. После этой даты компания «Аладдин Р. » прекратила продажу устройств eToken PRO (Java).

Забегая немного вперед, нужно сказать, что работа с ним настраивалась через соответствующие драйверы — SafenetAuthenticationClient-10. 32-0. x86_64, которые можно получить только в поддержке Аладдин Р. по отдельной online заявке.

Данный токен определялся и откликался. При помощи утилиты SACTools из пакета SafenetAuthenticationClient можно было выполнить его инициализацию. Но при работе с СКЗИ он вел себя крайне странно и непредсказуемо.

Проявлялось это следующим образом, на команду:

Выдавался ответ, что все хорошо:

Но сразу после попытки зачитать ключи программно эта же проверка начинала выдавать ошибку:

Согласно перечню кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)

NTE_KEYSET_ENTRY_BAD
0x8009001A
Keyset as registered is invalid.

«Невалидный набор ключей» — причина такого сообщения, возможно, кроется либо в старом чипе, прошивке и апплете Gemalto, либо в их драйверах для ОС, которые не поддерживают новые стандарты формирования ЭП и функции хэширования ГОСТ Р 34. 10-2012 и ГОСТ Р 34. 11-2012.

В таком состоянии токен блокировался. СКЗИ начинало показывать неактуальное состояние считывателя и ключевого контейнера. Перезапуск службы криптографического провайдера cprocsp, службы работы с токенами и смарт-картами pcscd и всей операционной системы не помогали, только повторная инициализация.

Справедливости ради требуется отметить, что SafeNet eToken PRO корректно работал с ключами ГОСТ Р 34. 10-2001 в ОС Windows 7 и 10.

Можно было бы попробовать установить СКЗИ КриптоПро CSP 4. 0 ФКН (Gemalto), но целевая задача — защитить наши ключи ЭП и шифрования с помощью сертифицированных ФСБ и ФСТЭК изделий семейства JaCarta, в которых поддерживаются новые стандарты.

Проблему удалось решить, взяв настоящий токен JaCarta PKI в (XL) обычном корпусе.

Но на попытки заставить работать Safenet eToken PRO времени было потрачено немало. Хотелось обратить на это внимание и, возможно, кого-то оградить от подобного.

Причина 4

Иногда самому требуется вернуться к старым статьям и инструкциям. Это удобно, когда информация размещена во внешнем источнике. Так что спасибо Хабру за предоставленную возможность.

Веб-сервисы с поддержкой ЭЦП на базе криптографии ГОСТ

Начиная с версии 2008. 2, в Caché и в Ensemble встроена поддержка WS-Security, включающая механизмы проверки и формирования электронной подписи SOAP-сообщений. На текущий момент имеется «out of the box» поддержка ЭЦП на базе крипто алгоритмов семейства RSA.

К системам, создаваемым для российских заказчиков, зачастую предъявляется требование применения сертифицированных СКЗИ, использующих крипто алгоритмы ГОСТ. Далее описан один из подходов к разработке веб-сервисов Caché, защищенных ЭЦП на базе ГОСТ’овской криптографии. В качестве сертифицированного СКЗИ, будем использовать продукт КриптоПро JCP, представляющий собой набор Java библиотек, в которых реализован алгоритм подписи — ГОСТ Р 34. 10-2001, а также алгоритм хэширования ГОСТ Р 34. 11-94.

Проверка ЭЦП во входящих SOAP-сообщениях

Теперь, чтобы добавить в существующий веб-сервис проверку ЭЦП, достаточно внести в класс веб-сервиса следующий метод:

Это работает на версиях Caché/Ensemble, начиная с 2009. Ниже приведен пример веб-сервиса, который осуществляет проверку подписи всех входящих SOAP-сообщений.

Установка КриптоПро JCP на Windows

Загрузите дистрибутив КриптоПро JCP с сайта производителя, распакуйте его в папку на сервере и запустите скрипт установки install. bat. Скрипт находится в папке lib дистрибутива. При его запуске необходимо указать путь к JRE:

install. bat “C:Program FilesJavajdk1. 0_20jre”

В случае если имеется лицензия, при запуске скрипта также указывается серийный номер и название компании:

install. bat “C:Program FilesJavajdk1. 0_20jre” XXXXX-XXXXX-XXXXX-XXXXX-XXXXX “Your Company”

Под Windows 7 скрипт установки необходимо запускать с правами администратора. После завершения работы скрипта, убедитесь в том, что в папке jrelibext появились следующие библиотеки:

asn1rt. jarJCP. jarJCPRevCheck. jarJCP_ASN. jar
AsnLite. jarJCPinst. jarJCPRevTools. jarJCryptoP. jar
forms_rt. jarJCPRequest. jarJCPxml. jar

Тестирование веб-сервиса

Чтобы протестировать проверку/формирование ЭЦП веб-сервисом test. TestService, исходный код которого приведен выше, выполним следующие действия.

  • При помощи Studio создадим класс test.TestService в той же области, куда были импортированы классы smev.*. Исходный код нового класса скопируем из вышеприведенного листинга.
  • Запустим в терминале Caché метод signFile() класса smev.JcpUtils:
    write ##class(smev.JcpUtils).signFile(“id1”, “C:Tempinput.xml”, “C:Tempoutput.xml”)Убедимся в том, что в результате работы метода был создан файл C:Tempoutput.xml, содержащий подписанное SOAP-сообщение (Envelope): в заголовке (Header) находится ЭЦП в формате WS-Security, а тело (Body) представляет собой XML-документ, взятый из файла input.xml.Готовый файл output.xml имеется в архиве xmls.zip.

Все действия, описанные в статье, можно посмотреть в следующем видеоролике:

Экономим бюджет компании, или как построить ГОСТовский крипто-туннель с минимальными затратами

Автор статьи: Роман Вегелин

Содержание1. Введение2. Задача3. В бой a. Linux b. Windows

Для любого системного администратора или DevOps’а построить VPN или пробросить нестандартный метод инкапсуляции пакетов (туннелирование) не очень сложно. Часто для этого используют OpenVPN для постоянного использования, либо ssh-туннелирование на один-два раза. Однако есть организации, которые должны соблюдать строгие рамки передачи данных, установленные законодательством. Под такие организации попадают банки, микрофинансовые организации (да и многие организации, которые так или иначе имеют отношения к финансовым операциям). Защита персональных данных тоже является “защищаемой информацией” во всех законопроектах и положениях.

В результате, опять же по законодательству, при шифровании необходимо использовать СКЗИ со всеми необходимыми ФСТЕКовскими сертификатами и лицензиями, которые удовлетворяют необходимые требования. Одним из таких программных обеспечений является КриптоПро CSP. И в данной статье будем разбирать как “прокинуть” сетевой туннель средствами stunnel, который будет шифроваться КриптоПро CSP, заодно получим хоть и тестовый (на 3 месяца), но полностью валидный по GOST_2012.

Для начала необходимо разбираться как эта все будет работать и поставить конкретные задачу.

К примеру, есть две машины. Чтобы показать настройку двух операционных систем, одна будет на Linux Ununtu, версия не важна, но желательно не ниже 16), вторая на Windows 10. На win-системе будет запускаться NC на прослушку какого-то определенного порта, а с nix-системы будут передаваться пакеты. Таким образом windows будет сервером. В отношении настроек stunnel такая же ранжировка: Windows — сервер.

Что должно получиться в итоге получить? При подключении с Linux к Windows программой NC, все пакеты будут шифроваться сертификатом GOST_2012, и сертифицированным программным обеспечением. Задача тривиальная, чтобы показать возможность такого маневра. Так, как stunnel передает любой протокол внутри себя, можно, к примеру, подписывать XML-файлы секретной подписью другой организации, или передавать перс. данные в хранилище через интернет.

Работает stunnel следующим образом — при запуске на локальной машине открывается определенный, указанный в конфигурационном файле порт. И в тот же момент, софт соединяется с stunnel на другой машине. Таким образом, все пакеты, попавшие на порт localhost шифруются, затем проксируются на другую систему и там расшифровываются. Удобство в том, что это просто шлюз, и какой протокол ему шифровать и передавать — не важно.

Читайте также:  Коммерческие тендеры на B2B-Center

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 1. Схема работы stunnel

Изначально скачиваем необходимый КриптоПро отсюда. В скаченном архиве будет примерно такой набор файлов, как на скриншоте.

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 2. КриптоПро на Linux.

Бинарные файлы падают в /opt/cprocsp/bin/ а не в /bin, поэтому запустить их просто командой не получится. Необходимо либо запускать напрямую оттуда, либо сделать символьные ссылки. Только делать ссылку curl не стоит, ибо работает он криво: не видит список удостоверяющих центров из операционной системы, и как следствие, завершает любой запрос с ошибкой и приходится использовать ключ -k который отменяет проверку сертификата на валидность.

Следующий шаг — ключи и сертификаты. Для сервера нам необходимы сертификат и ключ, причем это все в КриптоПрошном контейнере. Для клиента только сертификат. Сертификат клиенту нужен для того, чтобы кто угодно не мог подключиться к данному туннелю. Забегая немного вперед, в конфигурационном файле stunnel есть такая опция — verify=, и вот ее параметры:

Начиная с параметра 1 и нужен сертификат клиента для защиты самого подключения.

Интересные моменты по ключам:· provtype — указывает тип криптопровайдера. Дефолтно подставляется 75. Значение этих цифр можно узнать так: в каталоге /opt/cprocsp/sbin/amd64 лежит программа cpconfig. нужно запустить ее следующими со ключами:. /cpconfig -defprov –view_type.

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 3. cpconfig

На скриншоте выше видно, что значение 75 устарело, и соответствует ГОСТу 2001. 80 — ГОСТ 2012 256 бит и 81 — ГОСТ 2012 512 бит.

· certusage — идентификатор назначения. Для выполнения задачи необходимы два модуля: проверка подлинности клиента (1. 2) и проверка подлинности сервера (1. 1)· hashAlg — алгоритм, который будет применяться. Их можно найти тут· ca — центр сертификации, который подпишет все это добро, чтобы оно было валидно. Сертификаты и ключи валидны ТОЛЬКО в течении 3 месяцев!!! Точнее данный УЦ его выдает на 3 месяца. · cont — контейнер, который будет создан, и в него сохранятся файлы. Если контейнер с таким именем есть — то естественно ничего не отработает.

Выше описаны самые “пикантные” моменты, которые могут отъесть много времени, остальные ключи и непонятные моменты можно найти в мануале. Кстати, проверить можно командой certmgr –list. В выводе отобразится исчерпывающую информацию по контейнерам системы и пользователя.

Переходим к генерации сертификата для клиента. Команда аналогичная, меняется только имя контейнера и идентификатор назначения сертификата.

С ключами и сертификатами все готово. На всякий случай, вот команда экспорта сертификата из контейнера:

certmgr -export -provtype 81 -dest /куда экспортировать сертификат/имя сертификата -cont “\\. \HDIMAGE\имя контейнера”

Таким образом будет на руках сертификат в der формате.

Следующим шагом надо приниматься за настройку stunnel, а конкретно его конфигурационного файла. Создаем в удобном месте файл stunnel. conf. Содержимое будет следующее:

setuid = rootsetgid = rootpid = /var/opt/cprocsp/tmp/stunnel. pidsocket = l:TCP_NODELAY=1socket = r:TCP_NODELAY=1

debug = 7output = /home/bit/stunnel. log

Секция TestStunnel:Client — указатель, является ли программа сервером или клиентомAccept — порт, который будет открываться на локалхосте, именно к нему будет подключаться программаConnect — ip и порт сервера, к которому будем подключатьсяVerify — об этом разговор уже выше былCert — это как раз клиентский сертификат. Вот в этом пункте необходимо задержаться.

Можно указать этот параметр двумя способами: импортировать сертификат из контейнера, и прописать путь к файлу, или воспользоваться отпечатком сертификата. Достать отпечаток можно все той же командой certmgr –list. Идентификатор указан как SHA1 Hash.

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 4. Отпечаток в Linux

На этом настройка Linux закончена, можно запускать stunnel с указание конфига stunnel stunnel. conf.

После установки CSP необходимо скопировать контейнер с серверным ключом и сертификатом с nix-машины.

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 5. Псевдотокен

В итоге, рядом с жестким диском, должен появиться еще один носитель — это и есть токен. Туда и надо скопировать папку с контейнером. После этих манипуляций сертификат нормально установится в CSP.

Плюсом ко всему, желательно (обязательно) надо скопировать клиентский сертификат на сервер и тоже его поставить.

Конфигурационный файл для stunnel-msspi:

output= C:stunnelstun. logsocket = l:TCP_NODELAY=1socket = r:TCP_NODELAY=1debug = 7

Тут все по аналогии с конфигурационным файлом клиента: accept-порт, на который подключается клиентская стуннелина (должен быть разблокирован фаерволом, проброшен во все места до наружного выхода), connect — порт для приложения (в данном случае nc).

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

Imdisk cryptopro и сохранение корпоративных средств

Рисунок 6. Отпечаток в Windows

На клиенте:nc 127. 1 13501

В командной строке сервера побежит лог, который расскажет, что кто-то успешно приконнектился. Пишем в одном окне набор символов, он появляется в другом. Все настроено верно.

Дополнительные библиотеки Java

Нам понадобится библиотека iscjcp. jar (исходники здесь), в которой содержится ряд вспомогательных классов для работы с JCP из Caché. Кроме этого, потребуются три open source библиотеки — Commons Logging, Santuario (aka XML Security) и WSS4J. Их использование регулируется лицензией Apache Software License 2.

Загрузите архив jars. zip с четырьмя перечисленными библиотеками и распакуйте его в папку jrelibext.

В случае использования Windows 7, необходимо выдать полномочия группе «Все» на чтение и выполнение всех библиотек в папке jrelibext.

Руководство по настройке

После установки токена JaCarta PKI в USB порт сервера и запуска системы проверяем, что новое устройство обнаружено и появилось в списке:

Imdisk cryptopro и сохранение корпоративных средств

В нашем случае это Bus 004 Device 003: ID 24dc:0101

Для диагностики считывателей можно воспользоваться утилитой pcsc-tools из проекта security:chipcard (software. opensuse. org).

Imdisk cryptopro и сохранение корпоративных средств

Пока не установлены все необходимые пакеты, информация о токене не отобразится.

Установка драйверов и ПО для работы с JaCarta PKI

На странице Поддержки сайта «Аладдин Р. » загружаем Документацию и программное обеспечение для работы только с JaCarta PKI

Согласно Руководству по внедрению «JaCarta для Linux» пункт 4. , первым делом требуется установить пакеты pcsc-lite, ccid и libusb.

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

  • PC/SC Lite — промежуточный слой для обеспечения доступа к смарт-картам по стандарту PC/SC, пакет pcsc-lite.
  • Библиотеки ccid и libusb для работы с USB-ключами, смарт-картами и считывателями смарт-карт.

Выполняем проверку наличия этих пакетов и установку:

zypper search pcsc-lite

Imdisk cryptopro и сохранение корпоративных средств

zypper search libusb

Imdisk cryptopro и сохранение корпоративных средств

zypper install pcsc-lite

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

zypper search CCID

Imdisk cryptopro и сохранение корпоративных средств

zypper install pcsc-ccid

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

zypper install libusb

Imdisk cryptopro и сохранение корпоративных средств

В итоге пакет pcsc-lite был обновлен, CCID установлен, libusb никаких действия не требовалось.

Следующими двумя командами выполняем установку пакета с драйверами и программным обеспечением непосредственно для работы с JaCarta PKI:

zypper install idprotectclientlib-637. 03-0. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

zypper install idprotectclient-637. 03-0. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

Проверяем, что драйверы и ПО для JaCarta PKI установились:

zypper search idprotectclient

Imdisk cryptopro и сохранение корпоративных средств

При попытках заставить работать SafeNet eToken PRO я нашел информацию, что предустановленный в SLES пакет openct — Library for Smart Card Readers может конфликтовать с pcsc-lite — PCSC Smart Cards Library, установку которого требует руководство Аладдин Р.

zypper search openct

Imdisk cryptopro и сохранение корпоративных средств

Поэтому пакет openct удаляем:

rpm -e openct

Теперь все необходимые драйверы и ПО для работы с токеном установлены.

Выполняем диагностику с помощью утилиты pcsc-tools и убеждаемся, что JaCarta определяется в операционной системе:

Читайте также:  Как удалить старые сертификаты ЭЦП из хранилища Windows 10, 7

Imdisk cryptopro и сохранение корпоративных средств

Установка пакетов КриптоПро CSP

При установке КриптоПро CSP по умолчанию нужные пакеты для работы с токенами и смарт-картами отсутствуют.

zypper search cprocsp

Imdisk cryptopro и сохранение корпоративных средств

Выполняем установку в CSP компонента поддержки JaCarta components for CryptoPro CSP

zypper install cprocsp-rdr-jacarta-64-3. 408. 683-4. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

Некоторые компоненты имеют зависимости. Так, например, если попытаться выполнить установку пакета поддержки SafeNet eToken PRO cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm — EMV/Gemalto support module, то получим сообщение о необходимости сначала установить базовый компонент CSP поддержки считывателей cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm — PC/SC components for CryptoPro CSP readers:

Устанавливаем базовые пакеты поддержки считывателей и ключевых носителей:

zypper install cprocsp-rdr-pcsc-64-4. 9944-5. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

zypper install lsb-cprocsp-pkcs11-64-4. 9944-5. x86_64. rpm

Теперь можно установить модули для работы с остальными видами носителей и компонент GUI:

zypper install cprocsp-rdr-emv-64-4. 9944-5. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

zypper install cprocsp-rdr-novacard-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-mskey-64-4. 9944-5. x86_64. rpm
zypper install cprocsp-rdr-gui-gtk-64-4. 9944-5. x86_64. rpm

Imdisk cryptopro и сохранение корпоративных средств

Проверяем итоговую конфигурацию КриптоПро CSP:

zypper search cprocsp
Loading repository data. Reading installed packages.

Imdisk cryptopro и сохранение корпоративных средств

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

/etc/init. d/cprocsp restart
/etc/init. d/cprocsp status

Imdisk cryptopro и сохранение корпоративных средств

Настройка и диагностика КриптоПро CSP

Проверим, видит ли криптографический провайдер наш токен и другие доступные типы носителей следующими командами:

/opt/cprocsp/bin/amd64/csptest -card -enum -v –v

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

/opt/cprocsp/sbin/amd64/cpconfig -hardware reader -view -f cp1251

Imdisk cryptopro и сохранение корпоративных средств

Следуя инструкции КриптоПро CSP для Linux. Настройка, выполняем его регистрацию в криптографическом провайдере:

Imdisk cryptopro и сохранение корпоративных средств

Чтобы выполнить требования Формуляра, Правил пользования и Руководства администратора безопасности КриптоПро CSP:

Использование СКЗИ «КриптоПро CSP» версии 4. 0 с выключенным режимом усиленного контроля использования ключей не допускается. Включение данного режима описано в документах ЖТЯИ. 00087-01 91 02. Руководство администратора безопасности.

Необходимо включить режим усиленного контроля использования ключей:

/opt/cprocsp/sbin/amd64/cpconfig -ini ‘configparameters’ -add long StrengthenedKeyUsageControl 1

Проверяем, что режим включен:

Imdisk cryptopro и сохранение корпоративных средств

Выполняем перезапуск службы криптографического провайдера:

После перезапуска проверяем, что ошибок в работе провайдера с ключевыми носителями нет:

/opt/cprocsp/bin/amd64/csptest -keyset –verifycontext

Imdisk cryptopro и сохранение корпоративных средств

/opt/cprocsp/bin/amd64/csptest -keyset -verifycontext -enum –unique

Работа с токеном JaCarta PKI

Запустим программу Xming (X11 forwarding) на своей станции, чтобы по SSH иметь возможность открывать и работать с графическими интерфейсами нужных утилит.

Imdisk cryptopro и сохранение корпоративных средств

Athena-IDProtectClient. desktop
Athena-IDProtectManager. desktop

Это ярлыки, в которых можно посмотреть параметры запуска утилит Exec=/usr/bin/SACTools

Запустим утилиту IDProtectPINTool.

С помощью нее задаются и меняются PIN-коды доступа к токену.

Imdisk cryptopro и сохранение корпоративных средств

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

Программа IDProtect_Manager позволяет просматривать информацию о токене и контейнере с ключами и сертификатом:

Imdisk cryptopro и сохранение корпоративных средств

Для доступа к контейнеру с ключами нужно ввести пароль:

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Для работы с SafeNet Authentication Client eToken PRO существуют аналогичные программы — SafeNet Authentication Client Monitor и SafeNet Authentication Client Tools, которые запускаются так:

Imdisk cryptopro и сохранение корпоративных средств

Выполнять операции непосредственно с ключевыми контейнерами удобнее в интерфейсе криптографического провайдера КриптоПро JavaCSP:

/jdk1. 0_181/jre/bin/java ru. CryptoPro. JCP. ControlPane. MainControlPane

Imdisk cryptopro и сохранение корпоративных средств

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

Для диагностики контейнера используется эта же команда с ключом –check

Потребуется ввести пароль от контейнера:

Imdisk cryptopro и сохранение корпоративных средств

Imdisk cryptopro и сохранение корпоративных средств

Программное извлечение ключей

В общем виде пример извлечения закрытого ключа и сертификата открытого ключа из контейнера на токене с помощью КриптоПро Java CSP следующий:

Если действовать так:

Key key = keyStore. getKey(keyAlias, pwd);

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

Результаты

Отторгаемый ключевой носитель-токен установлен во внутренний USB-порт сервера.

Само серверное оборудование опломбировано и размещается в помещении с ограниченным доступом.

Такие меры позволяют повысить уровень защиты наших информационных систем от кражи и компрометации ключей электронной подписи или шифрования, как удаленно по сети, так и физически.

Полезные ссылки

  • Документация Aladdin-RD JaCarta
  • wiki.astralinux.ru — Работа с КриптоПро CSP
  • Перечень кодов ошибок объектной модели компонентов Microsoft COM Error Codes (Security and Setup)
  • СКЗИ КриптоПро CSP 4.0 ФКН (Gemalto)
  • Утилита диагностики считывателей pcsc-tools из проекта security:chipcard (software.opensuse.org)
  • КриптоПро CSP для Linux. Настройка.
  • Aladdin-RD PIN-коды (пароли) ключевых носителей по умолчанию

Формирование ЭЦП для исходящих SOAP-сообщений веб-сервиса

Далее рассмотрим случай, когда все ответы веб-сервиса должны быть подписаны ЭЦП организации. В такой ситуации на сервере системы размещается хранилище, содержащее секретный ключ, который используется при формировании подписи. Кроме того, должен быть доступен сертификат, соответствующий этому ключу. В библиотеке iscjcp. jar реализована работа с хранилищем типа «FloppyStore». Поэтому, для формирования ЭЦП нам потребуется виртуальная дискета с хранилищем ключей.

Размещение секретного ключа и сертификата на виртуальной дискете на сервере системы

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

  • Установите драйвер, имитирующий FDD привод, например, ImDisk.
  • Из панели управления Windows запустите программу настройки «ImDisk Virtual Disk Driver» и настройте диск с параметрами:
    Drive letter: A,Size of virtual disk: 1 Megabyte,Device type: Floppy.
  • Drive letter: A,
  • Size of virtual disk: 1 Megabyte,
  • Device type: Floppy.
  • Отформатируйте виртуальную дискету, задав файловую систему FAT.
  • Распакуйте содержимое архива FDD.zip на диск A:.

В результате описанных манипуляций на диске A: сервера имеем хранилище ключей, содержащее тестовый секретный ключ. Файл A:SelfSigned. cer представляет собой тестовый сертификат, соответствующий секретному ключу.

Вы можете самостоятельно генерировать ключи и сертификаты с помощью КриптоПро JCP. Эти процедуры описаны в документации продукта.

Загруженный ранее архив iscjcp-cos-sources2012. zip с исходным кодом Caché Object Script содержал класс smev. JcpSignature. Импортируйте этот класс в Caché с помощью Studio.

Откройте класс smev. JcpUtils в Studio и отредактируйте значение параметра CERTFILENAME, указав полный путь к файлу сертификата – “A:SelfSigned. cer”. Этот сертификат соответствует секретному ключу, который будет использоваться при формировании ЭЦП. Скомпилируйте класс.

Теперь, чтобы добавить в метод веб-сервиса функционал по формированию ЭЦП для возвращаемых сообщений, необходимо вставить следующую строку в код этого метода:

SecurityOut. AddElement(##class(smev. JcpSignature). %New())

Настройка и запуск Java Gateway, создание проекций классов

Чтобы стало возможным вызывать Java-классы из Caché/Ensemble, необходимо настроить и запустить Java Gateway, а также создать проекции используемых Java-классов.

Добавим новую запись в таблицу настроек Java Gateway в области %SYS:

insert into %Net_Remote. ObjectGateway(Name, Type, Server, Port, JavaHome) values (‘JCPGate’, ‘1’, ‘127. 1’, ‘55555’, ‘C:Program FilesJavajdk1. 0_20jre’)

Здесь в поле Name указано значение “JCPGate” – это имя нового Java Gateway. В поле JavaHome необходимо указать путь к JRE, для которой была произведена установка JCP. В поле Port указывается TCP-порт, используемый для общения с этим Java Gateway из Caché.

Теперь можно запустить новый Java Gateway, выполнив в терминале Caché следующую команду:

write ##class(%Net. Remote. Service). StartGateway(“JCPGate”)

Чтобы остановить его, вызовите метод StopGateway:

write ##class(%Net. Remote. Service). StopGateway(“JCPGate”)

Запускать/останавливать Java Gateway можно из любой области.

Перейдем в область, где ведется разработка веб-сервисов, и создадим проекцию для Java-класса isc. jcp. JcpFacade, выполнив в терминале Caché следующую команду:

do ##class(%Net. Remote. Java. JavaGateway). %ExpressImport(“isc. jcp. JcpFacade”, “55555”)

Здесь 55555 – это номер TCP-порта, который используется для общения с Java Gateway. Этот порт был указан нами ранее при добавлении записи в таблицу %Net_Remote. ObjectGateway.

Оцените статью
ЭЦП Эксперт
Добавить комментарий