eID Mongolia¶
Production · 第 1 层 — 身份 / PKI 内核 ·
仓库:eid-platform-mn · eidmongolia.mn
蒙古国的国家级 eID 平台(Smart-ID / eIDAS 风格)。生态系统中的一切认证与 签名最终都落在这里。同一套代码通过应用变体(app variant)同时服务 eID Mongolia 与 Gerege 两个品牌。
它做什么?¶
- 识别并登录公民——通过二维码、移动端 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 · 护照被动认证 · 人脸识别