Sažetak | User authentication is crucial for securing digital identities in information systems. Naturally, its importance means that user authentication methods are a major target in countless cyber-attacks. The aim of this dissertation is to propose and provide an approach to authenticating human users on servers via the Internet using knowledge-based authentication methods. The developed approach is an application-layer protocol performed over the Internet by leveraging existing transport mechanisms in web services (e.g. REST-compliant Web services). Knowledge-based authentication methods are typically based on static or slowly changing data sources, thereby making them vulnerable to eavesdropping, wiretapping, and other types of attacks. Thus, an alternative approach is needed for creating an authentication challenge that competes with other authentication factors: hardware tokens and biometrics. This study proposes a new authentication approach that exploits user behavior patterns captured in non-public data sources to create unique, one-time challenges. This study proposes: (i) a model capable of representing user behavior patterns in a wide range of user activities captured from various data sources and (ii) a method for creating unique one-time challenges based on the model. The study also tests the model and method based on multiple non-public data sources such as bank transactions, phone logs, computer usage data, and e-mail correspondence. The efficacy of the study is also demonstrated using a live user pool. Most user authentication methods rely on a single verifier stored at a central location in the information system. Such information storage presents a single point of compromise from a security perspective. This dissertation proposes a distributed authentication environment in which there is no such single point of compromise. The proposed architecture does not rely on a single verifier to authenticate users, but rather a distributed authentication architecture where several authentication servers are used for user authentication. The proposed architecture allows each server to use any authentication factor. The study provides a security analysis of the proposed architecture and protocol, showing that they are secure against the attacks chosen for the analysis. |
Sažetak (hrvatski) | Autentifikacija korisnika predstavlja jedan od osnovnih uvjeta za očuvanje sigurnosti informacijskih sustava. Općenito govoreći, provjera autentičnosti korisnika može se opisati kao proces u kojem korisnik nudi neki oblik dokaza pomoću kojeg potvrđuje kako je korisnik koji je registrirao račun. Dokaz o identitetu može biti bilo koja informacija koju autentifikacijski poslužitelj prihvaća: nešto što korisnika posjeduje, nešto što korisnik zna ili nešto što korisnik jest. Ovi oblici autentifikacije nazivaju se autentifikacijski faktori. Smart kartice, tokeni, biometrijski otisci neki su od primjera postojećih metoda autentifikacije korisnika u informacijskim sustavima. Zbog svoje jednostavnosti, lozinke su postale jednim od najčešćih načina autentifikacije korisnika u današnjim informacijskim sustavima, unatoč brojnim dokumentiranim nedostatcima. Jedan od glavnih nedostataka postojećih metoda autentifikacije sustava je centraliziran način pohrane verifikatora za provjeru autentičnosti korisnika. Verifikator može biti sažetak (engl. Hash) lozinke korisnika, biometrijski predložak ili tajni broj za jednokratnu generiranje lozinke pomoću tokena. Uobičajeno postoji jedan poslužitelj koji provjerava autentičnosti korisnika, te je ujedno zadužen i za pohranu podataka koji se koriste za provjeru autentičnosti. Prilikom autentifikacije kada korisnik unese traženi dokaz o identitetu, autentifikacijski server ocjenjuje priloženi dokaz te donosi odluku o pravima pristupa korisnika. Ovaj oblik autentifikacije korisnika je centraliziran. Jedan od ciljeva ovog istraživanja je predložiti novu decentraliziranu arhitekturu za autentifikaciju korisnika. Točnije, ovo istraživanje ima za cilj stvoriti metodu autentifikacije korisnika koja zadovoljava sljedeće potrebe: • Prisluškivanje ispravnog odgovora napadač ne može iskoristiti za iduću prijavu. • Provalom na autentifikacijski poslužitelj napadač ne može ukrasti korisnikov digitalni identitet i upotrijebiti ga na tom ili drugom poslužitelju. • Omogućiti korištenje bilo kojeg autentifikacijskog faktora: znanje, biometrija, uređaj ili bilo koju njihovu kombinaciju. • Autentifikacijski poslužitelj može dinamički u ovisnosti o stanju sustava, prethodnim pokušajima prijave i drugim faktorima, neovisno o korisniku, podešavati razinu sigurnosti provjere identiteta korisnika kod svake prijave. Ovisno o kontekstu, autentifikacija podrazumijeva različite događaje, zahtjeve i okruženja. Na primjer, računalo se može autentificirati drugom računalu, korisnici se mogu autentificirati računalu i slično. Fokus ove disertacije je na autentifikaciji ljudskih korisnika na sustavima putem interneta, koristeći autentifikacijske metode temeljene na znanju. U sklopu rada razvijen je protokol aplikacijskog sloja koji se koristiti putem interneta, iskorištavanjem već postojećih komunikacijskih mehanizama prisutnih kod web-usluga. Kada je riječ o autentifikaciji korisnika temeljem znanja, tekstualne lozinke i dalje su dominantna metoda, unatoč brojnim dokumentiranim nedostacima. Novi mehanizmi provjere autentičnosti korisnika tek trebaju postići potrebnu popularnost za zamjenu lozinki. Jedan od glavnih nedostataka postojećih sustava provjere autentičnosti, bez obzira na faktor autentifikacije koji koriste, njihov je centralizirani način pohranjivanja verifikatora koji se koriste za provjeru vjerodostojnosti korisničkog dokaza o identitetu. Verifikator može biti sažetak korisničke lozinke, biometrijski predložak ili tajni broj za jednokratnu izradu lozinke. Uobičajena trenutna praksa je imati samo jedan autentifikacijski poslužitelj zadužen za pohranjivanje podataka koji se koriste za provjeru autentičnosti. Kada korisnik ponudi traženi dokaz o identitetu, poslužitelj za provjeru autentičnosti procjenjuje dokaz i daje pristup korisnicima. Ovo je primjer centraliziranog oblika autentifikacije korisnika koji ima jedinstveno mjesto ispada. U radu se predlaže metoda autentifikacije korisnika temeljena na raspodijeljenim okolinama, te je definirana nova arhitektura za raspodijeljenu autentifikaciju korisnika. Kako bi se osigurala komunikacija i integritet postupka autentifikacije u raspodijeljenoj okolini, napravljen je protokol za izvođenje postupka autentifikacije u predloženoj arhitekturi. U ovoj arhitekturi korisnik se registrira na neki broj distribuiranih autentifikacijskih poslužitelja i sa svakim uspostavlja jedan način autentifikacije. Kasnije, za sve primarne autentifikacijske poslužitelje, kod kojih će se prijavljivati da ostvari neku njihovu aplikativnu uslugu, korisnik samo prijavljuje popis svih distribuiranih poslužitelja koji ga poznaju. Problem postizanja dogovora oko autentičnosti korisnika u sustavu s decentraliziranim verifikatorima riješen je razvojem raspodijeljenog protokola za sigurnu razmjenu. Cilj je putem raspodijeljene arhitekture omogućiti korištenje jednog ili više verifikatora (koji imaju različite izvore) za autentifikaciju korisnika, koristeći pitanja na koje samo legitiman korisnik može dati točan odgovor. Informacijski sustavi postali su sastavni dio današnjeg društva. Razni sustavi kao što su banke, telekom i društvene mreže pohranjuju velike količine korisničkih transakcijskih podataka. Takvi sustavi pohranjuju razne informacije o osobama koji su dio digitalnog identiteta osobe. Ova studija predlaže da se podaci u takvim informacijskim sustavima mogu opisati pomoću jednog modela, koji je posebno dizajniran za potrebe autentifikacije korisnika na temelju podataka iz različitih izvora podataka. U sklopu ovog istraživanja predlaže se i razvija nova metoda autentifikacije korisnika temeljena na dinamičkim pitanjima, koja se proizvode iz podataka pohranjenih u raznim informacijskim sustavima. U prvom, uvodnom poglavlju (“1. Introduction”) opisana je važnost autentifikacije korisnika u informacijskim sustavima, te je razrađena motivacija za odabir teme rada i opisana je struktura disertacije. U drugom poglavlju (“2. Overview of electronic user authentication”) dan je pregled definicija ključnih pojmova koji se koriste u području autentifikacije te iscrpan pregled relevantne literature vezane uz istraživački rad drugih autora u područjima autentifikacije korisnika temeljem korisničkog znanja, kao i uporabi decentraliziranih verifikatora za autentifikaciju korisnika. Provjera autentičnosti korisnika predstavlja tehnički izazov kada proces uključuje udaljenu autentifikaciju pojedinaca preko otvorene mreže, posebno kada se time procesom regulira pristup osjetljivim podatcima. Zbog toga su razne organizacije za normizaciju definirale različite razine pouzdanosti za autentifikaciju. Razina pouzdanosti kvantificira stupanj povjerenja u kojem sustav zapravo uspješno ovjerava korisnika. U poglavlju se također opisuju postojeća rješenja koja se trenutno koriste za autentifikaciju korisnika, kao i ključni standardi koji utječu na formiranje metoda autentifikacije korisnika. Rješenja prikazana u ovom poglavlju su široko upotrebljavani komercijalni sustavi koji nisu ograničeni samo na autentifikaciju korisnika temeljenu na znanju. Ovo poglavlje također daje pregled trenutnih istraživanja u području autentifikacije korisnika temeljenih na znanju i metode autentifikaciji korisnika u raspodijeljenim okruženjima. Treće poglavlje („3. Research hypotheses“) sažima glavne hipoteze kojima je vođena ova doktorska disertacija, i daje kratki zaključak dosadašnjih postignuća iz područja autentifikacije korisnika temeljem znanja. Dodatno, ovo poglavlje daje izjavu i opis problema kojima je ova disertacija vođena. Ova je studija usmjerena na otkrivanje novih načina za uporabu metoda autentifikacije korisnika temeljene na znanju, a koje će doprinijeti većoj razini sigurnosti i pouzdanosti za svakodnevnu uporabu u suvremenim informacijskim sustavima. Treće poglavlje također opisuje i glavne pretpostavke kao i ograničenja provedene studije. Istraživanje pretpostavlja da se sigurnost digitalnih identiteta može poboljšati prebacivanjem samog postupka autentifikacije korisnika u raspodijeljeni sustav. Istodobno, disertacija tvrdi da raspodijeljene metode provjere autentičnosti korisnika trebaju biti ekonomične i jednostavne za implementaciju. Ovo je vrlo važno s praktičnog gledišta jer prednosti bilo kojeg predloženog mehanizma moraju nadvladati složenost njegova provođenja, kako bi postale upotrebljive u stvarnim scenarijima. U četvrtom poglavlju (“4. Authentication requirements”) istaknuti su ključni zahtjevi kojima je vođena izrada doktorskog rada. Postavljeni zahtjevi vezani su uz ispitivanje potrebe za korištenjem korisničkog znanja u postupku autentifikacije korisnika, te potrebom za decentraliziranim verifikatorima koji su pohranjeni u međusobno nezavisnim informacijskim sustavima. Osnovni zahtjevi za metode autentifikacija korisnika čine pretpostavka da su upiti jednokratni te da se ne mogu pogoditi niti predvidjeti, da je njihova sigurnost i integritet neovisan o sigurnosti i integritetu autentifikacijskog poslužitelja koji autentificira korisnika, te da je korisnik na neki način vezan uz informaciju koja se koristi za postavljanje pitanja. U petom poglavlju (“5. Knowledge-based authentication approach”) opisuje se predložena metoda za autentifikaciju korisnika temeljena na znanju. Podaci o aktivnosti korisnika uobičajeno se bilježe kao transakcijski podaci u različitim sustavima, npr. banke, telekomunikacijski sustavi, zdravstvene organizacije, javni prijevoz, društvene mreže i drugi. Ovi transakcijski podaci predstavljaju dijelove digitalnog identiteta korisnika, a koji se stalno ažuriraju. Model pohrane relevantnih podataka specificira atribute koji su bitni za strukturiranje transakcijskih podataka koji se koriste za postavljanje dinamičkih pitanja za autentifikaciju korisnika. U predloženom modelu ogleda se jedan od izvornih doprinosa doktorskog rada, budući da modeli sličnih sustava dosad nisu zabilježeni u radovima drugih autora. U ovom poglavlju opisana su i svojstva i izvedba prototipne implementacije predloženog modela za autentifikaciju korisnika. Poglavlje sadrži sigurnosnu analizu predloženog rješenja te opisuje sigurnosni model kao i njegov odziv na moguće sigurnosne ugroze. Predložena metoda autentifikacije korisnika provjerena je na skupu korisnika kroz nekoliko scenarija čiji je cilj bio provjeriti točnost sustava u slučajevima pokušaja autentifikacije legitimnog korisnika, te u slučajevima pokušaja autentifikacije zloćudnih korisnika na korisnički račun legitimnog korisnika. U poglavlju je opisan način na koji je prototipna implementacija modela vrednovana, zajedno s rezultatima provedenog vrednovanja. Rezultati vrednovanja pružili su podršku za zahtjevima postavljenim u trećem poglavlju, pa je stoga opravdano tvrditi da je modelirani način provjere vremenski i radno učinkovit, da ispitanicima ne uzrokuje suvišno kognitivno opterećenje. Istraživanje je pokazalo da različiti izvori podataka daju različite mjere uspjeha za autentifikaciju legitimnih korisnika, dok zlonamjerni korisnici u velikoj mjeri nisu uspjeli dobiti pristup računima legitimnih korisnika. Provjerom predložene metode autentifikacije, koristeći različite izvore podataka, ova je studija pokazala da se predložena metoda i model mogu koristiti s bilo kojim dostupnim izvorom podataka. Na temelju rezultata dobivenih u legitimnim i zlonamjernim pokušajima autentifikacije korisnika ovo istraživanje zaključuje da su podaci iz bankovnih i telekomunikacijskih sustava najprikladniji za razvijeni pristup. Šesto poglavlje (“6. Distributed authentication architecture and protocol”) opisuje i vrednuje predloženu arhitekturu i protokol za raspodijeljenu autentifikaciju korisnika zasnovanu na decentraliziranim verifikatorima. Predloženo rješenje se od postojećih razlikuje u uporabi raspodijeljene okoline u postupku autentifikacijske korisnika, odnosno u korištenju višestrukih autentifikacijskih poslužitelja, gdje svaki čvor ima neku nezavisnu informaciju o korisniku koji želi autentifikaciju. Nezavisni dijelovi informacija koje autentifikacijski poslužitelji koriste nisu međusobno povezani na bilo koji način. Doprinos predložene arhitekture je taj da digitalni identitet korisnika ostaje siguran čak i ako je jedan ili više poslužitelja kompromitiran. To se svojstvo postiže korištenjem metode provjere autentičnosti u kojoj se podaci o autentifikaciji ne pohranjuju na poslužitelju kojeg korisnik želi pristupiti niti na bilo kojem drugom poslužitelju za provjeru autentičnosti. Umjesto toga poslužitelj za provjeru autentičnosti konzultira se s drugim, međusobno neovisnim čvorovima (poslužiteljima) koji sadrže podatke koji se odnose na digitalni identitet korisnika. Svaki čvor sadrži samo informaciju o korisniku koji želi autentificirati. Smatra se da je korisnik uspješno autentificiran samo kada unaprijed određeni broj čvorova potvrdi odgovore korisnika. Predložena arhitektura opisana je kroz analizu komponenata koje se koriste za autentifikaciju korisnika, a predloženi protokol opisuje se analizom koraka izvođenja, grafički i formalnom notacijom. Šesto poglavlje sadrži i sigurnosnu analizu predložene arhitekture i protokola za autentifikaciju korisnika. Provedena je studija učinkovitosti izvođenja predloženog protokola u predloženoj arhitekturi za autentifikaciju korisnika. Studija učinkovitosti napravljena je analitički kroz analizu složenosti pojedinih koraka, te eksperimentalno implementacijom protokola u raspodijeljenoj okolini. U sedmom poglavlju („7. Applicability of the proposed solution“) analizira se primjenjivost predloženog rješenja kroz analizu upotrebljivosti, te analizu složenosti implementacije s obzirom na razinu dostupnosti koju je potrebno postići. Sedmo poglavlje opisuje motivaciju za implementaciju predloženog rješenja, te njezinu primjenjivost za autentifikaciju korisnika koristeći razne razine sigurnosti. Predloženo rješenje za autentifikaciju korisnika je uspoređeno s postojećim metodama te se iznose njegova ograničenja. Marginalni dobici novih autentifikacijskih mehanizama često nisu dovoljni za prevladavanje velikih troškova prijelaza iz jedne metode provjere autentičnosti korisnika u drugu. Međutim, zbog potencijalno velikog broja sigurnosnih ugroza, uglavnom povezanih s krađom statičnih verifikatora, mnogi su informacijski sustavi prisiljeni primjenjivati autentifikacijske metode s dva faktora. To dokazuje da postoji potreba za većom razinom sigurnosti te da ta potreba može prevladati troškove provedbe složenijih rješenja za autentifikaciju. Sigurnosne prednosti predloženog rješenja detaljno su opisane u prethodnim poglavljima ove disertacije. Stoga se može zaključiti da postoji dovoljan razlog da korištenje predloženog rješenja. U osmom poglavlju (“8. Conclusion”) donose se ukupni zaključci provedenog istraživanja te se predlažu koraci i smjernice za nastavak budućih istraživanja u području autentifikacije korisnika temeljene na znanju. Rad je rezultat istraživanja metoda autentifikacije temeljenih na znanju. Predložen je i implementiran novi model za autentifikaciju korisnika, kao i arhitektura i protokol za raspodijeljenu autentifikaciju. Izvorni znanstveni doprinos ostvaren u disertaciji sadržan je u: 1. arhitekturi sustava raspodijeljene autentifikacije korisnika koja se zasniva na decentraliziranim verifikatorima; 2. protokolu za autentifikaciju korisnika u raspodijeljenoj okolini zasnovanoj na decentraliziranim verifikatorima; 3. modelu dinamičkih pitanja za autentifikaciju korisnika u raspodijeljenoj okolini zasnovan na vremenski zavisnim činjenicama. |