
Digitalna identiteta in preverljive poverilnice
LutraID
Izdajanje in preverjanje digitalnih poverilnic z OpenID4VC, SD-JWT VC in ISO mdoc.
Izziv
Premik k eIDAS 2.0 in evropski denarnici za digitalno identiteto sili organizacije v izdajanje in preverjanje interoperabilnih digitalnih poverilnic, vendar je osnovni sklad OpenID4VC razdrobljen in ga je težko pravilno implementirati. Ekipe morajo uskladiti SD-JWT VC, ISO mdoc, DCQL, selektivno razkritje, vezavo na imetnika (holder binding) in profile HAIP, ob tem pa dokazati skladnost. Malo je produkcijsko dozorelih platform, ki te standarde povežejo za uporabnim operaterskim vmesnikom.
Kaj smo zgradili
Lutra Labs je razvil LutraID, platformo za izdajanje in preverjanje digitalnih dokumentov v družini standardov OpenID4VC. Zaledje implementira izdajanje po OpenID4VCI in preverjanje po OpenID4VP s formatoma SD-JWT VC in ISO mdoc/mDL, generiranje poizvedb DCQL ter nastavljive profile zagotovil (privzeti splošni profil generic-low in strožji tehnični profil, usmerjen v HAIP). Zahtevno kriptografsko plast obvladuje neposredno: platformno upravljane certifikate X.509 za izdajatelja in preverjevalca, dokaze poverilnic JWK in x5c, šifriranje zahtev in odgovorov z JWE prek ECDH-ES, vezavo na imetnika ter odstranjevanje sidrišč zaupanja iz izhodnih verig. Pravilnost preverja ob naboru testov za skladnost fundacije OpenID, sistem pa se dobavlja kot večnajemniški SaaS, samostojno gostovana izdaja in minimalna javna preizkusna izdaja iz enega samega monorepozitorija.
Poudarki
- Izdajanje po OpenID4VCI z dodelitvami pre-authorized-code in authorization-code, PAR/PKCE ter ponudbami poverilnic po vrednosti (by-value) ali po referenci (by-reference)
- Preverjanje po OpenID4VP prek podpisanih zahtevkov (request objects), DCQL ter načinov odgovora direct_post in direct_post.jwt
- Poverilnice SD-JWT VC in ISO mdoc/mDL s selektivnim razkritjem, vezavo na imetnika in platformno izdanimi podpisnimi identitetami X.509
- Šifrirano izdajanje s kompaktnim JWE (ECDH-ES z A128GCM/A256GCM) za zahtevo in odgovor poverilnice
- Profili zagotovil (generic-low in haip-technical), ki za posamezno organizacijo določajo dovoljene vrste dokazov, atestiranje in držo preverjevalca
- Preverjeno z naborom za skladnost izdajatelja OID4VCI in preverjevalca OID4VP fundacije OpenID, z izdajami SaaS, samostojno gostovano in javno
Rezultat
Pokriva scenarije skladnosti izdajatelja OID4VCI in preverjevalca OID4VP fundacije OpenID za SD-JWT VC, vključno s tokovi pre-authorized-code, authorization-code in HAIP direct_post.jwt.
Tehnološki sklad
- TypeScript
- Hono
- Next.js
- Drizzle ORM
- PostgreSQL
- Valkey
- BullMQ
- Better Auth
- Stripe
- jose
- dcql
- SD-JWT VC
- ISO mdoc / mDL
- OpenID4VCI
- OpenID4VP
- DCQL
- AWS KMS
- HashiCorp Vault
- Docker Compose
- Nx
- pnpm