G-Sign¶
Production · Capa 2 — Firma ·
Repositorio: sso-gerege-mn (gsign.gerege.mn/) · gsign.gerege.mn
La pasarela para estampar firmas electrónicas con validez jurídica en documentos. Escrita en Go, se apoya en el servicio de firma de eID Mongolia.
Qué hace¶
- Firmas PAdES — firma documentos PDF del lado del servidor.
- Sellado de tiempo — acredita el momento de la firma mediante una TSA RFC 3161.
- Sign-relay — permite que RP de terceros firmen documentos usando las credenciales eID de la propia plataforma.
- Certificados Document-Signer — certificados permanentes para firmar en nombre de una organización.
Dos tipos de firma¶
| Tipo | Quién firma | PIN | Para qué |
|---|---|---|---|
| Firma del ciudadano | El propio ciudadano | PIN2 | Contratos, solicitudes, peticiones — expresan la voluntad de una persona |
| Document-Signer | La organización (un sistema) | — | Certificaciones, constancias — acreditan el origen del documento |
No mezcle ambos tipos
Un certificado Document-Signer no expresa la voluntad de un ciudadano. Todo documento que exija el consentimiento del ciudadano debe llevar una firma ciudadana hecha con PIN2. Interpretar como consentimiento del ciudadano una firma estampada automáticamente por un sistema vulnera el principio de no repudio.
El flujo de firma¶
sequenceDiagram
participant RP as Aplicación RP
participant GS as G-Sign
participant EID as eID Mongolia
participant U as Teléfono del ciudadano
participant TSA as TSA
RP->>GS: PDF + solicitud de firma
GS->>EID: Iniciar sesión de firma
EID->>U: Push / QR — pedir PIN2
U-->>EID: Aprobación con PIN2
Note over EID,U: ECDSA de umbral 2-of-2 —<br/>ambas partes construyen la firma juntas
EID-->>GS: Valor de la firma
GS->>TSA: Solicitar sello de tiempo
TSA-->>GS: Token RFC 3161
GS-->>RP: PDF firmado (PAdES)
Verificación¶
Verificar una firma significa comprobar las tres cosas siguientes:
- La validez matemática de la firma — que el documento no se ha alterado.
- La validez del certificado — mediante OCSP/CRL, tal como estaba en el momento de firmar.
- El sello de tiempo — la prueba, vía TSA, de cuándo se estampó la firma.
El tercer punto es clave: aunque un certificado se revoque después, una firma hecha mientras era válido sigue siendo válida. Sin sello de tiempo eso no se puede demostrar.
Quién lo usa¶
- Gerege Platform y Template Platform — en sus circuitos documentales,
- RP de terceros — a través del sign-relay.
Documentación detallada¶
La documentación de implementación está en el directorio gsign.gerege.mn/ del
repositorio sso-gerege-mn.