Проверка смэв что это
Единая система межведомственного электронного взаимодействия (СМЭВ)
Реализация взаимодействия информационных систем организаций и ведомств осуществляется в рамках государственной целевой программы «Информационное общество (2011-2020 годы)».
Взаимодействие реализуется в рамках:
системы межведомственного электронного документооборота (МЭДО).
единой системы межведомственного электронного взаимодействия (СМЭВ).
Что такое СМЭВ и для чего она нужна?
Участниками межведомственного электронного взаимодействия (участниками СМЭВ) являются федеральные органы исполнительной власти, государственные внебюджетных фонды, исполнительные органы государственной власти субъектов Российской Федерации, органы местного самоуправления, государственные и муниципальные учреждения, многофункциональные центры, иные органы и организации.
Целью создания СМЭВ является повышение качества предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций за счет использования общих информационных ресурсов, уменьшения времени на поиск и обработку информации в электронной форме.
СМЭВ предназначена для решения следующих задач:
обеспечение исполнения государственных и муниципальных функций в электронной форме;
обеспечение предоставления государственных и муниципальных услуг в электронной форме, в том числе с использованием универсальной электронной карты и единого портала 2 ;
обеспечение информационного взаимодействия в электронной форме при предоставлении государственных и муниципальных услуг и исполнении государственных и муниципальных функций.
Основные функции СМЭВ
Основными функциями СМЭВ являются:
передача запросов, документов и сведений, необходимых для получения государственных и муниципальных услуг и поданных заявителями через единый портал, в подключенные к СМЭВ информационные системы;
обмен электронными сообщениями между участниками СМЭВ;
передача на единый портал запросов, иных документов и сведений, обработанных в информационных системах, а также информации о ходе выполнения запросов и результатах предоставления услуг.
В целях исполнения своих функций СМЭВ обеспечивает:
доступ к электронным сервисам 3 информационных систем, подключенных к СМЭВ;
возможность использования централизованных баз данных и классификаторов информационными системами, подключенными к СМЭВ;
получение, обработку и доставку электронных сообщений в рамках информационного взаимодействия участников СМЭВ, обеспечение фиксирования времени их передачи, целостности и подлинности, указания их авторства и возможности предоставления сведений, позволяющих проследить историю движения электронных сообщений;
защиту передаваемой информации от несанкционированного доступа, искажения или блокирования с момента поступления указанной информации в СМЭВ до момента передачи ее в подключенную к СМЭВ информационную систему;
ведение реестра электронных сервисов информационных систем, подключенных к СМЭВ.
Технологическое обеспечение СМЭВ
Технологическое обеспечение информационного взаимодействия с применением СМЭВ достигается путем использования:
сервис-ориентированной архитектуры, представляющей собой совокупность электронных сервисов, построенных по общепринятым стандартам;
единых технологических решений и стандартов, единых классификаторов и описаний структур данных.
Как стать участником СМЭВ?
Интеграция информационных систем в рамках СМЭВ осуществляется в соответствии с Техническими требованиями к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия (утв. приказом Минкомсвязь России от 27.12.2010 № 190).
Чтобы стать участником СМЭВ органу или организации, предоставляющей государственные и муниципальные услуги и исполняющей государственные и муниципальные функции, необходимо:
Обеспечить разработку электронных сервисов и интерфейсов взаимодействия используемой информационной системы и СМЭВ.
Для этого нужно обратиться к поставщику или разработчику используемой информационной системы для выполнения им работ по реализации необходимых сервисов и интерфейсов.
Обеспечить наличие защищенного канала связи между используемой информационной системой и СМЭВ.
АИС МФЦ ДЕЛО
АИС МФЦ ДЕЛО — решение для автоматизации деятельности многофункциональных центров предоставления государственных и муниципальных услуг (МФЦ). Основная цель внедрения АИС МФЦ – повышение качества работы МФЦ. Это достигается путем взаимодействия со СМЭВ, РСМЭВ, УЭК, ИАС МКГУ, ГИС ГМП, Центром Телефонного Обслуживания, а также с федеральной государственной информационной системой «ЕСИА»:
Справочная информация: Перечень наиболее важных документов по организации информационного взаимодействия органов государственной власти в рамках СМЭВ:
Распоряжение Правительства РФ от 17.12.2009 № 1993-р «Об утверждении сводного перечня первоочередных государственных и муниципальных услуг, предоставляемых в электронном виде».
Постановление Правительства РФ от 08.09.2010 № 697 «О единой системе межведомственного электронного взаимодействия».
Приказ Министерства связи и массовых коммуникаций РФ от 27.12.2010 № 190 «Об утверждении технических требований к взаимодействию информационных систем в единой системе межведомственного электронного взаимодействия».
Постановление Правительства РФ от 08.06.2011 № 451 «Об инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме».
Постановление Правительства РФ от 28.12.2011 № 1184 «О мерах по обеспечению перехода федеральных органов исполнительной власти и органов государственных внебюджетных фондов на межведомственное информационное взаимодействие в электронном виде».
Постановление Правительства РФ от 22.12.2012 № 1382 «О присоединении информационных систем организаций к инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг и исполнения государственных и муниципальных функций в электронной форме».
Распоряжение Правительства РФ от 25.12.2013 № 2516-р «Об утверждении Концепции развития механизмов предоставления государственных и муниципальных услуг в электронном виде».
Распоряжение Правительства РФ от 09.06.2014 № 991-р «Об утверждении плана мероприятий («дорожной карты») по реализации Концепции развития механизмов предоставления государственных и муниципальных услуг в электронном виде, утв. распоряжением Правительства РФ от 25.12.2013 № 2516-р».
Приказ Министерства связи и массовых коммуникаций РФ от 01.07.2014 № 184 «О реализации положений постановления Правительства Российской Федерации от 19 марта 2014 г. № 208 «О внесении изменений в положение о единой системе межведомственного электронного взаимодействия».
Постановление Правительства РФ от 19.11.2014 № 1222 «О дальнейшем развитии единой системы межведомственного электронного взаимодействия».
1. В соответствии с Положением о единой системе межведомственного электронного взаимодействия (утв. постановлением Правительства РФ от 08.09.2010 № 697).
2. Федеральная государственная информационная система «Единый портал государственных и муниципальных услуг (функций)».
3. Программные и технические средства, обеспечивающие возможность доступа к информационным системам через СМЭВ.
4. В соответствии с Положением о единой системе межведомственного электронного взаимодействия.
Проверка паспортных данных через СМЭВ
В материале рассматриваются сервисы, позволяющие проверить действительность паспорта с использованием Системы межведомственного электронного взаимодействия.
Востребованность сервисов СМЭВ для проверки паспортных данных
Однако, с приходом в СМЭВ операторов связи, негосударственных пенсионных фондов и кредитных организаций список заинтересованных потребителей сильно расширился. Для каждой из указанных категорий существует нормативное обоснование, в соответствии с которым организация может получать данные через СМЭВ:
Для банков, операторов связи, НПФ данные паспортные данные и информация о статусе паспорта входят в число наиболее востребованных. Однако, так ли легко воспользоваться соответствующими сервисами СМЭВ?
Варианты проверки паспорта
Сервисный концентратор SID0003418
Поставщик: МВД России.
Методрекомендации: СМЭВ 2.
Статус: Действующий сервис. Обрабатывает порядка 60 — 100 тыс. запросов в месяц.
Потребители: КО, МФЦ, НПФ, Операторы связи, ОМСУ, РОИВ, ФОИВ, УЦ. Всего подключено более 350 Потребителей.
Комментарий: Сервис является рабочим инструментом для проверки паспортов. Однако, существует ряд сложностей:
Сведения о действительности паспорта гражданина РФ, предъявленного на определенное имя
Поставщик: МВД России.
Методрекомендации: СМЭВ 3.
Статус: находится в тестовой среде. Плановый срок вывода в продуктивную среду — 26.07.2018 (просрочен).
Комментарий: Когда ВС будет выведен в продуктивную среду — он станет оптимальным способ получения данных о действительности паспорта. На текущий момент сервис бесполезен.
Содержание запроса и ответа:
Упрощенная идентификация пользователей (УПРИД) в ЕСИА
Методрекомендации: СМЭВ 3.
Статус: Действующий сервис. Однако в «Едином отчете» он указан как невостребованный, т.е. запросы к сервису отсутствуют.
Потребители: КО, НПФ, ЕПГУ. Данные о подключениях отсутствуют.
Комментарий: УПРИД — крайне интересный сервис. Он позволяет в обход прямого подключения к профильным ВС получать данные:
Пожалуй, это самый полезный и функциональный сервис СМЭВ в данной подборке. К этой же категории «интересных, но пока не обкатанных запросов» относится комплекс ВС, ранее составлявших сервис СМЭВ2 SID0003923. Например, ВС «Подтверждение личности гражданина РФ или иностранного гражданина в ЕСИА»
Содержание запроса и ответа:
Сведения о соответствии паспортных данных и ИНН физического лица
Поставщик: ФНС России.
Методрекомендации: СМЭВ 3.
Статус: Действующий сервис. Обрабатывает порядка 1 млн. запросов в месяц.
Потребители: КО, МФЦ, НПФ, ОМСУ, УЦ. Всего подключено 37 Потребителей, в основном — банки.
Комментарий: В принципе, сервис может быть использован для проверки паспортов, но существуют нюансы:
Содержание запроса и ответа:
Проверка по списку недействительных российских паспортов
Поставщик: МВД России.
Открытый сервис, не относится к СМЭВ.
Статус: Действующий сервис.
Потребители: открытый перечень.
Комментарий: По сути сервис предоставляет «черный список» паспортов. С его помощью нельзя получить информацию о ложных и ошибочных паспортных данных.
Выражаем благодарность Федору Надейкину за ценные идеи и помощь в подготовке материала.
Интеграция с «Госуслугами». Место СМЭВ в общей картине (часть I)
В цикле статей мы, команда Gems Development, расскажем о работе с «Госуслугами» по ту сторону экрана и о том, как оформить эффективное взаимодействие органов государственной власти с порталом.
Общая схема взаимодействия через СМЭВ
Участники взаимодействия
Представим, что «Госуслуги» — это магазин, на витрине которого представлены сервисы для граждан и организаций. Запрос «покупателя» на услугу передаётся соответствующим органам через систему межведомственного электронного взаимодействия (СМЭВ). Система передаёт сообщения между порталом и ведомством.
Работа через СМЭВ происходит по протоколу SOAP (Simple Object Access Protocol — простой протокол для доступа к объектам).
Участники взаимодействия, как в магазине, делятся на поставщиков и потребителей. Поставщик — это информационная система (ИС), которая предоставляет сведения по запросу, а потребитель — система, запрашивает сведения.
Одна и та же ИС может действовать сразу в двух ролях. Например, в процессе предоставления услуги нужно уведомить портал о смене её статуса. В этом случае ИС-поставщик исполняет роль потребителя — проводит информационный обмен по статусам.
Виды сведений
Участники обмениваются данным через виды сведений (протоколы обмена) — правила формирования пакетов данных для передачи от одного участника другому.
Хороший пример вида сведений — Всероссийская перепись населения 2020. Данные о переписи передают федеральным органам исполнительной власти в электронном виде. В полученных данных существует чёткая структура сведений: ФИО, пол, дата рождения, гражданство, семейное положение. Также в рамках вида сведений описан ответ, который должен быть получен, если обработка запроса прошла успешно.
На июнь 2020 года в СМЭВ зарегистрировано более 1000 промышленных (рабочих) и 2000 тестовых видов.
Обмен данными в промышленной среде по всем видам сведений ведётся через защищённые каналы связи. Все передаваемые данные сопровождаются электронной цифровой подписью, с помощью которой СМЭВ идентифицирует участников взаимодействия.
Данные передаются по протоколу SOAP, при этом каждое сообщение представляет собой вложенную структуру:
Виды сведений делятся на две группы — простые и универсальные. Рассмотрим схему обмена данными по простому виду сведений:
На схеме видно, что данные форм отображаются непосредственно в конверты обмена данными. Из-за этого появляется ограничение: необходимо разработать структуру блока данных, запроса/ответа для каждого такого вида сведений.
Обмен по универсальному виду сведений можно представить так:
На первый взгляд схема может показаться более сложной, однако она демонстрирует принципиальную разницу, которая в итоге упрощает взаимодействие между участниками по универсальному виду сведений (УВС). Специфические данные форм передаются во вложении к конверту СМЭВ, а признаки УВС, позволяющие идентифицировать вид сведений, передаются непосредственно в конверте и имеют одинаковую для любого ВС структуру:
Таким образом можно оформить предоставление практически любых услуг без необходимости проходить трудную регистрацию нового вида сведений.
Очереди сообщений и процесс взаимодействия
В процессе взаимодействия сообщения помещаются в очереди входящих запросов и очереди входящих ответов. По сути очереди — это контейнеры, в которых содержатся сообщения по видам сведений.
Взаимодействие с очередями происходит с помощью специальных запросов. Более подробно они описаны в методических рекомендациях по работе со СМЭВ. Отметим только то, что благодаря очередям становится возможным асинхронный обмен данными: потребитель может оставить заявку на получение сведений, а поставщик — разместить ответ.
Следует помнить: чтобы забрать сообщение из очереди, необходимо подтвердить его получение с помощью Ack-запроса. В противном случае СМЭВ посчитает сообщение недоставленным и вернёт его в очередь через 15 минут после извлечения.
На каждый запрос может поступить как успешный, так и неуспешный ответ.
Представим себя в роли поставщика сведений: по запросу мы выдаём пользователю градостроительный план земельного участка, причём в рамках нашего ведомства действуют несколько территориальных подразделений, некоторые из которых такую услугу вовсе не оказывают. Допустим, пользователь портала при формировании заявления на получение услуги указал подразделение, не оказывающее услугу. Такая ситуация может возникнуть по двум причинам:
Успешный ответ предполагает сценарий, в котором результат услуги — это набор файлов (что бывает довольно часто). Перед отправкой результата необходимо выгрузить файлы в файловое хранилище СМЭВ на основе FTP-сервера. Названия файлов и их контрольные суммы нужно зафиксировать в пакете, который отправляем через SOAP. Таким образом, есть две операции по передачи данных, которые нужно связать общим контекстом — сведениями о файлах.
На практике встречаются случаи, когда во время взаимодействия СМЭВ находится в режиме обслуживания, и запросы участника оборачиваются неудачей и требуют повторной отправки. Неудачу нужно зафиксировать и отправить запрос повторно.
Постановка задачи
С учётом приведённых выше особенностей, нашей команде предстояло обеспечить интеграцию ИС заказчика с «Госуслугами» по универсальному виду сведений. Информационная система заказчика — ИАС «Градоустройство». С её помощью пользователи ведомств, ответственные за оказания услуг, могут собирать пакеты документов и формировать результаты для дальнейшей передачи на портал через СМЭВ.
Итак, СМЭВ, как в поговорке про слова в песне, нельзя исключить из решения задачи интеграции с порталом государственных услуг. Но это к лучшему: благодаря системе у всех участников есть универсальная среда взаимодействия. Это позволяет опираться на определённый стандарт и не изобретать велосипед.
В следующих статьях мы рассмотрим, как на стороне поставщика сведений организовать обработку заявлений по данным пользователя с использованием движка автоматизации бизнес-процессов Workflow Core.
СМЭВ 3. Электронная подпись сообщений на Java и КриптоПро
Система межведомственного электронного взаимодействия (СМЭВ) задумывалась как цифровая среда предоставления услуг и исполнения государственных и муниципальных функций в электронной форме.
В настоящее время СМЭВ продолжает расширять свои возможности и вовлекать все большее количество участников взаимодействия.
Что оказалось как нельзя кстати, в том числе для коммерческих организаций, в частности банков, которые все больше стремятся перевести свои услуги в цифру и сериализовать процессы.
В этой статье мы поговорим о том, как своими силами подписать запросы и проверить электронные подписи ответов СМЭВ версии 3.0, и о паре интересных нюансов, с которыми пришлось при этом столкнуться.
Здравствуйте!
Может возникнуть вопрос. Почему своими силами? Когда для СМЭВ 3 есть целый Технологический портал, где
По той простой причине, что уже есть собственная информационная система, работающая с форматами электронной подписи XMLDSig, XAdES, в которой применяются библиотеки проекта Apache Santuario, реализующие основные стандарты безопасности для XML. А также библиотеки, входящие в состав КриптоПро JCSP, помимо работы с XML, обеспечивающие API криптографических функций СКЗИ КриптоПро CSP.
Написание собственных методов для работы с электронными подписями СМЭВ 3 в данном случае выглядит более целесообразно, нежели разворачивание полного клиента поставляемого:
ФГБУ НИИ «Восход» (до 21 марта 2016 года ФГУП НИИ «Восход») или интеграция, его отдельных классов и пакетов.
В то же время заглянуть в открытый код клиента всегда полезно, а его наличие само по себе говорит о зрелости системы и высоком уровне поддержки.
Анализ исходных данных
Если уже умеем формировать обычный XMLDSig или подписывать, например, конверты сообщений СМЭВ 2, то больше всего начинает интересовать, чем же отличается конверт с подписью СМЭВ 3 от СМЭВ 2.
Открываем пример конверта СМЭВ 3 SendRequestRequestNoAttach.xml
Через эту трансформацию распространяются собственные правила каноникализации СМЭВ 3.
Каноникализация — процесс приведения данных, имеющих несколько возможных форм представления, к одному нормализованному стандартному виду.
Перед тем как посчитать хэш подписываемого атрибута в XML-конверте и подписать, необходимо выполнить его конвертацию в заданный правилами СМЭВ 3 вид.
В поисках описания трансформации urn://smev-gov-ru/xmldsig/transform открываем Методические рекомендации 3.4.0.3
Знакомимся с пунктом 4.4.2.1 Правила формирования электронной подписи сообщений
Формат подписи XMLDSig detached (https://www.w3.org/TR/xmldsig-core/)
Трансформация, дополнительно к канонизации urn://smev-gov-ru/xmldsig/transform
Требования к форматированию В XML-структуре подписи между элементами не допускается наличие текстовых узлов, в том числе переводов строки.
Пункт Методических указаний 12.4. ПРИЛОЖЕНИЕ 4: ОБРАЗЦОВАЯ РЕАЛИЗАЦИЯ ТРАНСФОРМАЦИИ URN://SMEV-GOV-RU/XMLDSIG/TRANSFORM
содержит Java класс SmevTransformSpi.java, реализующий алгоритм трансформации «urn://smev-gov-ru/xmldsig/transform», наследник org.apache.xml.security.transforms.TransformSpi из библиотеки Apache Santuario.
Таким образом, чтобы обеспечить каноникализацию подписываемого конверта СМЭВ 3, можно использовать в своем коде этот класс трансформации.
Единственным условием и ограничением в этом случае будет, что для обработки XML-документа при формировании подписи или ее проверки нужно использовать именно org.apache.xml.security.signature.XMLSignature из проекта Apache Santuario.
Задействовать инструменты из пакетов javax.xml.crypto.dsig или ru.CryptoPro.JCPxml.xmldsig просто так уже не получится.
Подготовка к подписи по правилам СМЭВ 3
Apache Santuario изначально ничего не знает про ГОСТ криптографические алгоритмы и СКЗИ КриптоПро.
В библиотеке xmlsec-1.5.0.jar в файле \org\apache\xml\security\resource\config.xml содержатся настройки только для работы с зарубежными криптографическими алгоритмами.
Чтобы он начал распознавать и применять ГОСТ, нужно выполнить его инициализацию.
По старинке это делалось так:
В новых версиях КриптоПро JCP (JCSP) инициализацию выполнит одна строчка:
Теперь нужно Apache Santuario научить новым правилам трансформации, которые диктует СМЭВ 3. Для этого регистрируем класс трансформации:
Заодно сразу выполняем требование из Методических указаний:
Требования к форматированию В XML-структуре подписи между элементами не допускается наличие текстовых узлов, в том числе переводов строки.
Делается это в привилегированном блоке AccessController.doPrivileged
и через reflection, из-за особенности реализации свойства ignoreLineBreaks в Santuario.
Просто через настройку системного свойства:
Через настройку опции JVM:
Если взглянуть на код класса org.apache.xml.security.utils.XMLUtils, то можно увидеть, что поле ignoreLineBreaks статическое, инициализируется в привилегированном блоке из системного свойства «org.apache.xml.security.ignoreLineBreaks».
Такая реализация приводит к невозможности гибко настроить в одном Java процессе для части методов игнорировать перевод строк, а для другой части не игнорировать.
Т.е., если одно приложение выполняет подписи XMLDsig, СМЭВ 2 и СМЭВ 3, все XML документы, обработанные Santuario должны на выходе лишиться перевода строк.
С этим свойством, конечно, возникает вопрос к Apache Santuario:
Подпись сообщений СМЭВ 3
Для подписи документов СМЭВ 3 все готово.
Код подписания выглядит следующим образом:
Основными параметрами здесь являются:
Проверка подписи сообщения СМЭВ 3
Код проверки подписи выглядит следующим образом:
Проблемы. Хэш не совпадает
Для отладки использовался пример конверта СМЭВ 3 SendRequestRequestNoAttach.xml
Из него был удален элемент ds:Signature с целью подписать сообщение заново и сверить с оригиналом.
Несмотря на то, что метод подписи и трансформация SmevTransformSpi, взятая из Методических указаний, отрабатывали, на выходе был подписанный документ, подпись которого при онлайн-проверке на портале СМЭВ 3 трактовалась как
ЭП-ОВ не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП
не совпадал с оригинальным примером:
Для диагностики причин в класс SmevTransformSpi в метод process был добавлен свой XMLEventWriter.
для параллельного анализа всех этапов трансформации.
Нормализованный элемент XML, на который требуется поставить подпись, выглядел следующим образом:
Поиск решения показал, что, во-первых форум КриптоПро, нормализованный документ может выглядеть на самом деле иначе и соответственно его хэш будет другой и возможно правильный.
Во-вторых, привел в GitHub, где был выложен класс SmevTransformSpi более старой версии.
Старая версия класса трансформации выдала следующий нормализованный документ:
С ним хэш стал совпадать, а подпись успешно проходить валидацию.
Сравнение версий класса SmevTransformSpi показала, что помимо добавленных в новой реализации дополнительных функций логирования и диагностики в debug режиме:
Класс из Методических указаний не содержит нужную строчку, или содержит опечатку:
, которая удаляет первый объект из стека с префиксами
, что приводило к неверной работе SmevTransformSpi.
Добавление этой строки в новую версию SmevTransformSpi.java решило проблему.
Работающий класс трансформации и конверт с подписью можно посмотреть в github.com/VBurmistrov/Smev3
Результаты
Подписание конвертов СМЭВ 3 выполняется успешно.
Сообщения проходят проверку на портале Электронного правительства Госуслуги