Na WordPress sajtu, u web shopu ili u vlastitoj aplikaciji, passkey prijava zamjenjuje lozinku koju ljudi iznova kucaju, ponavljaju na drugim sajtovima i zatim zaborave. Privatni ključ ostaje na uređaju koji ta osoba kontroliše. Vaš server čuva javni ključ i identifikator kredencijala, a ne dijeljenu tajnu. Lažna stranica za prijavu nema šta da pokupi i ponovo upotrijebi, jer se tajna nikako ne kuca u formu.

CodeWiz dodaje registraciju, prijavu, oporavak i rezervnu lozinku koja ostaje prvog dana. OAuth, JSON Web Token i single sign-on drugi su posao, opisan u članku o razvoju sistema za autentifikaciju. Ovaj članak pokriva samo jednu stvar: passkey prijava.

Namijenjen je shopovima koje zatrpava email za reset, kancelarijama u kojima više ljudi dijeli jedan računar, i timovima sa vlastitom aplikacijom. CodeWiz je 2023. osnovao Dragan Plavšić u Banjoj Luci. Gradimo autentifikaciju, WordPress i shopove za klijente u blizini i u inostranstvu, i radimo na daljinu.

Krupni plan ekrana telefona na kojem passkey prijava zamjenjuje lozinku

Šta passkey prijava zamjenjuje na sajtu

Passkey je WebAuthn kredencijal za jedan relying party, a to je vaš sajt. Telefon, laptop ili hardverski ključ drži privatni ključ i potpisuje svjež izazov. Osoba taj potpis otključava otiskom prsta, licem ili PIN-om uređaja.

Za kupce koji se vraćaju, passkey prijava zauzima mjesto lozinke koju ponavljaju od shopa do shopa. Zamjenjuje i lozinku osoblja na wp-login i polje za lozinku u vašoj sesiji. Ne zamjenjuje autorizaciju: uloge i narudžbe i dalje odlučuju šta ta osoba smije. Prije prvog kredencijala i dalje treba dokaz da email pripada toj osobi, a gostujuća kupovina ostaje bez ikakvog upita.

Preglednik veže potpis za stvarni origin. Sajt koji samo liči na vaš ne dobija lozinku koju može ponovo poslati, jer je u ceremoniji nema. Time nestaje dijeljena tajna i otežava se phishing lozinke. Slab email za oporavak, otključan telefon ili zlonamjerni program na uređaju kojem osoba već vjeruje i dalje mogu nanijeti štetu.

Gdje passkey prijava stoji

Sinhronizovana passkey prijava šifrovana je i kopira se na uređaje te osobe preko platforme ili password managera. To rade Apple iCloud Keychain, Google Password Manager, Microsoft nalog na Windowsu i alati poput 1Passworda ili Bitwardena. Novi telefon na istom nalogu može ponovo doći do vašeg sajta, pa oporavak tog platformskog naloga mora biti čvrst.

Kredencijal vezan za uređaj nikad ne napušta authenticator koji ga je napravio. Hardverski sigurnosni ključevi rade tako, a platforma može napraviti i ključ koji ne želite da se kopira. Ako taj predmet nestane, nestaje i taj kredencijal, osim ako je drugi već registrovan ili postoji put oporavka koji ste sami predvidjeli.

Čuvajte javni ključ, identifikator kredencijala, identifikator korisnika, brojač potpisa kad authenticator pošalje jedan, i WebAuthn zastavice za backup. Te zastavice kažu smije li se ključ sinhronizovati i jeste li već sačuvan. Ispis te tabele nije spisak lozinki. Svaki kredencijal imenujte po uređaju i dozvolite vlasniku da ga ukloni.

Srebrna tastatura laptopa i trackpad na bijelom mermernom stolu

Registracija i prijava

WebAuthn je kratka ceremonija između vašeg servera, preglednika i authenticatora. Specifikacija WebAuthn Level 3 je referenca, a Googleov vodič pokazuje upite koje preglednici već imaju. Dugačak primjer iz biblioteke ovdje nije potreban.

Registracija počinje slučajnim izazovom, relying party id-om na domenu koji kontrolišete, i oznakom korisnika. Osoba odobrava novi par ključeva biometrijom ili PIN-om. Server provjeri izazov, origin i relying party id, pa sačuva javni ključ.

Prijava šalje novi izazov. Discoverable kredencijal može se pojaviti prije nego što se ukuca korisničko ime. Server provjeri potpis i origin, odbije ponovo iskorišten izazov i otvori običnu sesiju. Tražite user verification kad ova prijava treba da stoji umjesto drugog faktora.

Relying party id postavite jednom. Kredencijal za www.example.com neće se pojaviti na example.com ako se identifikatori razlikuju. Izaberite roditeljski domen koji kontrolišete i isprobajte oba hosta. Conditional UI stavlja sačuvane kredencijale u autofill, a obično dugme ostaje za sve ostale.

Lozinke, jednokratni kodovi i passkey prijava

Većina shopova već ima lozinku i jednokratni kod. Ako oba uklonite odjednom, red za podršku se napuni. Uporedite šta koji faktor štiti prije nego što išta obrišete.

Lozinkapasskey prijavaJednokratni kod
Server čuvaHeš dijeljene tajneJavni ključ i id kredencijalaDijeljeni seed ili broj telefona
PhishingMože se ukucati na lažnu stranicuNema dijeljene tajne; provjera je vezana za vaš originKod se može pročitati napadaču
Curenje bazeHeševi se mogu napadati offlineJavni ključ ne može da se prijaviUkradeni seed pravi nove kodove
Drugi sajtoviČesto se ponavljaNovi par ključeva za svaki sajtPo sajtu; SIM swap nije
Zajednički računarLako se vidi ili sačuvaNe čuvati je u dijeljenom profiluMože se pojaviti na dijeljenom ekranu
Izgubljen telefonDovoljan je email za resetSinhronizacija, drugi kredencijal ili oporavakNovi broj ili nova aplikacija

Jednokratni kodovi ostaju korisni kao rezerva i kao dodatni korak za osoblje. I dalje su dijeljena tajna.

Oporavak naloga kad telefon nestane

Oporavak je odluka o proizvodu. Osoba koja naručuje s telefona izgubiće ga, a i dalje će htjeti narudžbe i fakturu.

Kad je kredencijal sinhronizovan, passkey prijava se obično vrati na novi telefon prijavljen na isti Apple, Google ili Microsoft nalog, ili u isti password manager. U pomoći navedite ime platforme. Taj nalog platforme sada je dio vašeg modela prijetnji.

Kredencijal vezan za uređaj ne vraća se sa prijavom u oblak. Drugi registrujte prije gubitka: laptop, hardverski ključ ili oba. Osoblje gurajte dok ne postoje dva kredencijala. Svi ostali trebaju jednokratni kod za oporavak sačuvan samo kao heš, ili provjeru identiteta u podršci prije nego što se doda novi kredencijal.

Email za reset sada je najslabiji ulaz. Neka brzo istekne, ograničite broj pokušaja i ne dozvolite da preskoči provjere na administratoru. U sigurnosnim auditima i penetration testingu taj ulaz probamo onako kako bi ga probao napadač. Kodove za oporavak čuvajte samo kao heš i zabilježite svaki povrat naloga.

Zajednički računari

Recepcija, računar u magacinu i porodični tablet loše su mjesto za platformski kredencijal. Ljudi koji otključavaju istog Windows ili macOS korisnika dijele sve što je taj korisnik sačuvao. Otisak prsta ih ne razdvaja.

Na dijeljenom nalogu operativnog sistema passkey prijava ne smije ostati. Preglednik može odraditi ceremoniju na računaru, dok telefon te osobe, dohvaćen QR kodom i provjerom blizine, drži ključ. Hardverski ključ je druga čista opcija: PIN, prijava, i ključ odlazi s osobom. Tokom gostujuće kupovine kredencijal se ne pravi.

Bijeli telefon pored crnih slušalica na tamnom stolu

WordPress, plugin za shop ili vlastiti relying party

Na WordPressu održavan plugin može dodati WebAuthn na profil i na wp-login, a da ne zamijeni korisnike, uloge ni WooCommerce. www i goli host tretirajte kao jedan relying party i ne keširajte odgovor stranice za prijavu. Prije nego što to ostane u produkciji, provjerite temu, postojeći plugin za drugi faktor i stranice naloga u shopu.

Kupcu passkey prijava pripada na stranici naloga i, kad upiti budu jasni, na prijavi kupca koji se vraća. Osoblje koje vraća novac, izvozi adrese ili instalira pluginove ide strožim pravilima. Ništa u korpi ne smije čekati ceremoniju, a neuspjeli upit ne smije isprazniti korpu.

Vlastita aplikacija znači da ste vi relying party. Tabela kredencijala stoji pored korisnika. Vi postavljate relying party id, provjeravate svaku tvrdnju i tek onda izdate običnu sesiju. Ko smije da se registruje, kako ide oporavak i šta smije da sačuva dijeljeni računar vaša su pravila, u Laravelu, Node.js-u ili steku koji već koristite.

Hostovani identity proizvod ima smisla kad ga već dijeli nekoliko aplikacija. Za jedan WordPress shop manja promjena je obično plugin ili vaša postojeća tabela korisnika.

Drugi faktor za administratore

Kredencijal kupca uz user verification jaka je svakodnevna prijava. Sinhronizacija znači i da ključ živi gdje god živi taj nalog u oblaku. Za wp-admin, voditelje shopa i svakoga ko isplaćuje novac ili izvozi podatke, zadržite drugi faktor.

Za osoblje passkey prijava nije razlog da obrišete authenticator aplikaciju ili hardverski ključ. Bolji izbor za administratore je ključ vezan za uređaj, uz rezervu na sigurnom mjestu, a SMS ostavite kao posljednju mogućnost zbog SIM-swap rizika. Lozinku administratora i trenutni jednokratni kod zadržite prvog dana. Jači faktor tražite ponovo prije instalacije plugina, promjene isplate, izvoza kupaca ili novog administratora.

Od prvog dana passkey prijava ostaje izbor

Prvi dan je ponuda, ne prekid starog puta. Nakon uspješne prijave lozinkom pozovite osobu da sačuva kredencijal na tom uređaju. Neka odbijanje bude moguće, zapamtite ga i nikad ne pokazujte poziv usred plaćanja.

Neka osoblje prvo živi s novom prijavom par sedmica i zapiše svaki zbunjujući upit. Zatim je ponudite kupcima. Brojte koliko puta passkey prijava zaista bude sačuvana, i gledajte otkazane upite i greške po pregledniku. Skok na jednom telefonu znak je greške koju treba popraviti.

Lozinku zadržite dok ljudi koji mogu da pređu to zaista rade, dok podrška ima skriptu za oporavak i dok jedan stvarno izgubljen telefon prođe bez improvizacije. Ranije ostavljate star telefon, zaključan preglednik u firmi ili webview u aplikaciji koji WebAuthn sprovodi samo djelimično. Lozinka koja ostaje i dalje se može phishingovati: ograničite pokušaje i ne ostavljajte je kao tiha vrata za administratore.

Greške koje zaključaju ljude

  • Nova prijava je jedini način prije nego što postoje oporavak i podrška.
  • Jedan kredencijal tretira se kao gotov nalog.
  • Email za reset lakše je zloupotrijebiti nego prijavu koju zamjenjuje.
  • Relying party id se razlikuje između www i golog domena.
  • Platformski kredencijal sačuvan je na zajedničkom računaru shopa.
  • Attestation je obavezan, pa obični telefoni bivaju blokirani.
  • Odgovor prijave se kešira i servira sljedećoj osobi.
  • Preuzimanje naloga proglašeno je nemogućim, a link za oporavak radi posao napadača.

Ako prvog vikenda passkey prijava postane jedina vrata, to je greška koju najčešće srećemo. Upit je radio na telefonu programera, a nije radio na dijeljenoj Windows prijavi.

Kako radimo

  1. Upoznavanje: ko se prijavljuje, na WordPressu, u shopu ili u vlastitoj aplikaciji, i sa kojih uređaja.
  2. Plan: sinhronizovani kredencijali, ključevi vezani za uređaj ili oba, relying party id i pravila oporavka.
  3. Izrada: registracija, prijava, lista kredencijala i put lozinke koji zadržavate.
  4. Test: aktuelni telefoni i desktopi, hardverski ključ, dijeljeni profil i izgubljen telefon.
  5. Puštanje: ponuda nakon obične prijave, prvo osoblje, bez prisile prvog dana.
  6. Podrška: kratak priručnik za oporavak, zapis neuspjelih ceremonija i zapis svakog povrata naloga.

Zašto CodeWiz

  • Posao koji već radimo: autentifikacija, WordPress i shopovi, tako da prijava prati stranice naloga koje ljudi već koriste.
  • Pravi studio: osnovan 2023. u Banjoj Luci, od Dragana Plavšića, za klijente u blizini i u inostranstvu, na daljinu.
  • Open source na prvom mjestu: održavan plugin ili poznata WebAuthn biblioteka, a ne zatvoreni widget.
  • Po mjeri rizika: tiha ponuda za kupce i hardverski ključ za administratore.
  • U službi shopa: manje emailova za reset i ništa što zaustavlja checkout.
  • Fer cijena: vrhunski razvoj bez vrhunskih cijena, uz obim koji kažemo tek kad vidimo sajt.

Često postavljana pitanja

Možemo li obrisati lozinke prvog dana?

Ne. Ponudite novu prijavu i zadržite lozinku dok grupa već nema drugi kredencijal i put kroz podršku. Stariji telefoni i neki zaključani preglednici i dalje trebaju ulaz.

Šta ako kupac izgubi telefon?

Sinhronizovani kredencijal obično se vrati kad novi telefon uđe u isti nalog platforme ili password manager. Kredencijal vezan za uređaj ne. Zato drugi kredencijal ili vaš oporavak moraju postojati ranije. Ako cijeli shop prebacite prije nego što je passkey prijava široko sačuvana, prvi ostanu bez ulaza oni koji telefon izgube.

Je li ovo sigurno na zajedničkom računaru?

Jeste, kad privatni ključ ostane na telefonu ili na hardverskom ključu koji osoba nosi. Ne čuvajte platformski kredencijal u Windows ili macOS nalogu koji otključava više ljudi. QR upit na njihov telefon ostavlja zajednički računar bez ključa.

Može li WordPress shop ovo dodati bez novog sistema za prijavu?

Često može. Aktuelan plugin može ceremoniju vezati za postojeće korisnike i za stranice naloga u WooCommerceu. I dalje provjeravamo keš, domen, uloge osoblja i gostujuću kupovinu. Vlastita aplikacija obično želi svoj relying party, jer je tabela korisnika već vaša.

Treba li administratorima i dalje drugi faktor?

Treba. Zadržite ključ vezan za uređaj ili authenticator aplikaciju za svakoga ko može mijenjati shop, izvoziti podatke ili dodavati korisnike. Sinhronizovani kredencijal dobra je prijava za kupca. Ne treba da bude jedina kontrola na adminu.

Dodajte mirniju prijavu i ostavite put nazad

Recite nam žive li nalozi u WordPressu, u shopu ili u vlastitoj aplikaciji, i dijele li osoblje računare. Predložićemo ponudu koja nikoga ne izbacuje prvog dana. Kontaktirajte CodeWiz ili pogledajte naše usluge.