Sama seadme ja seadmeülesed vood selgitatud
Iga kord, kui rahakott veebilehele midagi tõendab, peavad need kaks teineteist leidma. Mõnikord on nad juba samas telefonis ja üleandmine on üksainus puudutus. Mõnikord on veebileht laual ja rahakott taskus ning ainus sild nende vahel on kood ekraanil. Need on sama seadme ja seadmeülesed vood, ning peaaegu iga praktiline küsimus digitaalsete tõendite kohta taandub sellele, kumbas neist te olete.
Sama vahetuse kaks kuju
Mõlemal vool on ühine kõik, mis ettevõtte jaoks loeb: esitatakse sama küsimus, sama inimene kinnitab selle ja tagasi tuleb sama tõend. Miski selles, mida teil on lubatud küsida või millele saate hiljem tugineda, ei sõltu sellest, kumbas voos te olete.
Erineb marsruut. Ühel juhul on rahakott ühe puudutuse kaugusel ja annab vastuse otse küsinud lehele tagasi. Teisel juhul liigub vastus teisest seadmest teie serveritesse ja lehele, mida inimene vaatab, tuleb teada anda, et vastus on kohale jõudnud.
Sama seade
Üks telefon. Veebileht ja rahakott samal ekraanil.
- Külastaja on veebilehel oma telefoni brauseris ja palub midagi tõendada.
- Veebileht avab rahakoti süvalingi või ümbersuunamise abil.
- Rahakott näitab, kes küsib ja mille jaoks, ning külastaja kinnitab.
- Rahakott suunab külastaja vastusega tagasi veebilehele, samasse brauserisessiooni, kust kõik algas.
Seadmeülene
Kaks seadet. Veebileht arvutis, rahakott telefonis.
- Külastaja on veebilehel arvuti brauseris ja palub midagi tõendada.
- Veebileht kuvab QR-koodi, mis sisaldab päringut.
- Telefonis olev rahakott skaneerib koodi, näitab, kes küsib, ja külastaja kinnitab.
- Rahakott saadab vastuse veebilehe taustsüsteemile, mis annab arvutis avatud lehele teada, et vahetus on lõpetatud.
Millal kumbki toimub
Teie ei saa valida. Klient, kes avab teie liitumislehe tööle sõites telefonis, on sama seadme voos. Sama klient, kes täidab sama vormi järgmisel hommikul laua taga lõpuni, on seadmeüleses voos. Rahakott asub telefonis, nii et voog järgib seda, kus ülejäänud töö parajasti toimub.
Seepärast kirjeldavad Euroopa ökosüsteemi mõlemad protokollid mõlemat voogu. Esitamine, kus palute kellelgi midagi tõendada, nimetab kaks voogu otsesõnu. Väljastamine, kus annate kellelegi tõendi, teeb sama eristuse pakkumise puhul, millest kõik algab: see võib ilmuda seadmesse, kus rahakott on, või jõuda kohale mis tahes muul teel, kuni trükitud koodiga kirjani välja.
Teenus, mida kasutatakse ainult teie enda organisatsioonis hallatud lauaarvutites, võib mõistlikult alustada ühe vooga. Kõik, millele kodanik või klient jõuab omal käel, vajab mõlemat, ja teenust, mis töötab ainult ühel viisil, peetakse katkiseks, mitte toetamata.
Mida kumbki kasutajale maksma läheb
Sama seadme voog on lühem tee. Pole teist ekraani, pole kaamerat, pole hetke, kus pilk liigub ühest seadmest teise, ja inimene jõuab tagasi sinna, kust alustas. Kui see ebaõnnestub, juhtub see tavaliselt varakult ja nähtavalt: rahakotti pole paigaldatud või link avab midagi, mis pole üldse rahakott.
Seadmeülene voog nõuab skaneerimist, kuid annab midagi päris väärtuslikku. Inimene jääb suurele ekraanile, kus ta täitis pikka vormi, luges lepingut või võrdles valikuid, ja telefoni liigub ainult tõend ise. Kõige puhul, mis nõuab üle minuti trükkimist, on see parem koht.
Selle tõrked on vaiksemad ja neid tasub disainis arvestada. Kood, mis aegus, kuni keegi telefoni otsis, telefon, millel pole levi, kaamera, mis ei teravusta. Koodi kuvav leht peaks ütlema, kui kaua see kehtib, pakkuma uut koodi ilma all olevat vormi kaotamata ega tohiks kunagi jätta inimest arvama, kas midagi juhtus.
Kus need kaks tõeliselt erinevad: turvalisus
Sama seadme voos tuleb vastus tagasi sama teed, mida mööda inimene läks: ümbersuunamisena, seadmes, kus rahakott töötab, brauserisessiooni, mis vahetuse alustas. Keegi, kes kopeerib päringu oma ekraanilt, ei saa tulemust kätte, sest see toimetatakse seadmesse, milles kinnitus anti.
Seadmeüleses voos ei tule vastus üldse brauseri kaudu tagasi. See liigub telefonist teie serveritesse, koodi kuvanud lehe vaateväljast väljas. Just see on lünk: kui te ei seo koodi seda kuvanud sessiooniga, ei suuda teie teenus eristada enda ees olevat inimest kellestki, kes pani sama koodi ohvri ette ja ootas.
Sellel rünnakul on nimi ja lahendus. Kood peab kuuluma ühele ja ainult ühele sessioonile ning tulemus, mis saabub mõnele muule sessioonile, tuleb tagasi lükata. Disainietapis on see mõne rea jagu mõtlemist ja vahele jättes teadaolev auk, mistõttu IETF kirjutas seadmeüleste voogude jaoks parima praktika dokumendi, selle asemel et jätta see iga teostuse hooleks.
Teine risk on õngitsus ja see on seotud koodi endaga. Must-valge ruut ei ütle inimesele midagi selle kohta, kes teisel pool on, seega on kleebisele trükitud ja päris koodi peale kleebitud kood usutav rünnak. Kaitse seisneb selles, et küsiva organisatsiooni nimetab ja täpselt soovitu loetleb rahakott, mitte kood, enne kui midagi jagatakse. Väljastamine lisab veel ühe luku: pakkumine võib nõuda lühikest koodi, mis saadetakse kanalis, mis on inimese juba tuvastanud, nii et teel kinni püütud pakkumist ei saa keegi teine lunastada.
Mida see sinu jaoks tähendab
Tuginev osapool
Planeerige mõlemat algusest peale. Lisatöö on teie esirakenduses ja koodi sessiooniga sidumises, mitte teises integratsioonis, ning sidumise hilisem juurdeehitamine on just see osa, mis läheb valesti.
Väljastaja
Otsustage, kuidas teie pakkumine inimesteni jõuab. Ekraanil sisselogimise kõrval, e-kirjas või paberil: igaüks satub erinevasse voogu ja need, mis lahkuvad teie kanalist, vajavad lunastamiseks eraldi koodi.
Rahakoti valdaja
Lugege seda, mida näitab rahakott, mitte seda, mida väidab leht või kood. Rahakott on ainus koht, mis nimetab, kes küsib ja mida ta tahab, ning see on viimane hetk, mil saate ei öelda.
Seotud mõisted
Korduma kippuvad küsimused
Kes otsustab, millist voogu kasutatakse?
Seda otsustab olukord, mitte seadistus. Kui inimene on juba seadmes, kus tema rahakott asub, annab veebileht otse üle. Kui ta on arvutis ja rahakott on taskus, on ainus sild skaneeritav kood. Avalikkusele avatud teenus puutub mõlemaga kokku juba esimesel nädalal.
Kas mõlema toetamine tähendab, et kõik tuleb ehitada kaks korda?
Ei. Päring, mille te esitate, ja vastus, mida kontrollite, on mõlemal juhul samad. Erineb see, kuidas päring rahakotini jõuab ja kuidas vastus teie lehele tagasi tuleb: ümbersuunamine, mida brauser järgib, või kood ekraanil koos viisiga, kuidas leht saab teada, et vahetus lõppes. Praktikas on see üks lisarada teie esirakenduses, mitte teine integratsioon.
Kas QR-koodi on selleks turvaline kasutada?
See on turvaline, kui vahetus selle ümber on korralikult üles ehitatud. Kood üksi ei ütle inimesele midagi selle kohta, kes küsib, seega peavad kehtima kaks asja: rahakott peab enne andmete jagamist näitama küsiva organisatsiooni identiteeti ja teie teenus peab keelduma vastusest, mis saabub mõnele muule sessioonile kui sellele, mis koodi kuvas. Mõlemad on tavapärane praktika ja mõlemad on spetsifikatsioonides kirjas.
Kas kontroll teeninduslauas on seadmeülene voog?
Ei, see on kolmas juhtum. Sama seadme voog ja seadmeülene voog kirjeldavad mõlemad vahetust interneti kaudu. Silmast silma toimuv kontroll, kus kaks seadet hoitakse teineteise kõrval, kasutab selle asemel Bluetoothi või NFC kaudu töötavat lähiühenduse standardit. Telefoni hoidvale inimesele näeb see sarnane välja, kuid midagi ei liigu teie veebilehe kaudu.
Allikad
See leht on informatiivne ega ole õigusnõuanne. Autoriteetsete juhiste saamiseks tutvuge otse OpenID ja IETF spetsifikatsioonidega.