Байгууллага (Legal Person) — Onboarding заавар¶
Огноо: 2026-07-04. Хамрах хүрээ: байгууллагыг eID платформд бүртгэх, төлөөллийн эрх удирдах,
e-Seal (байгууллагын тамга) хэрэглэх, RP (e-service) талын интеграц. Дизайн үндэслэл:
docs/ORG_AUTH_SIGN_PLAN.md; стандарт: SK ID Solutions SK-CPR-ORG v13.0, ETSI EN 319 412-1/-3/-5.
Гол зарчим (Эстонийн загвар): Байгууллагад апп-данс, утас, PIN, threshold түлхүүр БАЙХГҮЙ. Байгууллагын бүх үйлдэл гурван механизмаар: 1. Байгууллагаар нэвтрэх = хувь хүн өөрийн eID-гээр нэвтэрч, RP нь төлөөллийн бүртгэлээс эрхийг нь real-time шалгана (эрх нь cert дотор БИШ — бүртгэлд). 2. Байгууллагын нэрийн өмнөөс гарын үсэг = төлөөлөгчийн ХУВИЙН PIN2 cert + session-д
onBehalfOfтэмдэглэгээ (сервер эрхийг шалгасан). 3. e-Seal (тамга) = сервер талын HSM түлхүүртэй,NTRMN-cert-тэй автомат тамга — интерактив биш (нэхэмжлэх, лавлагаа г.м. системээс шууд).
1. Идентификатор¶
| Зүйл | Утга |
|---|---|
| ETSI identifier | NTRMN-<улсын бүртгэлийн дугаар> (ETSI EN 319 412-1 §5.1.4, NTR semantics) |
| Cert subject | SERIALNUMBER=<бүртгэлийн дугаар>, CN/O=<нэр>, organizationIdentifier(2.5.4.97)=NTRMN-<дугаар>, C=MN |
| Issuing CA | Gerege Organization Issuing CA (L2) — SubjectTypeForEtsi-ээр автомат сонгогдоно |
2. Байгууллага бүртгэх (оператор/admin)¶
Admin консолын Байгууллага таб эсвэл API:
POST /v3/admin/organizations (org:write)
{"orgRegister":"1234567","name":"Тест ХХК","nameLatin":"TEST LLC","activate":false}
activate:false→PENDINGстатустай үүсч, баталгаажуулалтын дараа админ FSM-ээр ахиулна.- FSM:
PENDING → VERIFIED → ACTIVE → SUSPENDED/REVOKED(SUSPENDED-ээс сэргээж болно; REVOKED эцсийн — идэвхтэй seal cert автоматаар цуцлагдаж OCSP/CRL-д орно).
3. Төлөөллийн эрх (representation)¶
Эрх бүхий төлөөлөгч бүр өөрөө eID-тэй (enroll хийсэн) байх ёстой:
POST /v3/admin/organizations/{etsi}/representatives (org:write)
{"personEtsi":"PNOMN-…","role":"Гүйцэтгэх захирал","rightType":"ADMIN",
"source":"MANUAL","evidenceRef":"тушаал №…","validTo":null}
DELETE /v3/admin/organizations/{etsi}/representatives/{id}
rightType:ADMIN(байгууллага үүсгэсэн/холбосон — доороо MANAGER гарын үсэг зурагч нэмж/хасаж чадна) |MANAGER(гарын үсэг зурагч — доороо хэн ч нэмж/хасаж чадахгүй).source:REGISTRY(УБЕГ/DAN-аас — ирээдүйд автомат sync) |MANUAL(баримтаар батламжилсан).- Хугацаа (
validTo) дууссан, идэвхгүй болгосон, эсвэл байгууллага нь ACTIVE биш бол эрх lookup-д ХАРАГДАХГҮЙ.
4. RP талын интеграц¶
4.1 Байгууллагаар нэвтрэх¶
- Хэрэглэгчийг ердийн personal auth-аар нэвтрүүлнэ (
/v3/authentication/...). - Дараа нь:
- UI дээр "аль байгууллагаар үргэлжлүүлэх вэ" сонголт гаргаж, сонгосон байгууллагын контекстээр session үүсгэнэ. Эрх өдөр бүр өөрчлөгдөж болно — session бүрд шалгана.
4.2 Байгууллагын нэрийн өмнөөс гарын үсэг¶
Sign request-д onBehalfOf нэмнэ:
GET /v3/session/{id})-д onBehalfOf: {orgEtsi, orgName} блок нэмэгдэнэ;
гарын үсэг өөрөө хэвээр хувь хүний PIN2 cert-ээр (крипто өөрчлөлтгүй).
- ADMIN ба MANAGER аль аль нь байгууллагын нэрийн өмнөөс дангаараа гарын үсэг зурж
чадна (крипто талд хамтын co-sign шаардлага байхгүй); олон гарын үсэг цуглуулах
шаардлага гарвал энэ нь RP-ийн дүрэм (Эстонитой ижил).
4.3 e-Seal (байгууллагын тамга)¶
RP-д SEAL permission олгогдсон байх ёстой (admin RP бүртгэлийн permissions-д
AUTH,SIGN,SEAL); first-party (өөрийн web) чөлөөтэй.
POST /v3/seal/certificate/{orgEtsi} — seal түлхүүр + cert гаргалт (эсвэл admin-аар:
POST /v3/admin/organizations/{etsi}/seal-certificate)
GET /v3/seal/certificate/{orgEtsi} — идэвхтэй cert (validation-д)
POST /v3/seal/{orgEtsi} — тамгалалт:
{"digest":"<base64 SHA-256/384/512>"} → {"signature":{"value","signatureAlgorithm"},
"cert":{"value","certificateLevel"},"sealedAt"}
- Интерактив биш, синхрон — PIN/push байхгүй (SK e-Seal загвар).
- Байгууллага ACTIVE биш, cert цуцлагдсан/superseded бол 409 (fail-closed).
- Cert profile (SK-CPR-ORG): KeyUsage = зөвхөн
nonRepudiation; EKU байхгүй; QCStatements = QcCompliance + QcType=eseal; policy QCP-l.SMARTID_SEAL_QSCD=true(бодит QSCD/HSM) үед + QcSSCD, policy QCP-l-qscd, түвшин QSCD.
4.4 Гарын үсэг зурагчийг RP талаас удирдах (self-service)¶
ADMIN эрхтэй төлөөлөгч RP-ийн UI-аас (admin консол заавал биш) байгууллагадаа
MANAGER гарын үсэг зурагч нэмж/хасаж чадна. Бүх endpoint RP auth + ORG_LINK_WRITE
permission шаардана; {actingPersonEtsi} нь тухайн байгууллагын ADMIN төлөөлөгч
байх ёстой (эс бөгөөс 403). {orgRegister} = байгууллагын улсын бүртгэлийн дугаар.
GET /v3/organization/signers/{orgRegister}/etsi/{actingPersonEtsi}
→ одоогийн гарын үсэг зурагчид (баталгаажсан/хүлээгдэж буй төлөвтэй)
POST /v3/organization/signers/{orgRegister}/etsi/{actingPersonEtsi}
{"signerRegNo":"<нэмэх иргэний РД>","role":"Нягтлан бодогч"}
— нэмэгдэх эрх ҮРГЭЛЖ MANAGER (rightType-ийг үл хэрэгснэ); иргэн рүү sign-push илгээж
баталгаажуулалт хүснэ.
DELETE /v3/organization/signers/{orgRegister}/etsi/{actingPersonEtsi}?signer=<РД>
POST /v3/organization/signers/{orgRegister}/etsi/{actingPersonEtsi}/resend?signer=<РД>
— баталгаажаагүй зурагч руу sign-push дахин илгээнэ.
Байгууллагын латин нэрийг (ICAO/latin, cert-д ордог) зөвхөн ADMIN засна:
РД (
signerRegNo) нь регистрийн дугаар — том/жижиг үсэг ялгаагүй (lookup lowercase);nameLatinнь ICAO канон тул томоор хадгалагдана (Идентификаторууд).
4.5 Revocation шалгалт¶
- OCSP:
POST /ocsp— нэг endpoint; responder нь хүсэлтийн issuer hash-аар Personal/Organization CA-г өөрөө сонгоно. - CRL:
GET /crl(Personal CA),GET /crl/org(Organization CA). - Discovery:
GET /.well-known/eid— organization/seal endpoint-ууд жагсаагдсан.
5. Тохиргоо (сервер)¶
| Env | Утга |
|---|---|
SMARTID_HSMPROXY_ORG_KEY_LABEL |
Organization issuing CA-ийн HSM key label (хоосон бол Personal CA fallback) |
SMARTID_HSMPROXY_ORG_ISSUING_CERT |
Organization issuing CA cert (PEM зам) |
SMARTID_SEAL_QSCD |
true = e-Seal leaf түлхүүр HSM-д (QSCD; QcSSCD+QCP-l-qscd). hsmproxy CA provider + creds шаардана (эс бөгөөс fail-fast). false = software seal keys (QUALIFIED). Ceremony: docs/PKI_CA_ONBOARDING.md |
SMARTID_SEAL_KEY_PREFIX |
HSM seal key label угтвар (default eseal-; label = prefix + бүртгэлийн код) |
6. Аудит¶
Бүх үйлдэл audit_events-д: ORG_REGISTER, ORG_STATUS, ORG_REP_ADD/REMOVE,
ORG_REP_LOOKUP (аль RP хэний эрхийг шалгасан), ORG_ONBEHALF (OK/DENIED),
SEAL_CERT_ISSUE, ORG_SEAL (OK/DENIED).
7. Хязгаарлалт / дараагийн алхам¶
- УБЕГ/DAN-ийн хуулийн этгээдийн registry API холбогдоогүй — төлөөлөл одоогоор
MANUAL(баримтаар) эх сурвалжтай; API нээгдмэгцREGISTRYsync нэмнэ (Phase 0/1). - Staging-д org CA тохируулаагүй бол seal cert Personal CA-аас гарна (caFor fallback) — production-д Organization CA заавал (deploy/README.md cutover жагсаалт).
- e-Seal-ийн эрх зүйн статус (Монголын хуульд eIDAS "electronic seal"-ийн дүйцэл) хуулийн зөвлөхөөр тодруулах (ORG_AUTH_SIGN_PLAN §4).