Flux pe același dispozitiv vs între dispozitive
Pe același dispozitiv și între dispozitive sunt cele două forme pe care le ia același schimb în OpenID4VCI și OpenID4VP: portofelul și site-ul pe un singur telefon, cu predarea făcută printr-un deep link sau o redirecționare, sau site-ul pe un computer și portofelul pe un telefon, conectate printr-un cod QR.
Într-un flux pe același dispozitiv, portofelul și site-ul sau aplicația se află pe același telefon. Site-ul predă vizitatorul printr-un deep link sau o redirecționare, portofelul se deschide, persoana aprobă ce i se cere, iar portofelul o trimite înapoi pe site pe drumul pe care a venit. OpenID4VP returnează prezentarea în fragmentul acelei redirecționări, astfel încât sesiunea de browser care a început schimbul este cea care îl încheie.
Într-un flux între dispozitive, vizitatorul începe într-un browser pe computer, în timp ce portofelul se află pe telefon. Site-ul afișează cererea ca un cod QR, portofelul îl scanează și trimite rezultatul direct către backendul site-ului, nu către browserul de pe birou. Pagina de pe computer trebuie apoi anunțată că schimbul s-a încheiat, de obicei prin polling sau printr-un websocket, motiv pentru care un flux între dispozitive implică întotdeauna backendul.
Ambele protocoale presupun că le suportați pe amândouă. OpenID4VP le numește drept cele două fluxuri ale sale, iar OpenID4VCI descrie aceeași împărțire pentru un Credential Offer, care poate ajunge la deținător pe dispozitivul pe care se află portofelul sau pe orice alt canal. Fluxul pe care îl primește un vizitator depinde de locul în care se află, nu de o setare aleasă o singură dată, așa că un serviciu destinat publicului are nevoie ca ambele căi să funcționeze.
Experiența utilizatorului diferă ca efort și ca moduri de eșec. Fluxul pe același dispozitiv este calea mai scurtă: fără al doilea ecran, fără cameră, fără predare între dispozitive. Fluxul între dispozitive costă o scanare, dar îl păstrează pe vizitator pe ecranul mare pe care lucra deja și este singura opțiune când portofelul nu se află pe dispozitivul pe care se lucrează. Un flux pe același dispozitiv eșuează când nu este instalat niciun portofel sau deep linkul deschide aplicația greșită, iar un flux între dispozitive eșuează când codul expiră sau telefonul nu are conexiune.
Diferența de securitate este reală și favorizează fluxul pe același dispozitiv. Deoarece portofelul returnează răspunsul printr-o redirecționare pe propriul dispozitiv, un atacator care copiază cererea nu are cum să preia răspunsul. Un răspuns între dispozitive circulă în afara browserului către backendul site-ului, așa că site-ul însuși trebuie să lege codul de sesiunea de browser care l-a afișat. Fără această legătură, cineva poate lua un cod dintr-o sesiune pe care o controlează, îl poate pune în fața unei victime și poate face ca credențialele victimei să finalizeze autentificarea atacatorului.
Un cod QR este și o suprafață de phishing, pentru că codul în sine nu îi arată celui care îl citește nimic despre cine cere. Portofelul, nu codul, trebuie să afișeze identitatea verificatorului și cererea exactă înainte de a partaja ceva. IETF are o best current practice dedicată acestei clase de atacuri în fluxurile între dispozitive, iar OpenID4VCI adaugă un cod de tranzacție unei oferte din același motiv: codul sosește pe canalul care l-a autentificat deja pe deținător, astfel încât o ofertă interceptată pe drum nu poate fi revendicată de altcineva.
Citiți explicația completă
Această pagină oferă definiția pe scurt. Explicația noastră arată ce înseamnă în practică: cine este implicat, cum funcționează și ce se schimbă pentru organizația dumneavoastră.
Fluxurile pe același dispozitiv și între dispozitive explicateTrebuie să suport ambele fluxuri?
Dacă serviciul dvs. este deschis publicului, da. Alegerea este determinată de locul în care se află vizitatorul și de dispozitivul pe care are portofelul, nu de o preferință pe care o configurați. Un instrument de back office folosit doar de pe un computer gestionat poate porni doar cu fluxul între dispozitive, iar o aplicație exclusiv mobilă poate porni doar cu fluxul pe același dispozitiv, dar orice serviciu la care un cetățean sau un client ajunge în propriii termeni le va întâlni pe amândouă.
Este un flux între dispozitive mai puțin sigur decât unul pe același dispozitiv?
Nu în mod inerent, dar are nevoie de o protecție pe care fluxul pe același dispozitiv o are gratuit. Pe același dispozitiv, răspunsul revine printr-o redirecționare pe dispozitivul pe care rulează portofelul, deci nu poate fi deviat către sesiunea altcuiva. Între dispozitive, răspunsul este trimis către backendul dvs. în afara browserului, așa că trebuie să legați codul QR de sesiunea de browser care l-a afișat și să refuzați un rezultat care sosește pentru orice altă sesiune.
Implementate corect, cele două sunt comparabile. Fără această protecție, fluxul între dispozitive este cel care poate fi redirecționat către o victimă.