Перейти к содержанию

eID Mongolia

Production · Слой 1 — Ядро identity / PKI · Репозиторий: eid-platform-mn · eidmongolia.mn

Национальная платформа eID Монголии (в духе Smart-ID / eIDAS). Вся аутентификация и все подписи экосистемы в конечном счёте опираются на неё. Один код обслуживает оба бренда — eID Mongolia и Gerege — через варианты приложения.

Что она делает

  • Идентифицирует граждан и пропускает их в системы — по QR-коду, мобильному deep-link либо push-уведомлением по номеру гражданского реестра.
  • Юридически значимая подпись — подпись PAdES в PDF с отметкой времени RFC 3161.
  • Полный жизненный цикл сертификата — выпуск (CA), проверка действительности (OCSP/CRL), отзыв.
  • KYC — проверка через DAN и контроль живости по распознаванию лица.

Ключевые криптографические решения

Пороговая ECDSA 2-of-2

Закрытый ключ подписи нигде не существует целиком. Он разделён на две доли: одна на телефоне пользователя, другая на сервере. Чтобы поставить подпись, нужны обе стороны (трёхраундовый вариант протокола Линделла).

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

Двойной ключ, двойной сертификат

У каждого гражданина два сертификата:

Сертификат PIN Назначение
Authentication PIN1 Вход в систему
Signing PIN2 Юридически значимая подпись

Это разделение принципиально: вход никогда не означает, что пользователь с чем-то согласился. Подпись требует отдельного PIN, отдельного ключа и отдельного согласия — в этом основа неотрекаемости (non-repudiation).

Идентификаторы

Тип Формат Основание
Физическое лицо PNOMN-<civil_id> Стандарт ETSI ID
Организация NTRMN-<registration> Стандарт ETSI ID

Внутренний идентификатор — civil_id (номер гражданского реестра). Правила регистра идентификаторов см. на странице Общие соглашения.

Структура

Часть Технология Роль
server/ Go (chi + pgx) Бэкенд RP-API: регистрация, пороговая подпись, CA/OCSP/CRL, админка, KYC
web/ Next.js Браузерное RP-демо — вход и подпись через QR / push
admin/ Next.js Консоль администратора — RP / пользователи / сертификаты / сессии
ios/ Swift SPM SDK GeregeSmartID + приложение eID Mongolia
android/ Kotlin / Compose SDK mn.eidmongolia.smartid + пример приложения
desktop/ Swift + .NET RP-клиент для macOS / Windows + комплект USB-токена
sdk/ TypeScript Web SDK для стороны RP

Сервисы PKI

Сервис Адрес Описание
CA eidmongolia.mn Удостоверяющий центр
OCSP ocsp.eidmongolia.mn Проверка действительности сертификата в реальном времени
CRL публикуется CA Список отозванных сертификатов
TSA tsa.timeserver.mn Отметки времени RFC 3161

Защита ключей: используются HSM — устройство on-prem и облачный HSM, настроенные на взаимный failover.

Роль CA для X-Road

eID Mongolia выполняет также роль доверенного сервиса (CA, OCSP) для X-Road Mongolia. Тем самым слой 1 даёт слою 0 корень доверия — единственная разрешённая в экосистеме связь «вниз».

Пути интеграции (как RP)

Третья сторона подключается к eID двумя способами.

1. Через SSO (рекомендуется). Приложение подключается к Gerege SSO как OIDC RP, а вход по eID происходит на стороне SSO. В большинстве случаев это и есть правильный выбор — вы не пишете код PKI, а реализуете лишь стандартный OIDC.

2. Стать прямым RP. Когда нужна глубокая интеграция — например, встроить поток eID внутрь собственного мобильного приложения — вы регистрируетесь как RP непосредственно в eID. В этом случае используются SDK для iOS / Android / TypeScript.

Правило RP ↔ rp_app

В eID регистрируется только RP. Если под одним RP работает несколько приложений или подсистем, передавайте их в полях rp_app / rp_app_url — тогда в логах и на экране пользователя будет видно, какое приложение отправило запрос. Отдельный RP на каждое приложение заводить не нужно.

Совместимость на уровне протокола

Go-сервер, iOS SDK и Android SDK говорят на одном фиксированном протоколе. Криптографическая сериализация должна быть побайтово одинаковой на всех сторонах. Этот контракт закреплён замороженными golden vectors — подробности на странице Технологический стек.

Подробная документация

Полная техническая документация платформы (шаги интеграции RP, справочник по SDK, onboarding PKI/CA, руководство по консоли администратора) находится на собственном сайте документации внутри репозитория eid-platform-mn. Основные разделы:

  • Понятия — eID с двумя сертификатами · Идентификаторы · Персональная PKI
  • Интеграция (RP) — интеграция RP · интеграция с Gerege · подсистемы RP · TypeScript SDK · Web RP demo · подключение организаций
  • Клиентские SDK / приложения — iOS · Android · биометрические ключи · macOS · Windows · комплект USB-токена
  • Операторам — консоль администратора · многоязычность
  • PKI / CA — onboarding CA · пассивная аутентификация паспорта · распознавание лиц