Обзор механизма подписания документов ЭЦП с применением QR кодов через приложение eGov mobile (aka QR-подписание)

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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


В анонсах QR-подписание позиционировалось как замена ЭЦП (Министр Мусин: Я лично признаюсь, что ЭЦП всех просто заколебала), но важно понимать что "под капотом" тут та же самая электронная цифровая подпись, а меняются:

  • приложение, которое вычисляет цифровую подпись (eGov mobile вместо NCALayer);

  • способ доставки подписываемых данных этому приложению (QR код + HTTPS вместо WebSocket).

Если сравнивать с "классическим" подходом NCALayer, то получается следующая картина:

NCALayer:

  • n1 - информационная система передает в браузер данные на подписание;

  • n2 - JS код в браузере связывается с запущенным локально NCALayer по WebSocket, передает данные на подписание и получает в ответ подпись.

Подписание ЭЦП через QR с использованием eGov mobile:

  • q1 - информационная система передает в браузер QR код с блоком данных для eGov mobile;

  • q2 - пользователь с помощью телефона считывает данные в QR коде приложением eGov mobile;

  • q3 - приложение eGov mobile с помощью предоставленных данных связывается с информационной системой, скачивает данные на подпись и потом отправляет сформированные подписи обратно информационной системе.

В обоих случаях информационная система получает электронную цифровую подпись под документом, которую она должна проверить в соответствии с требованиями законодательства (Приказ Об утверждении Правил проверки подлинности электронной цифровой подписи). По большому счету бекенду информационной системы не важно была ли подпись сформирована с использованием NCALayer или eGov mobile.

Новый подход определенно обладает плюсами:

  • пользователям (физическим лицам) проще получать ключи ЭЦП НУЦ РК, так как в приложении eGov mobile реализован функционал по выпуску ключей онлайн через биометрическую идентификацию;

  • приложение eGov mobile умеет отображать переданные на подпись данные (точно поддерживаются PDF файлы, с другими форматами не до конца понятно), то есть пользователь может на своем устройстве ознакомиться с тем, что он подписывает;

  • приложение eGov mobile позволяет подписывать несколько документов за один раз.

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

  • необходимо персональное мобильное устройство, но существуют помещения и рабочие места, где доступ к персональным мобильным устройствам ограничен;

  • не позволяет использовать защищенные носители ключей ЭЦП (токены и смарт-карты);

  • не работает без подключения к сети Интернет.

На эту тему высказывался Владимир Туреханов в интервью Tengrinews "Оставьте NCALayer". Эксперт назвал особенности QR-подписания.

На данные момент eGov mobile умеет формировать следующие типы цифровых подписей:

  • CMS с вложенными данными;

  • CMS без вложенных данных;

  • XML подписи.

Интеграция с eGov mobile

Перед тем, как приступать к интеграции, необходимо зарегистрироваться на Smart Bridge и подать заявку на подключение к Cервису QR подписания посредством приложения Egov Mobile. Имейте в виду что этот процесс может затянуться.

В рамках интеграции необходимо будет доработать бекенд, в частности:

  • реализовать формирование и разбор JSON структур eGov mobile;

  • формировать уникальные одноразовые URL по которым eGov mobile будет забирать данные на подпись и возвращать сформированные цифровые подписи;

  • формировать QR коды со специфичными URL для eGov mobile;

  • предоставить публичный доступ к описанным выше URL, так как скачивать данные будут экземпляры приложения eGov mobile установленные на мобильных устройствах пользователей;

  • обеспечить защиту данных (ссылки на скачивание данных не должны использоваться несколько раз, не должны быть доступны дольше чем нужно и т.п.).

Документация по интеграции доступна на странице сервиса на Smart Bridge.

Тестовый стенд

Ознакомиться с работой eGov mobile и подписать что-нибудь можно на демонстрационном стенде библиотеки с открытым исходным кодом sigex-qr-signing-client. Эта библиотека работает с API сервиса SIGEX, который позволяет подписывать данные в приложении eGov mobile с использованием QR кодов без регистрации на Smart Bridge и доработки бекенда.

Источник: https://habr.com/ru/post/711388/


Интересные статьи

Интересные статьи

Являясь не Android разработчиком, но имея хорошие базовые знания в Java, мне выпала небольшая research задача под Android платформу, для решения которой нужно было интегрировать стороннюю с/c++ библио...
Можно ли подобрать удобный букридер с адекватными характеристиками при достойной стоимости? Обязательно со встроенной подсветкой для того, чтобы с комфортом читать в любых условиях. А до полного счаст...
Прошло Google I/O и мы узнали абсолютно всё про новую версию Android. Основной упор в релизе был сделан на усиление безопасности ОС и приватности данных, а также провели ...
В данной статье речь пойдет о программировании и полноценной отладке микроконтроллера STM32F103C8T6 через USB.Однажды, от коллег поступило предложение о участии в IoT пр...
Информационная система Dodo IS состоит из 44 различных сервисов, таких как Трекер, Кассы ресторана или Базы знаний и многих других. 3 года назад мы написали сервис Auth для реализации...