Preskočiť na hlavný obsah

Digital Credentials API vysvetlené

Digital Credentials API je dohoda, vďaka ktorej môže webová stránka požiadať o kredenciál priamo z vašej peňaženky, cez prehliadač a operačný systém zariadenia, ktoré práve držíte v ruke. Na telefóne s vašou peňaženkou sa nezobrazí žiadny QR kód a nikto vás neposiela do inej aplikácie a späť. Raz ťuknete, telefón vám ukáže, kto žiada, a vy rozhodnete. Na notebooku zobrazí prehliadač vlastný QR kód, aby sa spojil s vaším telefónom.

Obchádzka, ktorú odstraňuje

Doteraz musela webová stránka, ktorá niečo chcela od peňaženky, nejako dostať žiadosť až k nej. V praxi to znamenalo umiestniť na stránku QR kód alebo otvoriť odkaz, ktorý návštevníka odovzdá aplikácii a snáď ho aj vráti späť. Oboje funguje a pri oboch sa ľudia strácajú na každom kroku.

Najhoršie je to na telefóne, kde je QR kód na tej istej obrazovke ako fotoaparát, ktorý ho má naskenovať. Digital Credentials API túto medzeru uzatvára tým, že zo žiadosti robí niečo, čo prehliadač a operačný systém dokážu doručiť samy, pretože už vedia, ktoré peňaženky sú v zariadení.

To isté zariadenie

Návštevník je na telefóne, v ktorom má peňaženku. Práve tu Digital Credentials API úplne odstraňuje QR kód aj prepínanie medzi aplikáciami.

Cez dve zariadenia

Návštevník je na notebooku a peňaženku má v telefóne, takže ich stále musí niečo prepojiť. Rozdiel je v tom, že tento kód dokáže zobraziť a spravovať samotný prehliadač.

Ako to vyzerá v praxi

Z pohľadu návštevníka ide o jediné ťuknutie na stránke, na ktorej už je. V pozadí prehliadač odovzdá žiadosť operačnému systému, operačný systém nájde peňaženky, ktoré na ňu vedia odpovedať, a peňaženka zobrazí žiadosť na schválenie skôr, než sa čokoľvek zdieľa.

1. Webová stránka

Namiesto zobrazenia QR kódu alebo otvorenia aplikácie požiada o kredenciál prehliadač

2. Prehliadač a operačný systém

Zistí, ktoré peňaženky v zariadení obsahujú niečo zodpovedajúce, a ponúkne len tie

3. Držiteľ

Vidí, kto žiada a o čo, vyberie peňaženku a schváli alebo odmietne

4. Opäť webová stránka

Dostane schválenú odpoveď na tej istej stránke, ktorú návštevník vôbec neopustil

Jedno ťuknutie, jedna stránka. Kým to držiteľ neschváli, webová stránka nedostane nič.

Prečo záleží na tom, že je zapojený prehliadač

QR kód je kus papiera alebo obrázok na obrazovke a nepovie vám, kto ho tam umiestnil. Na tom stojí celý QR phishing: útočník kód vymení, peňaženka sa otvorí a žiadosť vyzerá úplne normálne, pretože nič v procese nevie, odkiaľ v skutočnosti prišla.

Keď žiadosť ide cez prehliadač, peňaženke oznamuje, ktorá webová stránka žiada, práve prehliadač, a ten sa nedá prehovoriť, aby klamal. Peňaženka môže držiteľovi ukázať skutočnú stránku a odpoveď môže byť viazaná na túto stránku, takže kópia zachytená inde je pre každého bezcenná. To je citeľné zníženie rizika podvodov, nielen príjemnejšia obrazovka.

Ako to zapadá do OpenID4VP a EUDI Wallet

Ľahko sa to dá chápať ako ďalší štandard, medzi ktorými treba vyberať. Nie je to tak. OpenID4VP zostáva jazykom, ktorým spoliehajúca sa strana hovorí, čo potrebuje, a číta odpoveď, ktorú dostane späť. Digital Credentials API je jednoducho lepšia cesta, po ktorej môže táto komunikácia prebiehať, najmä keď sa všetko deje v jednom zariadení.

To isté platí aj pre samotný kredenciál. Atestácia z EUDI Wallet alebo mdoc príde presne v tom formáte, v akom by prišla cez naskenovaný kód, takže kontroly, ktoré overovateľ už vykonáva, sa nemenia. Tím získa možnosť obchádzku vynechať bez toho, aby za ňou čokoľvek prestavoval.

Podpora prichádza prehliadač po prehliadači a platforma po platforme, nie všade naraz, a preto ju spoliehajúce sa strany zavádzajú popri skenovaní kódu, nie namiesto neho. Praktický prístup je používať API tam, kde ho zariadenie ponúka, inde sa vrátiť ku kódu a nechať túto záložnú cestu s rastúcim pokrytím postupne ustúpiť.

Čo to znamená pre vás

Spoliehajúca sa strana

Menej ľudí proces opustí, pretože kroky, pri ktorých predtým odpadávali, zmizli, a prehliadač oznámi peňaženke, kto naozaj ste, čím sa uzatvára jedna cesta pre phishing.

Držiteľ peňaženky

Jedno ťuknutie na stránke, na ktorej už ste, pravdivé meno toho, kto žiada, a žiadna možnosť, aby sa stránka dozvedela, aké peňaženky máte, pokiaľ nesúhlasíte.

Poskytovateľ peňaženky

Operačný systém ponúkne vašu peňaženku vždy, keď obsahuje niečo vhodné, takže to, či vás niekto nájde, už nezávisí od toho, či sa spoliehajúca sa strana rozhodne na vás odkazovať.

Technické prehĺbenie

Táto stránka vysvetľuje, čo daná technológia robí a koho sa týka. Naša vývojárska dokumentácia pokrýva samotnú implementáciu: správy, polia a podrobné príklady, ktoré integračný tím potrebuje.

Prečítať si technickú dokumentáciu

Súvisiace pojmy

Často kladené otázky

Znamená to koniec QR kódov?

Nie, zužuje sa ich účel a mení sa to, kto ich vykresľuje. Presun žiadosti z notebooku do telefónu stále potrebuje niečo, čo tieto dve zariadenia prepojí, a API pokrýva aj tento prípad: kód zobrazí prehliadač, namiesto toho aby si každá webová stránka tvorila vlastný. Úplne zmizne kód na telefóne, ktorý už peňaženku obsahuje, kde nikdy nebol ničím iným ako provizóriom.

Uvidí webová stránka, ktoré peňaženky mám nainštalované?

Nie. Webová stránka opíše, o čo žiada, a porovnanie vykoná operačný systém priamo v zariadení. Stránka sa nikdy nedozvie, ktoré peňaženky sú nainštalované ani v ktorých sa našla zhoda. Ak odmietnete, dozvie sa len to, že sa nič nevrátilo, a to pre ňu vyzerá presne rovnako, ako keby ste zodpovedajúci kredenciál vôbec nemali.

Nahrádza to OpenID4VP?

Nie, oboje funguje spolu. OpenID4VP je jazyk, v ktorom je napísaná žiadosť aj odpoveď, a ten sa tu nemení. Digital Credentials API je cesta doručenia v zariadení, ktorá nahrádza QR kód alebo vlastný odkaz. Spoliehajúca sa strana, ktorá už OpenID4VP používa, si ponechá svoju existujúcu logiku žiadostí aj overovania.

Čo musí spoliehajúca sa strana v skutočnosti vybudovať?

Menej, než väčšina tímov očakáva, pretože sa mení len frontend. Žiadosť, ktorú vytvára váš backend, a kontroly, ktoré vykonáva nad odpoveďou, zostávajú rovnaké. Pridáte volanie prehliadača a, kým sa podpora ešte rozširuje, záložnú cestu cez QR kód pre návštevníkov, ktorých prehliadač alebo zariadenie API zatiaľ nepodporuje.

Zdroje

  1. W3C Digital Credentials API
  2. OpenID for Verifiable Presentations (OpenID4VP)

Táto stránka má informačný charakter a nepredstavuje právne poradenstvo. Digital Credentials API sa stále vyvíja, preto sa pre autoritatívne znenie obráťte priamo na špecifikáciu W3C.

Porozprávajte sa s nami o integrácii EUDI Wallet