跳转至

eID Mongolia

Production · 第 1 层 — 身份 / PKI 内核 · 仓库:eid-platform-mn · eidmongolia.mn

蒙古国的国家级 eID 平台(Smart-ID / eIDAS 风格)。生态系统中的一切认证与 签名最终都落在这里。同一套代码通过应用变体(app variant)同时服务 eID MongoliaGerege 两个品牌。

它做什么?

  • 识别并登录公民——通过二维码、移动端 deep-link,或按身份证号向本人推送 确认请求。
  • 具法律效力的签名——对 PDF 施加 PAdES 签名,并附 RFC 3161 时间戳。
  • 证书的完整生命周期——签发(CA)、有效性校验(OCSP/CRL)、吊销。
  • KYC——经 DAN 核验,并以人脸识别完成活体检测。

核心密码学设计

2-of-2 门限 ECDSA

签名私钥在任何一处都不完整存在。密钥被拆成两份:一份在用户手机上,另一份 在服务器上。生成签名必须双方共同参与(Lindell 协议的三轮变体)。

其含义是:手机被盗也无法签名,服务器被攻破同样无法签名。任何一方都不能 单独以用户名义签名。

双密钥、双证书

每位公民持有两张证书:

证书 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 / 推送登录与签名
admin/ Next.js 管理控制台——RP / 用户 / 证书 / 会话管理
ios/ Swift GeregeSmartID SPM SDK + eID Mongolia 应用
android/ Kotlin / Compose mn.eidmongolia.smartid SDK + 示例应用
desktop/ Swift + .NET macOS / Windows RP 客户端 + USB token 套件
sdk/ TypeScript RP 侧 Web SDK

PKI 服务

服务 地址 说明
CA eidmongolia.mn 证书颁发机构
OCSP ocsp.eidmongolia.mn 实时校验证书有效性
CRL 由 CA 发布 证书吊销列表
TSA tsa.timeserver.mn RFC 3161 时间戳

密钥保护:使用 HSM——本地设备与云端 HSM 配置为互为故障转移。

为 X-Road 承担的 CA 职责

eID Mongolia 同时为 X-Road Mongolia 提供信任服务(CA、OCSP)。 因此第 1 层为第 0 层提供了信任根——这是生态系统中唯一被允许的「向下」依赖。

接入方式(作为 RP)

第三方接入 eID 有两条路径。

1. 经由 SSO(推荐)。 应用作为 OIDC RP 接入 Gerege SSO,eID 登录 在 SSO 侧完成。多数情况下这才是正确选择——您无需编写 PKI 代码,只需实现 标准 OIDC。

2. 直接成为 RP。 当需要深度集成时(例如把 eID 流程嵌入自家手机应用), 可直接在 eID 上注册为 RP。此时需使用 iOS / Android / TypeScript SDK。

RP ↔ rp_app 规则

eID 上只注册 RP。若一个 RP 下有多个应用或子系统,通过 rp_app / rp_app_url 字段传递即可——日志与用户界面上就能区分是哪个应用发起的请求。 无需为每个应用单独注册 RP。

协议层兼容性

Go 服务端、iOS SDK、Android SDK 三者说的是同一套固定协议。密码学序列化在 各端必须逐字节一致。该契约由冻结的 golden vector 锁定——详见 技术栈页面。

详细文档

平台的完整技术文档(RP 接入步骤、SDK 参考、PKI/CA onboarding、管理控制台 手册)存放在 eid-platform-mn 仓库内自带的文档站点中。主要章节:

  • 概念——双证书 eID · 标识符 · 个人 PKI
  • 集成(RP)——RP 集成 · Gerege 集成 · RP 子系统 · TypeScript SDK · Web RP 演示 · 机构接入
  • 客户端 SDK / 应用——iOS · Android · 生物识别密钥 · macOS · Windows · USB token 套件
  • 运营者——管理控制台 · 多语言
  • PKI / CA——CA onboarding · 护照被动认证 · 人脸识别