Як це працює

Від посвідчення до верифікованої атестації за сім етапів.

1. Посвідчення

Вхідними даними системи є посвідчення mdoc (ISO 18013-5), підписане COSE_Sign1. Це формат мобільних документів, що використовується для водійських посвідчень та національних ID в ЄС. Кожне посвідчення містить поля (ім'я, дата народження, громадянство), підписані інстанцією-видавцем. SD-JWT наразі не підтримується бекендом доведення Longfellow.

2. Розбір

Довідник витягує окремі поля та публічний ключ видавця з CBOR-структури. Дати конвертуються у порівнювані значення, рядки стають входами схеми. Парсер обробляє елементи DeviceSigned та IssuerSigned відповідно до ISO 18013-5.

3. Доведення

Longfellow (Sumcheck + Ligero) генерує доказ з нульовим знанням. Підпис COSE перевіряється нативно всередині довідника — без окремої схеми. Доказ демонструє, що предикат виконується (напр., вік >= 18) без розкриття вхідних даних. ~360 КБ доказ, ~1.2с генерація + ~0.7с верифікація на сервері, без довіреної ініціалізації. Система доведення квантово-стійка: всі зобов'язання базуються на хешах, без церемонії на основі пейрингів.

Кожен доказ включає нуліфікатор — детерміністичний хеш, що запобігає повторному використанню того ж посвідчення для тієї ж мети, без розкриття ідентичності власника. Прив'язка власника пов'язує доказ з конкретним пристроєм або сесією.

Підтримувані предикати: більше-або-дорівнює (>=), менше-або-дорівнює (<=), рівність (==), нерівність (!=), діапазон (low <= x <= high) та належність до множини (x in {a, b, c}).

4. Зберігання

Доказ адресується контентом через SHA-256 і зберігається за CID (ідентифікатором контенту). Розміром ~360 КБ, докази занадто великі для QR-кодів (~3 КБ макс). Рівень зберігання утримує докази до їх верифікації та атестації. Майбутнє: IPFS для децентралізованого зберігання.

5. Атестація

Кваліфікований довірений постачальник послуг перевіряє доказ і видає Кваліфіковану Електронну Атестацію Атрибутів (QEAA). Атестація — це W3C Verifiable Credential, підписаний ECDSA P-256. Розміром ~1-2 КБ, вона поміщається в один QR-код. Це ключова інновація: атестація має юридичну вагу за статтею 45d eIDAS 2.0.

6. Верифікація

Два шляхи верифікації: (1) Повна ре-верифікація — отримати доказ за CID і повторно запустити верифікатор Longfellow. Бездовірчо, але потребує з'єднання. (2) Перевірка атестації — перевірити підпис TSP (ECDSA) на QEAA. Швидко, працює офлайн, юридично зобов'язуюче. QR-код на паперовому документі містить атестацію.

7. Розкриття ескроу

Ескроу ідентичності забезпечує підзвітність без повсякденного стеження. Поля посвідчення зашифровані AES-256-GCM. Симетричний ключ інкапсульований ML-KEM-768 (пост-квантовий) до публічного ключа TSP. За рішенням суду або арбітражу TSP дешифрує і розкриває ідентичність власника. Без рішення суду зашифровані поля безглузді — навіть TSP не може їх прочитати без юридичного дозволу на використання свого приватного ключа.

Стандарти та відповідність

Розроблено нативно для eIDAS 2.0 — не адаптовано. Кожен криптографічний примітив схвалений SOG-IS.

eIDAS 2.0

Рамка цифрової ідентичності ЄС, що зобов'язує цифрові гаманці для всіх громадян ЄС. zk-eidas підтримує профіль PID, визначений у Architecture Reference Framework.

SD-JWT (RFC 9901) / SD-JWT VC

Selective Disclosure для JWT (RFC 9901). Наразі не підтримується бекендом доведення Longfellow. mdoc (ISO 18013-5) є підтримуваним форматом посвідчень для v2.0.

mdoc / mDL (ISO 18013-5)

Формат мобільних документів з підписами COSE_Sign1 (ISO 18013-5). Основний формат посвідчень для zk-eidas v2.0. Longfellow перевіряє підписи COSE_Sign1 нативно під час генерації доказу.

ECDSA P-256 (secp256r1)

Алгоритм підпису, визначений для mdoc (COSE_Sign1). Крива P-256, перевіряється нативно довідником Longfellow для кожного доказу.

OpenID4VP

Транспортний протокол для запиту та отримання ZK доказів від EUDI Wallets.

EUDI Wallet ARF

Сумісний з Architecture Reference Framework (ARF) профілями PID та mDL. Тести відповідності валідують саме ARF схеми посвідчень.

SOG-IS Compliance

Всі криптографічні примітиви (ECDSA P-256, SHA-256, AES-256-GCM, ML-KEM-768) затверджені SOG-IS або стандартизовані NIST. Система доведення (Sumcheck+Ligero) використовує лише хеш-засновані зобов'язання — без довіреної ініціалізації на основі пейрингів.

POTENTIAL LSP

Вирівняно зі специфікаціями пілоту великого масштабу POTENTIAL для транскордонної верифікації посвідчень.

Порівняння підходів

Чотири підходи до приватності пред'явлення посвідчень — лише один задовольняє всі вимоги eIDAS 2.0.

КритерійSD-JWT VCBBS+Пакетна видачаZK (zk-eidas)
Незв'язуваність Підпис постійний Похідні докази Обмежено N копіями Унікальний для кожного пред'явлення
Селективне розкриття Хеші по полях Нативне Повне посвідчення Булеві предикати
Предикати (напр., вік≥18) Розкриває сире значення Розкриває сире значення Розкриває сире значення Доводить без розкриття
Схвалена SOG-IS криптографія ECDSA P-256 Не схвалено ECDSA P-256 ECDSA P-256 + SHA-256
Офлайн верифікація
Формат посвідченняНативний SD-JWTПотрібен новий форматНативний SD-JWTНативний mdoc
Розмір доказуПовні розкриті поля~200 байтПовні розкриті поля~360 КБ (QEAA: ~1-2 КБ)

SD-JWT VC: RFC 9901. Селективне розкриття через хеші з сіллю, але підпис видавця постійний у всіх пред'явленнях — стійкий маркер кореляції.

BBS+: Математично обґрунтована незв'язуваність, але використовує білінійні спарювання, відсутні у переліку SOG-IS. Відхилено Європейською Комісією для EUDI Wallets.

Пакетна видача: кілька копій посвідчень з ротацією ключів. Зберігання масштабується лінійно з N, відкликання стає по-копійним, N треба визначити заздалегідь.

GDPR: Приватність за дизайном

zk-eidas реалізує принцип мінімізації даних GDPR на криптографічному рівні. Докази з нульовим розголошенням розкривають лише булеві результати предикатів — ніколи сирі персональні дані.

Мінімізація даних

Докази розкривають лише булеві результати. Жодне сире значення не залишає власника.

Обмеження цілей

Кожен доказ прив'язаний до конкретного предиката. Верифікатор не може використати його для інших перевірок.

Нуль зберігання

Бібліотека не зберігає персональних даних. Докази тимчасові. Нічого для витоку.

Спробувати пісочницю