Digital Credentials API objašnjen
Digital Credentials API je dogovor koji web-stranici omogućuje da vjerodajnicu zatraži izravno iz vašeg novčanika, preko preglednika i operacijskog sustava uređaja koji već držite u ruci. Na telefonu s vašim novčanikom ne pojavljuje se QR kod i nitko vas ne šalje u drugu aplikaciju i natrag. Dodirnete jednom, telefon vam pokaže tko traži, a vi odlučujete. Na prijenosnom računalu preglednik prikazuje vlastiti QR kod kako bi došao do vašeg telefona.
Zaobilaznica koju uklanja
Dosad je web-stranica koja je nešto htjela od novčanika morala nekako dostaviti zahtjev do njega. U praksi je to značilo QR kod na stranici ili poveznicu koja posjetitelja predaje aplikaciji i, nadajmo se, vraća ga natrag. Oboje funkcionira, a kod oboje ljudi odustaju na svakom koraku.
Najgore je na telefonu, gdje je QR kod na istom zaslonu kao kamera koja bi ga trebala skenirati. Digital Credentials API zatvara taj jaz tako što zahtjev pretvara u nešto što preglednik i operacijski sustav mogu sami prenijeti, jer već znaju koji su novčanici na uređaju.
Isti uređaj
Posjetitelj je na telefonu na kojem je novčanik. Upravo ovdje Digital Credentials API potpuno uklanja QR kod i prebacivanje između aplikacija.
Na dva uređaja
Posjetitelj je na prijenosnom računalu, a novčanik je na telefonu, pa ih nešto i dalje mora povezati. Razlika je u tome što taj kod može prikazati i njime upravljati sam preglednik.
Kako to izgleda u praksi
Za posjetitelja je to jedan dodir na stranici na kojoj već jest. U pozadini preglednik predaje zahtjev operacijskom sustavu, operacijski sustav pronalazi novčanike koji na njega mogu odgovoriti, a novčanik prikazuje zahtjev na odobrenje prije nego što se išta podijeli.
1. Web-stranica
Traži vjerodajnicu od preglednika umjesto da prikaže QR kod ili otvori aplikaciju
2. Preglednik i operacijski sustav
Utvrđuje koji novčanici na uređaju sadrže nešto odgovarajuće i nudi samo njih
3. Imatelj
Vidi tko traži i što, odabire novčanik te odobrava ili odbija
4. Ponovno web-stranica
Prima odobreni odgovor na istoj stranici koju posjetitelj nije ni napustio
Zašto je važno što je preglednik uključen
QR kod je komad papira ili slika na zaslonu i ne može vam reći tko ga je tamo stavio. Na tome počiva cijeli QR phishing: napadač zamijeni kod, novčanik se otvori i zahtjev izgleda posve normalno, jer ništa u procesu ne zna odakle je zapravo došao.
Kad zahtjev putuje kroz preglednik, upravo preglednik novčaniku govori koja web-stranica traži, i ne može ga se nagovoriti da laže. Novčanik imatelju može prikazati stvarnu stranicu, a odgovor se može vezati uz tu stranicu, pa kopija presretnuta negdje drugdje nikome ne koristi. To je značajno smanjenje izloženosti prijevarama, a ne samo glađi zaslon.
Kako se uklapa s OpenID4VP i EUDI Wallet
Lako je to shvatiti kao još jedan standard između kojih treba birati. Nije tako. OpenID4VP ostaje jezik kojim pouzdajuća strana kaže što joj treba i čita odgovor koji dobije natrag, a Digital Credentials API jednostavno je bolji put za taj razgovor, osobito kad se sve odvija na jednom uređaju.
Isto vrijedi i za samu vjerodajnicu. Atestacija iz EUDI Wallet ili mdoc stiže u točno onom formatu u kojem bi stigla preko skeniranog koda, pa se provjere koje verifikator već provodi ne mijenjaju. Tim dobiva mogućnost da preskoči zaobilaznicu, bez ponovne izgradnje ičega iza nje.
Podrška stiže preglednik po preglednik i platforma po platforma, a ne svugdje odjednom, zbog čega je pouzdajuće strane uvode uz skeniranje koda, a ne umjesto njega. Praktičan pristup je koristiti API ondje gdje ga uređaj nudi, a drugdje kod, te pustiti da rezervni put postupno nestane kako pokrivenost raste.
Što to znači za vas
Pouzdajuća strana
Manje ljudi odustaje od procesa jer su nestali koraci na kojima su prije odustajali, a preglednik novčaniku govori tko ste zapravo, čime se zatvara jedan put za phishing.
Imatelj novčanika
Jedan dodir na stranici na kojoj već jeste, pošteno ime onoga tko traži i nikakav način da stranica sazna koje novčanike imate, osim ako pristanete.
Pružatelj novčanika
Operacijski sustav nudi vaš novčanik kad god sadrži nešto odgovarajuće, pa to hoće li vas netko pronaći više ne ovisi o tome odluči li se pouzdajuća strana povezati na vas.
Tehničko produbljivanje
Ova stranica objašnjava što tehnologija radi i na koga se odnosi. Naša razvojna dokumentacija pokriva samu implementaciju: poruke, polja i razrađene primjere koji su potrebni integracijskom timu.
Pročitajte tehničku dokumentacijuPovezani pojmovi
Često postavljana pitanja
Znači li to kraj QR kodova?
Ne, sužava se njihova svrha i mijenja se tko ih iscrtava. Prijenos zahtjeva s prijenosnog računala na telefon i dalje treba nešto što povezuje ta dva uređaja, a API pokriva i taj slučaj: kod prikazuje preglednik umjesto da svaka web-stranica gradi vlastiti. Potpuno nestaje kod na telefonu koji već sadrži novčanik, gdje nikad nije bio ništa drugo nego zaobilazno rješenje.
Vidi li web-stranica koje novčanike imam instalirane?
Ne. Web-stranica opisuje što traži, a usporedbu obavlja operacijski sustav na uređaju. Stranica nikad ne saznaje koji su novčanici instalirani ni u kojima je pronađeno podudaranje. Ako odbijete, saznaje samo da se ništa nije vratilo, što za nju izgleda potpuno jednako kao da odgovarajuću vjerodajnicu uopće nemate.
Zamjenjuje li to OpenID4VP?
Ne, to dvoje radi zajedno. OpenID4VP je jezik na kojem su napisani zahtjev i odgovor, i on se ovdje ne mijenja. Digital Credentials API je put isporuke na uređaju, koji zamjenjuje QR kod ili prilagođenu poveznicu. Pouzdajuća strana koja već koristi OpenID4VP zadržava postojeću logiku zahtjeva i provjere.
Što pouzdajuća strana zapravo mora izgraditi?
Manje nego što većina timova očekuje, jer se mijenja samo frontend. Zahtjev koji stvara vaš backend i provjere koje provodi nad odgovorom ostaju isti. Dodajete poziv preglednika i, dok se podrška još širi, rezervni put putem QR koda za posjetitelje čiji preglednik ili uređaj još ne može koristiti API.
Izvori
Ova je stranica informativnog karaktera i ne predstavlja pravni savjet. Digital Credentials API još se razvija, pa za mjerodavan tekst provjerite izravno specifikaciju W3C.