Tijek na istom uređaju i tijek između uređaja objašnjeni
Svaki put kad novčanik nešto dokazuje web-stranici, njih dvoje se moraju pronaći. Ponekad su već na istom telefonu i predaja je jedan dodir. Ponekad je web-stranica na stolu, a novčanik u džepu, i jedini most između njih je kod na zaslonu. To su tijek na istom uređaju i tijek između uređaja, a gotovo se svako praktično pitanje o digitalnim vjerodajnicama svodi na to u kojem ste od ta dva.
Dva oblika iste razmjene
Oba tijeka dijele sve što je poslovanju važno: postavlja se isto pitanje, ista ga osoba odobrava i vraća se isti dokaz. Ništa od onoga što smijete tražiti niti onoga na što se poslije možete osloniti ne ovisi o tome u kojem ste tijeku.
Razlikuje se put. U jednom je novčanik udaljen jedan dodir i odgovor vraća izravno stranici koja je pitala. U drugom odgovor putuje s drugog uređaja na vaše poslužitelje, a stranici koju osoba gleda netko mora javiti da je stigao.
Na istom uređaju
Jedan telefon. Web-stranica i novčanik na istom zaslonu.
- Posjetitelj je na stranici u pregledniku na telefonu i traži da nešto dokaže.
- Stranica otvara novčanik dubokom poveznicom ili preusmjeravanjem.
- Novčanik prikazuje tko traži i zašto, a posjetitelj odobrava.
- Novčanik preusmjerava natrag na stranicu s odgovorom, u istu sesiju preglednika u kojoj je sve počelo.
Između uređaja
Dva uređaja. Web-stranica na računalu, novčanik na telefonu.
- Posjetitelj je na stranici u pregledniku na računalu i traži da nešto dokaže.
- Stranica prikazuje QR kod koji sadrži zahtjev.
- Novčanik na telefonu skenira kod, prikazuje tko traži, a posjetitelj odobrava.
- Novčanik šalje odgovor pozadinskom sustavu stranice, koji javlja stranici na računalu da je razmjena završena.
Kada se koji događa
Ne birate vi. Klijent koji na putu do posla otvori vašu stranicu za uključivanje na telefonu nalazi se u tijeku na istom uređaju. Isti klijent koji sljedećeg jutra za stolom dovršava isti obrazac nalazi se u tijeku između uređaja. Novčanik živi na telefonu, pa tijek prati mjesto na kojem se odvija ostatak posla.
Zato oba protokola u europskom ekosustavu opisuju oba tijeka. Predočavanje, kada od nekoga tražite da nešto dokaže, izričito imenuje ta dva tijeka. Izdavanje, kada nekome predajete vjerodajnicu, pravi istu razliku za ponudu kojom sve počinje: ona se može pojaviti na uređaju na kojem je novčanik ili stići bilo kojim drugim putem, sve do pisma s ispisanim kodom.
Usluga koja se koristi samo unutar vaše organizacije, na upravljanim računalima, razumno može krenuti s jednim tijekom. Sve do čega građanin ili klijent dolazi na vlastiti način treba oba, a usluga koja radi samo na jedan način bit će prijavljena kao neispravna, a ne kao nepodržana.
Što svaki od njih traži od osobe koja ga koristi
Tijek na istom uređaju kraći je put. Nema drugog zaslona, nema kamere, nema gledanja s jednog uređaja na drugi, a osoba se na kraju vraća tamo gdje je počela. Kada zakaže, obično zakaže rano i vidljivo: novčanik nije instaliran ili poveznica otvara nešto što uopće nije novčanik.
Tijek između uređaja košta jedno skeniranje, ali donosi nešto stvarno. Osoba ostaje na velikom zaslonu na kojem je ispunjavala dugi obrazac, čitala ugovor ili uspoređivala opcije, a na telefon prelazi samo sam dokaz. Za sve što zahtijeva više od minute tipkanja, to je bolje mjesto.
Njegovi su kvarovi tiši i vrijedi ih uzeti u obzir pri dizajnu. Kod koji je istekao dok je netko tražio telefon, telefon bez signala, kamera koja ne izoštrava. Stranica koja prikazuje kod treba reći koliko dugo vrijedi, ponuditi novi bez gubitka obrasca ispod njega i nikada ne ostaviti osobu da nagađa je li se išta dogodilo.
Gdje se dva tijeka stvarno razlikuju: sigurnost
U tijeku na istom uređaju odgovor se vraća putem kojim je osoba otišla: preusmjeravanjem, na uređaju na kojem radi novčanik, u sesiju preglednika koja je započela razmjenu. Netko tko kopira zahtjev sa svog zaslona nema način da primi rezultat, jer se on isporučuje uređaju na kojem je dano odobrenje.
U tijeku između uređaja odgovor se uopće ne vraća kroz preglednik. Ide s telefona na vaše poslužitelje, izvan vidokruga stranice koja je prikazala kod. U tome je rupa: ako kod ne vežete uz sesiju koja ga je prikazala, vaša usluga ne može razlikovati osobu ispred sebe od nekoga tko je isti kod stavio pred žrtvu i pričekao.
Taj napad ima ime i lijek. Kod mora pripadati jednoj i samo jednoj sesiji, a rezultat koji stigne za bilo koju drugu sesiju mora se odbiti. To je nekoliko redaka razmišljanja u fazi dizajna i poznata rupa ako se preskoči, zbog čega je IETF napisao najbolju trenutačnu praksu za tijekove između uređaja umjesto da to prepusti svakoj implementaciji.
Drugi rizik je phishing, a on pripada samom kodu. Crno-bijeli kvadrat osobi ne govori ništa o tome tko je s druge strane, pa je kod otisnut na naljepnici i zalijepljen preko pravoga uvjerljiv napad. Obrana je da novčanik, a ne kod, imenuje organizaciju koja traži i navodi točno što želi prije nego što se išta podijeli. Izdavanje dodaje još jednu bravu: ponuda može zahtijevati kratki kod dostavljen kanalom koji je osobu već identificirao, pa ponudu presretnutu u prijenosu nitko drugi ne može iskoristiti.
Što to znači za vas
Strana koja se oslanja
Planirajte oba tijeka od početka. Dodatni posao je u vašem sučelju i u vezivanju koda uz sesiju, a ne u drugoj integraciji, a naknadno dodavanje tog vezivanja upravo je dio koji pođe po zlu.
Izdavatelj
Odlučite kako vaša ponuda dolazi do ljudi. Na zaslonu uz prijavu, u e-poruci ili na papiru, svaki put vodi u drugi tijek, a oni koji napuštaju vaš kanal upravo su oni kojima za iskorištavanje treba zaseban kod.
Imatelj novčanika
Čitajte ono što prikazuje novčanik, a ne ono što tvrdi stranica ili kod. Novčanik je jedino mjesto koje imenuje tko traži i što želi, i posljednja točka na kojoj možete reći ne.
Povezani pojmovi
Često postavljana pitanja
Tko odlučuje koji se tijek koristi?
Odlučuje situacija, a ne postavka. Ako je osoba već na uređaju na kojem joj je novčanik, stranica je izravno predaje novčaniku. Ako je za računalom, a novčanik joj je u džepu, jedini put do njega je kod koji treba skenirati. Javno dostupna usluga susrest će oba slučaja već u prvom tjednu.
Znači li podrška za oba tijeka da sve gradimo dvaput?
Ne. Zahtjev koji šaljete i odgovor koji provjeravate isti su u oba slučaja. Razlikuje se samo kako zahtjev stiže do novčanika i kako se odgovor vraća na vašu stranicu: preusmjeravanjem koje preglednik slijedi ili kodom na zaslonu uz način na koji ta stranica sazna da je razmjena završena. U praksi je to jedan dodatni put u vašem sučelju, a ne druga integracija.
Je li QR kod siguran za ovo?
Siguran je ako je razmjena oko njega ispravno izgrađena. Sam kod osobi ne govori ništa o tome tko traži, pa moraju vrijediti dvije stvari: novčanik mora prikazati identitet organizacije koja traži prije nego što se išta podijeli, a vaša usluga mora odbiti odgovor koji stigne za neku drugu sesiju, a ne onu koja je prikazala kod. Oboje je uobičajena praksa i oboje je zapisano u specifikacijama.
Je li provjera na šalteru tijek između uređaja?
Nije, to je treći slučaj. Tijek na istom uređaju i tijek između uređaja opisuju razmjenu preko interneta. Provjera licem u lice, kod koje se dva uređaja drže jedan uz drugi, umjesto toga koristi standard za blizinu preko Bluetootha ili NFC-a. Osobi koja drži telefon izgleda slično, ali ništa ne prolazi kroz vašu web-stranicu.
Izvori
Ova je stranica informativnog karaktera i ne predstavlja pravni savjet. Za mjerodavne smjernice obratite se izravno specifikacijama OpenID i IETF.