Перейти к содержанию

G-Sign

Production · Слой 2 — Подпись · Репозиторий: sso-gerege-mn (gsign.gerege.mn/) · gsign.gerege.mn

Шлюз для проставления юридически значимой электронной подписи на документах. Написан на Go, построен поверх сервиса подписи eID Mongolia.

Что он делает

  • Подписи PAdES — подписывает PDF-документы на стороне сервера.
  • Отметка времени — заверяет момент подписания через TSA по RFC 3161.
  • Sign-relay — позволяет сторонним RP подписывать документы через собственные eID-учётные данные платформы.
  • Сертификаты Document-Signer — долгоживущие сертификаты для подписи от имени организации.

Два вида подписи

Вид Кто подписывает PIN Для чего
Подпись гражданина Сам гражданин PIN2 Договоры, заявления, запросы — выражают волю человека
Document-Signer Организация (система) Справки, свидетельства — подтверждают происхождение документа

Не смешивайте эти два вида

Сертификат Document-Signer не выражает воли гражданина. На документе, требующем согласия гражданина, обязательно должна стоять подпись гражданина, сделанная с PIN2. Трактовать подпись, автоматически проставленную системой, как согласие гражданина — значит нарушить принцип неотрекаемости.

Поток подписания

sequenceDiagram
    participant RP as Приложение RP
    participant GS as G-Sign
    participant EID as eID Mongolia
    participant U as Телефон гражданина
    participant TSA as TSA

    RP->>GS: PDF + запрос на подпись
    GS->>EID: Начать сессию подписи
    EID->>U: Push / QR — запрос PIN2
    U-->>EID: Подтверждение PIN2
    Note over EID,U: Пороговая ECDSA 2-of-2 —<br/>обе стороны создают подпись вместе
    EID-->>GS: Значение подписи
    GS->>TSA: Запрос отметки времени
    TSA-->>GS: Токен RFC 3161
    GS-->>RP: Подписанный PDF (PAdES)

Проверка

Проверка подписи означает контроль всех трёх пунктов:

  1. Математическая корректность подписи — документ не был изменён.
  2. Действительность сертификата — по OCSP/CRL, по состоянию на момент подписания.
  3. Отметка времени — доказательство через TSA того, когда подпись была поставлена.

Третий пункт важен: даже если сертификат позже отозван, подпись, сделанная пока он был действителен, остаётся действительной. Без отметки времени это недоказуемо.

Кто им пользуется

Подробная документация

Документация по реализации находится в каталоге gsign.gerege.mn/ репозитория sso-gerege-mn.