Primjena biometrije u sustavu sigurnosi IS-a
Temu rezervirao: Nikola Kranjčec
Sadržaj |
Biometrija
Riječ biometrija dolazi od starogrčkog bios = „život“ i metron = „mjera“. Prema defi niciji biometrija je znanost o postupcima za jedinstveno prepoznavanje ljudi, na temelju uspoređivanje jednog ili više urođenih tjelesnih obilježja, ili obilježja čovjekovog ponašanja. [1] Postoje različiti načini identifikacije i autorizacije, lozinka, pin, čip kartica i slično, a svi oni traže potvrđivanje identiteta osobe. Porastom sigurnosnih zahtjeva i padom pouzdanosti standardnih metoda identifikacije, korištenjem biometrijskih metoda otklanja se mogućnost zlouporabe te se umanjuju nedostaci standardnih metoda.[2]
Biometrijske karakteristike mogu biti fizičke ili ponašajne:[1]
- - Fizička biometrija je dio biometrije koja se bavi uzorkovanjem fizionomije ljudskoga tijela i njegovim jedinstvenim karakteristikama. Temelj fizičke biometrije je ljudska fizička jedinstvenost koja omogućuje raspoznavanje ljudi. Fizičke biometrijske karakteristike su: ostisak prsta, sken rožnice, geometrija šake itd..
- - Biometrija ponašanja opisuje fizikalne karakteristike (kao kretanje u prostoru, glas, dinamika tipkanja, analiza rukopisa itd..) čovječjeg tijela koje su dijelom jedinstvene za svaku osobu. Dobiveni uzorci se opisuju krivuljama koje se koriste za opis ponašanja pa je na osnovi istih moguće raspoznavati različite ljude.
Prednost biometrijskih metoda: [3]
- - Jedinstvene za pojedinog korisnika
- - Teško ih je kopirati, krivotvoriti i distribuirati
- - Metode su pouzdanije od primjerice lozinke i sl.
- - Biometrijske značajke ne mogu se izgubiti
- - Zahtijevaju prisutnost
Otisak prsta
Za otisak prsta može se reći da je najstarija biometrijska metoda identifikacije. Metoda otiska prsta analizira karakteristike samog otiska prista kao što su: završeci grebena, bifurkacije (mjesta na kojima se dvije linije spajaju u jednu), uzorak izbočina i udubljenja na površini jagodice prstiju . Otisci prstiju su jedinstveni za svaki prst osobe, uključujući i jednojajčane blizance. Primjena metode otiska prsta jedna je od najdostupnijih i najčešće korištenih biometrijskih metoda. Postoje tri tehnike za skeniranje otiska prsta: optički čitač, silicijski čitač i ultrazvučni čitač. Iako je jedinstven i postoji mnogo različitih obilježja otiska, postoje i nedostaci navedene metoda, a najveći je mogućnost korištenja umjetno napravljenih otisaka. Radi zaštite od umjetno napravljenih otisaka, moderni čitači uz provjeru samog otiska provjeravaju i protok krvi ili provjera više otisaka prstiju čime se povećava sigurnost metode.
Šarenica i mrežnica oka
Šarenica oko razvija se tijekom razvoja djeteta prije samog rođenja, a pigment se formira do prve godine života, ne mijenja se tijekom života i nije podložna starenju. Šarenicu oka nije moguće krivotvoriti te se iz tog razloga smatra jednom od najsigurnijih biometrijskih metoda, a može se koristiti čak i ukoliko osoba nosi naočale ili leće. [4] Druga metoda koja uključuje skeniranje oka je skeniranje mrežnice. Mrežnica je jedinstvena za svaku osobu, također se ne mijenja tokom života no moguće su promjene uslijed glaukoma ili dijabetesa. Sken mrežnice radi se laserskom infracrvenom svijetlošću koja se usmjeri u unutrašnjost oka , a reflektirana slika sadrži položaj kapilara. Ova metoda daj najveću preciznost prepoznavanja, no ujedno je i jako skupa i postoji odbojnost korištenja zbog prodiranja laserske svijetlosti u oko pa se iz tog razloga koristi većinom u objektima visokog stupnja sigurnosti.[5]
Prepoznavanje lica je jedna od jeftinijih metoda jer ne zahtjeva skupu opremu, dovoljno je računalo i video kamera. U praksi je dovoljno da osoba prođe pored kamere i da ju sustav zabilježi, a prepoznavanje se obavlja prepoznavanjem oblika. Prilikom analize zahtijeva se izdvajanje ključnih indikatora , karakterističnih odraza, određivanje važnosti indikatora i njihovo međusobno djelovanje. U prvoj fazi se skenira odraz lica u različitim mjerilima te se po ključnim indikatorima odraza određuje dali se radi o licu ili o okolini. U drugoj se fazi određuje položaj glave što mora uzrokovati određene korekcije prilikom prepoznavanja. Kako bi se što bolje prepoznala osoba poželjno je imati što veći broj slika iz različitih kuteva.[1]
Usporedba metoda
U indučoj tablici prikazana je usporedba biometrijskih metoda po 7 kriterija na način da im je po određenom kriteriju dodijeljena oznaka M za Medium, L za Low i H za High. Kriteriji prema kojima su metode uspoređene su:[6]
- - Univerzalnost – dali svi ljudi imaju,
- - Jedinstvenost – dali metoda osigurava je jednistvenost tj. da li je moguće jednoznačno utvrditi identitet,
- - Nepromjenjivost – dali se mijenja tokom vremena,
- - Prikupljanje – koliko dobro i lako se može prikupiti uzorak za indetifikaciju,
- - Učinkovito – koliko je metoda brza i točna,
- - Prihvatljivost – od strane ljudi,
- - Sigurnost- koliko je metoda sigurna, odnosno koliko lako se može lažirati.
Primjena
Primjena biometrijskih sustava može se podijeliti u tri skupine:[7]
- - komercijalne aplikacije - pristup računalnim mrežama, elektronska sigurnost podataka, e-trgovina, pristup bankomatima, kreditne kartice, kontrola fizičkog pristupa, područje sigurnosti, zaštite i nadzora informacijskih sustava itd.,
- - aplikacije državnih institucija - nacionalne osobne iskaznice, putovnice, vozačke dozvole, pristup službama s visokom razinom sigurnosti,
- - medicinsko - forenzičke aplikacije - utvrđivanje identiteta nepoznate osobe, posmrtna identifikacij, kriminalistička istraživanja kaznenih dijela, utvrđivanje očinstva itd.
Biometrijske metode u sustavu zaštite i nadzora informacijskih sustava zajedničke su za sve tri skupine. U ovom području biometrijske metode koriste se za: zaštitu osobnih računala, telefona i interneta, ograničavanje neovlaštenog pristupa radnim mjestima, autentifikacija pristupa prilikom e-bankarskih transakcija, sprječavanje krađa i krivotvorenja pri financijskim transakcijama itd.[7]
U protekle tri godine primjena biometrije javlja se i na mobilnim uređajima te neki oblici biometrijskih skenera sve češće postaju dio standardne opreme na mobilnim uređajima. Primjena otiska prsta na Andoid platformi moguća je od verzije 6.0 Marshmallow na dalje, na iOS platformi primjena otiska prsta moguća od iPhonea 5S pa na dalje, a Lumia950 i Lumia 950XL na Microsoft mobilnoj platformi dolaze sa čitačem šarenice oka.
Mnogo prije od mobilnih uređaja, autetifikacija otiskom prsta počela se primjenjivati na osobnim računalima. Microsoft Fingerprint Reader izdan 2004. godine omogućio je autetifikaciju otiskom prsta na sustavu Windows XP pa na dalje. Danas prijenosna računala također sve češće dolaze sa ugrađenim bimetrijskim skenerima, pa tako Windows10 osim skeniranja otiska prsta omogućuje i skeniranje šarenice na onim uređajima koji posjeduju potreban hardver. Mac prijenosna računala također dolaze sa čitačem otiska prstiju koji osim same autentifikacije omogućuju i plačanje u appSotreu, iBook storeu i iTunesu.
Biometrijski ključevi
Jedna vrlo zanimljiva primjena biometrije je Biometrijska kriptografija odnosno biometrijski ključevi. Osnovna ideja biometrijski baziranih ključeva počiva na tome da je biometrijska komponenta zadužena za identifikaciju i autorizaciju, dok kripto sustav i dalje zadužen za sigurnu komunikaciju. Primjerice ukoliko korisnik želi pristupiti nekom digitalnom sadržaju, otiskom prsta ili nekom drugom biometrijskom tehnikom potvrđuje svoj identitet te ukoliko je identifikacija prošla, generira se ključ za identificiranu osobu i tim ključem se dekriptira željeni digitalni sadržaj.[6] Nekoliko je metoda za kreiranje bimetrijskih ključeva:
- Odvojeno čuvanje ključa i uzorka. Spremljeni uzorak se uspoređuje sa očitanim uzorkom i ukoliko je korisnik identificiran izdaje se ključ. Nedostatak ove metode je nesigurni medij za pohranu.
- Ključ se "skriva" unutar otiska uz pomoć takozvanog "secret bit-replacement" algoritma. Ukoliko je korisnik idetificarn algoritmom se izračunava ključ.
- Ključ se izračunava iz podataka dobivenih iz samog uzorka.
- Kombinacijom slike uzorka i ključa kreira se sigurni blok podataka tzv. BioScrypt te ukoliko je korisnik identificiran, iz sigurnog bloka podataka izvlači se ključ.
Android
U ovom dijelu ću prikazati na koji način se može implementirati skeniranje otiska prsta u sklopu android aplikacija prema Techotopia tutorialu. Izvorni kod se može pronaći na ovom Git repozitoriju.
Kako bi se implementirala funkcionalnost korištenja otiska prsta na Android platformi, potrebno je proči kroz nekoliko koraka koji su opisani u nastavku.
- 1. Dozvole za korištenje otiska prsta - u AndroidManifestu potrebno je uključiti USE_FINGERPRINT premission, te kasnije u kodu provjeriti dali je ta dozvola uključena. Drugi korak, odnosno sama provjera nije obavezna ali radi boljeg korisničkog doživljaja i spriječavanja rušenja same aplikacije preporuka je da se ova provjera implementira. Na Slici 2. prikazan je isječak koda kojim se uključuje i provjerava dozvola za autentifikaciju otiskom prsta.
- 2. Omogučiti zaključavanje uređaja pinom ili uzorkom i registracija barem jednog otiska- autentifikacijaotiskom prsta jedino je moguća ukoliko je uređaj moguće otključati pinom ili uzorkom i ako je na uređaju registriran barem jedan otisak prsta. Idući dio koda također nije obavezan ali se preporuča radi boljeg korisničkog iskustva i spriječavanja rušenja aplikacije ukoliko nije omogućeno otključavanje pinom ili uzorkom te ukoliko nije registriran barem jedan otisak prsta. Na Slici 3. prikazan je kod kojim se navedene provjere implementiraju.
- 3. Generiranje ključa - Za generiranje ključa potrebno je koristiti dvije instance KeyGenerator i KeyStore. KeyGenerator služi za generiranje ključa, odnosno definiranje vrste ključa, naziva ključa, primjene itd., a uz pomoć KeyStore instance spremamo ključ u dio memorije za sigurno spremanje ključa, nakon što je korisnik identificaran pootisku prsta taj ključ je moguće dalje koristiti a dohvačamo ga preko instance KeyStore preko imena koje smo dodijelili ključu prilikom generirana. Korištenje ključa biti će prikazano nešto kasnije, a samo generiranje ključa prikazano je na Slici 4.
- 4. Instanciranje instance Cipher - instanca Cipher koristi se za provođenje kriptiranja. Toj instanci se dodjeljuje ključ kreiran u prethodnom koraku, odradi joj se mod (kriptiranje i dekriptiranje) te se uz pomoć nje kreira instanca CryptoObject koja se prosljeđuje FingerprintManager instanci za provođenje autentifikacije pomoću otiska prsta. Na Slici 5. prikazan je kod za instanciranje i inicijaliziranje instance Cipher, a na Slici 6. prikazan je kod za kreiranje instance CryptoObject i pozivanje moetode za autentifikaciju.
- 5. Kreirati klasu koja implementira metode za autentifikaciu - potrebno je kreirati klasu koja naslijeđuje klasu FingerptintManager.AuthenticationCallback, potrebno je implementirati metodu za provođenje autentifikacije i metode za "hvatanje" pogrešaka prilikom autenifikacije. Na Slici 7. prikazan je kod klase.
Nakon što sam implementirao sav kod koji je potreban za autetifikaciju putem otiska prsta kreirao sam korisničko sučelje za jednostavnu aplikaciju koja kriptira uneseni teks te zatim kriptirani tekst dekriptira sa ključem koji je kreiran u prethodnim koracima i koji se može koristiti nakon što je prošla autentifikacija otiskom prsta. Za implementiranje funkcionalnosti kriptiranja i dekriptiranja potrebno je kreirati metode za enkripciju i dekripticu te je potrebno napraviti još jednu instacu Cipher. Naime u prethodnim koracima kreiran je instanca Cipher sa modm za kriptiranje te je potrebo kreirati još jednu sa modom za dekriptiranje i sa drugačijim inicijalnim vektorom. Na Slici 8. prikazan je kod za metode kriptiranja i dekriptiranja, a na Slici9. prikaza je kod koji je potrebno promijeniti kako bi se kreirala instacna Cipher za dekriptiranje.
Na Slici 10. Prikazana su 4 moguća stanja koja se mogu pojaviti na ekranu prilikom korištenja aplikacije
- Početni ekran za unos teksta kojeg korisnik želi kriptirati
- Ekran koji se pojavljuje nakon što korisnik želi kriptirati ili dekriptirati, naime bilo da se radi kriptiranje ili dekriptiranje potrebno je napraviti autetifikaciju otiskom prsta
- Ekran koji ispisuje grešku ukoliko je je došlo do pogreške prilikom autetifikacije otiskom prsta
- Ekran koji prikazuje kriptirani odnosno dekriptirani tekst ovisno o tome koja funkcija je odabrana
Literatura
- [1] CARNet (Croatian Academic and Research Network) : Biometrija, CCERT-PUBDOC-2006-09-167
- [2] Jain,A.K, Ross,A., Pankanti,S., Prabhakar, S., Hong, L., Waymasn, J.L., Biometrics Tutorial,
Michigan State University, 2005.
- [3] Jain,A.K, Ross,A., Pankanti,S.,Biometrics:A tool for Infromation Security, IEEE Transaction
on Infromation Forensics and Security, Vol. 1, No.2., June 2006
- [4] Radmilović Ž, Stručni članak, Biometrijska identifi kacija, 2008, str. 173.
- [5] Triantaphyllou, E., Multi – Criteria Decision Making Methods, A comparative Study,
Kluwer Academic Publishers, Dordrecht, The Netherlands, 2000.
- [6] UMUT ULUDAG, SHARATH PANKANTI, SALIL PRABHAKAR, ANIL K. JAIN: Biometric Cryptosystems: Issues and Challenges
- [7] Doc.dr. sc. Marija Boban, Mirjana Perišić, mag. forenzike: BIOMETRIJA U SUSTAVU SIGURNOSTI, ZAŠTITE I NADZORA INFORMACIJSKIH SUSTAVA