Projekat 10 · Identitet i dokumenti
Liveness provjera i za osobu i za njen pasoš
Napravili smo verifikaciju identiteta na daljinu za njemačku finansijsku instituciju. Model je bio siguran u oko 98% slučajeva, a operater je potvrdio svaki.
98%
Model je u oko 98% slučajeva davao pouzdanu preporuku, a operater je potvrđivao svaki slučaj
Proizvod prodan u MVP fazi
Priča u 5 koraka
Stack
- TensorFlow
- WebRTC
- React Native
- Node.js
- AWS
- NFC / ICAO 9303
01 · Kontekst
Verifikaciju identiteta na daljinu napravili smo kao infrastrukturu namijenjenu preprodaji drugim institucijama, odvojenu od aplikacije bilo koje pojedinačne banke.
Verifikaciju identiteta na daljinu napravili smo kao infrastrukturu namijenjenu preprodaji drugim institucijama, odvojenu od aplikacije bilo koje pojedinačne banke. Korisnik je prolazio kroz šest koraka sa zahtjevima koji su se nasumično mijenjali, pa se nijedna sesija nije mogla unaprijed pripremiti. Model je u oko 98% slučajeva davao pouzdanu preporuku, a svaki slučaj je potvrđivao čovjek.
Proizvod je prodan u MVP fazi.
02 · Nije se smjelo mijenjati
Propis je tražio video identifikaciju, a taj jedan zahtjev odredio je sve ostalo u sistemu.
Propis je tražio video identifikaciju, a taj jedan zahtjev odredio je sve ostalo u sistemu. Zbog njega se video čuvao, operater je potvrđivao svaki slučaj, a sistem je uz provjeru lica bilježio i gestove.
Svaka sesija morala je ostaviti isti dokazni zapis kao razgovor sa službenikom: zapis koji se naknadno može revidirati i vezati za konkretnu osobu. Istovremeno je kroz nju morao moći proći i običan korisnik s telefonom u ruci.
Propis je tražio i svih šest koraka, pa se nijedan nije mogao izbaciti. Zato smo radili na tome da se kroz svaki korak prolazi što lakše.
03 · Šta smo uradili
Šest nasumičnih koraka. Izgovorene cifre i gestovi mijenjali su se u svakoj sesiji, pa se snimak nije mogao unaprijed pripremiti ni ponovo pustiti.
Šest nasumičnih koraka. Izgovorene cifre i gestovi mijenjali su se u svakoj sesiji, pa se snimak nije mogao unaprijed pripremiti ni ponovo pustiti. Koraci su bili: snimak lica, snimak dokumenta, video dokumenta koji se okreće na zadani način, prst postavljen na ivicu dokumenta, pet nasumičnih cifara izgovorenih naglas i selfie video s nasumičnim pokretima glave.
I dokument je morao proći liveness provjeru. Većina sistema provjerava samo da je pred kamerom živa osoba, a ovdje je i dokument morao dokazati da je fizički predmet u nečijoj ruci. Okretanje pokazuje dubinu dokumenta i kako svjetlo pada na njega, a prst na ivici pokazuje da ga drži ruka. Zajedno ovi koraci otkrivaju napade koje provjera jedne fotografije ne bi uhvatila.
Povratna informacija tokom snimanja. Computer vision je radio na samom uređaju, s istim slojem za web i mobilnu aplikaciju, pa je snimanje počinjalo tek kad je lice u kadru, a svaki gest se provjeravao dok ga korisnik izvodi. Kad korisnik može pasti na bilo kojem od šest koraka, upravo je ta trenutna povratna informacija proces činila podnošljivim. Jedan sloj za obje platforme značio je i isto ponašanje, a to je u verifikaciji identiteta pitanje pravičnosti: ista osoba ne bi smjela proći na jednom uređaju, a pasti na drugom.
Čitanje čipa u pasošu. Kasnije smo dodali čitanje podataka direktno s NFC čipa u njemačkim pasošima i ličnim kartama. Do tada se sve zaključivalo iz slike: model pogleda dokument i procijeni. Podatke na čipu kriptografski potpisuje izdavalac, pa je to bio najveći pojedinačni skok pouzdanosti u cijelom sistemu.
Čuvanje biometrijskih podataka. Biometrijski podaci bili su otključani samo dok je trajala obrada, a zatim su prelazili u odvojeno skladište pod ključem koji je držao neko izvan razvojnog tima. Svaki zahtjev i odgovor bio je enkriptovan, a svaki token mogao se iskoristiti samo jednom.
Spis predmeta za operatera. Operater je morao upisati razlog, dodijeliti slučaj i, kad je akcija prelazila njegove dozvole, predati ga kolegi koji ih ima. Ako je procijenio da selfie nije dovoljan, a nije smio tražiti novi, slučaj je išao dalje uz bilješku koja objašnjava zašto. Dozvole su bile određene po akciji, a ne po ulozi.
Klijent je naručio nezavisno penetraciono testiranje i testiranje opterećenja.
04 · Rezultat
Model je u oko 98% slučajeva davao pouzdanu preporuku, a operater je potvrđivao svaki slučaj
- Model je u oko 98% slučajeva davao pouzdanu preporuku, a operater je potvrđivao svaki slučaj
- Podrška za tri vrste njemačkih dokumenata, s čitanjem čipa na pasošima i ličnim kartama
- Nezavisno sigurnosno testiranje, koje je naručio klijent
- Proizvod prodan u MVP fazi
Operater je potvrđivao svaki slučaj jer u regulisanom bankarstvu posljedice imaju i pogrešno prihvatanje i pogrešno odbijanje korisnika, a za svaku odluku mora se znati ko ju je donio. Sistem smo napravili da toj osobi pomogne u odlučivanju.
05 · Šta bismo uradili drugačije
Nikad nismo utvrdili kolika je stvarna tačnost modela.
Nikad nismo utvrdili kolika je stvarna tačnost modela. Znali smo samo koliko je često bio siguran. Sigurnost i tačnost su dvije različite mjere, a sistem smo isporučili bez ove druge.
Povezane usluge
Usluge koje se oslanjaju na ovaj projekat.
- Mobilne aplikacijeHardver u React NativeuČitanje NFC čipa u njemačkim pasošima i ličnim kartama pri provjeri identiteta na daljinu za jednu njemačku finansijsku instituciju, 2020.
- Regulisani i osjetljivi sistemiVerifikacija identiteta i KYCLiveness provjera osobe i dokumenta za njemačku finansijsku instituciju, u web aplikaciji, mobilnoj aplikaciji i API-ju.
- Mobilne aplikacijeReact Native razvojWeb aplikacija, mobilna aplikacija i API za provjeru identiteta na daljinu u jednoj njemačkoj finansijskoj instituciji, s jednim slojem kompjuterskog vida koji radi i na webu i na mobilnom.
- Backend, podaci i integracijeDozvole i RBACU regulisanoj provjeri identiteta za njemačku finansijsku instituciju dozvole operatera bile su određene po akciji, a ne po ulozi. Kada je akcija prelazila ovlasti jednog operatera, slučaj je išao kolegi koji je tu dozvolu imao, uz bilješku.
- Regulisani i osjetljivi sistemiDržavni dokumenti i revizijski tragoviVerifikacija identiteta na daljinu u kojoj operater upisuje razlog za svaku odluku, a odluka se bilježi pod njegovim imenom, pa zapis izdrži provjeru i godinama kasnije.
- AIAI agenti i LLM integracijaKod provjere identiteta na daljinu za jednu njemačku finansijsku instituciju model je u oko 98% slučajeva bio siguran u svoju preporuku, a operater je potvrdio svaki slučaj. Tih 98% mjeri samo koliko je često model bio siguran.
Projekat 10
Radite na sličnom problemu? Odgovaramo u roku od jednog radnog dana.
Prvi poziv traje 30 minuta i ni na šta vas ne obavezuje.