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 · пассивная аутентификация паспорта · распознавание лиц