Что такое ЕСИА и как работает система
ЕСИА — единая система идентификации и аутентификации. В ней формируются, учитываются и хранятся сведения об участниках системы — физических и юридических лицах, которые прошли регистрацию с созданием учётной записи. Подтверждённая учётная запись в ЕСИА — своего рода электронный паспорт, с помощью которого можно получать доступ к разным сайтам, порталам и системам, не используя дополнительные средства регистрации и авторизации, например логин и пароль.
Система ЕСИА часто ассоциируется с порталом Госуслуги, но технически это не одно и то же. Однако регистрация в ЕСИА — это, по сути, регистрация на Госуслугах, поэтому учётная запись на портале идентична учётной записи в ЕСИА и содержит одинаковые персональные данные пользователя.
В то же время с помощью учётной записи в единой системе идентификации можно получить доступ не только к порталу госуслуг, но и другим государственным и муниципальным системам. Более того, многие коммерческие сайты и порталы в последнее время активно используют для регистрации на ресурсах и (или) доступа к их функциям авторизацию посредством ЕСИА. Это быстро и удобно. Учётная запись в ЕСИА, таким образом, служит надёжным и безопасным средством проверки персональных данных и идентификации конкретного лица.
В целом система ЕСИА служит для:
- Создания физическими лицами, ИП или юридическими лицами единой учётной записи, которая даёт доступ к различным информационным системам, сайтам и порталам, использующим такой способ регистрации, авторизации и (или) идентификации пользователя.
- Взаимодействия различных информационных систем на уровне средств подтверждения личности пользователя (идентификации), проверки его данных (аутентификации) и предоставления разрешения на доступ (авторизации).
- Авторизации пользователей на государственных, региональных и муниципальных ресурсах для получения соответствующих услуг в электронном виде. Например, для запроса и получения информации, справок, оформления документов, совершения регистрационных действий, записи на приём в то или иное ведомство.
- Авторизации пользователей на негосударственных ресурсах (сайтах, порталах, системах), которые подключены к ЕСИА и используют учётные записи в этой системе (с согласия их владельцев) для разрешения доступа.
Таким образом, регистрация ЕСИА и создание подтверждённой учётной записи — это возможность получить единый «ключ» для доступа к интернет-ресурсам, которые используют такой способ входа в свою систему. Это сравнимо с использованием электронной подписи для получения доступа к системам и сайтам и напоминает классический доступ через «логин/пароль», однако даёт больше возможностей и при этом не требует создания для каждого ресурса своих логинов и паролей. При этом регистрация в единой системе идентификации абсолютно бесплатна.
Как работает ЕСИА
После регистрации система ЕСИА создает учётную запись пользователя. На первом этапе — только с его контактными данными, а также логином и паролем для входа в систему, и одновременно — личный кабинет на портале Госуслуги. После этого необходимо в ЛК на портале Госуслуги заполнить личные данные пользователя, а также, если необходимо, загрузить личные документы. Все эти операции проходят с помощью программных интерфейсов ЕСИА, которые проведут пользователя по всем шагам регистрации, заполнения личных данных и загрузки документов.
Чтобы получить доступ ко всем возможностям учётной записи ЕСИА, нужно подтвердить личность. Проще всего это сделать через партнёров оператора единой системы идентификации. Например, клиенты Сбербанка могут пройти идентификацию по СберID в режиме онлайн. Подобные сервисы есть и у других банков-партнёров. Подтвердить личность дистанционно также можно с помощью квалифицированной электронной подписи. Если эти варианты недоступны, то идентификацию проходят в центрах обслуживания (нужен паспорт и СНИЛС). Ближайший офис можно найти на карте на портале Госуслуги. И ещё один вариант — заказать в личном кабинете код подтверждения, который придёт заказным письмом Почтой России.
Получите сертификат
Пройдите идентификацию по действующему квалифицированному сертификату и получите сертификат электронной подписи удалённо.
Процесс взаимодействия ЕСИА при авторизации пользователей в различных системах выглядит так:
- Пользователь хочет получить доступ к какой-либо информационной системе (ресурсу), которая использует авторизацию через ЕСИА, и выбирает этот способ.
- Ресурс направляет в ЕСИА соответствующий электронный запрос.
- Для подтверждения подлинности пользователя система перенаправляет его с ресурса на свою страницу входа в систему. Если вход прошёл успешно, система запрашивает у пользователя разрешение на предоставление ресурсу доступа к личным данным.
- Если пользователь был успешно проверен и разрешил стороннему ресурсу доступ к своим данным, система передаёт ресурсу необходимую информацию для авторизации пользователя.
- После поступления данных ресурс даёт пользователю доступ в свою систему.
На практике весь процесс занимает несколько секунд.
Как организации подключиться к ЕСИА
Юридические лица подключаются к ЕСИА через личный кабинет руководителя. Для подключения используется функция «Добавить организацию» и выбирается необходимый статус: ИП, организация, орган власти.
Для формирования учётной записи юридического лица необходимо, чтобы у руководителя была подтвержденная учётная запись. Для подключения к системе используется квалифицированная электронная подпись, сертификат которой оформлен на руководителя.
При регистрации юрлица потребуется заполнить все данные об организации, указанные в регистрационной форме. После проверки сведений и их подтверждения (это делается в автоматическом режиме) будет создана учётная запись организации в ЕСИА.
Дополнительная возможность для учётных записей организаций — подключение авторизации пользователей через ЕСИА для доступа к сайту или другому интернет-ресурсу организации. Для этого нужно предоставить сведения о подключаемой системе, при необходимости доработать её под требования ЕСИА, запустить работу подключённой системы в тестовом режиме, а после подтверждения работоспособности — в рабочем режиме.
Чтобы получить электронную подпись, оставьте заявку. Наши специалисты помогут вам оформить электронную подпись для физических и юридических лиц — удалённо, быстро и по выгодной цене.
Интеграция с ЕСИА для .Net: запутаннее, чем кажется
Передо мной стояла задача по интеграции нашего сервиса с госуслугами. Казалось ничего сложного не предстоит, но учитывая что наш сервис базируется на технологии ASP.NET всё было не так оптимистично. В начале были поиски.. много поисков, которые привели к множеству разрозненной и чаще всего неактуальной информации. Так же были найдены уже готовые решения, но как заявляли некоторые товарищи на форумах за такое могут и по головке погладить. Поэтому было решено писать самому.
Эта статья скорее больше актуализация и дополнение информации из этой статьи.
Введение
На сайте Минцифр есть методичка максимально раздутая и очень запутанная, но пользоваться ею нам всё равно придётся. Мы будем работать с ЕСИА версии 3.11 (актуальная на момент написания статьи). Кратко наши действия заключаются вот в чем:
Регистрация ИС в регистре информационных систем ЕСИА
Регистрация ИС в тестовой среде
Выполнение доработки системы для взаимодействия с ЕСИА
Звучит довольно просто, но каждый шаг целая отдельная история приключений. Регистрация ИС в ЕСИА приключение для бюрократа. Поэтому в этой статье мы немного посмотрим на второй шаг, и детально распишем реализацию.
Содержание
Всё необходимое
Наш инвентарь для путешествия:
Контейнер закрытого ключа с сертификатом нашей организации
Немного о КриптоПРО CSP + .Net Core 5+
Вот тут и начинаются первые проблемы. На момент написания статьи у КриптоПРО .Net нет поддержки .Net Core 5 и выше. Есть сборка под .Net Core 3.1 но и она выглядит сомнительно. Поэтому было решено поднять сервис для .Net Framework 4.8 который будет использовать средства КриптоПРО CSP для подписания с использованием ЭЦП , а так же проверки ответов от ЕСИА.
Немного о контейнере закрытого ключа и сертификата
Когда мы начинали делать эту задачу у нас была КЭП на токене, но как оказалось на нём был неэкспортируемый контейнер. Скажу сразу, что экспортировать контейнер с такого токена запрещено ФНС. Поэтому необходимо заранее получить токен на имя сотрудника с экспортируемым контейнером. Так как его необходимо будет скопировать на сервер.
Приступаем
Начнём с того, что вы уже отправили заявку регистрации ИС в ЕСИА и её приняли. А так же отправили заявка на тестовую среду. Приступим к этапу настройки ИС в тестовом кабинете электронного правительства. Вот ссылка на тестовую страницу. Логинимся под тестовой учетной записью тестового пользователя 006(все данные лежат в приложении к работе с тестовой средой), так как он имеет доступ к управлением ИС.
Кабинет тестовой среды — Технологический порталйт
Здесь ищем нашу систему по Мнемонике или полному названию, если таковой нет то создаём. Напротив нашей системы есть две кнопки:
Первая кнопка — изменить нашу ИС (информация о ИС, редиректы и тд)
Вторая кнопка — наши сертификаты с помощью которых мы подписываем сообщения в ЕСИА
Настройка ИС
Есть важный момент в настройки ИС. Это URL системы. Тут мы указываем ссылки куда ЕСИА может делать переадресацию при запросе от нашей ИС. На эти точки будет приходить авторизационный код (Если он указан в запросе).
Сертификаты ИС
Здесь мы можем загрузить наш сертификаты или же удалить их. Есть один важный момент, каждая ИС может иметь только один уникальный сертификат. А связи с тем, что на тестовой среде все системы регистрируются под одним пользователем и сертификаты тестовые одни на всех часта такая ситуация, что кто-то удаляет у вас сертификат и загружает к себе. А ваши запросы теперь падают с ошибкой) Но если у вас уже готов ЭЦП на сотудника, то лучше используйте её.
Реализуем
Мы закончили с настройки нашей ИС и можем приступить к реализации. Надеюсь вы уже установили КриптоПРО и всё необходимое для него. Если нет, я подожду.
Устанавливаем сертификаты
Всё готово. Качаем сертификаты по ссылке из методички. Специально не буду вставлять, так как может измениться.
Здесь нам интересен сертификат ТЕСИА ГОСТ 2012.cer — это сертификат с помощью которого ЕСИА подписывает сообщения отправляя в нашу ИС. ( Соответственно для продуктовой среды свой сертификат ). Устанавливаем сертификат как доверенный. Здесь ничего сложного думаю разберётесь.
Теперь устанавливаем тестовый контейнер и сертификат. Для примера будем использовать предоставленные ЕСИА контейнеры, но вы можете использовать свои. Всё это лежит внутри архива.
Сам архив со всеми тестовыми контейнерами
Мы возьмём именно 006 так как на него зарегистрирована наша ИС
В архиве лежит папка d1f73ca5.000 — это контейнер нам необходимо его переместить по пути C:\Users\User\AppData\Local\Crypto Pro
Теперь открываем КриптоПРО CSP. Выбираем установить личный сертификат и указываем Тестовое ведомство Фамилия006 ИО.cer и нажимаем найти автоматически. Выполняем оставшиеся шаги сами.
Механизм подписания
Пожалуй начинается самая важная и самая запутанная часть всего пути. Здесь мы реализуем сервис для работы с подписью. И так делаю выжимку из методических материалов, чтобы Вам не пришлось читать много текста.
Для получения авторизационный ссылки — ссылка на которую мы будем переадресовывать пользователя для авторизации в ЕСИА. Нам необходимо собрать ссылку из параметров.
client_id — наша Мнемоника
client_secret — Отсоединённая подпись от параметров запроса в кодировке UTF-8
redirect_uri — ссылка на которую ЕСИА будет переадресовывать пользователя вместе с авторизационным кодом
scope — перечень запрашиваемой информации. Например fullname birthdate gender
response_type — тип ответа от ЕСИА, в нашем случае это просто строчка code
state — Идентификатор текущего запроса. Генерируется таким образом Guid.NewGuid().ToString(«D»);
timestamp — время запроса авторизационного кода в формате yyyy.MM.dd HH:mm:ss Z. Генерируется таким образом DateTime.UtcNow.ToString(«yyyy.MM.dd HH:mm:ss +0000»);
client_certificate_hash — это fingerprint сертификата в HEX-формате.
Обозначили наш зоопарк. Самый важный зверь здесь client_secret
Получаем client_certificate_hash
В методическом указании от Минцифр есть ссылка на специальную утилиту с помощью которой мы можем получить этот хэш. Разархивировали архив и видим перед нами sh. Windows пользователи не пугаемся, на самом деле тут же лежит .exe файл. Чтобы вычислить хэш нашего сертификат просто необходимо из cmd запустить вот такой скрипт:
Формирование client_secret
Такс перед тем как просто получит client_secret нам необходимо сделать:
ASP.Net Framework 4.8 WebAPI — тот самый сервис который будет работать с КриптоПРО CSP
Пропустим множество шагов создания этого сервиса и перейдём сразу к его настройки для работы с КриптоПРО CSP.
Настройка сервиса для работы с КриптоПРО CSP
Добавляем ссылки на DLL КриптоПРО.
Переходим по пути C:\Program Files (x86)\Crypto Pro.NET SDK\Assemblies\4.0
Выбираем всё что нам нужно. (подробная информация)
Теперь мы имеем доступ к API КриптоПРО CSP из кода .Net Framework
Теперь создаём контроллер:
Итак нам необходимо получать строку для подписания. Создадим метод
Мы заранее укажем константами серийные номера сертификатов.
В методе Get получаем строку в Base64Url формате, чтобы спокойно передавать наши длинные сообщения.
Декодируем строку из Base64Url в текст. После чего переводим текст в байты используя UTF-8. А теперь подписываем.
И так что мы тут делаем. С помощью ГОСТ 34.11-2012 мы вычисляем хэш нашего сообщения. И используя полученный сертификат подписываем сообщение.
Здесь мы открываем наш склад с контейнерами и ищем именно тот где лежит наш сертификат. После чего извлекаем из него сертификат.
С помощью этого кода как раз и создаётся наша подпись на хэш строки. Здесь используется ГОСТ 34.10-2012.
Итак контроллер готов. Теперь переходим в наш основной проект на .Net Core
Создаём строку подписания. Просто выполняем конкатенацию параметры без разделителей. Здесь я использую IOptions чтобы брать параметры из appsettings.json.
Мы получил строку для подписания. Теперь нам необходимо эту строку закодировать в Base64Url и отправляем её на подписание в написанный нами заранее сервис
Собираем ссылку для авторизации в Госуслугах
Наконец-то мы получили этот долгожданный секрет. Но вы могли бы подумать это всё, дальше всё просто и ясно. Не тут то было! Дело в том, что ЕСИА требует Base64 Url Safe кодироку. И она немного отличается от Base64Url кодировки доступной из коробки .Net
Итак дело за малым, собираем нашего гомункула из секрета и параметров.
Класс помощник для сборки ссылки
Возможно излишне, но мне понравился метод сбора вот таким способом.
Получаем ссылку на подобии вот такой:
Здесь https://esia-portal1.test.gosuslugi.ru/aas/oauth2/v2/ac ссылка на конечную точку получения авторизационно кода, указана в методическом материале.
Теперь перенаправляем пользователя по этой ссылке и ожидаем пока он авторизуется. После авторизации ЕСИА переадресует его на нашу ссылку и отправит туда в виде аргументов авторизационный код и state.
Получение токена доступа
Теперь время получить токен взамен на авторизационный код.
Метод для получение токена
Тут всё простенько, снова генерируем client_secret указываем остальные параметры и отправляем запрос в ЕСИА на получение токена. Тестовый Uri https://esia-portal1.test.gosuslugi.ru/aas/oauth2/v3/te
Проверка токена
Итак помимо того, что нам нужно получить токен, нам так же необходимо проверить его.
Сам токен состоит из 3 частей.
1 часть — заголовок JWT токена
2 часть — payload токена, там вся основная информация о токене
3 часть — RAW подпись в формате UTF-8
Код конечной точки для проверки подписи
Здесь используем введённые ранее константы. И Получаем сертификат из доверенных сертификатов.
Этот код используем в нашем основном сервисе.
Проверяем поля токена на актуальность, чтобы его не могли подделать. А потом уже проверяем подпись токена, как указано в методических указаниях.
Получение данных пользователя из ЕСИА
Имея токен мы может отправить запрос на получение данных о пользователе указанных в scope токена. Пример кода, где мы получаем данные пользователя. Здесь esiaUserId содержится в самом токене, это уникальный идентификатор пользователя ЕСИА. Наш токен указываем в заголовке авторизации.
Код класса EsiaUser
Заключение
Наконец мы закончили интеграцию с ЕСИА. Это был длинный путь полный странных вещей. Неясных решений и множество потраченного времени. Надеюсь этой статьёй я помог Вам реализовать задачу интеграции гораздо быстрее и легче. Спасибо за потраченное время.
Что такое сертификат в есиа
Почему на Госуслуги пришло уведомление о выпуске квалифицированного сертификата?
Квалифицированный сертификат ключа проверки электронной подписи (далее – Сертификат) на владельца карты водителя выпускается аккредитованным удостоверяющий центром (УЦ).
Кто присылает уведомление?
После выдачи Сертификата УЦ, в соответствии с 63-ФЗ «Об электронной подписи», обязан направить информацию о выданном сертификате в Единую систему идентификации и аутентификации (ЕСИА). После получения информации о выпущенном сертификате ЕСИА информирует об это владельца сертификата через портал государственных услуг (Госуслуги).
- Обратите внимание!
ЕСИА хранит только информацию о Сертификате.
Для чего нужен сертификат?
Сертификат необходим для проверки подлинности электронной подписи и ее принадлежности владельцу сертификата. Сертификат, в соответствии приказом Минтранса РФ N 440, должен в обязательном порядке содержаться в каждой карте тахографа (п. 94 Приложения N 1) и в блоке СКЗИ (НКМ) тахографа (п. 5 Приложения N 1). Сертификат выпускается в паре с ключом подписи. Ключ подписи хранится на карте тахографа или блоке СКЗИ (НКМ) тахографа.
Может ли кто-то незаконно завладеть электронной подписью из карты тахографа и использовать ее в преступных целях?
Нет, ключ подписи хранится на карте тахографа или в блоке СКЗИ (НКМ) тахографа в защищённом виде и не может быть извлечен.
Что такое ЕСИА и как работает система
ЕСИА — единая система идентификации и аутентификации. В ней формируются, учитываются и хранятся сведения об участниках системы — физических и юридических лицах, которые прошли регистрацию с созданием учётной записи. Подтверждённая учётная запись в ЕСИА — своего рода электронный паспорт, с помощью которого можно получать доступ к разным сайтам, порталам и системам, не используя дополнительные средства регистрации и авторизации, например логин и пароль.
Система ЕСИА часто ассоциируется с порталом Госуслуги, но технически это не одно и то же. Однако регистрация в ЕСИА — это, по сути, регистрация на Госуслугах, поэтому учётная запись на портале идентична учётной записи в ЕСИА и содержит одинаковые персональные данные пользователя.
В то же время с помощью учётной записи в единой системе идентификации можно получить доступ не только к порталу госуслуг, но и другим государственным и муниципальным системам. Более того, многие коммерческие сайты и порталы в последнее время активно используют для регистрации на ресурсах и (или) доступа к их функциям авторизацию посредством ЕСИА. Это быстро и удобно. Учётная запись в ЕСИА, таким образом, служит надёжным и безопасным средством проверки персональных данных и идентификации конкретного лица.
В целом система ЕСИА служит для:
- Создания физическими лицами, ИП или юридическими лицами единой учётной записи, которая даёт доступ к различным информационным системам, сайтам и порталам, использующим такой способ регистрации, авторизации и (или) идентификации пользователя.
- Взаимодействия различных информационных систем на уровне средств подтверждения личности пользователя (идентификации), проверки его данных (аутентификации) и предоставления разрешения на доступ (авторизации).
- Авторизации пользователей на государственных, региональных и муниципальных ресурсах для получения соответствующих услуг в электронном виде. Например, для запроса и получения информации, справок, оформления документов, совершения регистрационных действий, записи на приём в то или иное ведомство.
- Авторизации пользователей на негосударственных ресурсах (сайтах, порталах, системах), которые подключены к ЕСИА и используют учётные записи в этой системе (с согласия их владельцев) для разрешения доступа.
Таким образом, регистрация ЕСИА и создание подтверждённой учётной записи — это возможность получить единый «ключ» для доступа к интернет-ресурсам, которые используют такой способ входа в свою систему. Это сравнимо с использованием электронной подписи для получения доступа к системам и сайтам и напоминает классический доступ через «логин/пароль», однако даёт больше возможностей и при этом не требует создания для каждого ресурса своих логинов и паролей. При этом регистрация в единой системе идентификации абсолютно бесплатна.
Как работает ЕСИА
После регистрации система ЕСИА создает учётную запись пользователя. На первом этапе — только с его контактными данными, а также логином и паролем для входа в систему, и одновременно — личный кабинет на портале Госуслуги. После этого необходимо в ЛК на портале Госуслуги заполнить личные данные пользователя, а также, если необходимо, загрузить личные документы. Все эти операции проходят с помощью программных интерфейсов ЕСИА, которые проведут пользователя по всем шагам регистрации, заполнения личных данных и загрузки документов.
Чтобы получить доступ ко всем возможностям учётной записи ЕСИА, нужно подтвердить личность. Проще всего это сделать через партнёров оператора единой системы идентификации. Например, клиенты Сбербанка могут пройти идентификацию по СберID в режиме онлайн. Подобные сервисы есть и у других банков-партнёров. Подтвердить личность дистанционно также можно с помощью квалифицированной электронной подписи. Если эти варианты недоступны, то идентификацию проходят в центрах обслуживания (нужен паспорт и СНИЛС). Ближайший офис можно найти на карте на портале Госуслуги. И ещё один вариант — заказать в личном кабинете код подтверждения, который придёт заказным письмом Почтой России.
Получите сертификат
Пройдите идентификацию по действующему квалифицированному сертификату и получите сертификат электронной подписи удалённо.
Процесс взаимодействия ЕСИА при авторизации пользователей в различных системах выглядит так:
- Пользователь хочет получить доступ к какой-либо информационной системе (ресурсу), которая использует авторизацию через ЕСИА, и выбирает этот способ.
- Ресурс направляет в ЕСИА соответствующий электронный запрос.
- Для подтверждения подлинности пользователя система перенаправляет его с ресурса на свою страницу входа в систему. Если вход прошёл успешно, система запрашивает у пользователя разрешение на предоставление ресурсу доступа к личным данным.
- Если пользователь был успешно проверен и разрешил стороннему ресурсу доступ к своим данным, система передаёт ресурсу необходимую информацию для авторизации пользователя.
- После поступления данных ресурс даёт пользователю доступ в свою систему.
На практике весь процесс занимает несколько секунд.
Как организации подключиться к ЕСИА
Юридические лица подключаются к ЕСИА через личный кабинет руководителя. Для подключения используется функция «Добавить организацию» и выбирается необходимый статус: ИП, организация, орган власти.
Для формирования учётной записи юридического лица необходимо, чтобы у руководителя была подтвержденная учётная запись. Для подключения к системе используется квалифицированная электронная подпись, сертификат которой оформлен на руководителя.
При регистрации юрлица потребуется заполнить все данные об организации, указанные в регистрационной форме. После проверки сведений и их подтверждения (это делается в автоматическом режиме) будет создана учётная запись организации в ЕСИА.
Дополнительная возможность для учётных записей организаций — подключение авторизации пользователей через ЕСИА для доступа к сайту или другому интернет-ресурсу организации. Для этого нужно предоставить сведения о подключаемой системе, при необходимости доработать её под требования ЕСИА, запустить работу подключённой системы в тестовом режиме, а после подтверждения работоспособности — в рабочем режиме.
Чтобы получить электронную подпись, оставьте заявку. Наши специалисты помогут вам оформить электронную подпись для физических и юридических лиц — удалённо, быстро и по выгодной цене.
Интеграция с ЕСИА: ответы на частые вопросы о подключении организации к ЕСИА
Официальные инструкции запутанны и сложны для восприятия, так что мы подготовили FAQ по теме интеграции с ЕСИА на основе вопросов, которые чаще всего задают наши клиенты.
Что такое ЕСИА
Министерство цифрового развития, связи и массовых коммуникаций уже больше десяти лет разрабатывает и совершенствует безопасный сервис авторизации для различных государственных сервисов и сайтов. Он получил название «Единая система идентификации и аутентификации» — ЕСИА. Это универсальный ключ доступа к ресурсам электронного правительства РФ.
Если вначале ЕСИА применялась для авторизации на портале Госуслуг, то по мере выполнения Федерального проекта «Цифровое государственное управление» и появления новых суперсервисов, ее сфера применения расширилась.
ЕСИА применяется для взаимодействия с органами власти и за пределами государственного сектора. К сервису подключаются порталы и IT-системы частных компаний из числа тех, для которых точная и безошибочная идентификация пользователей — приоритет.
Доверие к ЕСИА обеспечено продуманной криптографической защитой и тем фактом, что учетная запись пользователя этой системы содержит подтвержденную государством информацию, начиная с фамилии и заканчивая номером пенсионного свидетельства.
Как работает ЕСИА
С точки зрения пользователя вход на сайт или в мобильное приложение при помощи ЕСИА не отличается от использования аккаунта Google, Яндекс или одной из популярных социальных сетей.
Пользователь кликает по кнопке «Госуслуги». Открывается окно для ввода логина и пароля, и, после их ввода, авторизованный пользователь перенаправляется на исходную страницу.
В момент ввода данных сайт обращается к отдельному программному модулю — коннектору, отвечающему за связь с ЕСИА. Коннектор формирует зашифрованный запрос к серверам сервиса и получает в ответ пакет с личными данными пользователя. Они расшифровываются при помощи криптографического ключа, выданного организации заранее, еще на этапе настройки коннектора. Затем, личные данные передаются на сайт.
Такая схема подключения позволяет реализовать разнообразные сценарии взаимодействия пользователя и сайта. В случае с банковскими продуктами использование сервиса может выглядеть так:
- Пользователь заходит на сайт банка, чтобы оформить кредит.
- Выбрав нужную сумму в кредитном калькуляторе, он переходит к оформлению заявки.
- Вместо того чтобы заполнять длинную анкету с личными данными, пользователь кликает на кнопку авторизации в ЕСИА.
- Модуль-коннектор переходит на сайт ЕСИА и открывает форму авторизации.
- Пользователь вводит телефон, email или СНИЛС и пароль и подтверждает передачу персональных данных.
- Система проверяет корректность данных и возвращает пользователя на сайт банка, а коннектор получает и расшифровывает ответ, содержащий необходимую банку информацию о пользователе.
- Анкета, необходимая для создания заявки на кредит, заполняется автоматически.
- Пользователю остается подтвердить отправку заявки и ждать звонка менеджера.
Кто может подключиться к ЕСИА
ЕСИА создавалась, чтобы облегчить предоставление государственных услуг, так что интеграция с этим сервисом доступна всем государственным учреждениям. Помимо них, такая привилегия выдана нескольким разновидностям юридических лиц, занимающихся коммерческой деятельностью.
Интегрироваться с ЕСИА могут:
- медицинские учреждения;
- банки и МФО (микрофинансовые организации);
- страховщики;
- лицензированные брокеры, дилеры, финансовые управляющие и другие лица, профессионально работающие с финансовыми инструментами;
- НПФ (негосударственные пенсионные фонды);
- операторы связи.
Какие данные можно получать из ЕСИА
- Паспортные данные владельца аккаунта;
- данные из различных документов (номер полиса медицинского страхования, ИНН и другие подобные идентификаторы);
- контактный телефон;
- email;
- личные данные малолетних детей;
- информация об автомобилях и других транспортных средствах.
Для организаций, зарегистрированных в ЕСИА, этот список составляют типовые реквизиты: наименование, юридический адрес, ОГРН, код ОКПО и т.д. Кроме того, при создании учетной записи присваивается один из трех статусов, отражающих ее надежность.
Государственные органы, с разрешения владельца учетной записи, могут получить всю информацию из аккаунта, но для коммерческих организаций доступ ограничен. Им доступны данные о подтвержденности аккаунта, ФИО пользователей и часть паспортных данных.
Какие бывают учетные записи в ЕСИА
Каждый новый пользователь сервиса первоначально получает «упрощенную» учетную запись с ограниченными возможностями. Когда пользователь указывает правильные паспортные данные или СНИЛС, аккаунт проходит проверку со стороны государственных органов, и учетной записи присваивается статус — «стандартная». Для получения «подтвержденного» аккаунта его владелец должен пройти идентификацию при помощи авторизованного интернет-банка или лично посетив МФЦ.
Сколько пользователей в ЕСИА
Министерство цифрового развития, связи и массовых коммуникаций открыто не отчитывается о числе пользователей ЕСИА, так что судить об их количестве можно лишь приблизительно, по устаревшим данным.
Согласно отчету Ростелеком, сервисом пользуется больше 80 миллионов человек — каждый второй житель России.
Для чего ЕСИА коммерческим компаниям
Для негосударственных организаций сервис открывает новые возможности, не связанные с получением персональных данных.
- Для медицинских учреждений интеграция — возможность использовать телемедицинские технологии и оказывать услуги удаленно;
- кредитные организации (банки) получают право проводить биометрическую аутентификацию пользователей;
- микрофинансовым и микрокредитным организациям разрешается выдавать при помощи ЕСИА онлайн-займы величиной до 15 тысяч рублей;
- лицензированные участники рынка ценных бумаг, страховщики, негосударственные пенсионные фонды могут дистанционно заключать и продлевать договоры с клиентами;
- операторы связи в упрощенном порядке идентифицируют пользователей публичных точек доступа в интернет.
Как зарегистрировать организацию в ЕСИА
Процедура начинается с юридических формальностей. Прежде всего, необходимо выбрать ответственное лицо — администратора IT-системы, которая будет работать с ЕСИА. В этой роли может выступать руководитель организации или его доверенное лицо. Администратор подтверждает личность через портал госуслуг и регистрирует там организацию.
Затем администратор оформляет квалифицированную электронную подпись и вносит новую IT-систему в особый регистр. Эта процедура подробно изложена в детальном руководстве.
После регистрации IT-системе присваивается мнемоника — индивидуальный код-идентификатор. Он потребуется техническим специалистам для дальнейшей настройки системы.
Как подключить сайт организации или другую IT-систему к ЕСИА
Следующий шаг на пути интеграции с сервисом требует привлечения специалистов с технической квалификацией в области информационной безопасности. Чтобы подключить сайт или другую IT-систему к сервису, необходимо сгенерировать криптографический ключ и соответствующий ему сертификат.
Сертификат передается государству. В ответ Минкомсвязи высылает разрешение на тестовый доступ к сервису и данные для пробного подключения.
Далее следуют работы по разработке и настройке коннектора между IT-системой организации инфраструктурой сервиса. Разработчикам предстоит научить их взаимодействовать между собой — принимать и отправлять запросы в автоматическом режиме. Минкомсвязи даст разрешение на полноценный запуск IT-системы только после того, как коннектор стабильно заработает в тестовом режиме.
Какой протокол использовать для подключения к ЕСИА и чем он отличается от стандартов
Для интеграции сайта или IT-системы с ЕСИА используется сочетание авторизации по OAuth 2.0 и аутентификации при помощи OpenID Connect. Это распространенные решения с подробной документацией и многочисленными примерами использования, но применить их для интеграции с сервисом «как есть» не получится.
Хотя создатели сервиса в целом придерживались стандартных спецификаций, им пришлось разработать собственный Application Programming Interface для приема электронных подписей. Чтобы подключение к ЕСИА было успешным, стандартным библиотекам OpenID/OAuth необходима ручная доработка.
Какой сертификат нужен для регистрации системы в ЕСИА и обязательно ли использовать ГОСТ-криптографию?
В октябре 2019 года Минкомсвязи обновило методические рекомендации, исключив из них упоминания стандарта шифрования RSA (Rivest, Shamir и Adleman) и самоподписанных сертификатов. Их использование больше не допускается.
Теперь российские алгоритмы шифрования ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012 — единственные стандарты, которые доступны для использования с ЕСИА.
Сертификаты обязательно должны быть выпущены сертифицированным удостоверяющим центром.
Какие готовые решения можно использовать для подключения
В отдельных отечественных системах управления сайтами предусмотрены инструменты для подключения к ЕСИА, но переносить сайт на новую CMS ради интеграции с порталом госуслуг нецелесообразно, и, зачастую, попросту невозможно.
Универсальное решение — библиотеки с открытым исходным кодом. С их помощью можно обеспечить работу с сервисом для любой IT-системы, но для их настройки требуются технические навыки. Мы предпочитаем использовать Open Source компоненты, однако дорабатываем и адаптируем их для каждого проекта.
Можно ли подключить к ЕСИА мобильное приложение
Да, но в приложение должен быть интегрирован браузер. Он необходим только для авторизации, так что все остальные операции с приложением можно реализовать через обычный интерфейс. Например, так функционируют приложения «Госуслуги» и «Почта России».
Сколько времени уходит на подключение к ЕСИА
Формальная сторона процедуры, включающая регистрацию аккаунтов и ожидание мнемонического кода от Минкомсвязи, обычно занимает около недели.
На работы по настройке коннектора для базового подключения требуется две — три недели. В случаях, когда необходимо получение данных из аккаунта ЕСИА и дальнейшая их обработка, срок увеличивается.
Сколько стоит подключение
Государство не взимает платы за использование системы авторизации и идентификации. Подключение к ЕСИА бесплатно, однако на самостоятельную настройку коннектора для работы с сервисом придется потратить силы и время.
Практика показывает, что интеграция силами штатных сотрудников IT-отдела компании удается не всегда. Настройку интеграции сайта или иной IT-системы с ЕСИА лучше доверить опытной команде, которая неоднократно выполняла эту процедуру. Стоимость работ специалистов варьируется в зависимости от сложности системы и масштабов проекта.
Предупреждает ли Минкомсвязи о регламентных работах
Минкомсвязи не публикует график работ, но за несколько часов до начала технического обслуживания предупреждает об отключениях сервиса при помощи сообщений на сайте государственных услуг.
Отключения ЕСИА редки и, как правило, происходят в часы наименьшей нагрузки на сервис, а восстановление работы авторизации происходит автоматически.
Где можно найти дополнительную информацию о ЕСИА
Инструкции по работе с сервисом периодически пересматриваются, обновляются и дополняются, поэтому, изучив ответы на распространенные вопросы, стоит обратиться к первоисточникам.
Общую информацию о подключении к ЕСИА, а также контакты для связи с Ситуационным центром Минкомсвязи, где можно получить консультацию по правовым аспектам подключения, приведены на информационной странице ЕСИА на портале Госуслуг.
Актуальные документы, касающиеся сервиса, публикуются на официальном портале Минкомсвязи РФ. Перечень документов, которые публикует министерство, включает в себя:
Виды Электронной Подписи и особенности её применения в ЕСИА Госуслуги.
Каждый день растёт количество онлайн сервисов и увеличиваются возможности по получению различных видов услуг дистанционно. Что положительно сказывается на социальной сфере. На сегодняшний момент имея минимальные знания и навыки в работе с ПК и сетью Интернет. Вы можете без очередей и ходьбы по инстанциям получить услуги от государственных и муниципальных органов.
Для того чтобы пользователь смог использовать все возможности портала госуслуг ему потребуется наличие электронной цифровой подписи. Согласно Федеральному Закону No 63 » Об Электронной подписи» от 06.04.2011г., установлены основные виды Электронной Подписи. Каждую из этих подписей можно использовать для тех или иных целей. Цифровые подписи различают на: Простую подпись и квалифицированную электронную подпись.
Основные различия между простой и квалифицированной подписью:
• Простая подпись используется для запросов и получения справочной информации. Это справка о наличии или отсутствии судимости, о сумме средств пенсионных накоплений, информации о штрафах и налогах или долгах в данной категории и т.п. Возможность записаться на получение медицинских услуг или услуг различных образовательных учреждениях. Так же возможно оплатить различные услуги, включая услуги ЖКХ, налоги и т.д.
• Квалифицированная подпись используется при замене паспорта и водительского удостоверения и других документов удостоверяющих личность гражданина. Квалифицированную Электронную подпись можно использовать для регистрации нового юридического лица, открытия ИП, регистрация автотранспорта. Подачи сведений 3 НДФЛ в налоговые органы, запросы на получение различных лицензий или получения разрешений на выполнения различных видов работ. Так же электронную подпись можно использовать для участия в Электронных торгах для выполнения различных видов работ и услуг.
Согласно выше написанному можно сделать вывод, что для получения справочной информации и выполнения простых операций требуется простая ЭЦП, а для юридически значимых действий необходима квалифицированная подпись.
Создание простой ЭЦП.
Для получения этого вида цифровой подписи вначале требуется посетить сайт ЕСИА Госуслуги. Здесь потребуется выполнить ряд действий. На главной странице нажимаем «Зарегистрироваться», откроется новое окно, где необходимо указать вашу Фамилию, Имя, номер телефона и вашу электронную почту. После этого нажимаем на кнопку «Зарегистрироваться». В зависимости от выбора метода подтверждения, используется активная ссылка(если выбрали метод подтверждения почта) или СМС, который высылается на мобильный телефон. После подтверждения вам необходимо будет придумать пароль, который будет использоваться при авторизации на сайте.
На следующем этапе требуется указать данные паспорта, ваш ИНН и номер СНИЛС, после этого необходимо подождать когда пройдет проверка указанных данных через СМЭВ(система межведомственного электронного взаимодействия).
После прохождения проверки в личном кабинете портала Госуслуги будет создана простая ЭЦП.
Создание квалифицированной электронной подписи.
В отличие от простой ЭЦП для получения второго вида подписи — квалифицированной, потребуется больше времени и действий. Основное что необходимо будет сделать, это обратиться в аккредитованный удостоверяющий центр. Список УЦ размещен на сайте Минкомсвязи РФ. Вы можете воспользоваться поиском на сайте Минкомсвязи «Ближайший Удостоверяющий Центр», где система автоматически предложит вам адрес ближайшего УЦ в зависимости от вашего расположения.
В Удостоверяющий Центр или в официальную точку выдачи этого УЦ необходимо предоставить следующие документы:
Два заявления на создание Электронной подписи и Присоединении к регламенту( Бланки выдает УЦ).
1. Свидетельство ИНН.
2. СНИЛС.
3. Паспорт лица на которого оформляется подпись.
Возможна подачи заявки на создание сертификата электронной подписи в электронном формате. Для этого вам необходимо связаться с Удостоверяющим Центром и получить от них бланки заявлений и счет на оплату на вашу электронную почту. После оплаты счета за выпуск электронной подписи вы можете сэкономить ваше время. Для этого вам нужно выслать требуемые документы в сканированном виде на электронную почту УЦ. Оригиналы вы сможете предъявить уже непосредственно в момент получения квалифицированной подписи для ЕСИА госуслуги. При этом необходима личная явка или же доступна курьерская доставка, в момент которой и предоставляются оригиналы. Обычно, данная услуга оказывается на платной основе.
Выдача Электронной подписи юр.лицу.
Говоря про процедуру выдачи Квалифицированной Электронной Подписи необходимо заметить, что указанная выше процедура работает не только с физическими лицами, но и актуальна и для юридических лиц. Для выпуска ЭЦП для юр.лица потребуются дополнительные документы:
1.Приказ или выписка из приказа о назначении на должность(Если выпускается не на Руководителя компании).
2. Свидетельство ИИН самой компании.
3. Свидетельство ОГРН компании.
В среднем стоимость предоставления описанных выше услуг аккредитованными удостоверяющими центрами. Как муниципальными, так и осуществляющими свою деятельность на коммерческой основе начинается от 2000 руб. Причем цена для юридических и физических лиц установлена на одном уровне. Основными факторами, оказывающими влияние на ее изменение, от указанной суммы в сторону уменьшения или же увеличения являются:
1. Регион.
2. Выбранная ценовая политика.
3. Наличие конкуренции в данном сегменте рынка.
Без вложения денежных средств доступно получение только простой ЭЦП. Которая значительно облегчает сбор различных справок и т.п. для рядовых граждан. Связано это с тем, что выдается она самим порталом государственных услуг и основной целью ее использования является обеспечение доступности и снижение уровня бюрократии муниципальных учреждениях, а также сокращения количества временных затрат на сбор документов.
Аутентификация с использованием ЕСИА
RooX UIDM поддерживает аутентификацию с использованием внешней системы хранения учётных данных пользователей — Единой системы идентификации и аутентификации (ЕСИА).
Единая система идентификации и аутентификации (федеральная государственная информационная система «Единая система идентификации и аутентификации в инфраструктуре, обеспечивающей информационно-технологическое взаимодействие информационных систем, используемых для предоставления государственных и муниципальных услуг в электронной форме»).
ЕСИА является федеральной государственной информационной системой, в которой содержатся персональные данные граждан Российской Федерации, а также иные сведения (о статусе индивидуального предпринимателя, о юридических лицах и др.). ЕСИА используется в первую очередь для доступа граждан к сервисам государственных услуг и иных взаимодействий в электронной форме граждан с органами государственной власти.
RooX UIDM позволяет пользователю с учётной записью в ЕСИА получить доступ к защищаемому ресурсу при выполнении пользователем аутентификации в ЕСИА.
Использование в RooX UIDM идентификации и аутентификации при помощи ЕСИА:
освобождает пользователя от необходимости хранить логин и пароль от учётной записи RooX UIDM, достаточно знать логин и пароль от учётной записи ЕСИА. Существует возможность беспарольной аутентификации пользователей (аутентификация только с использованием ЕСИА, когда учётная запись RooX UIDM не содержит установленного пароля);
сохраняет за пользователем возможность аутентифицироваться в RooX UIDM с использованием других средств (логин и пароль, сертификат электронной подписи и других);
обеспечивает заказчика достоверными сведениями о пользователе: ФИО, паспортными данными, СНИЛС (в случае, если учётная запись пользователя обладает статусом «подтверждённая»), и роли такого пользователя в юридических лицах;
позволяет назначать пользователю полномочия в RooX UIDM в соответствии с его ролью в юридическом лице (в соответствии со сведениями ЕСИА).
Степень достоверности сведений о пользователе, содержащихся в учётной записи ЕСИА, выражается в статусе такой учётной записи:
упрощённая (непроверенная) учётная запись
минимальный набор сведений о пользователе
стандартная учётная запись
данные о пользователе сверены с государственными информационными ресурсами
подтверждённая учётная запись
данные о пользователе сверены с государственными информационными ресурсами, а личность пользователя подтверждена одним из доступных способов подтверждения
Достоверность сведений подтверждённой учётной записи ЕСИА обеспечивается проверкой сведений, предоставленных пользователем, органами государственной власти.
RooX UIDM не содержит заранее установленных требований к статусу учётной записи пользователя в ЕСИА, с использованием которой будет производиться аутентификация в RooX UIDM. Ограничения статуса учётной записи пользователя, аутентифицирующегося с использованием ЕСИА, устанавливаются в соответствии с требованиями заказчика.
Токены доступа, выпускаемые RooX UIDM, содержат в себе свойство (клейм) amr , сообщающее об уровне доверия к способу аутентификации пользователя. Уровень доверия при аутентификации с использованием ЕСИА выше, чем уровень доверия к аутентификации с использованием логина и пароля RooX UIDM).
На основании этого уровня доверия защищаемые системы могут принимать решения о разграничении доступа пользователей к своим данным.
Нормативные документы Единой системы идентификации и аутентификации
Нормативные документы ЕСИА размещены на сайте Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации в разделе «Документы» по направлению Единая система идентификации и аутентификации (ЕСИА).
Состав наборов данных, предоставляемых ЕСИА в соответствии с заданными областями доступа (scope), содержится в актуальной версии Методических рекомендаций по использованию Единой системы идентификации и аутентификации, размещённых на сайте Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации в разделе «Документы» по направлению Единая система идентификации и аутентификации (ЕСИА).
Требования к безопасности при использовании аутентификации с использованием ЕСИА
Корректность обработки статуса учётной записи ЕСИА
Учётная запись пользователя в ЕСИА может находиться в одном из трёх статусов, соответствующих уровню доверия к содержащимся в ней данным.
Необходимо убедиться, что учётные записи ЕСИА с различным статусом логически корректно обрабатываются защищаемой системой.
Использование сертификата электронной подписи для подписания запросов к ЕСИА
Запросы экземпляра RooX UIDM к ЕСИА должны быть подписаны закрытым ключом сертификата электронной подписи. Статус сертификата электронной подписи проверяется ЕСИА. Сертификаты, выпущенные неаккредитованными удостоверяющими центрами (самоподписанные), не могут быть использованы для подписания запросов к ЕСИА.
Владельцу защищаемой системы необходимо обеспечить выпуск сертификата электронной подписи юридического лица.
Соблюдение требований по защите персональных данных
Данные, полученные из ЕСИА, являются персональными.
Владелец защищаемой системы должен убедиться, что выполняются требования к хранению персональных данных, в том числе возможность отзыва согласия пользователя на обработку персональных данных, а также другие положения федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных».
Контроль доступа бывших сотрудников организации
В случае использования модели доступа с организациями необходимо убедиться, что защищаемая система корректно отслеживает и обрабатывает случаи изменения в ЕСИА ролей и отношений между организациями и их сотрудниками (например, бывший генеральный директор не должен иметь возможности подавать платежные поручения).
Сценарии аутентификации с использованием ЕСИА
Пользователь обращается к защищаемому ресурсу.
Пользователь выполняет переход в ЕСИА для аутентификации.
Сервис аутентификации ЕСИА аутентифицирует пользователя.
Сервис аутентификации ЕСИА получает согласие пользователя на предоставление RooX UIDM его данных.
Сервис аутентификации ЕСИА перенаправляет пользователя обратно в RooX UIDM и передает авторизационный код.
RooX UIDM формирует запрос с использованием авторизационного кода на получение токена идентификации.
RooX UIDM получает ответ, содержащий необходимый токен идентификации.
RooX UIDM проводит проверку токена идентификации.
При успешной проверке токена идентификации пользователь считается аутентифицированным.
Пользователь обращается к защищаемому ресурсу.
Пользователю отображается экран аутентификации с кнопкой «Войти при помощи ЕСИА».
Пользователь нажимает кнопку и переходит на сайт ЕСИА к экрану аутентификации в ЕСИА.
Пользователь успешно выполняет аутентификацию в ЕСИА.
Пользователь автоматически перенаправляется и получает доступ к защищаемому ресурсу.
Модели данных
Сведения о пользователе, загруженные RooX UIDM из ЕСИА, хранятся в виде строк формата JSON в полях profile и userinfo таблицы external_user БД Roox UIDM.
Внешние привязки пользователя хранятся в таблице partner_mappings БД RooX UIDM.
Внешние привязки пользователя к ЕСИА могут быть получены с использованием API управления привязками.
Модель данных PartnerMapping
Инициализируется при создании экземпляра класса: new Auth()
cid пользователя (из Claim)
Дата и время создания привязки
Идентификатор пользователя в RooX UIDM
Идентификатор внешнего пользователя
Блок информации о пользователе на стороне ЕСИА или социальной сети
Инициализируется при создании экземпляра класса: new ExternalUser()
Уникальный идентификатор привязки. Используется, например, для удаления
Признак, разрешил ли пользователь сохранять социальные данные
Инициализируется при создании экземпляра класса: false
Идентификатор системы, в которой создана привязка. Для ЕСИА и социальных сетей содержит условное имя
Тип привязки. Всегда содержит social ,
Значения: social (social network), extid (external Identity provider)
Модель данных ExternalUser
Ссылка на уменьшенный аватар пользователя
Ссылка на аватар пользователя
Адрес электронной почты
Имя пользователя в ЕСИА или социальной сети
Полное имя пользователя в ЕСИА или социальной сети
Фамилия пользователя в ЕСИА или социальной сети
Отчество пользователя в ЕСИА или социальной сети
Передается в формате +7(XXX)XXXXXXX, где X — цифра
Записанный в строку JSON-объект. В случае ЕСИА используется модель EsiaPersonProfileDto
Список друзей пользователя в социальной сети
Идентификатор пользователя в ЕСИА или социальной сети
Информация о пользователе
Записанный в строку JSON-объект. В случае ЕСИА используется модель UserDataDto