Diona and Oracle Master Lab

Diona and Oracle Master Lab Электронная цифровая подпись
Содержание
  1. Возможные причины с определением контейнера
  2. В ОС «Аврора» появилась мобильная электронная подпись в браузере
  3. Веб-сервисы с поддержкой ЭЦП на базе криптографии ГОСТ
  4. Установка и настройка криптопровайдера
  5. Продолжение доступно только участникам
  6. Вариант 1. Присоединись к сообществу «Xakep. ru», чтобы читать все материалы на сайте
  7. Вариант 2. Открой один материал
  8. Дополнительные библиотеки Java
  9. Алгоритм решения проблем с JaCarta
  10. Не все одинаковые
  11. Тестирование веб-сервиса
  12. Установка КриптоПро JCP на Windows
  13. Настройка и запуск Java Gateway, создание проекций классов
  14. Проверка ЭЦП во входящих SOAP-сообщениях
  15. 3 Comments
  16. Описание окружения
  17. Состав решения и функционирование системы
  18. Установка единого клиента JaCarta PKI
  19. Как решить проблему, что криптопро не видит USB ключ?
  20. Особенности eToken “Крипто БД”
  21. Формирование ЭЦП для исходящих SOAP-сообщений веб-сервиса
  22. Размещение секретного ключа и сертификата на виртуальной дискете на сервере системы
  23. Формирование ЭЦП
  24. Вместо заключения – защита БД

Возможные причины с определением контейнера

  1. Во первых, это проблема с драйверами, например, в Windows Server 2012 R2, JaCarta в идеале должна определяться в списке смарт карт как JaCarta Usbccid Smartcard, а не Microsoft Usbccid (WUDF)
  2. Во вторых если устройство видится как Microsoft Usbccid (WUDF), то версия драйверов может быть устаревшей, и из-за чего ваши утилиты будут не определять защищенный USB носитель.
  3. Устарелая версия CryptoPRO

Настоящим даю согласие на обработку (сбор, систематизацию, накопление, хранение в электронном виде и на бумажном носителе, уточнение, использование, распространение, обезличивание, блокирование, уничтожение, с использованием средств автоматизации и без использования таких средств) АНО ДПО «Диона Мастер Лаб» (127287, г. Москва, 2-я Хуторская ул., д. 38А, стр. 15) моих всех вышеуказанных персональных данных в целях обработки моего запроса, направленного через сайт masterlab.ru и коммуникации со мной в целях, связанных с обработкой и выполнением моего запроса с помощью различных средств связи, а именно посредством: интернет; сообщений на адрес электронной почты; телефону.

Срок действия согласия является неограниченным. Вы можете в любой момент отозвать настоящее согласие, направив письменное уведомления на адрес 127287, г. Москва, 2-я Хуторская ул., д. 38А, стр. 15 с пометкой «Отзыв согласия на обработку персональных данных».

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

Настоящее согласие действует в течение всего периода хранения персональных данных, если иное не предусмотрено законодательством Российской Федерации.

Разделы Diona and Oracle Master Lab

  • MSI для бизнеса
  • Конкурс инноваторов
  • Импортозамещение ВКС
  • Поддержка ИТ-отрасли
  • Импортозамещение
  • Безопасность
  • ИТ в госсекторе
  • ИТ в банках
  • ИТ в торговле
  • Цифровизация
  • Телеком
  • Интернет
  • ИТ-бизнес
  • Рейтинги

<!–

Эльяс Касми

–>

В ОС «Аврора» появилась мобильная электронная подпись в браузере

ОС «Аврора» — первая мобильная операционная система, в которой появилась возможность создания и проверки электронной подписи, в том числе квалифицированной, на веб-страницах с использованием локальных ключей пользователя. Это стало возможным благодаря предустановленному расширению, которое поддерживает работу с комплектом СКЗИ «Криптопро» CSP 5.0 R3. Для использования новых возможностей пользователям предыдущих версий требуется обновить ОС до релиза 4.0.2. Об этом CNews сообщили представители ОМП.

Пользователи ОС «Аврора» могут подписывать документы разных форматов при работе с порталами и системами электронного документооборота непосредственно в браузере на мобильном устройстве, храня закрытый ключ в защищенном хранилище «Криптопро» CSP на устройстве или на внешнем токене. Это позволяет использовать привычные пользователям ПК сценарии работы с электронной подписью на корпоративных доверенных мобильных устройствах.

Компания «Криптопро» создана в 2000 г. Основное направление деятельности компании — разработка средств криптографической защиты информации и развитие инфраструктуры открытых ключей (Public Key Infrastructure) на базе международных рекомендаций и российских криптографических алгоритмов. Продукты компании распространяют более 850 юридических лиц на основании дилерских договоров.

Компания выдала более 4 млн лицензий на использование средств криптографической защиты информации (СКЗИ) «Криптопро» CSP и 800 лицензий на использование удостоверяющего центра «Криптопро УЦ», которые применяются различными государственными и коммерческими организациями в системах электронного документооборота, а также востребованы при построении глобальных общегосударственных информационных систем.

Сергей Волков, Cloud: Как облака стали незаменимым инструментом в период неопределенности

Diona and Oracle Master Lab

Компания «Открытая мобильная платформа» (ОМП) занимается разработкой и продвижением первой российской мобильной операционной системы «Аврора» и платформы управления мобильными устройствами «Аврора центр».

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

1 этап. Прохождение тестирования(взаимодействие с тестовым контуром ГИС ГМП)
#Адрес сервиса ГИС ГМП тестовый:
gisgmp.wsdlLocation=http://213.59.255.182:7777/gateway/services/SID0003663?wsdl
gisgmp.wsdlLocation.endPoint=http://213.59.255.182:7777/gateway/services/SID0003663
Этот адрес прописывается в настройках СП.Дополнительно требуется прописать в файле настроек логгирования, указав значение TRACE.
После внесения указанных значений, требуется запустить СП и клиент АЦК (перезапустить, если уже был запущен)
Далее, из ЗОР или Заявки БУ/АУ на выплату средств требуется выполнить действие “Создать Сведение о платеже”, если будут пройдены системные контроли – то создастся Сведение о платеже. Которое в последствии нужно будет выгрузить.
После выгрузки требуется проверить статус действием “Запрос статуса обработки”. После чего ЭД Сведение о платеже переходит на статус “Принят ГИС ГМП” -…

Дано:

Таблица MSG (сообщения) с большим количеством записей.CREATETABLEmsg(idINTEGERNOTNULLPRIMARYKEY,descriptionCHAR(50)NOTNULL,
date_createDATE);Задача:

Необходимо очистить таблицу от данных/ Решение:

Для решения данной задачи есть несколько способов. Ниже описание и пример каждого из них.
Самый простой способ (первый вариант
) – выполнение оператора удаления записи. При его выполнении вы будете видеть результат (сколько записей удалено). Удобная штука когда необходимо точно знать и понимать правильные ли данные удалены. НО имеет недостатки перед другими вариантами решения поставленной задачи.

DELETE FROMmsg;–Удалит все строки в таблице–Удалит все строки у которых дата создания “2019.02.01”
DELETE FROMmsg WHEREdate_create=”2019.02.01″;

Второй вариант
. Использование оператора

На днях перевел терминальный сервер(windows 2003 server x64 standard) на виртуальную машину. На терминалке бухгалтера работали со СБИС. Сертификаты для сбиса храняться на флэшке, она на виртуалку не пробрасывается. Бухи нервничают, надо что то делать:

  1. Попробовал создать диск и скопировать туда сертификаты,но crypto про не видит локальных дисков. Облом 1
  2. Перенес Сбис на виртуальную машину под windows server 2012R2,пробросил флэшку(режим расширенного сеанса). Она определилась как локальный диск. Облом 2

Тут я решил позвонить в техподдержку СБИС(при слове виртуальная машина консультант впал с ступор и начал давать странные советы….). На третьем консультанте я получил ответ,что только через реестр(что мне не хотелось делать). Ну да ладно,начал делать через реестр….

И тут меня осенило,есть же возможность подключать дискету.Эврика))))
Создал дискету через HYPER-V MANAGER скинул туда сертификаты. Открыл crypro про и убедился,что сертификаты видны! Вроде на этом должно было закончится,но нет…
При подписи или «отправке получении» получаем ошибку не найден закрытый ключ шифрования…Для решения этой проблемы Идем в ПАНЕЛЬ УПРАВЛЕНИЯ
КриптоПРО CSP
СЕРВИС
УДАЛИТЬ ЗАПОМНЕННЫЕ ПАРОЛИ
УДАЛИТЬ ИНФОРМАЦИЮ ОБ ИСПОЛЬЗОВАННЫХ СЪЕМНЫХ НОСИТЕЛЯХ
(ставим галку). И наступает счастье,но не у всех…Данную процедуру надо повторить под всеми пользователями,которые пользуются crypto pro(будь то сайты гос закупок или сбис…).

P.S: вариант с реестром вполне рабочий,но не охота его было делать!

Storage News №3/40, 2009

Александр Додохов, руководитель направления защиты баз данных Aladdin

Ника Комарова, руководитель направления маркетинговых коммуникаций и PR Aladdin

Использование систем управления базами данных зарубежного производства в свете реализации требований законодательства по защите персональных данных (ПДн) грозит обернуться серьезной проблемой. Согласно отчету IDC1), в настоящее время на рынке реляционных СУБД лидирует корпорация Oracle, контролирующая 44,3% соответствующего сегмента. По некоторым оценкам, масштаб использования ПО Oracle только в российском госсекторе приближается к 80%. Обеспечение защиты информации, хранящейся в таких базах данных, сегодня становится едва ли не самой приоритетной задачей для подавляющего большинства государственных структур и организаций крупного корпоративного сегмента.

Итак, задача поставлена, но как ее решать? Попробуем проанализировать сложившуюся ситуацию и представить вариант выхода из нее.

В типичной СУБД западного образца настройка ролей пользователей по умолчанию, как правило, не соответствует реальным должностным обязанностям сотрудников. Это может привести к некорректному распределению полномочий, избыточность которых чревата утечкой конфиденциальных данных.

В Европе и США проблему утечки данных, в основном решают с помощью механизмов защиты, встраиваемых в прикладное ПО, через которое пользователь работает с СУБД. Отечественный разработчик прикладного ПО редко задается подобными вопросами. В этой связи у владельцев ИТ-системы с интегрированной СУБД есть по большому счету три пути. Первый – ничего не делать и ждать скандала после утечки конфиденциальных данных. Второй – перекроить свою систему, фактически выстроив ее с нуля. И третий – самый желанный – обойтись малой кровью и кастомизировать используемую систему. В свете приближения 1 января 2010 г., когда все информационные системы, оперирующие персональными данными, должны быть приведены в соответствие требованиям Федерального Закона “О персональных данных”, прикладное решение этой задачи может обернуться серьезной головной болью для большинства крупных операторов ПДн.

Представители регуляторов постоянно говорят о том, что никаких особенных продуктов для защиты ПДн не потребуется: арсенал уже представлен на рынке. Однако технические и программные средства защиты информации (СЗИ) должны удовлетворять нормативным требованиям, т.е. пройти соответствующую процедуру в системах сертификации ФСТЭК. Если мы имеем дело с высоким классом ИСПДн, то речь уже идет об обязательном применении средств криптографической защиты (СКЗИ), причем на базе ГОСТ. При использовании СКЗИ, сертификацию предстоит пройти уже по линии ФСБ России, а в этом случае, при всем богатстве выбора альтернативного криптоалгоритма, удовлетворяющего требованиям регулятора, нет. Сама же реализация требований по обеспечению безопасности информации в средствах защиты возлагается на их разработчиков.

Что остается делать операторам персональных данных? Желающих заменить исправно функционирующую “буржуйскую” СУБД аналогичной системой отечественной разработки найдется немного. Тому есть немало веских причин, начиная от отсутствия прямого “товара-заменителя” и заканчивая нерентабельностью такого проекта. Между тем, все СУБД зарубежных разработчиков созданы с учетом международных стандартов и там, где это требуется, используют западную криптографию на базе DES, 3DES, AES и др. Это создает весьма туманные перспективы для их аттестации, согласно требованиям Федерального Закона “О персональных данных” и нормативной базы за авторством ФСТЭК и ФСБ.

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

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

К системам, создаваемым для российских заказчиков, зачастую предъявляется требование применения сертифицированных СКЗИ, использующих крипто алгоритмы ГОСТ. Далее описан один из подходов к разработке веб-сервисов Caché, защищенных ЭЦП на базе ГОСТ’овской криптографии.

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

Читайте также:  Договор с тензор эцп

Установка и настройка криптопровайдера

В примерах я буду использовать виртуальную машину с CentOS 7, но ты не ограничен в выборе аппаратного обеспечения и дистрибутива Linux. Все действия и команды будут такими же.

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

$ sudo useradd -d /opt/user -p <Тут указываем пароль> -s /bin/bash user; sudo grep user /etc/passwd

Правильно установим Java JDK. Скачиваем необходимый дистрибутив.

$ wget --header "Cookie: oraclelicense=a" --content-disposition http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz -O jdk-8u191-linux-x64.tar.gz

Распаковываем архив и проверяем, готова ли папка с Java для копирования.

$ tar zxvf jdk-8u191-linux-x64.tar.gz; ls -al;

Копируем папку в раздел для прикладного ПО. Я обычно использую /opt.

$ sudo cp -rf jdk1.8.0_191 /opt/

Проверяем, что скопировалось правильно. Если необходимо, меняем владельца папки на root.

$ ls -al /opt/jdk1.8.0_191/
$ sudo chown -R root:root /opt/jdk1.8.0_191/; cd /opt/jdk1.8.0_191/; ls -al;

Прописываем переменные окружения для Java JDK для всех пользователей по умолчанию.

$ sudo vi /etc/profile.d/oracle.sh

В файл пишем следующее:

export JAVA_HOME=/opt/jdk1.8.0_191
export JRE_HOME=/opt/jdk1.8.0_191/jre
export PATH=$PATH:/opt/jdk1.8.0_191/bin:/opt/jdk1.8.0_191/jre/bin

Если на сервере стоит несколько версий Java JDK, то необходимо зарегистрировать альтернативы для новой версии.

$ sudo alternatives --install /usr/bin/java java /opt/jdk1.8.0_191/bin/java 2
$ sudo alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_191/bin/jar 2
$ sudo alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_191/bin/javac 2
$ sudo alternatives --set jar /opt/jdk1.8.0_181/bin/jar
$ sudo alternatives --set jar /opt/jdk1.8.0_191/bin/jar
$ sudo alternatives --set javac /opt/jdk1.8.0_191/bin/javac
$ sudo alternatives --config java

В меню выбираем опцию 2 (или ту, что приведет к использованию более новой версии Java). Не забываем поправить права на JRE systemPrefs.

$ sudo chmod 777 -R /opt/jdk1.8.0_191/jre/.systemPrefs

Проверяем установленную версию Java.

$ java -version
java version “1.8.0_191”
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)

Копируем папку с дистрибутивом CryptoPro JCP в раздел для прикладного ПО.

$ sudo cp -rf jcp-2.0.40035 /opt/

Проверяем, что все скопировалось корректно.

$ ls -al /opt/jcp-2.0.40035/

Выдаем права на запуск скриптов.

$ sudo chmod +x /opt/jcp-2.0.40035/*.sh

Проверяем владельца и права на папку, должен быть root. Переходим в нее.

$ ls -al /opt/jcp-2.0.40035/; cd /opt/jcp-2.0.40035/;

Чтобы избежать проблем при инсталляции, проверь количество ядер на процессоре и сверься с лицензией. Узнать число ядер можно командой nproc.

Переходим к установке криптопровайдера JCP. Во время установки необходимо будет ответить на ряд вопросов.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep. ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку!
Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru» Diona and Oracle Master Lab

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

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

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

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

Алгоритм решения проблем с JaCarta

КриптоПРО очень часто вызывает различные ошибки в Windows, простой пример (Windows installer service could not be accessed). Вот так вот выглядит ситуация, когда утилита КриптоПРО не видит сертификат в контейнере.

Diona and Oracle Master Lab

Как видно в утилите UTN Manager ключ подключен, он видится в системе в смарт картах в виде Microsoft Usbccid (WUDF) устройства, но вот CryptoPRO, этот контейнер не определяет и у вас нет возможности установить сертификат. Локально токен подключали, все было то же самое. Стали думать что сделать.

Не все одинаковые

Твердая позиция государства в отношении обеспечения защиты персональных данных граждан за короткое время привела к формированию новообразовавшегося сегмента рынка “средств защиты персданных”. В основном на нем представлены в срочном порядке перепозиционированные решения, “заточенные” под выполнение требований регуляторов, а также давно знакомые продукты, спешно прошедшие сертификацию в соответствующих центрах. Непростая экономическая ситуация и непредсказуемость ряда бизнес-процессов не способствуют инвестированию в разработку новых программных и аппаратных средств для удовлетворения спроса, разжигаемого приближающимся часом икс. Иной подход демонстрируют немногие компании. Одна из них – компания Aladdin, с 2004 г. занимающаяся разработкой решений для защиты данных в среде Oracle.

Как и следовало ожидать, система защиты для БД Oracle разработки Aladdin базируется на флагманском продукте компании – eToken, ключевом носителе в формате USB-устройства. Сертифицированное по линии ФСБ новое СКЗИ получило название “Крипто БД”. Система предназначена для работы со всей линейкой Oracle Database Server 9i, 10g и 11g, потенциально оперирующих персональными данными в российских организациях коммерческого и государственного секторов. Какие задачи выполняет eToken “Крипто БД”? Это:

  • разграничение доступа – каждый пользователь, включая администратора, может иметь доступ только к необходимой ему информации согласно занимаемой должности;
  • защита доступа – доступ к данным может быть предоставлен пользователю только после успешного прохождения процедур идентификации и аутентификации;
  • шифрование данных – для защиты от перехвата шифровать необходимо данные, передаваемые по сети, а также данные, записываемые на носитель; защита самого носителя от кражи и несанкционированного просмотра/модификации, хранимых в его памяти данных, осуществляется иными средствами вне системы управления БД;
  • аудит доступа к данным – действия с критичными данными должны протоколироваться. Доступ к протоколу не должны иметь пользователи, на которых он ведется.

Таким образом, eToken “Крипто БД” представляет собой сертифицированное решение, интегрирующее основные компоненты защиты БД. Применение СКЗИ eToken “Крипто БД” обеспечивает соблюдение норм законодательства РФ и требований руководящих документов, определяющих состав мер и технических средств, для защиты информационных систем обработки персональных данных. Построение защиты в СУБД Oracle на базе продукта реализует выполнение требований для ИСПДн К2 до уровня защиты 1Г включительно. К этим требованиям относятся:

  • идентификация, проверка подлинности и контроль доступа субъектов в систему;
  • идентификация программ, томов, каталогов, файлов, записей, полей записей по именам;
  • регистрация и учет входа (выхода) субъектов доступа в (из) систему (узел сети);
  • контроль доступа субъектов к защищаемым ресурсам в соответствии с матрицей доступа;
  • периодическое тестирование СЗИ, восстановление СЗИ.

Иные уровни защиты могут быть достигнуты при усилении eToken “Крипто БД” дополнительными средствами обеспечения информационной безопасности.

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

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

  1. При помощи Studio создадим класс test.TestService в той же области, куда были импортированы классы smev.*. Исходный код нового класса скопируем из вышеприведенного листинга.
  2. Запустим в терминале Caché метод signFile() класса smev.JcpUtils:
    write ##class(smev.JcpUtils).signFile(“id1”, “C:\Temp\input.xml”, “C:\Temp\output.xml”)

    Убедимся в том, что в результате работы метода был создан файл C:\Temp\output.xml, содержащий подписанное SOAP-сообщение (Envelope): в заголовке (Header) находится ЭЦП в формате WS-Security, а тело (Body) представляет собой XML-документ, взятый из файла input.xml.

    Готовый файл output.xml имеется в архиве xmls.zip.

  3. Направим полученное SOAP-сообщение с ЭЦП на вход сервиса test.TestService. Для этого выполним в терминале Caché следующие команды (при необходимости, замените порт веб-сервера – “57772” на правильный, а также область “user” в предпоследней команде):

    set httprequest = ##class(%Net.HttpRequest).%New()
    set httprequest.Server = "localhost"
    set httprequest.Port = "57772"
    set httprequest.WriteRawMode = 1
    set httprequest.ContentType = "text/xml"
    do httprequest.SetHeader("SOAPAction","urn:echo")
    set fileStream = ##class(%Library.FileBinaryStream).%New()
    set fileStream.Filename = "C:\Temp\output.xml"
    do httprequest.EntityBody.CopyFrom(fileStream)
    do httprequest.Post("/csp/user/test.TestService.cls")
    do httprequest.HttpResponse.OutputToDevice()
    

    Если успешно прошла проверка ЭЦП входящего сообщения, а затем и формирование ЭЦП исходящего, то в окне терминала появится ответ веб-сервиса примерно такого вида:

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

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

Прежде всего, на сервер системы установите Java Runtime Environment (JRE) версии не ниже 1.6.

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

install.bat “C:\Program Files\Java\jdk1.6.0_20\jre”

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

install.bat “C:\Program Files\Java\jdk1.6.0_20\jre” XXXXX-XXXXX-XXXXX-XXXXX-XXXXX “Your Company”

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

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

Настройка и запуск 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.0.0.1’, ‘55555’, ‘C:\Program Files\Java\jdk1.6.0_20\jre’)

Здесь в поле 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.

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

Загрузите и распакуйте архив iscjcp-cos-sources2012.zip с исходным кодом классов smev.JcpUtils и smev.JcpSignature. Импортируйте класс smev.JcpUtils в Caché с помощью Studio, предварительно перейдя в область, где ведется разработка веб-сервисов. Откройте импортированный класс в Studio и отредактируйте значения параметров JAVAGATEWAYPORT и JAVAGATEWAYSERVER, указав соответственно TCP-порт и IP-адрес используемого Java Gateway. Скомпилируйте класс.

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

Method OnPreSOAP(mode As %String, action As %String, request)
{
  do ##super(mode, action, request)

  #dim stream As %Stream.Object = request

  if '$isObject(stream)
  {
    // на случай MIME attachments
    #dim index As %Integer = %request.NextMimeData("")
    set stream = $select(index="":"", 1:%request.GetMimeData(index))
  }

  if $isObject(stream)
  {
  #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream)
    if $isObject(fault) set ..SoapFault = fault
  }
}

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

Class test.TestService Extends %SOAP.WebService
{
  Parameter SERVICENAME = "TestService";

  Parameter NAMESPACE = "http://test/wsdl";

  Method echo(request As %String) As %String [ ProcedureBlock = 1, SoapAction = "urn:echo",
       SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ]
  {
     quit request
  }

  Method OnPreSOAP(mode As %String, action As %String, request)
  {
    do ##super(mode, action, request)

    #dim stream As %Stream.Object = request

    if '$isObject(stream)
    {
      // на случай MIME attachments
      #dim index As %Integer = %request.NextMimeData("")
      set stream = $select(index="":"", 1:%request.GetMimeData(index))
    }

    if $isObject(stream)
    {
      #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream)
      if $isObject(fault) set ..SoapFault = fault
    }
  }
}

3 Comments

  1. держу на ESXi 5.5 Windows 2012 R2
    стоит крипто про 3.9
    почему то после закрытия сбиса иногда процесс остается висеть в памяти, не сталкивались с такой проблемой?
    при этом можно запустить еще раз сбис и он откроется нормально, никакие файлы не будут заблокированы предыдущей версией.
    не могу понять в чем дело, отъедает память сильно если несколько копий останутся запущенные весеть..

Читайте также:  Как установить полицейский автомобиль в гта 5?

День первый

На Windows 7 x64 были совместно установлены Virtual Box (версии 4 и 5) с расширением Extension Pack и CryptoPro CSP (КриптоПро CSP 3.6 R4 для Windows).

При запуске виртуальной машины через Virtual Box система падала в синий экран. Причина в невозможности совместной работы КриптоПро CSP и Virtual Box.

Чтобы не было синего экрана при запуске виртуальной машины VirtualBox удалил КриптоПро CSP и перезагрузил компьютер. Решение временное, не сумел разобраться как подружить два продукта, а VirtualBox был нужнее, чем КриптоПро.

Помогло выйти на связь VirtualBox + КриптоПро == BSOD сообщение на форуме:
На форуме Крипто Про также есть обсуждение:
Отчёты из программы blueScreenView :

Bug Check StringSYSTEM_SERVICE_EXCEPTION
Bug Check Code0x0000003b
Parameter 100000000`c0000005
Parameter 2fffff800`032735af
Parameter 3fffff880`0412eb90
Parameter 400000000`00000000
Caused By Driverntoskrnl.exe
Caused By Addressntoskrnl.exe+73c40
File DescriptionNT Kernel & System
File Version
Major Version15
Minor Version7601

A problem has been detected and Windows has been shut down to prevent damage
to your computer.
The problem seems to be caused by the following file: ntoskrnl.exe
SYSTEM_SERVICE_EXCEPTION
Technical Information:
*** STOP: 0x0000003b (0x00000000c0000005, 0xfffff800032735af, 0xfffff8800412eb90,
0x0000000000000000)
*** ntoskrnl.exe – Address 0xfffff80003292c40 base at 0xfffff8000321f000 DateStamp
0x5625815c
Вывод – Virtual Box (версии 4 и 5) и CryptoPro CSP (КриптоПро CSP 3.6 R4 для Windows) пока несовместимы на Windows 7 x64 SP1.

================

День второй

Подключил к первому монитору второй монитор, используя USB 3.0 VGA Adapter. Модель устройства – Fresco Logic FL200 USB Display Adapter. Если подключить адаптер до включения виртуальной машины, то порядок. А если подключать адаптер во время работы виртуальной машины Virtual Box, то будет снова синий экран.

Bug Check StringIRQL_NOT_LESS_OR_EQUAL
Bug Check Code0x0000000a
Parameter 100000000`00000088
Parameter 200000000`00000002
Parameter 300000000`00000001
Parameter 4fffff800`032579e6
Caused By Driverntoskrnl.exe
Caused By Addressntoskrnl.exe+73c00
File DescriptionNT Kernel & System
File Version6.1.7601.19110 (win7sp1_gdr.151230-0600)
Major Version15
Minor Version7601

A problem has been detected and Windows has been shut down to prevent damage
to your computer.
The problem seems to be caused by the following file: ntoskrnl.exe
IRQL_NOT_LESS_OR_EQUAL
Technical Information:
*** STOP: 0x0000000a (0x0000000000000088, 0x0000000000000002, 0x0000000000000001,
0xfffff800032579e6)
*** ntoskrnl.exe – Address 0xfffff80003276c00 base at 0xfffff80003203000 DateStamp
0x5684191c

Из того, что видно перед ошибкой – диспетчер устройств (HAL) сообщает, что подключено новое USB 2.0 устройство, а затем система падает. Диспетчер устройств не прав, так как подключается USB 3.0 устройство в USB 3.0 порт.

Возможно, просто совпадение, два BSOD-а подряд. И причина BSOD в реализации драйверов для Fresco Logic FL200 USB Display Adapter.

Но есть предположение, что причина ошибок в реализации поддержки USB 2.0 / USB 3.0 в VirtualBox. А особые возможности поддержки USB появляются при установке Oracle VM VirtualBox Extension Pack.

Удалить VirtualBox не хотелось бы, иногда бывает нужен. А удалить Extension Pack могу запросто. Надеюсь, что после удаления VirtualBox Extension Pack синих экранов больше не будет. И можно будет повторно установить КриптоПро CSP 3.6 R4 для Windows и пользоваться двумя мониторами.

Добрый день!. Последние два дня у меня была интересная задача по поиску решения на вот такую ситуацию, есть физический или виртуальный сервер, на нем установлена наверняка многим известная КриптоПРО. На сервер подключен , который используется для подписи документов для ВТБ24 ДБО
. Локально на Windows 10 все работает, а вот на серверной платформе Windows Server 2016 и 2012 R2, Криптопро не видит ключ JaCarta
. Давайте разбираться в чем проблема и как ее поправить.

Описание окружения

Есть виртуальная машина на Vmware ESXi 6.5, в качестве операционной системы установлена Windows Server 2012 R2 . На сервере стоит КриптоПРО 4.0.9944, последней версии на текущий момент. С сетевого USB хаба, по технологии USB over ip , подключен ключ JaCarta. Ключ в системе видится
, а вот в КриптоПРО нет.

Состав решения и функционирование системы

Основу eToken “Крипто БД” составляет серверный компонент, устанавливаемый в БД, а также клиентский компонент, работающий под операционными системами Microsoft Windows XP или Vista. В системе используются три вида ключей – открытые, закрытые и симметричные. Длина открытого ключа составляет 512 бит (согласно ГОСТ Р 34.10-2001), закрытого – 256 бит. Для шифрования используется симметричный ключ длиной 256 бит. Для хранения ключей и сертификатов пользователей, имеющих право на доступ к системе, применяются сертифицированные ключевые носители eToken PRO, реализованные на базе технологий смарт-карт.

eToken “Крипто БД” обладает встроенной системой шифрования и реализует криптоалгоритм ГОСТ 28147-89 в режимах простой замены (ECB), гаммирования (Counter mode), гаммирования с обратной связью (CFB) и сцепления блоков (CBC). Применение российских криптоалгоритмов для защиты персональных данных в Oracle реализуется благодаря поддержке криптопровайдеров Crypto Pro CSP компании “КриптоПро”, Signal-COM CSP компании Сигнал-КОМ, МагПро CSP от “КриптоКом”, а также Домен КС2 разработки фирмы “Инфотекс”. К слову, для разработчиков предоставляется документированный программный интерфейс к функциям СКЗИ, реализующим шифрование, работу с ключами шифрования и репозиторием защищенных объектов.

Diona and Oracle Master Lab

Рис 1. Схема реализации СКЗИ “Крипто БД”.

Установка служб и приложений системы происходит на серверах баз данных Oracle, клиентских рабочих станциях пользователей, работающих со СКЗИ, а также на рабочей станции администратора безопасности, которая является важнейшим узлом в системе управления шифрованием данных (рис. 1). Для каждого пользователя прикладной системы создается ключевая пара (открытый и закрытый ключи) при помощи ПО выбранного криптопровайдера. Закрытый ключ при этом сохраняется на ключевом носителе, в роли которого выступает USB-устройство eToken (рис. 2). Принадлежность открытого ключа пользователю обеспечивается сертификатом, изданным для данного открытого ключа. В дальнейшем сертификат открытого ключа в виде файла используется администратором безопасности для защиты ключей шифрования, доступных для данного пользователя. Чтобы исключить любую возможность перехвата передаваемых по сети ПД, канал передачи данных между рабочей станцией пользователей и сервером БД должен быть защищен, а на самом ПК и сервере БД должны отсутствовать средства отладки и разработки, а также другое неавторизованное ПО.

Архитектура СКЗИ eToken “Крипто БД” подразумевает использование симметричного криптографического алгоритма общего ключа шифрования (ключ шифрования для одной колонки таблицы базы данных Oracle совпадает с ключом расшифрования). Ключи шифрования защищаются в соответствие с алгоритмом согласования ключей по ГОСТ 34.10-2001 на открытых ключах пользователей. Для получения доступа к конфиденциальным данным каждому пользователю информационной системы назначается персональный ключевой носитель eToken. В защищенной области памяти носителя надежно сохраняется ключевая информация пользователя, в том числе неизвлекаемый закрытый ключ и цифровые сертификаты. Хранение ключевой информации в отдельном адресном пространстве обеспечивает дополнительную защиту объектов СКЗИ от любой активности недоверенной среды рабочего места пользователя (пользовательских приложений, вредоносных программ и т.п.).

Diona and Oracle Master Lab

Рис 2. Для каждого пользователя прикладной системы создается ключевая пара (открытый и закрытый ключи) при помощи ПО выбранного криптопровайдера.

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

eToken совместим с большинством программных продуктов, и, в частности, успешно интегрируется с системами авторизации всех решений корпорации Microsoft, что позволяет говорить не только о защите одного или нескольких объектов, но и о переходе на систему однократной аутентификации (Single Sign On) для всех приложений, что делает процесс предоставления прав доступа одинаково безопасным на всех участках IT-инфраструктуры.

Кастомизация СУБД с помощью внедрения СКЗИ eToken “Крипто БД” на се-годняшний день является адекватным решением технической стороны задачи обеспечения соответствия ряду требований нормативной базы по защите персональных данных. Более того, на текущий момент – это фактически безальтернативное решение, полностью готовое к использованию. Подчеркнем, что применение СКЗИ eToken “Крипто БД” позволит реализовать технические меры защиты. Для обеспечения комплексного подхода, декларируемого руководящими документами, необходимо принять ряд организационных мер, а также подготовить соответствующую документацию, включающую разработку регламентов на обслуживание ИСПДн и ее эксплуатацию.

Один из вопросов, который может стоять при внедрении системы СКЗИ eToken “Крипто БД” – доля накладных затрат, требующихся при шифровании данных. Как показывает тестирование, в среднем, они не превышают 15–20%.

Установка единого клиента JaCarta PKI

Единый Клиент JaCarta
– это специальная утилита от компании “Аладдин”, для правильной работы с токенами JaCarta. Загрузить последнюю версию, данного программного продукта, вы можете с официального сайта, или у меня с облака, если вдруг, не получиться с сайта производителя.

Diona and Oracle Master Lab

Далее полученный архив вы распаковываете и запускаете установочный файл, под свою архитектуру Windows , у меня это 64-х битная. Приступаем к установке Jacarta драйвера. Единый клиент Jacarta, ставится очень просто (НАПОМИНАЮ ваш токен в момент инсталляции, должен быть отключен). На первом окне мастера установки, просто нажимаем далее.

Diona and Oracle Master Lab

Принимаем лицензионное соглашение и нажимаем “Далее”

Diona and Oracle Master Lab

Чтобы драйвера токенов JaCarta у вас работали корректно, достаточно выполнить стандартную установку.

Diona and Oracle Master Lab

Если выберете “Выборочную установку”, то обязательно установите галки:

  • Драйверы JaCarta
  • Модули поддержки
  • Модуль поддержки для КриптоПРО

Diona and Oracle Master Lab

Diona and Oracle Master Lab

Через пару секунд, Единый клиент Jacarta, успешно установлен.

Diona and Oracle Master Lab

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

Diona and Oracle Master Lab

После установки JaCarta PKI, нужно установить КриптоПРО, для этого заходите на официальный сайт.

https://www.cryptopro.ru/downloads

Diona and Oracle Master Lab

На текущий момент самая последняя версия КриптоПро CSP 4.0.9944. Запускаем установщик, оставляем галку “Установить корневые сертификаты” и нажимаем “Установить (Рекомендуется)”

Diona and Oracle Master Lab

Инсталляция КриптоПРО будет выполнена в фоновом режиме, после которой вы увидите предложение, о перезагрузке браузера, но я вам советую полностью перезагрузиться.

Diona and Oracle Master Lab

После перезагрузки подключайте ваш USB токен JaCarta. У меня подключение идет по сети, с устройства DIGI, через . В клиенте Anywhere View, мой USB носитель Jacarta, успешно определен, но как Microsoft Usbccid (WUDF), а в идеале должен определиться как JaCarta Usbccid Smartcard, но нужно в любом случае проверить, так как все может работать и так.

Diona and Oracle Master Lab

Открыв утилиту “Единый клиент Jacarta PKI”, подключенного токена обнаружено не было, значит, что-то с драйверами.

Diona and Oracle Master Lab

Microsoft Usbccid (WUDF) – это стандартный драйвер Microsoft, который по умолчанию устанавливается на различные токены, и бывает, что все работает, но не всегда. Операционная система Windows по умолчанию, ставит их в виду своей архитектуры и настройки, мне вот лично в данный момент такое не нужно. Что делаем, нам нужно удалить драйвера Microsoft Usbccid (WUDF) и установить драйвера для носителя Jacarta.

Читайте также:  Флешка для электронной подписи в Москве — на официальном сайте

Откройте диспетчер устройств Windows, найдите пункт “Считыватели устройств смарт-карт (Smart card readers)” щелкните по Microsoft Usbccid (WUDF) и выберите пункт “Свойства”. Перейдите на вкладку “Драйвера” и нажмите удалить (Uninstall)

Diona and Oracle Master Lab

Согласитесь с удалением драйвера Microsoft Usbccid (WUDF).

Diona and Oracle Master Lab

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

Diona and Oracle Master Lab

После перезагрузки системы, вы можете увидеть установку устройства и драйверов ARDS Jacarta.

Diona and Oracle Master Lab

Откройте диспетчер устройств, вы должны увидеть, что теперь ваше устройство определено, как JaCarta Usbccid Smartcar и если зайти в его свойства, то вы увидите, что смарт карта jacarta, теперь использует драйвер версии 6.1.7601 от ALADDIN R.D.ZAO, так и должно быть.

Diona and Oracle Master Lab

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

Diona and Oracle Master Lab

Открываем CryptoPRO, и видим, что криптопро не видит сертификат в контейнере, хотя все драйвера определились как нужно. Есть еще одна фишка.

  1. В RDP сессии вы не увидите свой токен, только локально, уж такая работа токена, либо я не нашел как это поправить. Вы можете попробовать выполнить рекомендации по устранению ошибки “Не возможно подключиться к службе управления смарт-картами”.
  2. Нужно снять одну галку в CryptoPRO

Diona and Oracle Master Lab

ОБЯЗАТЕЛЬНО снимите галку “Не использовать устаревшие cipher suite-ы” и перезагрузитесь
.

Diona and Oracle Master Lab

После этих манипуляций у меня КриптоПРО увидел сертификат и смарт карта jacarta стала рабочей, можно подписывать документы.

Diona and Oracle Master Lab

Еще можете в устройствах и принтерах, увидеть ваше устройство JaCarta,

Diona and Oracle Master Lab

Если у вас как и у меня, токен jacarta установлен в виртуальной машине, то вам придется устанавливать сертификат, через console виртуальной машины, и так же дать на нее права ответственному человеку. Если это физический сервер, то там придется давать права на порт управления , в котором так же есть виртуальная консоль.

Когда вы установили все драйвера для токенов Jacarta, вы можете увидеть при подключении по RDP и открытии утилиты “Единый клиент Jacarta PKI” вот такое сообщение с ошибкой:

Diona and Oracle Master Lab

  1. Не запущена служба смарт-карт на локальной машине. Архитектурой RDP-сессии, разработанной Microsoft, не предусмотрено использование ключевых носителей, подключенных к удалённому компьютеру, поэтому в RDP-сессии удалённый компьютер использует службу смарт-карт локального компьютера. Из этого следует что, запуска службы смарт-карт внутри RDP-сессии недостаточно для нормальной работы.
  2. Служба управления смарт-картами на локальном компьютере запущена, но недоступна для программы внутри RDP-сессии из-за настроек Windows и/или RDP-клиента.\

Как исправить ошибку “Не возможно подключиться к службе управления смарт-картами”.

  • Запустите службу смарт-карт на локальной машине, с которой вы инициируете сеанс удалённого доступа. Настройте её автоматический запуск при старте компьютера.
  • Разрешите использование локальных устройств и ресурсов во время удалённого сеанса (в частности, смарт-карт). Для этого, в диалоге “Подключение к удалённому рабочему столу” в параметрах выберите вкладку “Локальные ресурсы”, далее в группе “Локальные устройства и ресурсы” нажмите кнопку “Подробнее…”, а в открывшемся диалоге выберите пункт “Смарт-карты” и нажмите “ОК”, затем “Подключить”.

Diona and Oracle Master Lab

  • Убедитесь в сохранности настроек RDP-подключения. По умолчанию они сохраняются в файле Default.rdp в каталоге “Мои Документы” Проследите, чтобы в данном файле присутствовала строчка “redirectsmartcards:i:1”.
  • Убедитесь в том, что на удалённом компьютере, к которому вы осуществляете RDP-подключение, не активирована групповая политика
    -[Конфигурация компьютера\административные шаблоны\компоненты windows\службы удалённых рабочих столов\узел сеансов удалённых рабочих столов\перенаправление устройств и ресурсов\Не разрешать перенаправление устройства чтения смарт-карт]. Если она включена (Enabled), то отключите её, и перегрузите компьютер.
  • Если у вас установлена Windows 7 SP1 или Windows 2008 R2 SP1 и вы используете RDC 8.1 для соединения с компьютерами под управлением Windows 8 и выше, то вам необходимо установить обновление для операционной системы https://support.microsoft.com/en-us/kb/2913751

Вот такой вот был траблшутинг по настройке токена Jacarta, КриптоПРО на терминальном сервере, для подписи документов в ВТБ24 ДБО. Если есть замечания или поправки, то пишите их в комментариях.

Как решить проблему, что криптопро не видит USB ключ?

Создали новую виртуальную машину и стали ставить софт все последовательно.

Перед установкой любого программного обеспечения работающего с USB носителями на которых находятся сертификаты и закрытые ключи. Нужно ОБЯЗАТЕЛЬНО
отключить токен, если воткнут локально, то отключаем его, если по сети, разрываем сессию

  • Первым делом обновляем вашу операционную систему , всеми доступными обновлениями, так как Microsoft исправляет много ошибок и багов, в том числе и драйверами.
  • Вторым пунктом является, в случае с физическим сервером, установить все свежие драйвера на материнскую плату и все периферийное оборудование.
  • Далее устанавливаете Единый Клиент JaCarta.
  • Устанавливаете свежую версию КриптоПРО

Особенности eToken “Крипто БД”

eToken “Крипто БД” – это полноценное средство криптографической защиты информации, предназначенное для применения в государственных структурах и корпорациях, где эксплуатируется множество унаследованных приложений, с которыми необходимо интегрировать систему защиты. Архитектура решения такова, что СКЗИ функционирует в среде сервера базы данных, что позволяет защитить информационные системы персональных данных, независимо от их архитектуры – защита реализована на уровне доступа к колонкам таблиц БД. Что касается взаимодействия с ПО Oracle, СКЗИ eToken “Крипто БД” функционирует в нем на прикладном уровне, не нарушая целостности программного обеспечения Oracle, что полностью соответствует условиям лицензионного соглашения производителя СУБД.

Внедрение СКЗИ eToken “Крипто БД” позволяет расширить возможности встроенных в СУБД Oracle подсистем идентификации, аутентификации и шифрования данных. Так, штатные функции СУБД в части подтверждения подлинности аутентификационных данных для предоставления доступа к тем или иным ресурсам, в основном ориентированы на управление правами непривилегированных пользователей. Администраторы же имеют фактически неограниченные возможности для доступа к любой интересующей их информации. При подобном подходе возникает риск превышения должностных полномочий и появления угрозы утечки информации вследствие инсайдерских действий. Причем, в случае возникновения инцидента, отследить действия инсайдера и доказать его причастность к нарушению политики информационной безопасности, практически невозможно, поскольку штатные средства СУБД не позволяют проводить аудит действий привилегированных пользователей.

“Надстройка” в виде системы строгой аутентификации на базе Aladdin eToken повышает уровень информационной безопасности путем разграничения доступа к данным, согласно должностным обязанностям и полномочиям как обычных групп пользователей, так и привилегированных – администраторов.

Аналогичный подход по усилению имеющегося функционала СУБД реализуется и в подсистеме шифрования. Специфика использования СУБД Oracle связана с обработкой и хранением огромного массива постоянно обновляемых и дополняемых данных. Шифрование всей этой информации в “нагруженной” СУБД вносит ощутимые задержки в работу с ней и существенно увеличивает нагрузку на аппаратные ресурсы. Адекватной альтернативой является технология селективного (выборочного) шифрования, что позволяет защищать только одну или несколько колонок таблицы. Используя eToken “Крипто БД” можно оставить доступными для всех групп пользователей колонки таблицы, содержащие имя и фамилию сотрудника, а информацию о его расовой принадлежности или, скажем, состоянии здоровья – зашифровать. Это обеспечит конфиденциальность данных и “освободит” от излишней нагрузки серверные мощности.

Поднятая проблема отслеживания действий администраторов решается с помощью системы аудита eToken “Крипто БД”, предоставляющей широкие возможности протоколирования. Вновь выполняя функции “надстройки” над штатными функциями СУБД, продукт позволяет анализировать и фиксировать все действия в сети, независимо от уровня привилегий. Статистические “срезы” активности администраторов и пользователей в дальнейшем могут применяться при служебных расследованиях инцидентов в области информационной безопасности, предоставляя доказательную базу при назначении штрафных санкций.

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

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

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

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

  1. Установите драйвер, имитирующий FDD привод, например, ImDisk.
  2. Из панели управления Windows запустите программу настройки «ImDisk Virtual Disk Driver» и настройте диск с параметрами:
    • Drive letter: A,
    • Size of virtual disk: 1 Megabyte,
    • Device type: Floppy.
  3. Отформатируйте виртуальную дискету, задав файловую систему FAT.
  4. Распакуйте содержимое архива 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”. Этот сертификат соответствует секретному ключу, который будет использоваться при формировании ЭЦП. Скомпилируйте класс.

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

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

Это работает на версиях Caché/Ensemble, начиная с 2009.1, по 2012.1 включительно. Ниже приведен пример веб-сервиса, где в метод echo() добавлено подписывание ответа.

Class test.TestService Extends %SOAP.WebService
{
  Parameter SERVICENAME = "TestService";

  Parameter NAMESPACE = "http://test/wsdl";

  Method echo(request As %String) As %String [ ProcedureBlock = 1, SoapAction = "urn:echo",
       SoapBindingStyle = document, SoapBodyUse = literal, WebMethod ]
  {
     do ..SecurityOut.AddElement(##class(smev.JcpSignature).%New())
     quit request
  }

  Method OnPreSOAP(mode As %String, action As %String, request)
  {
    do ##super(mode, action, request)

    #dim stream As %Stream.Object = request

    if '$isObject(stream)
    {
      // на случай MIME attachments
      #dim index As %Integer = %request.NextMimeData("")
      set stream = $select(index="":"", 1:%request.GetMimeData(index))
    }

    if $isObject(stream)
    {
      #dim fault As %SOAP.Fault = ##class(smev.JcpUtils).verifySignatureOnPreSoap(stream)
      if $isObject(fault) set ..SoapFault = fault
    }
  }
}

Вместо заключения – защита БД

Как отмечают в своем отчете аналитики IDC, необходимость приведения систем в соответствие с положениями ФЗ-152 серьезно поддержит отрасль информационной безопасности. Без сомнения, выход Федерального закона РФ N152-ФЗ “О персональных данных” задает новый импульс к развитию систем комплексной защиты баз данных. Несмотря на то, что с момента обнародования закона прошло 3 года, большинство поставщиков услуг и продуктов в области защиты БД только начали активизироваться в этой области. Все больше решений проходит сертификацию, и все больше интеграторов предлагают услуги по аудиту на соответствие систем операторов ПД требованиям законодательства. На эти предложения постепенно появляется устойчивый спрос и чем ближе 1 января 2010 г., тем выше он будет.

Появление защищенных систем хранения и обработки ИСПДн, полностью соответствующих букве закона и нормативной базе, это не прогноз на будущее – это требование сегодняшнего дня. Технологии, удовлетворяющие нуждам операторов персональных данных, независимо от масштаба организации, отрасли и специфики деятельности, уже присутствуют на рынке. И, если отбросить домыслы относительно переноса сроков по исполнению требований ФЗ-152, трезво оценить время, оставшееся на подготовку собственной информационной системы к аттестации, – станет ясно, что тянуть уже нельзя. Пора действовать. Чем позже отдельно взятый оператор ПД это осознает, тем сложнее будет его задача и тем дороже ее решение.

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