ˇ ´ UCEN ´I TECHNICKE ´ V BRNE ˇ VYSOKE BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ´ ´ U ˚ USTAV INTELIGENTN´ICH SYSTEM FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS
˚ E ˇ ZN ˇ A´ VERIFIKACE OSOB NA ZAKLAD ´ ˇ PRUB E ´ DYNAMIKY STISKU KLAVES
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE AUTHOR
BRNO 2012
ˇ DOHNALEK ´S ´ TOMA
ˇ ´I TECHNICKE ´ V BRNE ˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ´ ´ U ˚ USTAV INTELIGENTN´ICH SYSTEM FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS
˚ Eˇ ZN ˇ A ´ VERIFIKACE OSOB NA ZAKLAD ´ PRUB Eˇ ´ DYNAMIKY STISKU KLAVES CONTINUOUS PERSONAL VERIFICATION BASED ON KEYSTROKE DYNAMICS
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE
ˇ DOHNALEK ´S ´ TOMA
AUTHOR
´ VEDOUC´I PRACE SUPERVISOR
BRNO 2012
ˇ Ing. MICHAL DOLEZEL
Abstrakt Tato pr´ ace se zab´ yv´ a pr˚ ubˇeˇznou verifikac´ı osob na z´akladˇe dynamiky stisku kl´aves pˇri psan´ı voln´eho textu. Jsou pˇredstaveny v´ yhody a nev´ yhody t´eto biometrick´e vlastnosti a tak´e r˚ uzn´e pˇr´ıstupy k anal´ yze vzork˚ u. Podrobnˇe je rozebr´ana metoda od autor˚ u Gunettiho a Picardiov´e, kter´ a je n´ aslednˇe upravena pro re´aln´e vyuˇzit´ı. Na z´akladˇe zvolen´e metody je navrˇzena aplikace a ta implementov´ ana pro operaˇcn´ı syst´em GNU/Linux. V´ ykonnost aplikace pˇri verifikaci je prezentov´ ana na dvou datov´ ych souborech.
Abstract This work is dealing with continuous personal verification based on keystroke dynamics during writing of free text. There are introduced advantages and disadvantages of this biometric characteristic and also different approaches to analysis of samples. In detail, there is analyzed the method of authors Gunetti and Picardi, which is afterwards modified for usage in real situations. According to chosen method there is an application for the operation system GNU/Linux designed and implemented. Performance of the application during verification is presented on two datasets.
Kl´ıˇ cov´ a slova Bezpeˇcnost, biometrie, behavior´ aln´ı biometrick´e vlastnosti, pr˚ ubˇeˇzn´a verifikace, dynamika stisku kl´ aves, voln´ y text, Gunetti a Picardiov´a, n-graf.
Keywords Security, biometrics, behavioral biometric characteristics, continuous verification, keystroke dynamics, free text, Gunetti and Picardi, n-graf.
Citace Tom´aˇs Dohn´ alek: Pr˚ ubˇeˇzn´ a verifikace osob na z´akladˇe dynamiky stisku kl´aves, bakal´aˇrsk´ a pr´ace, Brno, FIT VUT v Brnˇe, 2012
Pr˚ ubˇ eˇ zn´ a verifikace osob na z´ akladˇ e dynamiky stisku kl´ aves Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem tuto bakal´ aˇrskou pr´aci vypracoval samostatnˇe pod veden´ım pana Ing. Michala Doleˇzela. Vˇsechny liter´ arn´ı prameny a publikace, ze kter´ ych jsem ˇcerpal, jsou ˇr´adnˇe uvedeny. ....................... Tom´aˇs Dohn´alek 13. kvˇetna 2012
Podˇ ekov´ an´ı T´ımto bych chtˇel podˇekovat sv´emu vedouc´ımu Ing. Michalovi Doleˇzelovi za jeho trpˇelivost i cenn´e rady, tak´e vˇsem dobrovoln´ık˚ um, kteˇr´ı se pod´ıleli na testov´an´ı aplikace.
c Tom´
aˇs Dohn´ alek, 2012. Tato pr´ ace vznikla jako ˇskoln´ı d´ılo na Vysok´em uˇcen´ı technick´em v Brnˇe, Fakultˇe informaˇcn´ıch technologi´ı. Pr´ ace je chr´ anˇena autorsk´ym z´ akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´ avnˇen´ı autorem je nez´ akonn´e, s v´yjimkou z´ akonem definovan´ych pˇr´ıpad˚ u.
Obsah ´ 1 Uvod
2
2 Biometrie 2.1 Z´ akladn´ı pojmy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Fyziologick´e a behavior´ aln´ı vlastnosti . . . . . . . . . . . . . . . . . . . . . . 2.3 Vyhodnocov´ an´ı biometrick´ ych syst´em˚ u. . . . . . . . . . . . . . . . . . . . .
3 4 4 5
3 Dynamika stisku kl´ aves 3.1 Anal´ yza statick´eho a voln´eho textu . . . . . . . . . . . . 3.2 Pˇr´ıznaky . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Vlastnosti verifikace na z´akladˇe dynamiky stisku kl´aves 3.4 Pˇrehled metod . . . . . . . . . . . . . . . . . . . . . . . 3.5 Metoda Gunettiho a Picardiov´e . . . . . . . . . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
6 6 6 8 8 11
4 N´ avrh a implementace 4.1 Poˇzadavky na aplikaci . . . 4.2 N´ avrh aplikace . . . . . . . 4.3 Pouˇzit´e technologie . . . . . 4.4 D˚ uleˇzit´e rysy implementace 4.5 Bezpeˇcnost a pouˇzitelnost .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
17 17 18 23 24 26
5 Testov´ an´ı 5.1 Datov´e soubory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Metodika testov´ an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Testovan´e vlastnosti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27 27 28 28
6 Zhodnocen´ı dosaˇ zen´ ych v´ ysledk˚ u 6.1 Verifikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Pr˚ ubˇeˇzn´ a verifikace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Z´ avislost d´elky trv´ an´ı mono-graf˚ u na pouˇzit´e kl´avesnici . . . . . . . . . . .
30 30 31 33
7 Z´ avˇ er
35
Seznam pˇ r´ıloh
39
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
1
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Kapitola 1
´ Uvod Klasick´e poˇc´ıtaˇcov´e syst´emy autentizuj´ı uˇzivatele na z´akladˇe znalosti jm´ena a hesla uˇzivatele, avˇsak v pr˚ ubˇehu sezen´ı jsou tyto syst´emy zraniteln´e – pokud autorizovan´ y uˇzivatel opust´ı sv´e pracoviˇstˇe bez odhl´ aˇsen´ı, m˚ uˇze jeho m´ısto zaujmout u ´toˇcn´ık, kter´ y t´ımto z´ısk´ a plnou kontrolu nad syst´emem. Bylo by tedy vhodn´e prov´adˇet pr˚ ubˇeˇznou verifikaci i bˇehem sezen´ı a to nejl´epe nˇejakou pˇrirozenou cestou, bez vˇedom´ı uˇzivatele. Vhodn´ ym ˇreˇsen´ım se jev´ı pouˇzit´ı biometrie. Biometrick´e vlastnosti m˚ uˇzeme rozdˇelit do dvou kategori´ı. Prvn´ı jsou vlastnosti fyziologick´e, ke kter´ ym ˇrad´ıme napˇr´ıklad otisky prst˚ u. Tyto vlastnosti jsou povaˇzov´any za relativnˇe nemˇenn´e a mnoho z nich za unik´atn´ı. Na opaˇcn´e stranˇe stoj´ı vlastnosti behavior´aln´ı (napˇr. dynamika stisku kl´ aves, ch˚ uze, hlas atd.), kter´e za nemˇenn´e povaˇzovat nelze. Obecnˇe jsou syst´emy rozpozn´ avaj´ıc´ı jedince na z´akladˇe fyziologick´ ych vlastnost´ı u ´spˇeˇsnˇejˇs´ı, avˇsak k autentizaci je ˇcasto zapotˇreb´ı pˇreruˇsit pr´avˇe vykon´avanou ˇcinnost a zamˇeˇrit svou pozornost na biometrick´ y senzor. V tom tkv´ı v´ yhoda behavior´aln´ıch vlastnost´ı – jedinec m˚ uˇze b´ yt zkoum´ an na z´ akladˇe pˇrirozen´e ˇcinnosti jako je tˇreba psan´ı na kl´avesnici. Autentizace pomoc´ı dynamiky stisku kl´aves pˇrin´aˇs´ı dalˇs´ı v´ yhodu v absenci speci´aln´ıho senzoru – ke sn´ım´ an´ı staˇc´ı obyˇcejn´a kl´avesnice, kterou je v dneˇsn´ı dobˇe vybavena naprost´ a vˇetˇsina osobn´ıch poˇc´ıtaˇc˚ u. Stisknut´ı a uvolnˇen´ı kl´aves obsahuj´ı velice m´alo biometrick´ ych informac´ı, a proto je rozpoznan´ı jedince obt´ıˇzn´ ym u ´kolem. Pr´ace zab´ yvaj´ıc´ı se touto problematikou prezentuj´ı zaj´ımav´e dosaˇzen´e v´ ysledky, avˇsak skuteˇcn´ ych aplikac´ı autentizuj´ıc´ıch dle dynamiky stisku kl´ aves je velmi m´alo. C´ılem t´eto pr´ ace je vybrat, upravit a aplikovat jeden z existuj´ıc´ıch algoritm˚ u pro verifikaci na z´ akladˇe dynamiky stisku kl´aves pˇri psan´ı voln´eho textu pro pr˚ ubˇeˇznou verifikaci osob v re´ aln´em vyuˇzit´ı. V kapitole 2 jsou zavedeny z´akladn´ı pojmy z oblasti biometrie, v n´asleduj´ıc´ı kapitole 3 je rozebr´ana biometrick´a vlastnost dynamika stisku kl´ aves – jej´ı v´ yhody, nev´ yhody a r˚ uzn´e metody s n´ı pracuj´ıc´ı. Kapitola 4 se zab´ yv´a n´avrhem a implementac´ı aplikace pro operaˇcn´ı syst´em GNU/Linux. V´ ysledn´ y syst´em je pot´e otestov´an na dvou datov´ ych souborech, metodika testov´an´ı je pops´ana v kapitole 5 a dosaˇzen´e v´ ysledky jsou prezentov´ any v kapitole 6.
2
Kapitola 2
Biometrie ˇ ek m˚ K identifikaci ˇclovˇeka lze pouˇz´ıt nˇekolik odliˇsn´ ych druh˚ u metod. Clovˇ uˇze prok´azat svou totoˇznost pomoc´ı tajn´e znalosti, jako je napˇr´ıklad heslo ˇci PIN k´od, kterou by mˇel zn´at pouze on. Nev´ yhodou tohoto zp˚ usobu ovˇeˇrov´an´ı je moˇznost neopr´avnˇen´eho nabyt´ı t´eto utajovan´e informace (napˇr. slovn´ıkov´ yu ´tok) nebo jej´ı zapomenut´ı, jeˇz vede k nemoˇznosti identifikace. Dalˇs´ım vhodn´ ym a pouˇz´ıvan´ ym zp˚ usobem je pˇredloˇzen´ı jedineˇcn´eho pˇredmˇetu (obˇcansk´ y pr˚ ukaz, ˇcipov´ a karta, kl´ıˇc), kter´ y by mˇel m´ıt v drˇzen´ı pr´avˇe identifikovan´ y jedinec. Tato moˇznost m´ a obdobn´e nev´ yhody v moˇzn´em zkop´ırov´an´ı tohoto pˇredmˇetu ˇci jeho ztr´atˇe. Nejpohodlnˇejˇs´ı moˇznost´ı rozpozn´an´ı ˇclovˇeka se jev´ı metoda porovn´av´an´ı lidsk´ ych fyziologick´ ych nebo behavior´ aln´ıch vlastnost´ı – biometrick´a autentizace. Ta klade na ˇclovˇeka nejmenˇs´ı n´ aroky, nen´ı potˇreba si nic tajn´eho pamatovat ani s sebou nic jedineˇcn´eho nosit – ˇclovˇek s´ am je jedineˇcn´ y. [1] Biometrick´e technologie jsou definov´any jako automatick´e metody verifikov´an´ı nebo rozpozn´ av´ an´ı identity ˇziv´eho ˇclovˇeka na z´akladˇe jeho fyziologick´ ych ˇci behavior´aln´ıch vlastnost´ı. [2, str. 1] V praxi se n´ azev biometrick´ a autentizace zkracuje term´ınem biometrie, pˇrestoˇze tento term´ın je historicky pouˇz´ıv´ an k oznaˇcen´ı aplikace statistick´e anal´ yzy na biologick´a data. V t´eto pr´ aci vˇsak bude pojmem biometrie myˇslena v´ yluˇcnˇe biometrick´a autentizace. Biometrie nab´ız´ı oproti tradiˇcn´ım rozpozn´avac´ım mechanism˚ um v´ yhodu v pˇrirozenosti, pohodlnosti a bezpeˇcnosti. Jako kaˇzd´a metoda m´a ovˇsem i slab´e str´anky, neodpad´a napˇr´ıklad riziko falzifikace (kopie otisk˚ u prst˚ u, fotografie), je nutn´e uchov´avat soukrom´e informace o uˇzivatel´ıch a nav´ıc existuje vyˇsˇs´ı riziko zam´ıtnut´ı pˇr´ıstupu uˇzivateli legitimn´ımu. Vˇsechny biometrick´e syst´emy mohou b´ yt rozdˇeleny do dvou ˇc´ast´ı: registraˇcn´ı a verifikaˇcn´ı ˇci identifikaˇcn´ı. Obˇe ˇc´ asti obsahuj´ı senzor slouˇz´ıc´ı ke sn´ım´an´ı biometrick´e vlastnosti, jehoˇz v´ ystupem jsou biometrick´ a data urˇcen´a k dalˇs´ımu zpracov´an´ı. Tato data jsou v registraˇcn´ı f´ azi sb´ır´ ana a archivov´ ana, ˇcasto jsou oznaˇcov´ana jako profil uˇzivatele nebo jako ˇsablona. Po nasb´ır´ an´ı potˇrebn´eho mnoˇzstv´ı jsou uloˇzena do datab´aze spolu s informac´ı o identitˇe uˇzivatele. [3, str. 15] Druh´a ˇc´ast biometrick´eho syst´emu vyuˇz´ıv´a senzoru tak´e k z´ısk´an´ı biometrick´ ych dat, ta vˇsak nejsou ukl´ad´ana do datab´aze, ale vyuˇzita pro porovn´an´ı s u ´daji v datab´ azi. Porovn´an´ım zjist´ıme o jak´eho uˇzivatele syst´emu jde ˇci zda se nejedn´ aou ´toˇcn´ıka. [4, str. 14–15]
3
2.1
Z´ akladn´ı pojmy
V t´eto ˇc´ asti budou objasnˇeny pojmy, v´aˇz´ıc´ı se k rozpozn´an´ı ˇclovˇeka. [1, str. 6] Identita osoby Je moˇzn´e rozliˇsovat dvˇe identity – fyzickou a elektronickou [4, str. 10]. Fyzick´ a je kombinac´ı biologick´ ych, psychick´ ych, vrozen´ ych i z´ıskan´ ych vlastnost´ı a je pro kaˇzd´eho ˇclovˇeka jedineˇcn´ a. Na rozd´ıl od toho elektronick´a identita je vytvoˇrena ve virtu´aln´ım svˇetˇe a nen´ı podloˇzena ˇz´ adn´ ymi biologick´ ymi vlastnostmi. Jeden ˇclovˇek m˚ uˇze m´ıt v´ıce elektronick´ ych identit. Identifikace V identifikaˇcn´ım m´odu se biometrick´ y syst´em snaˇz´ı rozpoznat jedince hled´ aˇ n´ım shody se vˇsemi ˇsablonami uˇzivatel˚ u v datab´azi na z´akladˇe pˇredloˇzen´e vlastnosti. Clovˇek tud´ıˇz nemus´ı svou identitu ani uv´adˇet. Pokud je nalezena shoda, je jedinec prohl´aˇsen za uˇzivatele se shodnou ˇsablonou. Pokud shoda nalezena nen´ı, jedinci nen´ı pˇriˇrazena ˇz´adn´ a identita. Identifikace pomoc´ı biometrie m˚ uˇze b´ yt pouˇzita k zamezen´ı pouˇz´ıv´an´ı v´ıce u ´ˇct˚ u jedn´ım uˇzivatelem. Verifikace Pˇri verifikaci jedinec tvrd´ı, ˇze je jist´ ym uˇzivatelem syst´emu, a ten provˇeˇr´ı pouze shodu namˇeˇren´ ych biometrick´ ych dat se ˇsablonou dan´eho uˇzivatele. Verifikace pomoc´ı biometrie m˚ uˇze b´ yt pouˇzita tak´e k zamezen´ı uˇz´ıv´an´ı jednoho u ´ˇctu v´ıce uˇzivateli. Autentizace Autentizace je term´ın velmi podobn´ y pojmu rozpozn´an´ı, avˇsak po jej´ım proveden´ı je autentizovan´emu jedinci pˇridˇelen jeden ze dvou stav˚ u – opr´avnˇen´ y ˇci neopr´avnˇen´ y [5]. Klasifikace Klasifikac´ı rozum´ıme tˇr´ıdˇen´ı do r˚ uzn´ ych tˇr´ıd. Doch´az´ı k n´ı napˇr´ıklad v situaci, kdy s jistotou v´ıme, ˇze osoba, kter´a poskytla vzorek, je uˇzivatelem syst´emu. Klasifikace je v tomto pˇr´ıpadˇe podobn´ a identifikaci, odpad´a ovˇsem varianta, kdy je osoba prohl´aˇsena za u ´toˇcn´ıka. Pr˚ ubˇ eˇ zn´ a verifikace Ve vˇetˇsinˇe poˇc´ıtaˇcov´ ych syst´em˚ u je identita uˇzivatele ovˇeˇrena pouze na zaˇc´ atku, v pˇrihlaˇsovac´ı f´ azi. Pokud ovˇsem u ´toˇcn´ık z´ısk´a pˇr´ıstup do syst´emu pot´e, nelze ˇ sen´ım se jev´ı pr˚ jiˇz tuto skuteˇcnost zjistit. Reˇ ubˇeˇzn´a verifikace, kdy i po prvotn´ı autentizaci uˇzivatele doch´ az´ı k dalˇs´ım ovˇeˇren´ım v pr˚ ubˇehu pouˇz´ıv´an´ı syst´emu. Tento postup ovˇsem nelze aplikovat u vˇsech biometrick´ ymi vlastnost´ı. Napˇr´ıklad kontinu´aln´ı verifikace uˇzivatele pomoc´ı sn´ım´ an´ı oˇcn´ı duhovky se jev´ı ve vˇetˇsinˇe pˇr´ıpad˚ u nere´aln´a, avˇsak pro dynamiku stisku kl´ aves je tento pˇr´ıstup vhodn´ y.
2.2
Fyziologick´ e a behavior´ aln´ı vlastnosti
Mˇeˇriteln´e biometrick´e vlastnosti lze rozdˇelit do dvou kategori´ı a to na fyziologick´e (nˇekdy naz´ yvan´e anatomick´e) a behavior´ aln´ı (ˇci dynamick´e) [3, str. 15]. Mezi fyziologick´e charakteristiky m˚ uˇzeme zaˇradit otisky prst˚ u, rysy obliˇceje, duhovky, ruky, ucha a dalˇs´ı. Behavior´aln´ı jsou spojeny s ˇcinnost´ı zkouman´eho jedince a ˇrad´ıme k nim hlas, ch˚ uzi, podpis, dynamiku stisku kl´ aves a dalˇs´ı. Behavior´ aln´ı vlastnosti jsou obecnˇe povaˇzov´any za slabˇs´ı neˇz fyziologick´e, protoˇze u nich doch´ az´ı ke zmˇen´am v z´avislosti na ˇcase. Mohou b´ yt v´ yraznˇe ovlivnˇeny i psychick´ ym stavem zkouman´e osoby. 4
Pˇrestoˇze jsou fyziologick´e charakteristiky hodnoceny l´epe neˇz behavior´aln´ı, je pˇri jejich pouˇzit´ı ˇcasto potˇreba pˇreruˇsit pr´avˇe vykon´avanou ˇcinnost a zamˇeˇrit svou pozornost na biometrick´ y senzor. Pˇri rozpozn´ av´an´ı pomoc´ı dynamick´ ych vlastnost´ı m˚ uˇze b´ yt zkoum´ano samotn´e prov´ adˇen´ı pr´ ace.
2.3
Vyhodnocov´ an´ı biometrick´ ych syst´ em˚ u
Klasick´e autentizaˇcn´ı mechanismy zpravidla nab´ yvaj´ı pouze dvou v´ ysledn´ ych stav˚ u: pˇr´ıstup zam´ıtnut nebo pˇr´ıstup povolen. Ide´aln´ı syst´em je bezchybn´ y – identita legitimn´ıho uˇzivatele je vˇzdy rozpozn´ ana a u ´toˇcn´ıci nejsou do syst´emu nikdy vpuˇstˇeni. Tohoto stavu ovˇsem nelze dos´ ahnout. Pˇri autentizaci pomoc´ı biometrick´eho syst´emu je velmi nepravdˇepodobn´e, ˇze dojde k u ´pln´e shodˇe profilu uˇzivatele s pr´avˇe z´ıskan´ ym vzorkem. To m˚ uˇze b´ yt zapˇr´ıˇcinˇeno nedokonal´ ymi senzory, nest´alostmi behavior´aln´ıch vlastnost´ı, zmˇenou okoln´ıch podm´ınek ˇci zmˇenami pˇri pr´ aci uˇzivatele se senzorem. Dle [1, str. 7] je absolutn´ı shoda dokonce podezˇrel´ a – je pravdˇepodobn´e, ˇze jde o u ´tok. Pro vyj´ adˇren´ı podobnosti dvou biometrick´ ych vzork˚ u je definov´ano sk´ore porovn´an´ı. Pokud jde o legitimn´ıho uˇzivatele a sk´ore porovn´an´ı klesne pod pr´ah p, mluv´ıme o chybn´em zam´ıtnut´ı (d´ ale zkracov´ ano na FR z anglick´eho False Rejection). Tato hranice ˇci pr´ah je anglicky oznaˇcov´ ana jako threshold. Naopak pokud jde o u ´toˇcn´ıka, kter´ y se snaˇz´ı vniknout do syst´emu, a jeho sk´ ore porovn´ an´ı stoupne nad dan´ y pr´ah p, v d˚ usledku ˇcehoˇz je vpuˇstˇen do syst´emu, mluv´ıme o chybn´em pˇrijet´ı (d´ale jen FA z anglick´eho False Acceptance). Hodnota False Reject Rate (zkracov´ ana jako FRR) vypov´ıd´a u biometrick´eho syst´emu o tom, jak velk´a ˇc´ ast uˇzivatel˚ u byla oznaˇcena za u ´toˇcn´ıky. Naopak False Accept Rate (zkracov´ana na FAR) reprezentuje pomˇer u ´toˇcn´ık˚ u, kteˇr´ı byli do syst´emu vpuˇstˇeni. [3] V biometrick´ ych syst´emech lze sledovat nepˇr´ımou z´avislost mezi ˇcetnost´ı omyl˚ u chybn´eho pˇrijet´ı a chybn´eho zam´ıtnut´ı – snaha o sn´ıˇzen´ı jedn´e vede ke zv´ yˇsen´ı druh´e. Je proto nutn´e naj´ıt kompromisn´ı hranici, kter´ a ovˇsem z´avis´ı na konkr´etn´ı aplikaci. Pˇri snaze o neintrusivn´ı syst´em je vhodn´e m´ıt n´ızkou m´ıru FRR za cenu ˇcastˇejˇs´ıho vpuˇstˇen´ı u ´toˇcn´ık˚ u. Naopak pro syst´em, kter´ y by mˇel b´ yt dobˇre zabezpeˇcen´ y, je tˇreba minimalizovat m´ıru FAR, ˇc´ımˇz se zvˇetˇsuje riziko, ˇze pr´ avoplatn´ y uˇzivatel nebude vpuˇstˇen do syst´emu a bude muset sv˚ uj pokus o rozpozn´ an´ı opakovat nebo bude nucen prok´azat svou identitu jin´ ym zp˚ usobem. Znalost jedn´e z hodnot FRR ˇci FAR je bezcenn´a. Je vˇzdy potˇreba zn´at obˇe hodnoty, aby syst´emy mohly b´ yt vz´ ajemnˇe porovn´any. FRR a FAR jsou z´avisl´e na pouˇzit´em prahu – pokud se jeho hodnoty mˇen´ı, m´ıry FAR a FRR se mˇen´ı tak´e. Hodnoty FRR a FAR jsou na sobˇe nepˇr´ımo z´ avisl´e a v praxi je ˇcasto vhodn´e tuto z´avislost podrobnˇeji zn´at. Na jej´ı vyj´adˇren´ı a zobrazen´ı se pouˇz´ıv´ a ROC kˇrivka (z anglick´eho Receiver Operating Characteristic). ROC kˇrivky m˚ uˇzeme dˇelit dle pouˇzit´ ych mˇeˇr´ıtek (line´arn´ı, logaritmick´e) pro osy. EER (z anglick´eho Equal Error Rate) je m´ıra vyrovn´an´ı chyb FAR a FRR. Tato jednoduch´ a m´ıra se vyuˇz´ıv´ a k porovn´av´an´ı syst´em˚ u – niˇzˇs´ı EER znamen´a lepˇs´ı v´ ykon. Je vˇsak potˇreba zd˚ uraznit, ˇze srovn´ an´ı syst´em˚ u d´ıky jedin´emu ˇc´ıslu tak´e nen´ı ide´aln´ı – niˇzˇs´ı m´ıra EER automaticky neznamen´a lepˇs´ı syst´em pro jin´e hodnoty prahu, pro komplexnˇejˇs´ı porovn´ an´ı je tˇreba vz´ıt v potaz celou ROC kˇrivku.
5
Kapitola 3
Dynamika stisku kl´ aves K intenzivnˇe zkouman´ ym oblastem biometrie m˚ uˇzeme zaˇradit tak´e behavior´aln´ı vlastnost dynamika stisku kl´ aves. Pˇrestoˇze je verifikace na z´akladˇe t´eto charakteristiky v dneˇsn´ı dobˇe nejˇcastˇeji spojov´ ana s poˇc´ıtaˇcov´ ymi kl´avesnicemi, kde poˇc´ıtaˇc s´am m˚ uˇze automatizovanˇe vyhodnocovat stisky, jej´ı p˚ uvod m˚ uˇzeme hledat pˇri pouˇzit´ı Morseova k´odu [3]. Jiˇz za druh´e svˇetov´e v´ alky byli oper´ atoˇri rozpozn´av´ani podle prodlev mezi teˇckami a ˇc´arkami v jimi odes´ılan´em k´ odu. Jednokl´ avesov´ y n´astroj na jeho psan´ı m˚ uˇzeme povaˇzovat za nejjednoduˇsˇs´ı kl´ avesnici. Obsahuje pouze jedin´e tlaˇc´ıtko a podporuje dvˇe z´akladn´ı operace: stisknut´ı a uvolnˇen´ı. Modern´ı metody dynamiky stisku kl´aves pracuj´ı na podobn´em principu dodnes – na z´ akladˇe anal´ yzy prodlev mezi jednotliv´ ymi u ´hozy, d´elek stisku a dalˇs´ıch pˇr´ıznak˚ u je moˇzn´e urˇcit identitu pisatele.
3.1
Anal´ yza statick´ eho a voln´ eho textu
Anal´ yzu dynamiky stisku kl´ aves m˚ uˇzeme rozdˇelit do dvou z´akladn´ıch smˇer˚ u. Prvn´ı se zab´ yv´a anal´ yzou statick´eho textu, coˇz je obecnˇe pˇresnˇejˇs´ı a jednoduˇsˇs´ı, druh´ y se zamˇeˇruje na anal´ yzu textu voln´eho (dynamick´eho). Anal´ yzu statick´eho textu m˚ uˇzeme d´ale rozdˇelit na zkoum´an´ı dlouh´ ych vzork˚ u a password hardening, maj´ıc´ı za u ´ˇcel vytvoˇrit bezpeˇcnˇejˇs´ı autentizaˇcn´ı syst´em neˇz klasick´e zad´ an´ı pˇrihlaˇsovac´ıho jm´ena a hesla, jeˇz je zaloˇzeno pouze na znalosti. Password hardening sleduje bˇehem zad´ av´ an´ı autentizaˇcn´ıch informac´ı tak´e biometrickou dynamiku stisku kl´aves a tu porovn´ av´ a s profilem uˇzivatele. C´ılem tedy nen´ı nahradit klasick´e pˇrihlaˇsov´an´ı, pouze ho doplnit a uˇcinit bezpeˇcnˇejˇs´ım. Password hardening pracuje s velmi kr´atk´ ym textem – i o d´elce pouh´eho jednoho slova – tato metoda je jednoduˇsˇs´ı neˇz ostatn´ı, protoˇze je pˇredem zn´am text, kter´ y bude zad´ av´ an, a nebude zde d´ale rozeb´ır´ana. Anal´ yza statick´eho dlouh´eho textu by se dala oznaˇcit za v´ yvojov´eho pˇredch˚ udce anal´ yzy voln´eho textu, tento smˇer tud´ıˇz nelze pˇri dalˇs´ım popisu vynechat.
3.2
Pˇ r´ıznaky
Stlaˇcen´ı a uvolnˇen´ı kl´ avesy jsou dvˇe z´akladn´ı atomick´e ud´alosti, ze kter´ ych je moˇzno vyextrahovat pˇr´ıznaky. Ty dˇel´ıme v kontextu dynamiky stisku kl´aves do dvou kategori´ı: glob´aln´ı a ˇcasov´e (z anglick´eho global a temporal ). ˇ ıme k nim Glob´ aln´ı popisuj´ı obecn´ y zp˚ usob psan´ı uˇzivatele. Rad´ • celkovou rychlost psan´ı, 6
• frekvenci chyb (tu lze odhadnout pomoc´ı ˇcetnosti stisku kl´aves Backspace a Delete) • a styl pouˇz´ıv´ an´ı kontroln´ıch kl´aves jako Ctrl, Shift, Alt. Je potˇreba zd˚ uraznit, ˇze ke zjiˇstˇen´ı glob´aln´ıch pˇr´ıznak˚ u je nutno zkoumat delˇs´ı text. ˇ Casov´ e pˇr´ıznaky popisuj´ı styl stisku a uvolnˇen´ı konkr´etn´ı kl´avesy ˇci jejich kombinaci. Mohou b´ yt vypoˇc´ıt´ any na z´ akladˇe ˇcasov´ ych zn´amek spojen´ ych s tˇemito dˇeji. Obr´azek 3.1 zobrazuje ˇcasov´e intervaly, kter´e mohou b´ yt z´ısk´any ze stisku a uvolnˇen´ı jedn´e ˇci dvou kl´aves. Doba mezi stiskem a uvolnˇen´ım kl´avesy A je v anglick´e literatuˇre [6] oznaˇcov´ana jako dwell time. D´elka mezi uvolnˇen´ım prvn´ı kl´avesy A a stisknut´ım n´asleduj´ıc´ı kl´avesy B je oznaˇcov´ ana jako interval, doba trv´an´ı mezi dvˇema stisky n´asleduj´ıc´ıch kl´aves jako flight time atd. Pomoc´ı ˇcasov´ ych u ´daj˚ u dwell time a interval je moˇzn´e dopoˇc´ıtat vˇsechny zb´ yvaj´ıc´ı. Pˇrev´ aˇzn´ a vˇetˇsina zde prezentovan´ ych technik vyuˇz´ıv´a pouze ˇcasov´e u ´daje dwell time a flight time, nˇekter´e z nich dokonce pouze flight time. Flight time mezi kl´avesami A a B je moˇzn´e oznaˇcit tak´e jako d´elku trv´an´ı di-grafu AB. D´elkou trv´an´ı n-grafu pot´e analogicky nazveme dobu mezi stisknut´ım prvn´ı a n-t´e kl´avesy.
Obr´azek 3.1: Pˇet mˇeˇriteln´ ych ˇcasov´ ych u ´daj˚ u pˇri stisku jedn´e ˇci dvou kl´aves: a) dwell time, b) up to up, c) latency, d) interval, e) flight time. Zaˇc´atkem intervalu A je myˇslen stisk kl´avesy A, koncem pak uvolnˇen´ı. Obdobnˇe pro B. Zdroj: [6]
Je potˇreba zd˚ uraznit, ˇze nˇekter´e z mˇeˇren´ ych ˇcasov´ ych u ´daj˚ u mohou b´ yt i z´aporn´e. Napˇr´ıklad pˇri stisku kl´ aves a a l, kter´e vˇetˇsinou neb´ yvaj´ı ps´any stejnou rukou, je moˇzn´e, ˇze dojde ke stisku kl´ avesy l pˇred uvolnˇen´ım kl´avesy a. Lze br´ at v u ´vahu i dalˇs´ı moˇzn´e pˇr´ıznaky jako napˇr´ıklad s´ılu vyvinutou pˇri stisku kl´avesy ˇci sledov´ an´ı, kter´ y prst danou kl´avesu stiskl [7, str. 2]. K z´ısk´an´ı tˇechto alternativnˇejˇs´ıch pˇr´ıznak˚ u je ovˇsem zapotˇreb´ı speci´aln´ıch kl´avesnic, a proto nebudou ve zbytku pr´ace uvaˇzov´ any.
7
3.3
Vlastnosti verifikace na z´ akladˇ e dynamiky stisku kl´ aves
Jak bylo prezentov´ ano v ˇc´ asti 3.2, pˇr´ıznaky se daj´ı z´ıskat pomoc´ı stisk˚ u a uvolnˇen´ı kl´aves – psan´ı na kl´ avesnici – doprov´azen´ ych ˇcasov´ ymi zn´amkami [8, str. 313]. Takov´ a ˇcinnost je pro ˇclovˇeka pouˇz´ıvaj´ıc´ıho poˇc´ıtaˇc bˇeˇzn´a, a proto je moˇzn´e verifikovat uˇzivatele i bez jeho vˇedom´ı. Nav´ıc je kl´ avesnic´ı vybavena naprost´a vˇetˇsina osobn´ıch poˇc´ıtaˇc˚ u, tud´ıˇz k aplikaci tohoto postupu nen´ı potˇreba speci´ aln´ıho hardware. Zkoum´an´ı uˇzivatele je nav´ıc moˇzn´e i po pˇrihlaˇsovac´ı f´ azi, coˇz umoˇzn ˇuje pr˚ ubˇeˇznou verifikaci. Mezi nepopirateln´e pˇrednosti patˇr´ı tak´e jist´ a bezpeˇcnost – nen´ı pravdˇepodobn´e, ˇze by u ´toˇcn´ık dok´azal napodobovat rychlost u ´hoz˚ u pˇri psan´ı [9], na druhou stranu charakteristika dynamiky stisku kl´aves pravdˇepodobnˇe nen´ı unik´ atn´ı. Na rozd´ıl od jin´ ych biometrick´ ych vlastnost´ı u ´hozy poskytuj´ı velice m´alo informac´ı. Pisatel m˚ uˇze b´ yt nav´ıc ovlivnˇen celou ˇradou negativn´ıch faktor˚ u jak´ ymi jsou u ´nava, nesoustˇredˇenost, nemoc ˇci zranˇen´ı, kter´e mohou negativnˇe ovlivnit v´ ysledek anal´ yzy. Pokud m´a u ´toˇcn´ık moˇznost vyuˇz´ıvat softwarovou virtu´aln´ı kl´avesnici, m˚ uˇze se vyhnout verifikaci. Je tud´ıˇz vhodn´e vyuˇz´ıvat program ovˇeˇruj´ıc´ı identitu pisatele pomoc´ı dynamiky stisku kl´aves spoleˇcnˇe napˇr´ıklad s programem verifikuj´ıc´ım uˇzivatele pomoc´ı dynamiky gest myˇsi a t´ım vytvoˇrit multimod´ aln´ı biometrick´ y syst´em.
3.4
Pˇ rehled metod
V t´eto ˇc´ asti budou pops´ any z´asadn´ı metody anal´ yzy dynamiky stisku kl´aves delˇs´ıho textu a tak´e datov´ ych soubor˚ u, na kter´ ych byly testov´any. Nˇekter´e postupy m˚ uˇzeme oznaˇcit za historick´e, ale pˇresto jsou d˚ uleˇzit´e z hlediska v´ yvoje postup˚ u modernˇejˇs´ıch a pˇresnˇejˇs´ıch. Na u ´vod popisu jednotliv´ ych technik je tˇreba ˇr´ıci, ˇze metody m˚ uˇzeme rozdˇelit do dvou kategori´ı podle vybran´eho algoritmu vyuˇzit´eho k anal´ yze. Dˇelit je m˚ uˇzeme na algoritmy zaloˇzen´e na statistick´em pˇr´ıstupu a ty spoˇc´ıvaj´ıc´ı v dolov´ an´ı dat. Statistick´ y pˇr´ıstup tkv´ı v porovn´ av´ an´ı referenˇcn´ıho vzorku uˇzivatele se vzorkem jedince snaˇz´ıc´ıho se autentizovat v syst´emu. D´ıky vypoˇc´ıtan´e statistick´e vzd´alenosti mezi tˇemito dvˇema vzorky je pak rozhodnuto, zda jde o legitimn´ıho uˇzivatele ˇci u ´toˇcn´ıka. Metody zaloˇzen´e na dolov´an´ı dat jsou kolekc´ı technik z oblast´ı umˇel´e inteligence a strojov´eho uˇcen´ı, zahrnuj´ıc´ı neuronov´e s´ıtˇe, a typicky vybuduj´ı prediktivn´ı model z historie dat a pot´e vyuˇzij´ı tohoto modelu k pˇredpovˇedi v´ ysledku nov´eho pokusu [10, str. 433]. Neuronov´e s´ıtˇe a podobn´e mechanismy maj´ı fundament´ aln´ı nev´ yhodu – pokud je do syst´emu pˇrid´an nov´ y uˇzivatel, je potˇreba celou s´ıt’ pˇretr´enovat, coˇz m˚ uˇze trvat znaˇcnou dobu. Gaines a kolektiv Mezi pr˚ ukopnick´e pr´ace, analyzuj´ıc´ı statick´ y text pomoc´ı dynamiky stisku kl´ aves, m˚ uˇzeme bezesporu zaˇradit studii [11] popisuj´ıc´ı experiment, kter´eho se z´ uˇcastnilo sedm profesion´ aln´ıch p´ısaˇr˚ u. Ti byli poˇz´ad´ani o naps´an´ı totoˇzn´ ych text˚ u, sloˇzen´ ych ze tˇr´ı ˇc´ast´ı. Druh´e sezen´ı, ve kter´em p´ısaˇri napsali stejn´ y text, se uskuteˇcnilo do ˇctyˇr mˇes´ıc˚ u od prvn´ıho. Kaˇzd´ a ˇc´ ast obsahovala 300 aˇz 400 slov a k jejich naps´an´ı byla vyuˇzita pouze mal´a p´ısmena. V prvn´ı ˇc´ asti byl pouˇzit bˇeˇzn´ y anglick´ y text, druh´a sest´avala z n´ahodnˇe poskl´adan´ ych slov a tˇret´ı z n´ ahodnˇe uspoˇr´adan´ ych fr´az´ı. Z takto z´ıskan´ ych dat byly spoˇc´ıt´any d´elky trv´an´ı di-graf˚ u a bylo zjiˇstˇeno, ˇze kol´ısaj´ı od minim´ aln´ıch 75 milisekund aˇz po nˇekolik sekund. Nav´ıc se d´elky trv´an´ı di-graf˚ u od kaˇzd´eho autora m´ırnˇe liˇsily v r˚ uzn´ ych ˇc´ astech textu, a proto bylo nutn´e tyto hodnoty zkombinovat. Pro anal´ yzu byly vyuˇzity jen ty di-grafy, kter´e se v textu objevily v´ıce neˇz desetkr´ at v kaˇzd´em sezen´ı. Takov´ ych bylo 87. Tento soubor byl d´ale transformov´an odstranˇen´ım tˇech 8
di-graf˚ u, jejichˇz d´elka trv´ an´ı byla vzd´alen´a od ostatn´ıch (tzv. outliers) a vˇsechny tyto zbyl´e d´elky trv´ an´ı byly zlogaritmov´ any. Po t´eto transformaci bylo zjiˇstˇeno, ˇze data jsou aproximovanˇe rozdˇelena norm´ aln´ım rozloˇzen´ım. Pˇri pouˇzit´ı pˇeti kl´ıˇcov´ ych di-graf˚ u k anal´ yze pomoc´ı T-testu byli mezi sebou autoˇri text˚ u jasnˇe rozliˇsiteln´ı. Pˇrestoˇze cel´ y experiment probˇehl na poˇc´ıtaˇci, k vyhodnocen´ı nebyl pouˇzit ˇz´adn´ y automatizovan´ y klasifik´ ator. Umphress a Williams V prvn´ım experimentu bylo dle [12] poˇz´ad´ano 17 program´ator˚ u o pˇreps´ an´ı dvou r˚ uzn´ ych text˚ u – prvn´ı (profilov´ y) o d´elce 1400 znak˚ u a druh´ y o d´elce 300 znak˚ u. Bˇehem druh´eho experimentu 36 u ´ˇcastn´ık˚ u napsalo dva totoˇzn´e texty o d´elce 537 znak˚ u v rozmez´ı jednoho mˇes´ıce. Autoˇri v prvn´ım experimentu uvaˇzovali nejen porovn´av´ an´ı d´elek trv´ an´ı di-graf˚ u, ale tak´e celkovou rychlost psan´ı. Od toho ale v druh´em experimentu upustili, protoˇze rychlost psan´ı nebyla dostateˇcnˇe diskriminativn´ı. K rozhodnut´ı, zda jsou si di-grafy podobn´e, vyuˇz´ıvali smˇerodatnou odchylku. Absolutn´ı hodnota rozd´ılu mezi testovan´ ym di-grafem a pr˚ umˇernou hodnotou profilov´ ych pˇr´ısluˇsn´ ych di-graf˚ u musela b´ yt menˇs´ı neˇz t-n´ asobek (t = 0,5) smˇerodatn´e odchylky. Pˇri experimentov´an´ı se snahou zjistit nejlepˇs´ı mnoˇzinu di-graf˚ u a ide´ aln´ı maxim´aln´ı hraniˇcn´ı d´elku jejich trv´an´ı, kter´a by urˇcila zda je di-graf outlier, se nejl´epe osvˇedˇcila hodnota 500 milisekund a di-grafy s mal´ ymi p´ısmeny. Uˇzivatel byl u ´spˇeˇsnˇe verifikov´ an, pokud mˇel alespoˇ n 60 % di-graf˚ u podobn´ ych. Takov´ yto syst´em dos´ ahl FAR 6 % a FRR 12 %. Monrose a Rubin V textu [13] je pops´an experiment, kde autoˇri poˇz´adali 42 dobrovoln´ık˚ u o poskytnut´ı jak statick´eho tak dynamick´eho textu. Jeden´act dobrovoln´ık˚ u vˇsak poskytlo chybn´ a data, kter´ a musela b´ yt vyˇrazena kv˚ uli probl´em˚ um s ˇcasov´an´ım ud´alost´ı. Autoˇri se snahou vylepˇsit a nav´ azat na pˇredchoz´ı pr´ace vyuˇz´ıvaj´ı dva pˇr´ıznaky: d´elku trv´ an´ı n-grafu a dwell time. Byly navrˇzeny tˇri klasifik´atory – jeden porovn´avaj´ıc´ı profil a vzorek pomoc´ı Euklidovsk´e vzd´ alenosti, druh´ y podle nev´ahovan´e pravdˇepodobnosti a tˇret´ı dle v´ahovan´e pravdˇepodobnosti. Na statick´ y text se klasifik´atory vcelku osvˇedˇcily (´ uspˇeˇsnost aˇz 90,7 %), avˇsak pˇri pouˇzit´ı k rozpozn´an´ı voln´eho textu nedos´ahly uspokojiv´ ych v´ ysledk˚ u a autoˇri na z´ avˇer pˇripouˇstˇej´ı, ˇze k anal´ yze dynamick´eho textu je potˇreba pˇrij´ıt s nov´ ymi metodami. Dowland a Furnell Mezi dalˇs´ı pr´ace, zab´ yvaj´ıc´ı se anal´ yzou voln´eho textu, patˇr´ı studie [14], kter´ a sv˚ uj pˇr´ıstup vybudovala na pˇredchoz´ım v´ yzkumu d´elky trv´an´ı di-graf˚ u. ´ Uvodn´ı pr´ ace vyuˇz´ıvala testovac´ı datov´ y soubor poskytnut´ y deseti uˇzivateli. K anal´ yze byly vyuˇzity pouze di-grafy, kter´e splˇ novaly n´asleduj´ıc´ı podm´ınky: Pokud byla d´elka jejich trv´ an´ı menˇs´ı neˇz 40 milisekund nebo vˇetˇs´ı neˇz 750 milisekund, byl takov´ y di-graf odstranˇen, u zb´ yvaj´ıc´ıch totoˇzn´ ych di-graf˚ u byla zpr˚ umˇerov´ana jejich d´elka trv´an´ı a pokud byla smˇerodatn´ a odchylka vˇetˇs´ı neˇz pr˚ umˇern´a doba jejich trv´an´ı, bylo odstranˇeno 10 % nejdelˇs´ıch i nejkratˇs´ıch di-graf˚ u a pr˚ umˇern´a hodnota znovu spoˇc´ıt´ana. Pokud se di-graf vyskytl ve vzorku m´enˇe neˇz 50kr´ at, byl odstranˇen. Ke klasifikaci vzorku byl pouˇzit podobn´ y pˇr´ıstup jako byl pouˇzit autory Umphress a Williams 3.4, v´ ysledkem t´eto pˇr´ıpravn´e studie bylo, ˇze ke spolehliv´emu rozpozn´an´ı osob je tˇreba delˇs´ıch vzork˚ u a k ovˇeˇren´ı metod reprezentativnˇejˇs´ı vzorek uˇzivatel˚ u. V navazuj´ıc´ı pr´ aci [14] proto autoˇri shrom´aˇzdili datov´ y soubor obsahuj´ıc´ı okolo 3,5 milionu stisk˚ u kl´ aves od 35 uˇzivatel˚ u. Sn´ım´an´ı uˇzivatele bylo celosyst´emov´e, to tedy znamen´ a, ˇze vzorky mohou m´ıt vˇetˇs´ı variaci. Pro filtraci uˇziteˇcn´ ych di-graf˚ u byla tentokr´at zvolena niˇzˇs´ı hodnota 10 milisekund, jinak z˚ ustaly jak filtry tak algoritmus k vyhodnocov´an´ı stejn´e. 9
Autoˇri prezentuj´ı experimenty s tri-grafy a d´elkami trv´an´ı cel´ ych slov, avˇsak s v´ yraznˇe horˇs´ımi v´ ysledky. Dalˇs´ı experimenty byly zamˇeˇreny na stanoven´ı ide´aln´ı hodnoty ˇcinitele (t) standardn´ı odchylky. Nejlepˇs´ı v´ ysledky byly dosaˇzeny s hodnotou t = 0,7. S t´ımto bylo zafixov´ ano FRR na 0 % a bylo dosaˇzeno FAR 4,9 %. Po odstranˇen´ı pˇeti nejhorˇs´ıch uˇzivatel˚ u, kteˇr´ı mˇeli nekonzistentn´ı styl psan´ı, bylo dosaˇzeno FAR 1,7 %. V n´avrz´ıch k dalˇs´ım prac´ım uv´ adˇej´ı autoˇri moˇznost kombinace r˚ uzn´ ych metrik jako napˇr´ıklad di-graf˚ u a tri-graf˚ u. Nisenson a kolektiv V textu [15] je pops´ano pouˇzit´ı algoritmu LZ78, kter´ y byl p˚ uvodnˇe navrhnut ke kompresi dat. Ten autoˇri upravili pro verifikaci pisatele na z´akladˇe dynamiky stisku kl´ aves pˇri psan´ı voln´eho textu. Jejich datov´ y soubor tvoˇrily z´aznamy od pˇeti uˇzivatel˚ u a 30 u ´toˇcn´ık˚ u. Texty uˇzivatel˚ u byly obecnˇe delˇs´ı neˇz u ´toˇcn´ık˚ u a byly to otevˇren´e odpovˇedi na ot´azky typu Jak ses dneska mˇel?“ a pˇrepis statick´eho textu. Pr˚ umˇern´a d´elka uˇzivatelova ” sn´ıman´eho textu byla 2556 stisk˚ u kl´aves a u ´toˇcn´ıkova 660 stisk˚ u kl´aves. Je tˇreba zd˚ uraznit, ˇ ˇze vˇsechna data kaˇzd´eho uˇzivatele byla z´ısk´ana z jedin´eho sezen´ı. Casov´ e prodlevy mezi stisky ˇci uvolnˇen´ımi kl´ aves byly kvantov´any pomoc´ı shlukov´an´ı za u ´ˇcelem dosaˇzen´ı diskretizace a omezen´ı moˇznost´ı hodnot proudu ud´alost´ı. Tento proud ud´alost´ı je definov´an ve tvaru u1 , δ1 , u2 , δ2 , · · · , un , δn , kde ui je stisknut´ı nebo uvolnˇen´ı kl´avesy a δi je kvantizovan´a ˇcasov´ a prodleva mezi n´ asleduj´ıc´ımi ud´alostmi. u1 i δ1 m˚ uˇzeme povaˇzovat za symboly pˇredan´e klasifik´ atoru zaloˇzen´em na LZ78, kter´ y pomoc´ı tohoto proudu dat vytvoˇr´ı v´ahovan´ y strom a takto je klasifik´ ator natr´enov´an. Klasifik´ator je pot´e podle pˇredloˇzen´eho nov´eho symbolu a kontextu, kde se symbol objevil, schopen pˇredpovˇedˇet pravdˇepodobnost v´ yskytu tohoto symbolu. Pomoc´ı pˇredpovˇedi jednoho symbolu lze samozˇrejmˇe pˇredpovˇedˇet i cel´ y vzorek. Autoˇri dos´ ahli s t´ımto klasifik´atorem pˇri verifikaci FRR 5,25 % a FAR 1,13 %. Gunetti a kolektiv V pr´ aci [16] autoˇri pˇredstavuj´ı nov´ y pˇr´ıstup vyuˇz´ıvaj´ıc´ı d´elky trv´ an´ı n-graf˚ u pro autentizaci osob na z´akladˇe psan´ı stylu statick´eho textu. Vzd´alenost mezi vzorky je pouze poˇc´ıt´ ana na z´ akladˇe relativn´ıch ˇcasov´ ych u ´daj˚ u. D´ıky tomuto pˇr´ıstupu je uˇzivatel rozpozn´ an i v pˇr´ıpadˇe, ˇze se nach´az´ı v jin´em psychologick´em rozpoloˇzen´ı neˇz byl pˇri vytv´ aˇren´ı profilu. V navazuj´ıc´ı pr´ aci [8], zab´ yvaj´ıc´ı se autentizac´ı na z´akladˇe dynamiky stisku kl´aves voln´eho textu, autoˇri pˇredchoz´ı metriku znaˇc´ı jako R“ (relativn´ı) a zav´adˇej´ı dalˇs´ı met” riku A“ (absolutn´ı). Tyto metriky lze nav´ıc urˇcit pro r˚ uzn´e n-grafy (di-grafy, tri-grafy ” i tetra-grafy) a v´ ysledky kombinovat. Autoˇri bˇehem ˇsesti mˇes´ıc˚ u shrom´aˇzdili datov´ y soubor skl´adaj´ıc´ı se z 15 sezen´ı od 40 jedinc˚ u a jednoho sezen´ı od 165 osob. Jedinci s v´ıce sezen´ımi jsou povaˇzov´ani za uˇzivatele syst´emu a osoby s jedin´ ym sezen´ım za u ´toˇcn´ıky. Vˇsechny vzorky byly naps´any v italˇstinˇe ´ castn´ıci experimentu a ˇz´adn´e dvˇe sezen´ı od jednoho uˇzivatele nebyly naps´any v t´ yˇz den. Uˇ mˇeli pˇredst´ırat psan´ı emailu a ps´at libovoln´ y text. Na tomto datov´em souboru bylo za pomoci tohoto algoritmu dosaˇzeno FRR 0,03 % a FAR 3,1 % pˇri verifikaci. Detailnˇejˇs´ı popis t´eto metody bude v n´asleduj´ıc´ı ˇc´asti.
Shimshon a kolektiv V pr´ aci [6] se autoˇri zamˇeˇrili na kontinu´aln´ı verifikaci uˇzivatele pomoc´ı co nejmenˇs´ıho vzorku. Pˇredpokladem pro vytvoˇren´ı uˇzivatelsk´eho profilu je dostateˇcnˇe dlouh´ y z´aznam
10
z uˇzivatelsk´eho sezen´ı a jak´ ykoliv pokus o zkr´acen´ı f´aze vytv´aˇren´ı profilu vede k nekorektn´ımu vyhodnocov´ an´ı v budoucnosti. Jejich metoda je rozdˇelena na dvˇe f´aze – natr´enov´an´ı a verifikaci. V tr´enovac´ı ˇc´ asti je postaven verifikaˇcn´ı model obsahuj´ıc´ı v´ıcetˇr´ıdn´ı klasifik´ator a mapovac´ı funkci na z´ akladˇe vˇsech jeho sezen´ı. Jak klasifik´ator tak mapovac´ı funkce jsou pro kaˇzd´eho uˇzivatele unik´ atn´ı. Doby trv´an´ı stejn´ ych n-graf˚ u z´ıskan´ ych z tr´enovac´ıch sezen´ı jsou pr˚ umˇerov´ any a tak je vytvoˇren vˇzdy jeden reprezentuj´ıc´ı profilov´ y n-graf. Tyto hodnoty jsou n´aslednˇe shlukov´ any na podobn´e n-grafy. V´ ystupem shlukov´an´ı je mapovac´ı funkce mapuj´ıc´ı n-graf obsaˇzen´ y v profilu na konkr´etn´ı shluk. Pot´e je natr´enov´an klasifik´ator na z´akladˇe vektor˚ u pˇr´ıznak˚ u z´ıskan´ ych z tr´enovac´ıch sezen´ı uˇzivatele. Ve verifikaˇcn´ı f´ azi je z uˇzivatelova sezen´ı z´ısk´an vektor pˇr´ıznak˚ u pomoc´ı mapovac´ı funkce a ten pˇredloˇzen klasifik´ atoru k verifikaci. V´ ystupem klasifik´atoru je vektor pravdˇepodobnost´ı (pa , pb , · · · , pz ). Pravdˇepodobnost pn je pravdˇepodobnost´ı, ˇze vzorek patˇr´ı uˇzivateli n. Pro u ´spˇeˇsnou verifikaci mus´ı b´ yt sezen´ı klasifikov´ano jako uˇzivatelovo a nav´ıc pravdˇepodobnost pn mus´ı pˇres´ ahnout pr´ ah t. Autoˇri experimentuj´ı s vybudov´an´ım v´ıce klasifik´ator˚ u ze stejn´ ych uˇzivatelsk´ ych sezen´ı, liˇs´ıc´ıch se pouze v poˇctu shluk˚ u, na kter´e je provedeno shlukov´an´ı. Takov´ yto sloˇzen´ y klasifik´ ator pot´e zpr˚ umˇeruje pravdˇepodobnosti d´ılˇc´ıch klasifik´ator˚ u. K otestov´ an´ı tohoto algoritmu autoˇri vyuˇzili ˇc´ast datov´eho souboru od Gunettiho a kolektivu 3.4, kter´ a obsahovala 21 uˇzivatel˚ u a 165 u ´toˇcn´ık˚ u, a dos´ahli pˇri pouˇzit´ı sloˇzen´eho klasifik´ atoru FAR 3,47 % a FRR 0 % pˇri pouˇzit´ı textu o d´elce pouh´ ych 250 u ´hoz˚ u. Pˇri pln´e d´elce textu bylo samozˇrejmˇe dosaˇzeno jeˇstˇe lepˇs´ıch v´ ysledk˚ u.
3.5
Metoda Gunettiho a Picardiov´ e
Tato ˇc´ ast se hloubˇeji zab´ yv´ a metodou autor˚ u Gunettiho a Picardiov´e pro anal´ yzu dynamick´eho textu, pˇredstavenou v prac´ıch [16] a [8]. Autoˇri uvaˇzuj´ı jako pˇr´ıznak pouze dobu trv´an´ı n-grafu (flight time), avˇsak na konci je uvedeno rozˇs´ıˇren´ı, kde je tato metoda doplnˇena o pˇr´ıznak d´elky mezi stiskem a uvolnˇen´ım jedn´e kl´avesy (dwell time) dle pr´ace [7]. Jako modelov´ y pˇr´ıklad, se kter´ ym budeme pracovat v dalˇs´ı ˇc´asti tohoto textu, uvaˇzujme ˇ ısla pˇred p´ısmeny reprezentuj´ı situaci, kdy byla naps´ ana dvˇe slova – vzd´ alenosti a ud´ alosti. C´ ˇcas, kdy byly pˇr´ısluˇsn´e kl´ avesy stisknuty, v milisekund´ach: S1: 0 v 120 z 250 d 370 ´ a 495 l 680 e 805 n 995 o 1045 s 1206 t 1267 i S2: 0 u 155 d 255 ´ a 325 l 450 o 564 s 704 t 801 i Autoˇri pˇredstavuj´ı dvˇe tˇr´ıdy mˇeˇren´ı, kter´e se snaˇz´ı zohlednit r˚ uzn´e aspekty podobnost´ı a rozd´ılnost´ı pˇri psan´ı – R“ a A“ hodnoty. Na modelov´em pˇr´ıkladˇe uk´aˇzeme jak je spoˇc´ıtat. ” ”
R“ metrika ” V pr´ aci [16] byla pˇredstavena R“ metrika, pomoc´ı kter´e je moˇzno analyzovat statick´ y ” text. Jde o relativn´ı hodnotu podobnosti dvou napsan´ ych vzork˚ u. V navazuj´ıc´ı pr´aci [8] autoˇri tuto myˇslenku rozˇs´ıˇrili a pouˇz´ıvaj´ı ji nejen pro anal´ yzu statick´eho textu, ale tak´e pro anal´ yzu textu voln´eho. Pˇri pouˇzit´ı R“ metriky je respektov´an psychick´ y i fyzick´ y stav ” zkouman´eho ˇclovˇeka. Hodnota R“ je sv´az´ana s m´ırou neuspoˇr´adanosti pole. ”
11
M´ıra neuspoˇ r´ adanosti Mˇejme d´ ano pole P o N prvc´ıch. M´ıra neuspoˇr´adanosti (pˇreloˇzeno z anglick´eho degree of disorder nebo jen disorder ) pole P v˚ uˇci uspoˇr´adan´emu poli P 0 m˚ uˇze b´ yt spoˇc´ıt´ana jako souˇcet vzd´ alenost´ı mezi pozic´ı prvk˚ u v P a stejn´ ych prvk˚ u v P 0. Pˇ r´ıklad Mˇejme napˇr´ıklad pole P = [2, 5, 3, 4, 1], pˇriˇcemˇz m´ıra jeho neuspoˇr´adanosti v˚ uˇci 0 uspoˇr´adan´emu poli P = [1, 2, 3, 4, 5] je 1 + 3 + 0 + 0 + 4 = 8. Pokud je pole P seˇrazen´e, m´ a m´ıru neuspoˇr´adanosti rovnou nule. Naopak maxim´aln´ı m´ıra neuspoˇr´ adanosti pole P nastane, jestliˇze budou jednotliv´e prvky seˇrazen´e v opaˇcn´em 2 poˇrad´ı. Maxim´ aln´ı m´ıru neuspoˇr´adanosti pole P lze spoˇc´ıtat jako |P2| , pokud bude |P | 2
sud´e, a |P |2−1 pro |P | lich´e. Z praktick´ ych d˚ uvod˚ u je vhodn´e pracovat s normalizovanou m´ırou neuspoˇr´adanosti. Tu lze spoˇc´ıtat podˇelen´ım m´ıry neuspoˇr´adanosti maxim´aln´ı hodnotou m´ıry neuspoˇr´adanosti pro pole o stejn´em poˇctu prvk˚ u. Tato hodnota je z intervalu h0; 1i. D´ıky tomu lze porovn´avat m´ıry neuspoˇr´ adanosti pol´ı s r˚ uzn´ ymi poˇcty prvk˚ u. Pˇ r´ıklad hodnotˇe
Normalizovan´ a m´ıra neuspoˇr´adanosti pole P = [2, 5, 3, 4, 1] bude odpov´ıdat = 0,666. 52 −1 8 2
Uvaˇzujme dva vzorky V1 a V2 pro dan´e n, reprezentovan´e seˇrazen´ ymi poli dle d´elky jejich n-graf˚ u, V1 napˇr´ıklad jako referenˇcn´ı uspoˇr´adan´e pole reprezentuj´ıc´ı profil uˇzivatele. Vzd´alenost mezi tˇemito napsan´ ymi vzorky vzhledem k n-graf˚ um, kter´e sd´ıl´ı, oznaˇc´ıme jako Rn (V1 , V2 ). Tuto vzd´ alenost m˚ uˇzeme spoˇc´ıtat jako normalizovanou m´ıru neuspoˇr´adanosti V1 v˚ uˇci V2 . Je zˇrejm´e, ˇze vzd´ alenost Rn (V1 , V2 ) = Rn (V2 , V1 ). Nelze pˇredpokl´ adat, ˇze d´elka trv´an´ı n-grafu bude vˇzdy konstantn´ı. Variaci ovlivˇ nuje jak stav pisatele tak kontext, ve kter´em je n-graf naps´an. Tento kontext lze obs´ahnout kombinac´ı r˚ uzn´ ych n. Proto je pro urˇcen´ı vzd´alenosti moˇzn´e spoˇc´ıtat jak vzd´alenost pro n = 2, tedy R2 (V1 , V2 ), tak pro n = 3 analogicky R3 (V1 , V2 ). Autoˇri v pr´aci [8] kombinuj´ı tyto v´ ysledky pomoc´ı jednoduch´eho v´ahov´an´ı. Pokud dva vzorky V1 a V2 sd´ıl´ı N n-graf˚ ua M m-graf˚ u za podm´ınky, ˇze plat´ı N > M , lze kumulativn´ı vzd´alenost Rn,m spoˇc´ıtat jako: Rn,m (V1 , V2 ) = Rn (V1 , V2 ) + Rm (V1 , V2 ) · M/N
(3.1)
Obdobnˇe kumulativn´ı vzd´ alenost Rn,m,p , pro kterou plat´ı N > M a N > P , lze vyj´adˇrit jako: Rn,m,p (V1 , V2 ) = Rn (V1 , V2 ) + Rm (V1 , V2 ) · M/N + Rp (V1 , V2 ) · P/N (3.2) kde P je poˇctem sd´ılen´ ych p-graf˚ u mezi vzorky V1 a V2 . Pˇ r´ıklad K v´ ypoˇctu vzd´ alenosti R2 (S1 , S2 ) mus´ıme nejprve stanovit, kter´e di-grafy sd´ıl´ı S1 a S2 , a pot´e spoˇc´ıtat tuto vzd´ alenost, jak je zobrazeno na obr´azku 3.2: R2 (S1 , S2 ) =
(2 + 1 + 1 + 0 + 0) = 0,333 12
Obdobnˇe m˚ uˇzeme vypoˇc´ıtat vzd´alenost R3 (S1 , S2 ), jak je zobrazeno na obr´azku 3.3.
12
Obr´azek 3.2: V´ ypoˇcet vzd´ alenost´ı mezi slovy vzd´alenosti a ud´alosti za pouˇzit´ı di-graf˚ u. Zdroj: vlastn´ı pr´ ace autora na z´ akladˇe [8]
R3 (S1 , S2 ) =
1+1+0 = 0,5 8
Obr´azek 3.3: V´ ypoˇcet vzd´ alenost´ı mezi slovy vzd´alenosti a ud´alosti za pouˇzit´ı tri-graf˚ u. Zdroj: vlastn´ı pr´ ace autora na z´ akladˇe [8]
Za povˇsimnut´ı stoj´ı, ˇze vzorky S1 a S2 sd´ıl´ı i jeden tetra-graf. Protoˇze je pouze jeden, nem´a smysl poˇc´ıtat R“ hodnotu – ta by vyˇsla vˇzdy rovna nule. V´ ypoˇcet R“ hodnoty m´ a ” ” v´ yznam pouze pokud dva vzorky sd´ıl´ı v´ıce neˇz jeden n-graf. Kumulativn´ı vzd´ alenost dle vztahu 3.1: R2,3 = 0,333 + 0,5 · 3/5 = 0,633 Dle [7] je tato metoda v´ ahov´ an´ı (vztahy 3.1, 3.2) korektn´ı pouze dokud se nesnaˇz´ıme pouˇz´ıvat metriky A“ a R“ s r˚ uzn´ ymi kombinacemi n. V takov´em pˇr´ıpadˇe je vhodnˇejˇs´ı ” ” pouˇz´ıt vztahy: Rn (V1 , V2 ) · N + Rm (V1 , V2 ) Rn,m (V1 , V2 ) = (3.3) N +M Rn (V1 , V2 ) · N + Rm (V1 , V2 ) · M + Rp (V1 , V2 ) · P N +M +P kter´e jsou nav´ıc normalizovan´e. Rn,m,p (V1 , V2 ) =
13
(3.4)
A“ metrika ” Pˇrestoˇze pˇri pouˇzit´ı samotn´e R“ metriky lze dos´ahnout dobr´ ych v´ ysledk˚ u, je nutn´e si ” uvˇedomit jist´e nedostatky. Uvaˇzujme vzorek V1 s di-grafy a vzorek V2 s di-grafy, pˇriˇcemˇz d´elka trv´ an´ı kaˇzd´eho z nich je dvojn´asobn´a v˚ uˇci odpov´ıdaj´ıc´ım ve vzorku V1 . Pot´e je vzd´alenost R2 (V1 , V2 ) = 0, a proto je tˇreba zav´est dalˇs´ı metriku, zohledˇ nuj´ıc´ı absolutn´ı hodnoty d´elek trv´ an´ı n-graf˚ u. O n-grafech G1 a G2 s jejich dobami trv´an´ı dg1 a dg2 pˇri stejn´em n prohl´as´ıme, ˇze jsou si podobn´e, pokud splˇ nuj´ı podm´ınku: 1<
max(dg1 , dg2 ) ≤t min(dg1 , dg2 )
(3.5)
kde pro konstantu t plat´ı t > 1. Vzd´alenost A“ vzork˚ u V1 a V2 v˚ uˇci n-graf˚ um, kter´e maj´ı ” spoleˇcn´e, a konstantˇe t definujeme jako: Atn (V1 , V2 ) = 1 −
P t (V1 , V2 ) S(V1 , V2 )
(3.6)
kde P t (V1 , V2 ) je poˇctem podobn´ ych n-graf˚ u mezi V1 a V2 . S(V1 , V2 ) je oproti tomu poˇctem vˇsech n-graf˚ u, kter´e vzorky V1 a V2 sd´ıl´ı. Je zˇrejm´e, ˇze Atn m˚ uˇze nab´ yvat hodnoty z intervalu h0; 1i. Autoˇri neuvaˇzuj´ı smˇerodatnou odchylku a od˚ uvodˇ nuj´ı to z´ıskanou moˇznost´ı spoˇc´ıtat A“ hodnoty i pro n-grafy, kter´e jsou ve vzorc´ıch obsaˇzeny pouze jednou. ” Z´asadn´ı pro vztah 3.6 je volba vhodn´e hodnoty t jako hranice pro urˇcen´ı podobnosti dvou n-graf˚ u, autoˇri po nˇekolika experimentech doporuˇcuj´ı pracovat s hodnotou t = 1,25. Pˇ r´ıklad
jako: Pro vzorky S1 a S2 m˚ uˇzeme spoˇc´ıtat hodnotu A1,25 2 S1 120 125 150 161 61
S2 d´ a ´ al os st ti
100 70 114 140 97
120/100 125/70 150/114 161/140 97/61
= = = = =
1,20 1,78 1,31 1,15 1,59
podobn´ e
podobn´ e
= 1 − 52 = 0,6. Podobn´ A1,25 ym zp˚ usobem m˚ uˇzeme vypoˇc´ıtat A31,25 a na rozd´ıl od R“ 2 ” hodnoty i A1,25 4 . Kumulativn´ı vzd´ alenosti A“ mezi vzorky V1 a V2 definujeme stejn´ ym zp˚ usobem jako ” u R“ hodnoty. ”
Vyhodnocen´ı metody Autoˇri v [8] ukazuj´ı rozd´ıln´e pˇr´ıstupy ke klasifikaci, verifikaci a identifikaci jedince. Klasifikace Uvaˇzujme mnoˇzinu uˇzivatel˚ u syst´emu U , dva vzorky V1 a V2 spolu s vzd´alenostmi mezi tˇemito vzorky d(V1 , V2 ), pro kterou plat´ı, ˇze d(V1 , V2 ) ≥ 0. Pokud se snaˇz´ıme klasifikovat vzorek X a uˇzivatel A (A ∈ U ) poskytl vzorky A1 , A2 , A3 , · · · , An , m˚ uˇzeme 14
Tabulka 3.1: V´ ysledky klasifikace dle metody od autor˚ u Gunettiho a Picardiov´e, celkem 600 pokus˚ u o klasifikaci. Zdroj: [8] Mˇeˇren´ a vzd´ al. Poˇcet chyb Chybovost [%] Mˇeˇren´ a vzd´ al. Poˇcet chyb Chybovost [%]
Pouˇzit´ı R“ vzd´alenosti Pouˇzit´ı A“ vzd´alenosti ” ” R3 R2,3 R2,4 R2,3,4 A2 A3 A2,3 A2,4 A2,3,4 44 5 9 9 44 84 41 39 41 7,33 0,83 1,5 1,5 7,33 14,0 6,83 6,5 6,83 Pouˇzit´ı kombinac´ı R“ a A“ vzd´alenost´ı ” ” R2 + A2,3 R2,3 + A2 R2,3 + A2,3 R2,3,4 + A2 R2,3,4 + A2,3 4 2 4 2 1 0,66 0,33 0,66 0,33 0,16
R2 13 2,16
pr˚ umˇernou vzd´ alenost (oznaˇcovanou jako md z anglick´eho mean distance) tˇechto vzork˚ u v˚ uˇci vzorku X spoˇc´ıtat jako: n 1 X md(A, X) = · d(Ai , X) n i=1
Tuto vzd´ alenost vypoˇcteme pro vˇsechny uˇzivatele v syst´emu a uˇzivatel s nejmenˇs´ı vzd´alenost´ı md je prohl´ aˇsen za autora vzorku X. Nejlepˇs´ı v´ ysledky aplikace r˚ uzn´ ych vzd´alenost´ı pouˇzit´ ych ke klasifikaci je zn´azornˇena v tabulce 3.1. Verifikace Mˇejme jedince, kter´ y o sobˇe tvrd´ı, ˇze je uˇzivatelem A, a poskytl vzorek X. Pro u ´spˇeˇsnou verifikaci mus´ı b´ yt splnˇeny tyto podm´ınky: 1. vzorek X je klasifikov´ an jako vzorek uˇzivatele A, 2. vzorek X je dostateˇcnˇe podobn´y vzork˚ um profilu uˇzivatele A. Abychom mohli urˇcit, kter´ y vzorek je dostateˇcnˇe podobn´y, definujme stˇredn´ı vzd´alenost vzork˚ u profilu A1 , A2 , A3 , · · · , An uˇzivatele A jako n−1 n X X 1 · md(Ai , Aj ) m(A) = n · (n − 1) i=1 j=i+1
Vzorek X je dostateˇcnˇe podobn´y profilov´ ym vzork˚ um uˇzivatele A, pokud plat´ı: md(A, X) < m(A) ∨ ∀B ∈ U − {A} : md(A, X) − m(A) < md(B, X) − md(A, X) Obˇe tyto podm´ınky lze vyj´ adˇrit pomoc´ı jedin´e: md(A, X) < m(A) + 0,5 · (md(B, X) − m(A)) Je vhodn´e poznamenat, ˇze i pˇri verifikaci, kdy uˇzivatel tvrd´ı, ˇze je uˇzivatelem A, a snaˇz´ı se toto tvrzen´ı doloˇzit vzorkem X, jsou vyuˇz´ıv´any porovn´an´ı s profily jin´ ych uˇzivatel˚ u. Takov´ yto syst´em je tedy bezpeˇcnˇejˇs´ı s nar˚ ustaj´ıc´ım poˇctem uˇzivatel˚ u, avˇsak pˇri jejich niˇzˇs´ım poˇctu nedosahuje tak dobr´ ych v´ ysledk˚ u. Nejlepˇs´ı ˇci nejzaj´ımavˇejˇs´ı v´ ysledky r˚ uzn´ ych aplikovan´ ych vzd´alenost´ı pouˇzit´ ych k verifikaci jsou zn´ azornˇeny v tabulce 3.2. 15
Tabulka 3.2: V´ ysledky verifikace dle metody od autor˚ u Gunettiho a Picardiov´e, celkem 450 600 pokus˚ u o verifikaci, z toho 600 o opr´avnˇenou. Zdroj: [8] Mˇeˇren´ a vzd´ alenost Chybn´ a pˇrijet´ı Chybn´ a odm´ıtnut´ı FAR [%] FRR [%] Mˇeˇren´ a vzd´ alenost Chybn´ a pˇrijet´ı Chybn´ a odm´ıtnut´ı FAR [%] FRR [%]
Pouˇzit´ı R“ vzd´alenosti Pouˇzit´ı A“ vzd´alenosti ” ” R2 R2,3 R2,4 R2,3,4 A2 A2,3 A2,4 A2,3,4 563 324 279 199 590 335 366 331 50 32 41 41 92 80 84 79 0,125 0,072 0,062 0,044 0,131 0,074 0,081 0,073 8,333 5,333 6,833 6,833 15,33 13,33 14,0 13,16 Pouˇzit´ı kombinac´ı R“ a A“ vzd´alenost´ı ” ” R2 + A2 R2,3 + A2,3 R2,3,4 + A2 R2,3,4 + A2,3 360 205 124 78 36 24 19 23 0,08 0,045 0,027 0,017 6,0 4,0 3,166 3,83
Identifikace Verifikace popsan´ a v pˇredchoz´ı ˇc´asti se od identifikace liˇs´ı jen v reformulaci a generalizaci pravidel. Vzorek X je identifikov´ an jako vzorek autora A, jestliˇze plat´ı n´asleduj´ıc´ı podm´ınka: ∃A ∈ U : ∀B ∈ U −{A} : md(A, X) < md(B, X)∧md(A, X) < m(A)+k·(md(B, X)−m(A)) kde k je konstanta, kter´ a byla ve verifikaci rovna 0,5. Pokud ˇz´adn´ y uˇzivatel A, kter´ y by tuto podm´ınku splˇ noval, neexistuje, je vzorek X prohl´aˇsen za nezn´am´ y. Identifikace a verifikace jsou v tomto pˇr´ıpadˇe zamˇeniteln´e, a proto dosahuj´ı stejn´ ych v´ ysledk˚ u, jak´e jsou prezentov´ any v tabulce 3.2.
Modifikace metody Autoˇri Gunetti a Picardiov´ a se domn´ıvaj´ı, ˇze nen´ı potˇreba vyuˇz´ıvat metriku spojenou s dwell time (ˇcasem mezi stiskem a uvolnˇen´ım jedn´e kl´avesy). Ta je dle nich obsaˇzena v di-grafech. Ve ˇcl´ anku [10] se vˇsak na z´akladˇe experimentu autor domn´ıv´a, ˇze s pouˇzit´ım dwell time je syst´em silnˇejˇs´ı. To potvrzuje i pr´ace [7], ve kter´e autor implementoval metodu Gunettiho a Picardiov´e a rozˇs´ıˇril mnoˇzinu pouˇz´ıvan´ ych n-graf˚ u o n = 1. Jde tedy o d´elku trv´an´ı mono-grafu – dwell time. S t´ımto rozˇs´ıˇren´ım bylo dosaˇzeno lepˇs´ıch v´ ysledk˚ u neˇz bez nˇeho. Je ot´ azkou, nakolik ovlivˇ nuje d´elku mezi stiskem a uvolnˇen´ım kl´avesy pouˇzit´a kl´avesnice. Autoˇri z´ısk´ avaj´ı sv´e datov´e soubory, na kter´ ych experimentuj´ı, pˇrev´aˇznˇe z webov´ ych formul´aˇr˚ u – lze tedy pˇredpokl´ adat, ˇze kaˇzd´ yu ´ˇcastn´ık experimentu psal na sv´e vlastn´ı kl´avesnici. Bylo by zaj´ımav´e zjistit, zda je d´elka trv´an´ı mono-graf˚ u z´avisl´a na pouˇzit´e kl´avesnici.
16
Kapitola 4
N´ avrh a implementace Pˇred samotn´ ym n´ avrhem aplikace, kter´a byla nazv´ana SecBioard, je tˇreba rozˇs´ıˇrit stroh´e zad´an´ı pr´ ace a definovat poˇzadovanou funkcionalitu syst´emu. Proto budou na u ´vod t´eto kapitoly uvedeny mnou definovan´e poˇzadavky na syst´em. V dalˇs´ı ˇc´asti bude pˇredstaven v´ ybˇer algoritm˚ u pro ˇreˇsen´ı d´ılˇc´ıch probl´em˚ u a n´avrh architektury aplikace. N´asleduje v´ yˇcet pouˇzit´ ych technologi´ı a kapitolu uzav´ıraj´ı d˚ uleˇzit´e rysy implementace.
4.1
Poˇ zadavky na aplikaci
Jak vypl´ yv´ a ze zad´ an´ı, aplikace m´a za u ´kol verifikovat uˇzivatele podle dynamiky stisku kl´aves pˇri pouˇzit´ı bˇeˇzn´e kl´ avesnice bez dalˇs´ıho speci´aln´ıho vybaven´ı. Pˇred samotn´ ym navrˇzen´ım syst´emu je tˇreba toto zad´an´ı rozˇs´ıˇrit. Na aplikaci jsou tedy kladeny tyto n´aroky, kter´e jsou sjednocen´ım zad´ an´ı a n´asleduj´ıc´ıch u ´vah: 1. Aplikace bude pr˚ ubˇeˇznˇe verifikovat uˇzivatele na z´akladˇe dynamiky stisku kl´aves bˇeˇzn´e kl´ avesnice, 2. bude spustiteln´ a pod operaˇcn´ım syst´emem GNU/Linux, 3. bude sn´ımat stisky kl´ aves celosyst´emovˇe, nikoli rozliˇsovat mezi pr´avˇe vyuˇz´ıvan´ ymi aplikacemi, 4. bude verifikovat pouze lok´ alnˇe pˇrihl´aˇsen´e uˇzivatele, 5. umoˇzn´ı podporu fast user switching (uˇzivatel´e mohou pˇrep´ınat mezi uˇzivatelsk´ ymi u ´ˇcty bez nutnosti ukonˇcen´ı aplikac´ı a odhl´aˇsen´ı se), 6. bude podporovat moˇznost zamknut´ı sezen´ı v pˇr´ıpadˇe u ´toku. 7. Zmˇeny bude moci prov´ adˇet pouze administr´ator. 8. Zmˇeny t´ ykaj´ıc´ı se uˇzivatelova profilu bude moci prov´adˇet pouze uˇzivatel s´am po ˇr´adn´e autentizaci. 9. Aplikace bude sekund´ arnˇe pracovat i jako keylogger (program pro zaznamen´av´ an´ı stisk˚ u kl´ aves). 10. Uˇzivatel si bude moci vybrat, zda tuto bezpeˇcnost´ı aplikaci vyuˇzije, avˇsak zaznamen´ av´ an´ı kl´ aves neovlivn´ı. 11. Je kladen d˚ uraz na neinvazivnost programu i za cenu vyˇsˇs´ı m´ıry FAR. 17
4.2
N´ avrh aplikace
Na z´ akladˇe poˇzadavk˚ u na aplikaci bylo potˇreba navrhnout syst´em. Mezi z´asadn´ı ˇc´asti n´avrhu patˇr´ı v´ ybˇer algoritm˚ u.
Algoritmus pro verifikaci na z´ akladˇ e dynamiky stisku kl´ aves Mezi nejd˚ uleˇzitˇejˇs´ı rozhodnut´ı patˇr´ı zvolen´ı algoritmu pro verifikaci na z´akladˇe dynamiky stisku kl´ aves. Ide´ aln´ı algoritmus pro naˇsi aplikaci m´a co nejniˇzˇs´ı u ´rovnˇe FRR i FAR, nen´ı ˇcasovˇe n´ aroˇcn´ y pˇri pˇrid´ an´ı nov´eho uˇzivatele do syst´emu a jeho s´ıla je nez´avisl´a na poˇctu uˇzivatel˚ u v syst´emu. Pˇrestoˇze v´ ysledky metody Shimshona a kolektivu popsan´e v 3.4 jsou nejlepˇs´ı, byla zvolena metoda Gunettiho a Picardiov´e 3.5 s rozˇs´ıˇren´ım dwell time pro jej´ı originalitu v pˇr´ıstupu i ovˇeˇrenost na v´ıce datov´ ych souborech [3, 8, 7], kde dosahuje vysok´e u ´spˇeˇsnosti pˇri rozpozn´ an´ı jedince. Existence metriky R“, zohledˇ nuj´ıc´ı relativn´ı rychlost psan´ı, je podle ” mne v celosyst´emov´e aplikaci verifikuj´ıc´ı uˇzivatele pomoc´ı dynamiky stisku kl´aves zcela z´asadn´ı. Nav´ıc je ˇcasovˇe i v´ ypoˇcetnˇe nen´aroˇcn´a pˇri pˇrid´av´an´ı nov´eho uˇzivatele. Nev´ yhodou je pˇr´ım´ a u ´mˇera mezi poˇctem uˇzivatel˚ u v syst´emu a silou syst´emu a dokonce i sloˇzitost´ı vyhodnocen´ı vzorku, zavinˇen´ a skuteˇcnost´ı, ˇze p˚ uvodn´ı algoritmus vyuˇz´ıv´a pro porovn´ an´ı vzorku profily vˇsech uˇzivatel˚ u. Tato technika se mi jevila jako nepˇrijateln´a v obou extr´emn´ıch pˇr´ıpadech. Pokud je v syst´emu mnoho uˇzivatel˚ u, vyhodnocen´ı vzorku by mohlo trvat velmi dlouhou dobu a t´ım zbyteˇcnˇe zatˇeˇzovat poˇc´ıtaˇc. Naopak pˇri opaˇcn´em extr´emu jedin´eho uˇzivatele je cel´ y algoritmus nepouˇziteln´ y. Bylo proto nutno cel´ y algoritmus vyhodnocen´ı modifikovat pro kontinu´ aln´ı verifikaci a pro libovoln´ y poˇcet uˇzivatel˚ u. Modifikace vyuˇz´ıvaj´ıc´ı pˇri vyhodnocen´ı pouze profil uˇzivatele, jenˇz m´a b´ yt verifikov´an, bude pops´ana v n´asleduj´ıc´ıch odstavc´ıch. Vˇerohodnost uˇzivatele (nakolik aplikace vˇeˇr´ı, ˇze je u kl´avesnice pr´avˇe pˇrihl´aˇsen´ y lok´aln´ı uˇzivatel) budeme oznaˇcovat sk´ ore. Sk´ore m˚ uˇze nab´ yvat hodnot z intervalu h0, 1i, kde 1 znaˇc´ı naprostou jistotu, ˇze jde o legitimn´ıho uˇzivatele, zat´ımco 0 znaˇc´ı absolutn´ı jistotu, ˇze jde ou ´toˇcn´ıka. Po startu programu je sk´ore inicializov´ano na konstantu skorestart . V´ ystupem porovn´ an´ı vzorku s profilem uˇzivatele je jedna hodnota a to ˇc´ıslo 21 ·(Rm,n,p +Ax,y,z ), urˇcuj´ıc´ı vˇerohodnost jednoho vzorku. Tato hodnota je z intervalu h0, 1i, protoˇze Rm,n,p i Ax,y,z jsou z intervalu h0, 1i. Hodnota v´ ystupu porovn´an´ı je pˇred´ana jako argument funkci w: p w(x) = sgn(x) · k · |x − m| (4.1) kde funkce sgn je signum re´ aln´eho ˇc´ısla, m ∈ (0, 1) je pr´ah pro klasifikaci vzorku jako legitimn´ıho a k ∈ (0, 1i je koeficient urˇcuj´ıc´ı v´ahu zmˇeny v˚ uˇci sk´ore. Tuto hodnotu w(x) d´ale pˇred´ ame jako argument rekurentn´ı funkci sn+1 (w(x), sn ), pomoc´ı kter´e vypoˇcteme novou hodnotu sk´ ore: d · (1 − sn ), d ≥ 0 sn+1 (d, sn ) = (4.2) d · sn , d<0 kde sn je minul´ a hodnota sk´ ore. T´ımto je zaruˇceno, ˇze sk´ore bude vˇzdy z intervalu h0, 1i a nav´ıc pˇr´ır˚ ustky budou z´ avisl´e na aktu´aln´ım sk´ore. Takto upraven´ y algoritmus vyhodnocen´ı je moˇzno vyuˇz´ıt i pˇri pouh´em jednom uˇzivateli. V´ ysledky syst´emu, kde je aplikov´ana tato modifikace, budou prezentov´any d´ale. Autoˇri p˚ uvodn´ı metody tvrd´ı [8, str. 317], ˇze pokud se ve vzorku objev´ı dvakr´at stejn´ y n-graf, staˇc´ı jej reprezentovat jedn´ım, jehoˇz d´elka trv´an´ı bude pr˚ umˇernou hodnotou vˇsech 18
d´ılˇc´ıch d´elek. Tento postup je podle mne korektn´ı do chv´ıle, kdy se n-grafy vyskytuj´ı rovnomˇernˇe. Pokud by vˇsak ve vzorku bylo napˇr´ıklad 100 v´ yskyt˚ u n-grafu G1 a pouze jeden v´ yskyt n-grafu G2 , bude m´ıt tento jedin´ y n-graf G2 po zpr˚ umˇerov´an´ı stejnou v´ahu jako 100 jin´ ych, coˇz m˚ uˇze v´est k nechtˇen´ ym v´ ysledk˚ um. Proto budou v n´asleduj´ıc´ı kapitole vyzkouˇseny obˇe moˇznosti, jak s pr˚ umˇerov´an´ım, tak bez pr˚ umˇerov´an´ı d´elek trv´an´ı n-graf˚ u. Autoˇri pracuj´ı v kontextu A“ metriky s prahem t = 1,25 (ze vztahu 3.5), urˇcuj´ıc´ım, ” zda jsou si dva n-grafy podobn´e. Datov´ y soubor autor˚ u byl z´ısk´an pˇri psan´ı email˚ u, kdy lze oˇcek´ avat relativnˇe konstantn´ı rychlost psan´ı, kdeˇzto v aplikaci, kter´a je celosyst´emov´ a a nerozliˇsuje mezi psan´ım dlouh´ ych text˚ u pˇri psan´ı email˚ u a kr´atk´ ym naps´an´ım adresy internetov´e str´ anky v prohl´ıˇzeˇci, je tˇreba b´ yt benevolentnˇejˇs´ı. Proto budou pˇri testov´ an´ı uvaˇzov´ any i jin´e hodnoty.
Pr˚ ubˇ eˇ zn´ a verifikace Zp˚ usob vyhodnocov´ an´ı byl tedy vybr´an, je vˇsak potˇreba jeˇstˇe definovat, jak bude prov´adˇena pr˚ ubˇeˇzn´ a verifikace. Pomoc´ı sekvence stisknut´ı a uvolnˇen´ı kl´aves je moˇzn´e generovat n-grafy. Tyto n-grafy jsou pr˚ ubˇeˇznˇe generov´any do vyrovn´avac´ı pamˇeti s urˇcitou kapacitou (oznaˇcujme ji jako pamˇet’ pam s kapacitou kap). Pokud je tato kapacita kap dosaˇzena, je sada n-graf˚ u uloˇzen´ ych ve vyrovn´avac´ı pamˇeti vyhodnocena a n´aslednˇe tyto n-grafy z pamˇeti odstranˇeny a naplˇ nov´an´ı prob´ıh´a znovu od zaˇc´atku. Pˇredstavme si vˇsak modelovou situaci, kdy uˇzivatel p´ıˇse na kl´avesnici a po skonˇcen´ı jeho pr´ ace je naplnˇena ˇc´ ast pamˇeti. Pot´e odejde od poˇc´ıtaˇce a toho se zmocn´ı u ´toˇcn´ık, ’ kter´ y nap´ıˇse pouze tolik textu, ˇze dopln´ı tuto pamˇet a je provedeno vyhodnocen´ı. V´ ysledek vyhodnocen´ı m˚ uˇze b´ yt velmi r˚ uznorod´ y a z hlediska korektnosti by nemˇel b´ yt do hodnocen´ı zaˇrazen. Tento probl´em byl vyˇreˇsen pomoc´ı sledov´an´ı neˇcinnosti na kl´avesnici. Pokud na kl´avesnici nebyla provedena ˇza´dn´a akce jiˇz Tf lush sekund, probˇehne vyhodnocen´ı pamˇeti ˇ pam a jej´ı vypr´ azdnˇen´ı ihned. Casov´ a konstanta Tf lush reprezentuje ˇcasov´ y interval mezi odchodem legitimn´ıho uˇzivatele a pˇr´ıchodem a n´aslednou prac´ı u ´toˇcn´ıka. V r˚ uzn´ ych pouˇzit´ıch se m˚ uˇze tato hodnota liˇsit, proto by mˇela b´ yt parametrizovateln´a. Tato u ´prava sebou pˇrinesla jist´e u ´skal´ı. M˚ uˇze se st´at, ˇze bude vyhodnocen i pouh´ y jedin´ y n-graf a vyhodnocen´ı by mˇelo stejnou v´ahu jako vyhodnocen´ı cel´e naplnˇen´e vyrovn´avac´ı pamˇeti. To je nepˇrijateln´e. Je tedy vypoˇc´ıt´ana hodnota w(x) pomoc´ı vztahu 4.1 a tato hodnota je v´ ahov´ ana w(x) · |pam| cet n-graf˚ u ve vyrovn´avac´ı kap , kde |pam| reprezentuje poˇ pamˇeti a kap je kapacita t´eto pamˇeti. Vˇetˇsina zde prezentovan´ ych metod zab´ yvaj´ıc´ıch se dynamikou stisku kl´aves pouˇz´ıv´ a velmi n´ızk´e prahov´e hodnoty za u ´ˇcelem rozpozn´an´ı di-grafu, kter´ y je outlier (napˇr. Downland a Furnell – 750 ms), coˇz by dovolovalo u ´toˇcn´ıkovi ps´at rychlost´ı 1 u ´hoz za sekundu a pˇritom m´ıt jistotu neodhalen´ı. Tato rychlost psan´ı se jev´ı jako pˇr´ıliˇs vysok´a, a proto jsou k identifikaci outlier˚ u vyuˇzity hranice 40 ms a 5000 ms.
Profil a s´ıla profilu Profil tvoˇr´ı mnoˇzina n-graf˚ u, pro n ∈ {1, 2, 3, 4}. V profilu se nemohou vyskytovat stejn´e n-grafy s r˚ uzn´ ymi d´elkami trv´ an´ı, nam´ısto toho jsou tyto stejn´e n-grafy reprezentov´any jedn´ım n-grafem spoleˇcnˇe s pr˚ umˇernou d´elkou trv´an´ı, smˇerodatnou odchylkou a ˇc´ıslem urˇcuj´ıc´ım kolik n-graf˚ u je t´ımto jedn´ım reprezentov´ano. Vytv´ aˇren´ı profilu je ˇcasovˇe n´ aroˇcn´a ˇcinnost, a proto by bylo vhodn´e vˇedˇet, kdy jiˇz staˇc´ı vytv´aˇren´ı zanechat. Proto je definov´ana s´ıla profilu, kter´a m˚ uˇze nab´ yvat hodnot z intervalu
19
h0, 1i, kde 0 oznaˇcuje pr´ azdn´ y profil, a 1 velmi siln´ y profil. N-graf je povaˇzov´ an za dostateˇcnˇe siln´y, aby se pod´ılel na profilu, pokud reprezentuje alespoˇ n Nminprof il stejn´ ych n-graf˚ u a z´aroveˇ n plat´ı podm´ınka 2 · σ < d, kde d je pr˚ umˇern´ a d´elka trv´ an´ı n-grafu a σ je smˇerodatn´a odchylka. S´ılu profilu S(Pn , n), kde Pn = {g1 , g2 , · · · , gz } je mnoˇzina siln´ych n-graf˚ u tvoˇr´ıc´ıch profil uˇzivatele pro dan´e n, je definov´ana jako: S(Pn , n) =
|Pn | · (nM AX + 1 − n) 100
(4.3)
kde nM AX = 4. S´ıla cel´eho profilu S(P ) je pak: 4
S(P ) =
1X S(Pi , i) 4
(4.4)
i=1
Z´ısk´ av´ an´ı informac´ı o stisknut´ ych kl´ aves´ ach Je nˇekolik moˇznost´ı jak zjistit, co se s kl´avesnic´ı dˇeje a tedy implementovat n´astroj pro zaznamen´ av´ an´ı u ´daj˚ u o stisknut´ ych kl´aves´ach. Jednou z moˇznost´ı je napsat vlastn´ı obsluhu pˇreruˇsen´ı kl´ avesnice. Ud´ alosti z kl´avesnice mohou b´ yt zachyceny na hardwarov´em portu 0x60. Dalˇs´ı moˇznost´ı je u ´nos jedn´e z funkc´ı (handle scancode, put queue, receive buf, tty read, sys read) j´ adra operaˇcn´ıho syst´emu, kter´a je v ˇretˇezci zpracov´av´an´ı kl´avesnicov´ ych ud´ alost´ı. Pˇri u ´nosu funkc´ı d´ale v ˇretˇezci zpracov´an´ı je moˇzn´e dos´ahnout sledov´ an´ı jak lok´ aln´ıch tak vzd´ alen´ ych ud´ alost´ı kl´avesnice. [17] K nejjednoduˇsˇs´ım zp˚ usob˚ um pracuj´ıc´ım vˇsak v uˇzivatelsk´em prostoru je ˇcten´ı souboru /dev/input/eventX reprezentuj´ıc´ıho kl´avesnici. Tento soubor je tvoˇren rozhran´ım evdevu [18] z ud´ alost´ı generovan´ ych v j´ adˇre operaˇcn´ıho syst´emu. Obsah tohoto souboru je tvoˇren strukturami struct input event reprezentuj´ıc´ı jedinou ud´alost a obsahuje ˇctyˇri poloˇzky: struct timeval time urˇcuj´ıc´ı ˇcas uskuteˇcnˇen´ı ud´alost´ı, unsigned short type popisuj´ıc´ı typ ud´ alosti (napˇr. EV KEY pro ud´alost kl´avesnice), unsigned short code znaˇc´ıc´ı, kter´ a kl´avesa byla stisknuta a unsigned int value vypov´ıdaj´ıc´ı o typu ud´alosti (stlaˇcen´ı kl´avesy, uvolnˇen´ı kl´ avesy, opakov´ an´ı kl´ avesy). Kv˚ uli jednoduchosti ˇreˇsen´ı byla zvolena posledn´ı zvolen´a varianta. Jej´ı nev´ yhodou ovˇsem je, ˇze nelze z´ıskat informace o stisknut´ ych kl´aves´ach ve vzd´alen´ ych sezen´ıch.
N´ avrh architektury Na z´ akladˇe poˇzadavk˚ u na aplikaci a vybran´ ych algoritm˚ u byl vytvoˇren neform´aln´ı diagram 4.1 zobrazuj´ıc´ı rozdˇelen´ı do subsyst´em˚ u, jejich vz´ajemnou komunikaci a tak´e um´ıstˇen´ı konkr´etn´ıch ˇc´ ast´ı vzhledem k operaˇcn´ımu syst´emu. Program byl rozdˇelen do sedmi logick´ ych ˇc´ast´ı, kr´ atce zde budou kr´ atce pops´any. Za z´asadn´ı povaˇzuji ˇretˇezec sn´ımaˇc stisknut´ych kl´ aves – filtry – gener´ ator n-graf˚ u – vyhodnocovac´ı logika pˇretv´aˇrej´ıc´ı kl´avesov´e ud´alosti na pˇr´ıznaky. ˇ ast maj´ıc´ı za u Sn´ımaˇ c stisknut´ ych kl´ aves C´ ´kol odst´ınit detaily sn´ıman´ı kl´aves dalˇs´ım ˇc´astem aplikace. Zde bude prov´ adˇeno tak´e voliteln´e zaznamen´av´an´ı stisku kl´aves spoleˇcnˇe s ˇcasov´ ymi zn´ amkami.
20
Obr´ azek 4.1: Neform´ aln´ı n´avrh aplikace. Zdroj: vlastn´ı pr´ace autora
Filtry Tento subsyst´em je navrˇzen pro zpracov´an´ı u ´daj˚ u o stisknut´ ych ˇci uvolnˇen´ ych kl´aves´ach spoleˇcnˇe s jejich ˇcasov´ ymi zn´amkami. M´a za u ´kol propustit d´ale do ˇretˇezce zpracov´ an´ı pouze uˇziteˇcn´ a data z´ıskan´a ze sn´ımaˇce stisknut´ych kl´ aves. Mus´ı se napˇr´ıklad vypoˇr´adat s outliery ˇci s chybnˇe stisknut´ ymi kl´avesami, kter´e uˇzivatel smaˇze pomoc´ı kl´avesy Backspace. Jako uˇziteˇcn´ a data jsou povaˇzov´any informace o stisknut´ı a uvolnˇen´ı kl´aves a-z, ostatn´ı funguj´ı jako oddˇelovaˇce. Data jsou ukl´ad´ana do vyrovn´avac´ı pamˇeti, dokud nen´ı zasl´an oddˇelovaˇc, kter´ y zp˚ usob´ı odesl´an´ı dat gener´ atoru n-graf˚ u. Gener´ ator n-graf˚ u Vzhledem k tomu, ˇze vˇetˇsina metod, zab´ yvaj´ıc´ı se dynamikou stisku kl´aves, vyuˇz´ıv´ a k rozpozn´ av´ an´ı d´elky trv´an´ı n-graf˚ u (ˇci jinak pojmenovan´e ekvivalenty), je potˇreba m´ıt v syst´emu komponentu, kter´a sekvenci stisknut´ ych a uvolnˇen´ ych kl´aves s ˇcasov´ ymi informacemi pˇrevede pr´avˇe na n-grafy. Filtr sdruˇzuje kl´avesy, kter´e byly stisknuty ihned po sobˇe, a z tˇechto sad sdruˇzen´ ych kl´aves jsou vygenerov´any n-grafy, kter´e jsou udrˇzov´ any ve vyrovn´ avac´ı pamˇeti, dokud nen´ı pln´a nebo nepˇrijde pˇr´ıkaz pro odesl´an´ı dat od syst´emov´eho spr´ avce. V takov´em pˇr´ıpadˇe jsou data odesl´ana vyhodnocovac´ı logice. Profil Profil je abstrakce posb´ıran´ ych informac´ı o uˇzivatelovˇe stylu psan´ı na kl´avesnici, uloˇzen´ y na fyzick´em m´ediu.
21
Vyhodnocovac´ı logika Tato ˇc´ast je vˇzdy informov´ana o aktu´alnˇe lok´alnˇe pˇrihl´aˇsen´em uˇzivateli a dle t´eto informace porovn´av´a sadu n-graf˚ u s profilem tohoto uˇzivatele. V pˇr´ıpadˇe, ˇze se po vyhodnocen´ı nov´eho vzorku domn´ıv´a, ˇze jde o u ´tok, informuje syst´emov´eho spr´ avce, kter´ y provede pˇr´ısluˇsnou akci. Syst´ emov´ y spr´ avce Tento subsyst´em obstar´av´a veˇskerou komunikaci jak s operaˇcn´ım syst´emem (informace o tom, kdo je aktu´alnˇe pˇrihl´aˇsen´ y uˇzivatel, zamyk´an´ı sezen´ı) tak komunikaci s uˇzivatelsk´ ymi klienty. Uˇ zivatelsk´ y klient Klient je samostatn´a aplikace, ne pˇr´ımo nutn´a k vlastn´ımu bˇehu a d´avaj´ıc´ı uˇzivateli moˇznost spravovat sv˚ uj profil. Kaˇzd´ y uˇzivatel spouˇst´ı vlastn´ı instanci tohoto programu.
N´ avrh tˇ r´ıd Na z´ akladˇe neform´ aln´ıho n´ avrhu zde bude pˇredstaveno mapov´an´ı jeho komponent na konkr´etn´ı tˇr´ıdy. Vzhledem k tomu, ˇze je v n´avrhu ˇretˇezec zpracov´an´ı, byl vyuˇzit n´avrhov´ y vzor Pozorovatel. Tento vzor se jevil vhodn´ y kv˚ uli moˇznosti implementovat tˇr´ıdy nez´avisle na sobˇe a nav´ıc je tento pˇr´ıstup jednoduˇse rozˇsiˇriteln´ y pˇrid´an´ım napˇr´ıklad dalˇs´ıho filtru do ˇretˇezce zpracov´ an´ı. Dalˇs´ı v´ yhodou je tak´e moˇznost ˇretˇezec zpracov´an´ı rozdˇelit (zaregistrovat v´ıce Pozorovatel˚ u u jednoho objektu) do v´ıce paraleln´ıch. Tˇr´ıda Observer je tedy abstraktn´ı tˇr´ıdou pro objekty, kter´e mohou pozorovat objekty jin´e. Tˇr´ıda Observable je takt´eˇz abstraktn´ı tˇr´ıdou pro objekty, kter´e budou pozorovan´e. Jak je z n´ avrhu zˇrejm´e, nˇekter´e komponenty mohou b´ yt jak pozorovan´ ymi tak pozorovateli. Proto byla navrˇzena dalˇs´ı abstraktn´ı tˇr´ıda ObserverAndObservable, kter´a vyuˇz´ıv´ a v´ıcen´asobn´e dˇediˇcnosti, konkr´etnˇeji je potomkem tˇr´ıd Observer a Observable. Pro vˇetˇs´ı n´azornost byl vygenerov´ an ˇc´ asteˇcn´ y diagram tˇr´ıd 4.2 pomoc´ı programu Doxygen.
Obr´azek 4.2: Diagram tˇr´ıd n´ avrhov´eho vzoru Pozorovatel. Zdroj: vlastn´ı pr´ace autora
Sn´ımaˇc stisknut´ ych kl´ aves reprezentovan´ y tˇr´ıdou KeyScanner je prvn´ı v ˇretˇezci, a proto je potomkem pouze tˇr´ıdy Observable. Dalˇs´ımi tˇr´ıdami v ˇretˇezci jsou Filters a NGraphGenerator, oba jsou potomky abstraktn´ı tˇr´ıdy ObserverAndObservable. Posledn´ı Evaluator, kter´ y je potomkem Observer, reprezentuje vyhodnocuj´ıc´ı logiku. Syst´emov´ y spr´avce byl rozdˇelen do dvou tˇr´ıd – SystemManager a SecBioard. SystemManager zpracov´av´a poˇzadavky od klient˚ u a sleduje zmˇeny v operaˇcn´ım syst´emu (kdo je pr´avˇe pˇrihl´aˇsen´ y atd.),
22
druh´a tˇr´ıda SecBioard ovl´ ad´ a ˇretˇezec zpracov´an´ı kl´avesnicov´ ych ud´alost´ı a jejich vyhodnocov´an´ı. Cel´ a aplikace vyuˇz´ıv´ a tˇr´ıdy Log slouˇz´ıc´ı k zaznamen´av´an´ı chyb, kter´a je navrhnuta pomoc´ı n´ avrhov´eho vzoru Jedin´ aˇcek, aby v cel´e aplikaci byla pouze jedna instance t´eto tˇr´ıdy, coˇz je pro zaznamen´ av´ an´ı chyb vhodn´e.
4.3
Pouˇ zit´ e technologie
D-Bus D-Bus je svobodn´ y software umoˇzn ˇuj´ıc´ı proces˚ um jednoduˇse komunikovat mezi sebou [19]. Je sloˇzen´ y ze dvou z´ akladn´ıch ˇc´ast´ı: dbus knihovny, kter´a umoˇzn ˇuje dvˇema proces˚ um komunikaci a dbus d´emona. D-Bus d´emon spouˇst´ı sbˇernici, kter´a dovoluje komunikovat libovoln´emu poˇctu proces˚ u mezi sebou. D-Bus podporuje dva typy d´emon˚ u, jak syst´emov´eho (urˇcen´eho napˇr´ıklad k notifikaci uˇzivatelsk´ ych sezen´ı od syst´emu nebo pro poˇzadavky syst´emu na zad´ an´ı vstup˚ u od uˇzivatelsk´ ych sezen´ı), tak d´emona sezen´ı (pro bˇeˇznou komunikaci uˇzivatelsk´ ych proces˚ u). Ke komunikaci jsou vyuˇz´ıv´any zpr´avy, kter´e jsou ch´ap´any jako diskr´etn´ı poloˇzky na rozd´ıl od kontinu´aln´ıch proud˚ u dat jako napˇr. v protokolu TCP. Zpr´ avy jsou zas´ıl´ any konkr´etn´ımu objektu a ne cel´e aplikaci. Tyto objekty jsou identifikov´ any pomoc´ı unik´ atn´ıch jmen, kter´e maj´ı tvar cesty souborov´eho syst´emu (napˇr. /org/freedesktop/ConsoleKit/Manager). Dalˇs´ım typem jm´ena je jm´eno rozhran´ı. D-Bus rozhran´ı lze ch´apat podobnˇe jako v objektovˇe orientovan´ ych jazyc´ıch – objekty implementuj´ı metody definovan´e v rozhran´ı. Rozhran´ı vyuˇz´ıvaj´ı teˇckovou notaci (napˇr. org.freedesktop.ConsoleKit.Manager). D-Bus m´ a vlastn´ı syst´em datov´ ych typ˚ u, reprezentovan´ y ASCII znaky. Signatura reprezentuj´ıc´ı 32-bitov´e cel´e ˇc´ıslo (integer ) je napˇr´ıklad "i", signatura "b" je datov´ y typ boolean, atd. Kompletn´ı v´ yˇcet moˇzn´ ych datov´ ych typ˚ u a jejich signatur je moˇzn´e naj´ıt ve specifikaci D-Bus [19]. Tyto datov´e typy je moˇzn´e sdruˇzovat do komplexnˇejˇs´ıch datov´ ych typ˚ u jako jsou struktury, pole ˇci slovn´ıky. D-Bus je pˇrenositeln´ y na vˇetˇsinu syst´em˚ u typu Linux ˇci UNIX a existuje dokonce port na Windows.
ConsoleKit ConsoleKit je framework pro spr´avu a sledov´an´ı uˇzivatel˚ u, sezen´ı a multitermin´al˚ u [20]. ConsoleKit poskytuje D-Bus rozhran´ı, kter´e lze logicky rozdˇelit do tˇr´ı ˇc´ast´ı. Pomoc´ı rozhran´ı org.freedesktop.ConsoleKit.Manager je moˇzn´e ovl´adat akce jako vypnut´ı poˇc´ıtaˇce, vytvoˇren´ı nov´eho sezen´ı, jeho zavˇren´ı a dalˇs´ı, spojen´e obecnˇe se spr´avou sezen´ı a multitermin´al˚ u. Rozhran´ı org.freedesktop.ConsoleKit.Seat je urˇceno k z´ısk´an´ı podrobnˇejˇs´ıch informac´ı o multitermin´ alech a sezen´ıch a org.freedesktop.ConsoleKit.Session slouˇz´ı ke spr´avˇe sezen´ı. O sezen´ı lze zjistit, zda je lok´aln´ı, aktivn´ı, zda jej lze uzamknout atd.
PolicyKit PolicyKit je komponenta operaˇcn´ıho syst´emu slouˇz´ıc´ı k definici a zach´azen´ı s politikami umoˇzn ˇuj´ıc´ı neprivilegovan´ ym proces˚ um komunikovat s privilegovan´ ymi [21]. Aplikace pouˇz´ıvaj´ıc´ı PolicyKit jsou naz´ yvan´e privilegovan´ ymi mechanismy vyuˇz´ıvaj´ıc´ı PolicyKit autority k rozhodov´ an´ı o autentizaci. Klienti komunikuj´ıc´ı s mechanismy jsou povaˇzov´ ani za ned˚ uvˇeryhodn´e a pro kaˇzd´ y poˇzadavek od klienta je potˇreba rozhodnout, zda je tento 23
poˇzadavek autorizovan´ y. Za pouˇzit´ı PolicyKitu m˚ uˇze mechanismus pˇren´est toho rozhodnut´ı tˇret´ı d˚ uvˇeryhodn´e aplikaci – PolicyKit autoritˇe. S kaˇzd´ ym uˇzivatelsk´ ym sezen´ım je spuˇstˇen i autentizaˇcn´ı agent. Klientsk´a aplikace nemus´ı o pˇr´ıtomnosti PolicyKitu v˚ ubec
Obr´ azek 4.3: Architektura komunikace pˇri pouˇz´ıvan´ı PolicyKitu. Zdroj: [21]
vˇedˇet. Pˇri komunikaci klienta s mechanismem se s´am mechanismus dot´aˇze autority na klientovu d˚ uvˇeryhodnost. Je jiˇz na pˇr´ısluˇsn´em Autentizaˇcn´ım Agentu tuto d˚ uvˇeryhodnost zjistit a v´ ysledek autentizace je pˇred´an zpˇet mechanismu. Architekturu komunikace zobrazuje obr´ azek 4.3. PolicyKit poskytuje D-Bus rozhran´ı slouˇz´ıc´ı ke komunikaci s PolicyKit autoritou. Aby mohl mechanismus PolicyKit vyuˇz´ıvat, jsou deklarov´any akce reprezentuj´ıc´ı operace, kter´e klienti poˇzaduj´ı po mechanismu. Tyto akce mus´ı b´ yt uloˇzeny v XML form´ atu ve sloˇzce /usr/share/polkit-1/actions/ s pˇr´ıponou .policy.
Gtkmm Gtkmm je ofici´ aln´ı multiplatformn´ı C++ rozhran´ı pro knihovnu GTK+ umoˇzn ˇuj´ıc´ı tvorbu uˇzivatelsk´ ych rozhran´ı [22]. D´ıky gtkmm je moˇzno vyuˇz´ıt objektovˇe orientovan´ y pˇr´ıstup pˇri implementaci uˇzivatelsk´eho rozhran´ı.
Talos Talos [23] je knihovna napsan´a v jazyce C++ a poskytuje funkce pro rozbor ˇretˇezc˚ ua soubor˚ u, rozˇs´ıˇren´ı tˇr´ıdy ifstream ze standardn´ı knihovny, flexibiln´ı pr´aci s konfiguraˇcn´ımi soubory a tˇr´ıdu pro pr´ aci s ˇcasov´ ymi u ´daji.
4.4
D˚ uleˇ zit´ e rysy implementace
Implementace je zaloˇzena na n´avrhu aplikace z pˇredchoz´ı ˇc´asti textu a jako implementaˇcn´ı jazyk bylo zvoleno C++. Zde budou zm´ınˇeny pouze zaj´ımav´e u ´seky implementace.
Syst´ emov´ y spr´ avce Syst´emov´ y spr´ avce byl rozdˇelen do dvou tˇr´ıd SecBioard a SystemManager, jejichˇz instance bˇeˇz´ı kaˇzd´ a ve sv´em vl´ aknˇe. Instance tˇr´ıdy SecBioard m´a za u ´kol ovl´adat cel´ y ˇretˇezec 24
zpracov´ an´ı, ˇcasovaˇc a tak´e komunikaci s instanc´ı tˇr´ıdy SystemManager. Tato komunikace je prov´ adˇena pomoc´ı rour. Po inicializaci objektu je spuˇstˇena metodou start nekoneˇcn´ a smyˇcka sleduj´ıc´ı aktivitu roury a kl´avesnice pomoc´ı standardn´ı funkce select. Pokud je soubor reprezentuj´ıc´ı kl´ avesnici dlouho nemˇenn´ y a vyprˇs´ı nastaven´ y ˇcasovaˇc, je vˇsem objekt˚ um v ˇretˇezci pˇrik´ az´ ano vypr´ azdnit vyrovn´avac´ı pamˇet’ a je provedeno vyhodnocen´ı. Instance tˇr´ıdy SystemManager je implementov´ana jako D-Bus objekt, kter´ y si zaregistruje odchyt´ av´ an´ı sign´ al˚ u o zmˇen´ ach aktivit uˇzivatelsk´ ych u ´ˇct˚ u. Z´aroveˇ n funguje jako server pro uˇzivatelsk´e klienty a zpracov´ av´a jejich poˇzadavky. V pˇr´ıpadˇe jak´ekoliv zmˇeny jsou informace o t´eto zmˇenˇe zasl´ any instanci tˇr´ıdy SecBioard, kter´a provede pˇr´ısluˇsn´e akce.
Klient – server Hlavn´ı j´ adro aplikace funguje jako server, kter´ y je spuˇstˇen pr´avˇe jedenkr´at v cel´em syst´emu. Klient, umoˇzn ˇuj´ıc´ı spravovat uˇzivatelsk´ y profil, je spouˇstˇen uˇzivatelem a m˚ uˇze jich b´ yt spuˇstˇeno v´ıce najednou. Bylo potˇreba navrhnout zp˚ usob komunikace mezi klientem a serverem. Je nutn´e zd˚ uraznit, ˇze komunikace mus´ı b´ yt bezpeˇcn´a, pˇren´aˇsen´a data sice nejsou citliv´a, avˇsak odes´ılatel (klient) mus´ı b´ yt autentizov´an. Nav´ıc by bylo v´ yhodn´e, aby rozhran´ı serveru bylo navrˇzeno univerz´ alnˇe. Za t´ımto u ´ˇcelem byla vyuˇzita technologie D-Bus. Server tedy poskytuje D-Bus rozhran´ı ke spr´avˇe uˇzivatelsk´ ych akc´ı, kter´e je zde definov´ano: Jm´ eno cz.vutbr.fit.SecBioard – rozhran´ı aplikace Metody Tyto akce m˚ uˇze prov´est pouze aktu´alnˇe pˇrihl´aˇsen´ y lok´aln´ı uˇzivatel. CreateProfile (in ’b’ (out’bs’ Stop (in ’b’ (out’bs’
create) success, more info) stop) success, more info)
CreateProfile Pokud je pˇredan´ y vstupn´ı parametr roven TRUE, aplikace zaˇcne vytv´ aˇret nov´ y profil uˇzivatele. Je-li vstupn´ı parametr FALSE, je vytv´aˇren´ı profilu ukonˇceno. Prvn´ı v´ ystupn´ı parametr reprezentuje u ´spˇeˇsnost operace a ve druh´em je moˇzno zjistit v´ıce informac´ı o pˇr´ıpadn´e chybˇe. Stop Pokud je pˇredan´ y vstupn´ı parametr roven TRUE, aplikace pozastav´ı vyhodnocov´an´ı sk´ ore pro aktu´ aln´ıho lok´ aln´ıho uˇzivatele. Je-li vstupn´ı parametr FALSE, je vyhodnocov´an´ı opˇet spuˇstˇeno. Prvn´ı v´ ystupn´ı parametr reprezentuje u ´spˇeˇsnost operace a ve druh´em je moˇzno zjistit v´ıce informac´ı o pˇr´ıpadn´e chybˇe. Tento zp˚ usob dovoluje uˇzivatel˚ um pracovat se sv´ ym profilem pouze pokud jsou lok´alnˇe pˇrihl´aˇseni a tedy fyzicky u poˇc´ıtaˇce a kl´avesnice. Je nutn´e vyuˇz´ıt mechanismus, kter´ y m´ a za u ´kol urˇcit, kter´ y z uˇzivatel˚ u je lok´alnˇe pˇrihl´aˇsen´ y. Na tuto operaci je vhodn´ y framework ConsoleKit. Jak bylo zm´ınˇeno, je tˇreba uˇzivatele autentizovat a to napˇr´ıklad pomoc´ı hesla. K tomuto u ´ˇcelu byl vyuˇzit PolicyKit. K implementaci uˇzivatelsk´eho klienta secbioard-profile byla vyuˇzita C++ knihovna Gtkmm. D´ıky n´ı je moˇzn´e stav aplikace i profilov´e akce vizualizovat. Pokud na syst´emu nen´ı dostupn´ a tato knihovna, je nainstalov´an klient secbioard-profile-sh, kter´ y funguje i v pˇr´ıkazov´e ˇr´ adce a vyuˇz´ıv´ a rozhran´ı dbus-send. 25
4.5
Bezpeˇ cnost a pouˇ zitelnost
Text [4] popisuje nˇekolik cest napaden´ı biometrick´eho syst´emu. Aplikace SecBioard se vˇsak spol´eh´ a na bezpeˇcnost pouˇzit´eho operaˇcn´ıho syst´emu a jin´ ych program˚ u (napˇr. PolicyKit), protoˇze vˇetˇsinu bezpeˇcnostn´ıch rizik pˇrenech´av´a pr´avˇe jim. Je nepravdˇepodobn´e, ˇze by nˇekdo dok´ azal napodobit styl psan´ı na kl´avesnici jin´eho ˇclovˇeka, avˇsak pokud u ´toˇcn´ık z´ısk´a pˇr´ıstup k uˇzivatelovˇe profilu a m´a pr´avo zapisovat do souboru /dev/input/eventX, m˚ uˇze psan´ı na kl´ avesnici obej´ıt a dokonce generovat stisknut´ı kl´aves s ˇcasov´ ymi zn´amkami, kter´e budou stoprocentnˇe odpov´ıdat uˇzivatelovˇe profilu. Proto obyˇcejn´ı uˇzivatel´e nemohou nahl´ıˇzet do profil˚ u sv´ ych ani ciz´ıch. Toto m˚ uˇze pouze administr´ator, pod kter´ ym je spuˇstˇena aplikace SecBioard. Vytvoˇren´ı siln´eho profilu uˇzivatele nen´ı ot´azkou nˇekolika vteˇrin, a proto jako slab´e m´ısto aplikace m˚ uˇzeme vidˇet pˇr´ıchod u ´toˇcn´ıka v registraˇcn´ı f´azi, kdy je vytv´aˇren uˇzivatel˚ uv profil. Tento kombinovan´ y profil dvou osob m˚ uˇze v´est k nevyzpytateln´ ym v´ ysledk˚ um. Aplikace se tomuto snaˇz´ı zamezit alespoˇ n v nutnosti zad´an´ı hesla pˇri zaˇc´atku a ukonˇcen´ı registraˇcn´ı f´aze, avˇsak v jej´ım pr˚ ubˇehu ˇz´ adn´ a kontrola prov´adˇena nen´ı. Tento program je vhodn´e pouˇz´ıt na syst´emech, ve kter´ ych je pouze jeden uˇzivatel (takov´ ym pˇr´ıkladem jsou osobn´ı notebooky). Pouˇzit´ı na serverech je zcela nevhodn´e, protoˇze zat´ım nen´ı implementov´ an zp˚ usob verifikace vzd´alen´ ych sezen´ı, stejnˇe jako pouˇzit´ı na syst´emech, kde je dostateˇcnˇe vysok´ y poˇcet uˇzivatel˚ u a v´ ypoˇcetn´ı s´ıla poˇc´ıtaˇce dovoluje porovn´avat vzorky oproti vˇsem uˇzivatelsk´ ym profil˚ um tak jako v klasick´e metodˇe od autor˚ u Gunettiho a Picardiov´e. Stisknut´ı a uvolnˇen´ı kl´avesy obsahuj´ı velice m´alo biometrick´ ych informac´ı, a proto je jich k rozpozn´an´ı jedince potˇreba vˇetˇs´ı mnoˇzstv´ı. Je tedy zˇrejm´e, ˇze pokud u ´toˇcn´ık nap´ıˇse pouh´ ych nˇekolik slov, aplikace nen´ı schopn´a jej identifikovat. Pˇri pouˇzit´ı biometrick´e vlastnosti dynamiky stisku kl´aves nen´ı nutn´e pouˇz´ıt ˇz´adn´ y speci´aln´ı hardware, staˇc´ı obyˇcejn´a kl´avesnice, avˇsak pokud je uˇzivatel verifikov´an s jinou kl´avesnic´ı, neˇz na kter´e byl vytvoˇren profil, a uˇzivatel na ni nen´ı zvykl´ y, m˚ uˇze doch´azet k vyˇsˇs´ım ˇcetnostem chyb chybn´eho zam´ıtnut´ı.
26
Kapitola 5
Testov´ an´ı V t´eto kapitole budou pˇredstaveny datov´e soubory pouˇzit´e k testov´an´ı, bude pops´ an jeho pr˚ ubˇeh a sledovan´e vlastnosti.
5.1
Datov´ e soubory
K testov´ an´ı a experimentov´ an´ı s parametry algoritm˚ u bylo vyuˇzito hned nˇekolik datov´ ych sad, jejichˇz p˚ uvod a charakter bude v n´asleduj´ıc´ı ˇc´asti pops´an.
Datov´ y soubor D2 Datov´ y soubor D2 byl vyp˚ ujˇcen z pr´ace [7]. Pomoc´ı formul´aˇre na webov´e str´ance bylo bˇehem sedmi mˇes´ıc˚ u shrom´ aˇzdˇeno 192 sezen´ı od 48 jedinc˚ u. Celkem 25 z nich poskytlo v´ıce neˇz dvˇe sezen´ı a byli proto povaˇzov´an´ı za uˇzivatele, kdeˇzto zbyl´ ych 23 za u ´toˇcn´ıky. ´ Cel´ y datov´ y soubor obsahuje 140 677 stisk˚ u kl´aves. Uˇcastn´ıci experimentu byli instruov´ an´ı k vyplnˇen´ı formul´ aˇre libovoln´ ym textem bez opakov´an´ı fr´az´ı. Pot´e byl vyplnˇen formul´ aˇr s bliˇzˇs´ımi informacemi o autorovi a textu, napˇr´ıklad kter´a je autorova dominantn´ı ruka, jazyk textu apod. Tyto dodateˇcn´e informace nebudou v dalˇs´ım testov´an´ı br´any v potaz.
Datov´ y soubor SB1 Tento datov´ y soubor byl shrom´aˇzdˇen bˇehem tˇr´ı mˇes´ıc˚ u jak pomoc´ı samotn´e aplikace SecBioard za zkuˇsebn´ıho provozu, tak pomoc´ı jednoduch´eho programu (na pˇriloˇzen´em CD), kter´ y byl implementov´ an za u ´ˇcelem z´ısk´an´ı testovac´ıho souboru pˇredt´ım neˇz bude vlastn´ı aplikace dokonˇcena. Oba programy pracuj´ı na stejn´em principu, kter´ ym je zaznamen´av´ an´ı ud´alost´ı ze souboru reprezentuj´ıc´ıho ud´alosti kl´avesnice /dev/input/eventX. ´ castn´ıci zkuˇsebn´ıho testov´ Uˇ an´ı byli pouˇceni, ˇze program zaznamen´av´a stisky jejich kl´aves a napsan´ y text je tedy moˇzn´e reprodukovat. Byli rovnˇeˇz poˇz´ad´ani o spuˇstˇen´ı programu pˇri obyˇcejn´e pr´ aci s poˇc´ıtaˇcem na nˇekolik hodin, ale vˇzdy maxim´alnˇe jednou dennˇe. Nˇekolik u ´ˇcastn´ık˚ u se ob´ avalo o sv´e osobn´ı informace, a proto odm´ıtli poskytnout z´aznam ze skuteˇcn´eho sezen´ı. Pro nedostatek dobrovoln´ık˚ u ochotn´ ych poskytnout re´aln´e sezen´ı byli tedy ti, kteˇr´ı odm´ıtli, poˇz´ ad´ an´ı o naps´an´ı kr´atk´eho libovoln´eho textu, napˇr´ıklad vymyˇslen´eho z´ aznamu do den´ıku. Poˇcet z´aznam˚ u od uˇzivatel˚ u se velmi liˇs´ı – od jedin´eho aˇz po 17. Celkem bylo shrom´ aˇzdˇeno 77 sezen´ı. Cel´ y datov´ y soubor obsahuje 309 536 stisk˚ u kl´aves. Naprost´ a vˇetˇsina text˚ u byla ps´ ana v ˇcesk´em jazyce.
27
Nadpoloviˇcn´ı vˇetˇsina souboru byla z´ısk´ana od student˚ u vysok´ ych ˇskol, kteˇr´ı se s kl´avesnic´ı a psan´ım na n´ı setk´ avaj´ı kaˇzd´ y den. Ani ostatn´ım psan´ı na poˇc´ıtaˇci nep˚ usobilo pot´ıˇze, jejich rychlost psan´ı vˇsak nebyla obecnˇe tak vysok´a.
Datov´ y soubor SB2 Pˇri anal´ yze metod byla uvaˇzov´ana moˇznost vyuˇzit´ı metriky dwell time. Autoˇri, kteˇr´ı ji ve sv´ ych prac´ıch prezentovali a vyuˇz´ıvali, ji vˇsak vˇetˇsinou vyzkouˇseli pouze na uˇzivatel´ıch p´ıˇs´ıc´ıch na sv´ ych vlastn´ıch kl´ avesnic´ıch. V aplikaci SecBioard je vˇsak vysoce pravdˇepodobn´e, ˇze vˇsichni uˇzivatel´e i u ´toˇcn´ıci budou ps´at na totoˇzn´e kl´avesnici. Proto je vhodn´e zjistit, nakolik pouˇzit´ı r˚ uzn´ ych kl´ avesnic ovlivˇ nuje tuto metriku. Bylo tedy poˇz´ad´ano deset jedinc˚ u o naps´ an´ı statick´eho textu o d´elce 88 znak˚ u na dvou kl´avesnic´ıch (kaˇzd´ y uˇzivatel mˇel tyto kl´avesnice stejn´e), kter´e oznaˇc´ıme jako kl´avesnice A a kl´avesnice B. Uˇzivatel˚ um byl nejprve uk´az´an text, kter´ y maj´ı opsat. Pot´e jej opsali na kl´avesnici A a po kr´atk´e pˇrest´avce tak´e na kl´avesnici B. Uˇzivatel˚ um bylo dovoleno dˇelat chyby a nebyla kladena ani ˇz´adn´a podm´ınka na pˇresn´e ops´ an´ı textu, uˇzivatel ho mohl modifikovat dle libosti. Zaznamen´ av´ an´ı fungovalo na jiˇz popsan´em principu ˇcten´ı souboru /dev/input/eventX. Oba z´aznamy od uˇzivatel˚ u byly poˇr´ızeny na stejn´em operaˇcn´ım syst´emu.
5.2
Metodika testov´ an´ı
Testov´ an´ı bude prov´ adˇeno pˇri verifikaci uˇzivatele na datov´ ych sad´ach D2, SB1 za pouˇzit´ı syst´emu popsan´eho v pˇredchoz´ı kapitole. Je vˇzdy vybr´ano sezen´ı uˇzivatele, ze kter´eho bude n´aslednˇe vytvoˇren profil. Pokud je s´ıla tohoto profilu menˇs´ı neˇz 0,5, je toto sezen´ı vyuˇzito pouze k verifikaci oproti jin´ ym profil˚ um uˇzivatel˚ u. Pˇri s´ıle profilu vˇetˇs´ı nebo rovn´e 0,5 je pˇr´ısluˇsn´e sezen´ı odebr´ ano z datov´eho souboru a pot´e provedena verifikace vˇsech zb´ yvaj´ıc´ıch sezen´ı i od jin´ ych uˇzivatel˚ u v˚ uˇci tomuto profilu. Sezen´ı jin´ ych uˇzivatel˚ u v tomto pˇr´ıpadˇe simuluj´ı sezen´ı u ´toˇcn´ıka. Tot´eˇz je provedeno pro vˇsechny uˇzivatele a vˇsechna sezen´ı. Pro n´azornost byl vypracov´ an histogram A.1, zobrazuj´ıc´ı s´ılu profil˚ u vytvoˇren´ ych z jednotliv´ ych sezen´ı datov´ ych soubor˚ u. Je potˇreba zm´ınit zmˇeny v testov´an´ı oproti technice prezentovan´e v p˚ uvodn´ı pr´ aci. Gunetti a Picardiov´ a vyuˇz´ıvaj´ı k vytvoˇren´ı profilu vˇsechna zb´ yvaj´ıc´ı sezen´ı uˇzivatele, kdeˇzto v naˇsem pˇr´ıpadˇe je k vytvoˇren´ı profilu pouˇzito vˇzdy pouze sezen´ı jedin´e. To ˇcin´ı cel´ yu ´kol n´aroˇcnˇejˇs´ım. Tato zmˇena m´ a vˇsak reprezentovat skuteˇcnost, ˇze uˇzivatel chce v praxi m´ıt vytvoˇren profil z pouh´eho jednoho sezen´ı.
5.3
Testovan´ e vlastnosti
V cel´em algoritmu popsan´em v pˇredch´azej´ıc´ıch kapitol´ach je mnoho promˇenn´ ych, jejichˇz r˚ uzn´e kombinace mohou v´ yraznˇe zmˇenit v´ ysledek. Jde konkr´etnˇe o nastaven´ı hodnot: • minim´ aln´ı poˇcet opakov´ an´ı n-grafu pro zaˇrazen´ı do profilu Nminprof il , • poˇc´ ateˇcn´ı sk´ ore uˇzivatele scorestart , • hodnota prahu m ve vztahu 4.1, • v´ aha zmˇeny sk´ ore k ve stejn´em vztahu, • kapacita vyrovn´ avac´ı pamˇeti kap, 28
• pr´ ah t ve vztahu 3.5 slouˇz´ıc´ı k v´ ypoˇctu metriky A“ a ” • celkov´ y pr´ ah vyhodnocen´ı p (pokud je sk´ore niˇzˇs´ı neˇz p, bude uˇzivatel oznaˇcen za u ´toˇcn´ıka). C´ılem t´eto pr´ ace je nejen stanovit optim´aln´ı hodnoty tˇechto promˇenn´ ych, ale tak´e vyzkouˇset r˚ uzn´e algoritmy, jako napˇr´ıklad pr˚ umˇerov´an´ı nebo nepr˚ umˇerov´an´ı stejn´ ych n-graf˚ u ve vzorku (viz. ˇc´ ast 4.2) a vyuˇzit´ı smˇerodatn´e odchylky v metrice A“. ” Mˇeˇrenou vlastnost´ı v testech budou m´ıry FAR, FRR a EER. R˚ uzn´a nastaven´ı syst´emu budou porovn´ av´ ana na z´ akladˇe EER hodnot. ROC kˇrivka vˇsak nen´ı spojit´a, a proto je tˇeˇzk´e urˇcit jedin´ y EER bod. Kv˚ uli tomu budeme uvaˇzovat ROC kˇrivku definovanou body pro r˚ uzn´e hodnoty prahu, kaˇzd´e dva sousedn´ı body budou proloˇzeny pˇr´ımkou. T´ımto pˇr´ıstupem z´ısk´ame jedinou hodnotu EER.
Vyuˇ zit´ı smˇ erodatn´ e odchylky v metrice A“ ” V p˚ uvodn´ı pr´ aci Gunettiho a Picardiov´e [8] autoˇri neuvaˇzuj´ı smˇerodatnou odchylku kv˚ uli moˇznosti spoˇc´ıtat A“ metriku i pro n-grafy, kter´e se vyskytly pouze jednou. Je ” ovˇsem ot´ azkou, zda n-graf, kter´ y se vyskytl pouze jednou, do profilu v˚ ubec zaˇradit. V jin´ ych textech (napˇr. [14, 7]) ale smˇerodatn´a odchylka vyuˇzita je. Bylo by tedy zaj´ımav´e upravit v´ ypoˇcet vzd´ alenosti A“ a porovnat jej´ı v´ ysledky v˚ uˇci klasick´emu v´ ypoˇctu. ” Oznaˇcme tedy alternativn´ı metriku A“ jako A’“ a definujme ji stejnˇe jako ve vztahu 3.6 ” ” s jedin´ ym rozd´ılem, kter´ ym bude urˇcen´ı podobnosti dvou vzork˚ u. Uvaˇzujme tedy n-grafy G1 (jde o profilov´ y n-graf, vyskytl se v´ıcekr´at a tud´ıˇz je moˇzn´e spoˇc´ıtat smˇerodatnou odchylku) a G2 s jejich pr˚ umˇern´ ymi d´elkami trv´an´ı dg1 a dg2 a tak´e smˇerodatnou odchylkou d´elky trv´ an´ı prvn´ıho n-grafu σg1 . Tyto n-grafy jsou si podobn´e jestliˇze splˇ nuj´ı podm´ınku: |dg1 − dg2 | ≤ t · σg1 , kde t je re´ aln´ a konstanta z intervalu (0, 2i.
29
(5.1)
Kapitola 6
Zhodnocen´ı dosaˇ zen´ ych v´ ysledk˚ u V pˇredchoz´ı kapitole byla uvedena metodika testov´an´ı a v t´eto ˇc´asti jsou pˇredstaveny v´ ysledky test˚ u proveden´ ych na datov´ ych souborech D2 a SB1. V dalˇs´ı ˇc´asti jsou prezentov´any v´ ysledky experimentu z´ avislosti mono-graf˚ u na pouˇzit´e kl´avesnici. Nˇekter´e hodnoty promˇenn´ ych, uveden´ ych v minul´e kapitole, stanov´ıme fixnˇe pro vˇsechny testy i experimenty a to n´ asledovnˇe: scorestart = 0,5, Nminprof il = 4, k = 0,7. Celou mnoˇzinu promˇenn´ ych s konkr´etn´ımi hodnotami budeme oznaˇcovat jako nastaven´ı. Z prostorov´ ych d˚ uvod˚ u zde budou uvedena pouze zaj´ımav´a nastaven´ı pro omezen´ y poˇcet vzd´alenost´ı.
6.1
Verifikace
Nastaven´ımi 1–4 se snaˇz´ıme zjistit, nakolik se zv´ yˇs´ı hodnoty FRR a FAR pˇri pouˇzit´ı naˇseho algoritmu oproti klasick´e metodˇe Gunettiho a Picardiov´e. Tento modifikovan´ y algoritmus vyhodnocuje nov´ y vzorek oproti uˇzivatelsk´emu profilu, vytvoˇren´emu z jedin´eho sezen´ı, kdeˇzto v postupu Gunettiho a Picardiov´e je vzorek porovn´av´an s profilem, vytvoˇren´ ym z v´ıce sezen´ı. Kapacita vyrovn´avac´ı pamˇeti je nastavena na maximum a tud´ıˇz je provedeno pouze jedno vyhodnocen´ı, nejde tedy o pr˚ ubˇeˇznou verifikaci, ale o verifikaci jednor´ azovou. V´ ysledky pro datov´ y soubor D2 je moˇzn´e nal´ezt v tabulk´ach B.1, 6.1 a pro datov´ y soubor SB1 v tabulk´ ach B.2, B.3. Nastaven´ı 1 Z´ akladn´ı nastaven´ı promˇenn´ ych co nejv´ıce podobn´e p˚ uvodn´ı metodˇe: t = 1,25, m = 0,5, pouˇzit´ı pr˚ umˇerov´ an´ı n-graf˚ u, kap = M AX, pr´ah p je pohybliv´ y. Z tabulek B.3 a 6.1 m˚ uˇzeme vidˇet, ˇze hodnota EER (respektive FAR a FRR) je pomˇernˇe vysok´a oproti v´ ysledk˚ um prezentovan´ ym v p˚ uvodn´ı pr´aci. Pokud nastav´ıme prahy vhodnˇe a to tak, ˇze hodnota FRR bude n´ızk´a (i za cenu vyˇsˇs´ı hodnoty FAR), bude aplikace pouˇziteln´ a i pˇri re´ aln´em nasazen´ı. Nejlepˇs´ıch v´ ysledk˚ u bylo dosaˇzeno pomoc´ı vzd´alenosti A1,2 + R1,2 . Nastaven´ı 2 Jedin´ a zmˇena oproti nastaven´ı 1 spoˇc´ıv´a v absenci pr˚ umˇerov´an´ı stejn´ ych n-graf˚ u. Ty jsou v pamˇeti ponech´any v´ıcekr´at, motivace tohoto kroku byla pops´ana v ˇc´asti 4.2. Nastaven´ı promˇenn´ ych: t = 1,25, m = 0,5, kap = M AX, pr´ah p je pohybliv´ y. Obecnˇe jsou v´ ysledky horˇs´ı neˇz u nastaven´ı 1, ovˇsem je potˇreba zd˚ uraznit, ˇze k tomu doch´az´ı vlivem uˇzit´ı mono-graf˚ u. U vzd´alenost´ı nepracuj´ıc´ıch s mono-grafy jsou v´ ysledky ˇcasto lepˇs´ı neˇz pˇri nastaven´ı 1. Pˇrestoˇze za pr˚ umˇerov´an´ım stoj´ı od˚ uvodnˇen´a logick´a myˇslenka, v´ ysledky jsou horˇs´ı neˇz pˇri nekorektn´ım uˇzit´ı, a proto budeme d´ale n-grafy pr˚ umˇerovat.
30
Tabulka 6.1: Testov´ an´ı na datov´em souboru D2 (4393 pokus˚ u o verifikaci, z toho 123 o legitimn´ı) pˇri pouˇzit´ı kombinovan´ ych metrik. Hodnoty bunˇek tabulky pˇredstavuj´ı EER hodnoty (uvedeny v %), kde pohybliv´ y pr´ ah je p. Zdroj: vlastn´ı pr´ace autora EER [%]
A2 + R2
A1,2 + R1,2
A1,2,3 + R1,2,3
A1,2,3,4 + R1,2,3,4
A2,3,4 + R2,3,4
A1,2 + R1,2,3
A2 + R2,3,4
1 2 3 4
A1 + R1
Nastaven´ı
13,35 18,29 14,81 13,75
14,65 13,83 14,64 14,66
7,31 14,23 7,33 6,91
7,72 13,83 7,72 8,21
7,72 13,83 7,37 7,72
15,85 13,77 14,73 16,28
7,72 13,91 7,72 7,33
15,47 14,23 15,04 16,11
Nastaven´ı 3 V pˇredchoz´ı kapitole byla pˇredstavena modifikace metriky A“, kter´a vyu” ˇz´ıv´a smˇerodatnou odchylku. Ta je aplikov´ana pr´avˇe v tomto testu. Nastaven´ı promˇenn´ ych: t = 0,95, m = 0,5, kap = M AX, pr´ah p je pohybliv´ y, s pr˚ umˇerov´an´ım n-graf˚ u. M˚ uˇzeme vidˇet, ˇze v´ ysledky jsou pˇribliˇznˇe na stejn´e u ´rovni jako pˇri pouˇzit´ı nastaven´ı 1. Obmˇena metriky A“ s pouˇzit´ım smˇerodatn´e odchylky je tedy rovnocenn´a metrice p˚ uvodn´ı. ” Nastaven´ı 4 Za posledn´ım testovan´ ym nastaven´ım s maxim´aln´ı kapacitou pamˇeti stoj´ı ot´azka, zda je hodnota t = 1,25 pˇri pouˇzit´ı klasick´e metriky A“ opravdu ide´aln´ı. Bylo pro” vedeno nˇekolik experiment˚ u a zde je pˇredstaveno nastaven´ı: t = 1,27, m = 0,5, pr˚ umˇerov´ an´ı n-graf˚ u, kap = M AX. M˚ uˇzeme vidˇet, ˇze v´ ysledky t´eto konfigurace jsou srovnateln´e s nastaven´ım 1. Jej´ı pomoc´ı bylo dokonce dosaˇzeno minima EER cel´e verifikace. Je d˚ uleˇzit´e zd˚ uraznit, ˇze p˚ uvodn´ı metoda Gunettiho a Picardiov´e nevyuˇz´ıvala monografy, avˇsak pˇri jejich nasazen´ı je dosaˇzeno lepˇs´ıch v´ ysledk˚ u. Optim´aln´ı byl z´ısk´an na datov´em souboru D2 za pouˇzit´ı kombinovan´e metriky A1,2 + R1,2 a to pˇri nastaven´ıch 1, 3 a 4. Pro lepˇs´ı rozhodov´ an´ı o v´ ykonnosti konfigurac´ı byly vypracov´any pˇr´ısluˇsn´e ROC kˇrivky, kter´e jsou zobrazeny v grafu A.2. Jako nejlepˇs´ı (n´ızk´a hodnota FRR) se jev´ı nastaven´ı 4. Nejlepˇs´ıho v´ ysledku na datov´em souboru SB1 bylo dosaˇzeno za pouˇzit´ı kombinovan´e metriky A1,2,3 + R1,2,3 a pˇri nastaven´ı 4. Zaj´ımav´ y v´ ystup byl z´ısk´an tak´e pomoc´ı metriky A1,2 + R1,2,3 . Pro lepˇs´ı rozhodov´an´ı o v´ ykonnosti konfigurac´ı byly vypracov´any pˇr´ısluˇsn´e ROC kˇrivky, kter´e jsou zobrazeny v grafu 6.1. Jako optim´aln´ı se jev´ı nastaven´ı 1, avˇsak s pˇrihl´ednut´ım k vˇetˇs´ımu datov´emu souboru D2 a dobr´ ym v´ ysledk˚ um konfigurace 4 bude v dalˇs´ı ˇc´ asti uvaˇzov´ ano pr´ avˇe nastaven´ı 4.
6.2
Pr˚ ubˇ eˇ zn´ a verifikace
Dosud byla testov´ ana pouze jednor´azov´a verifikace. Zmenˇsen´ım kapacity kap a zaveden´ım maxim´ aln´ı ˇcasov´e prodlevy Tf lush = 20 s, prezentovan´e v ˇc´asti 4.2, dos´ahneme sekvence vyhodnocen´ı, coˇz je posloupnost nov´ ych hodnot sk´ore. Pokud alespoˇ n jedna z tˇechto
31
Obr´azek 6.1: Nejlepˇs´ı ROC kˇrivky z´ıskan´e pˇri verifikaci na datov´em souboru SB1 pˇri zmˇen´ach pohybliv´eho prahu p. Zdroj: vlastn´ı pr´ace autora
hodnot klesne pod pr´ ah p, je cel´e sezen´ı prohl´aˇseno za u ´toˇcn´ıkovo. V opaˇcn´em pˇr´ıpadˇe je oznaˇceno jako legitimn´ı. Zde jiˇz budou uvaˇzov´ any pouze nejlepˇs´ı vzd´alenosti, pouˇzit´e v pˇredchoz´ı ˇc´asti, a to konkr´etnˇe vzd´ alenosti A1,2 + R1,2 , A1,2 + R1,2,3 , A1,2,3 + R1,2,3 a A1,2,3,4 + R1,2,3,4 s nastaven´ım 4. Pˇri jednor´ azov´e verifikaci bylo moˇzn´e zamˇen ˇovat prahy p a m, coˇz dovolovalo zafixovat jeden z nich a zmˇenami druh´eho vytvoˇrit ROC kˇrivku. V t´eto situaci to jiˇz tak jednoduch´e nen´ı. Byly vyzkouˇseny hodnoty prahu p pro 0,3, 0,35, 0,4, 0,425 a 0,45 a pro pr´ah m hodnoty 0,35, 0,4, 0,425, 0,45, 0,475, 0,5 a 0,55. N´asleduj´ıc´ı nastaven´ı budou sniˇzovat kapacitu pamˇeti. Pro lepˇs´ı pˇredstavu o tom, kolik zabere jedno slovo z kapacity kap vyrovn´avac´ı pamˇeti, bude uveden pˇr´ıklad: Mˇejme naps´ano slovo testov´ an´ı. Z nˇej lze z´ıskat aˇz 9 mono-graf˚ u, 8 di-graf˚ u, 7 tri-graf˚ u a 6 tetra-graf˚ u, coˇz je celkem 30 n-graf˚ u. Nastaven´ı 5 Tato konfigurace je obmˇenou nastaven´ı 4: t = 1,27, kap = 500, s pr˚ umˇerov´an´ım. Z vypracovan´ ych graf˚ u 6.2 a A.3 pro pr´ah p = 0,45 (kter´ y oproti ostatn´ım hodnot´ am prahu dosahoval nejniˇzˇs´ıch hodnot FRR a FAR) m˚ uˇzeme vidˇet, ˇze pr˚ ubˇehy ROC kˇrivek vybran´ ych vzd´ alenost´ı se chovaj´ı velmi podobnˇe. Jako nejlepˇs´ı byla vybr´ana vzd´alenost A1,2,3 + R1,2,3 s nastaven´ım prahu m = 0,45. D´ıky tomu bylo dosaˇzeno na datov´em souboru D2 FAR hodnoty 11,50 %, FRR 8,94 % a na datov´em souboru SB1 FAR 26,33 % a FRR 0,74 %. Zde je jiˇz vidˇet rozd´ıln´ a struktura datov´ ych soubor˚ u. 32
Obr´azek 6.2: ROC kˇrivky z´ıskan´e na datov´em soubor D2 s nastaven´ım 5 pˇri hodnotˇe prahu p = 0,45 a zmˇen´ ach pohybliv´eho prahu m. Zdroj: vlastn´ı pr´ace autora
Nastaven´ı 6 K dalˇs´ımu sn´ıˇzen´ı kapacity dojde nastaven´ım promˇenn´ ych: t = 1,27, kap = 200. Pro hodnotu prahu p = 0,4 byly vypracov´any grafy A.5 a A.4. Jako nejlepˇs´ı se znovu jev´ı vzd´ alenost A1,2,3 + R1,2,3 pˇri m = 0,475 a p = 0,4. D´ıky tomu bylo dosaˇzeno na datov´em souboru D2 FAR hodnoty 15,88 %, FRR 7,31 % a na datov´em souboru SB1 FAR 32,18 % a FRR 0,74 %. M˚ uˇzeme si vˇsimnout, ˇze FRR na datov´em souboru SB1 je stejn´e jako v nastaven´ı 5, FAR je ovˇsem vyˇsˇs´ı. To je d˚ usledek pˇredpokl´adan´e pˇr´ım´e u ´mˇery v´ ykonnosti syst´emu na velikosti pamˇeti. Jak´ekoliv dalˇs´ı sn´ıˇzen´ı kapacity povede rovnˇeˇz ke sn´ıˇzen´ı v´ ykonu. To je vˇsak jiˇz pˇri takto vysok´ ych m´ır´ ach FRR a FAR nelze pˇripustit. Pˇrestoˇze jsou hodnoty FRR a FAR pomˇernˇe vysok´e, domn´ıv´ am se, ˇze pokud je vytvoˇren siln´ y profil, nemˇelo by v obvykl´ ych situac´ıch doch´ azet k chybn´emu zam´ıtnut´ı (to lze simulovat zv´ yˇsen´ım hodnoty Nminprof il , avˇsak pot´e se st´ avaj´ı datov´e soubory bezcenn´ ymi kv˚ uli kr´atkosti textu). Ne kaˇzd´ yu ´toˇcn´ık bude rozpozn´ an, je nutn´e si tak´e uvˇedomit, ˇze jeho detekce nen´ı okamˇzit´a, vyhodnocen´ı nelze prov´est bˇehem naps´ an´ı nˇekolika znak˚ u – je to ˇcasovˇe n´aroˇcn´a ˇcinnost.
6.3
Z´ avislost d´ elky trv´ an´ı mono-graf˚ u na pouˇ zit´ e kl´ avesnici
Pro z´ısk´ an´ı pˇredstavy o tom, nakolik pouˇzit´a kl´avesnice ovlivˇ nuje metriku dwell time, byl proveden experiment na datov´em souboru SB2. Z uˇzivatelsk´eho sezen´ı byl vytvoˇren 33
profil obsahuj´ıc´ı n-grafy, jejich pr˚ umˇernou d´elku trv´an´ı a smˇerodatnou odchylku. Protoˇze uˇzivatel poskytl dvˇe sezen´ı na r˚ uzn´ ych kl´avesnic´ıch, je moˇzn´e vytvoˇrit dva profily a ty porovnat. Kv˚ uli kr´ atk´e ˇcasov´e prodlevˇe mezi psan´ım tˇechto text˚ u nelze oˇcek´avat v´ yrazn´e zmˇeny v psychologick´em ani fyzick´em stavu u ´ˇcastn´ık˚ u experimentu, kter´e by mohly ovlivnit rychlost psan´ı. Ze z´ıskan´ ych sezen´ı datov´eho souboru SB2 byly zjiˇstˇeny d´elky trv´an´ı n-graf˚ u (konkr´etnˇe dwell time) a pro ˇsest nejˇcastˇeji se vyskytuj´ıc´ıch byla vypracov´ana tabulka B.4. Zv´ yraznˇena je vˇzdy delˇs´ı doba trv´ an´ı n-grafu na kl´avesnici spoleˇcnˇe se smˇerodatnou odchylkou. Nejˇcastˇeji se vyskytuj´ıc´ı n-grafy byly a, e, j, m, o a s. Je tedy zn´amo ˇsest dvojic hodnot dwell time od deseti uˇzivatel˚ u, celkem 60 dvojic hodnot. Dvˇe pr˚ umˇern´e d´elky trv´an´ı dvojic jsou totoˇzn´e, 36 je delˇs´ıch na kl´ avesnici B a 22 na kl´avesnici A. Za zm´ınku stoj´ı, ˇze pˇrestoˇze je pr˚ umˇernˇe dwell time delˇs´ı na kl´ avesnici B, uˇzivatel 7 mˇel vˇsechny n-grafy v´yraznˇe kratˇs´ı na kl´avesnici A, jak je moˇzno vidˇet na grafu 6.3.
Obr´azek 6.3: D´elky trv´ an´ı mono-graf˚ u v profilech uˇzivatele 7, kaˇzd´ y profil byl vytvoˇren na jin´e kl´avesnici. Zdroj: vlastn´ı pr´ ace autora
Pˇrestoˇze jist´e rozd´ıly mezi kl´ avesnicemi byly namˇeˇreny, jsou velmi mal´e a vzhledem ke kr´atk´emu textu mohl jeden jedin´ y delˇs´ı stisk ovlivnit cel´e mˇeˇren´ı. Z´avˇer tohoto pokusu je tedy otevˇren´ y, bylo by zaj´ımav´e experiment zopakovat, avˇsak s v´ıce uˇzivateli, vˇetˇs´ım poˇctem kl´ avesnic a delˇs´ım textem. Takov´ y pokus by byl v´ıce vypov´ıdaj´ıc´ı.
34
Kapitola 7
Z´ avˇ er Tato pr´ ace popisuje problematiku pr˚ ubˇeˇzn´e verifikace na z´akladˇe dynamiky stisku kl´aves. Bylo pˇredstaveno nˇekolik technik, zab´ yvaj´ıc´ıch se t´ımto probl´emem, a jako nejvhodnˇejˇs´ı z nich pro nasazen´ı v celosyst´emov´e aplikaci se jev´ı pouˇzit´ı metody od autor˚ u Gunettiho a Picardiov´e. Ta m´ a vˇsak nˇekolik negativn´ıch vlastnost´ı, jako napˇr´ıklad z´avislost v´ ykonnosti syst´emu na poˇctu uˇzivatel˚ u. V t´eto pr´aci je pˇredstaven alternativn´ı zp˚ usob vyhodnocov´an´ı, zaloˇzen´ y na p˚ uvodn´ı metodˇe, kdy nen´ı k ohodnocen´ı vzork˚ u zapotˇreb´ı negativn´ıch dat – tedy dat jin´ ych uˇzivatel˚ u neˇz je pr´avˇe verifikovan´ y jedinec. T´ımto je algoritmus zbaven t´eto nechtˇen´e z´ avislosti a je ho moˇzn´e pouˇz´ıt i pokud syst´em obsahuje data od jedin´eho uˇzivatele. Tato zmˇena m´ a za dalˇs´ı n´ asledek zrychlen´ı cel´eho vyhodnocov´an´ı a tedy vˇetˇs´ı vhodnost pro pouˇzit´ı algoritmu v re´ aln´em ˇcase. D´ale byl pˇredstaven algoritmus kontinu´aln´ıho vyhodnocov´an´ı zaloˇzen´ y na pr˚ ubˇeˇzn´em sk´ore vˇerohodnosti uˇzivatele. Byla tak´e pops´ ana modifikace [7] p˚ uvodn´ı metody s doplnˇen´ım o pouˇz´ıv´an´ı d´elek trv´ an´ı mono-graf˚ u a byla potvrzena jej´ı pozitivn´ı diskriminativn´ı vlastnost. K otestov´ an´ı mnou modifikovan´eho algoritmu Gunettiho a Picardiov´e byly vyuˇzity dva datov´e soubory, z nichˇz ˇc´ ast jednoho vznikla jako souˇc´ast t´eto pr´ace pˇri zkuˇsebn´ım provozu a druh´ a byla vyuˇzita z pr´ ace jin´e [7]. Mnou shrom´aˇzdˇen´ y datov´ y soubor obsahuje celkem 309 536 stisk˚ u kl´ aves z 77 sezen´ı od 20 osob, kter´e byly poˇz´ad´any o bˇeˇzn´e uˇz´ıv´ an´ı poˇc´ıtaˇce. Z´ aznamy sezen´ı byly z´ısk´any pomoc´ı n´astroje pro zaznamen´av´an´ı u ´daj˚ u o stisknut´ ych a uvolnˇen´ ych kl´ aves´ ach, integrovan´eho do cel´e aplikace. Pˇri verifikaci bylo s v´ yˇse popsan´ ym modifikovan´ ym postupem dosaˇzeno EER 6,91 % na datov´em soubor D2 a 7,65 % na datov´em soubor SB1. Pˇri pr˚ ubˇeˇzn´e verifikaci bylo dosaˇzeno horˇs´ı v´ ykonnosti syst´emu, v´ ysledky na datov´ ych souborech se v´ yraznˇe liˇsily. V´ ystupem t´eto pr´ ace je lehce modifikovateln´a celosyst´emov´a aplikace pro pr˚ ubˇeˇznou verifikaci pr´ avˇe pˇrihl´ aˇsen´ ych osob na z´akladˇe dynamiky stisku kl´aves pro operaˇcn´ı syst´em GNU/Linux. Aplikace je rozdˇelen´a do dvou ˇc´ast´ı: uˇzivatelsk´eho klienta a serveru. Komunikace mezi nimi prob´ıh´ a pomoc´ı knihovny D-Bus a pro autentizaci je pouˇzit PolicyKit, ˇc´ımˇz program pˇrenech´ av´ a nˇekter´ a z bezpeˇcnostn´ıch rizik tˇret´ım stran´am. Bˇehem psan´ı t´eto pr´ ace se vyskytlo hned nˇekolik ot´azek ˇci moˇzn´ ych rozˇs´ıˇren´ı a nˇekter´e z nich bych zde chtˇel prezentovat. Jako nejpalˇcivˇejˇs´ı probl´em ch´apu uˇzit´ı metrik spojen´ ych s d´elkou trv´ an´ı mono-graf˚ u na totoˇzn´e kl´avesnici. Nakolik m˚ uˇze pouˇzit´a kl´avesnice ovlivnit tuto metriku? Jednoduch´ y pokus prezentovan´ y v kapitole 6 na tuto ot´azku nepˇrinesl odpovˇed’, a proto by bylo vhodn´e prov´est rozs´ahlejˇs´ı experiment s v´ıce u ´ˇcastn´ıky, delˇs´ım textem a v´ıce kl´ avesnicemi. To je vˇsak jiˇz nad r´amec t´eto pr´ace. Pˇri porovn´ av´ an´ı r˚ uzn´ ych postup˚ u, zab´ yvaj´ıc´ıch se problematikou dynamiky stisku kl´ aves, jsem postr´ adal v´ ysledky metod na jedin´em datov´em souboru. Kaˇzd´ y autor pouˇzil 35
pro vyhodnocen´ı u ´spˇeˇsnosti soubory vlastn´ı – je pak tˇeˇzk´e v´ ykonnost tˇechto syst´em˚ u porovn´avat. Bylo by tedy vhodn´e sestavit datov´e soubory r˚ uzn´ ych typ˚ u (password hardening, statick´ y text, voln´ y text) v r˚ uzn´ ych jazyc´ıch a na tˇech algoritmy otestovat. Takto by mohly vzniknout referenˇcn´ı datov´e soubory vyuˇz´ıvan´e i autory prac´ı v budoucnu pro porovn´ an´ı s jin´ ymi. Aplikace, vytvoˇren´ a jako souˇc´ast t´eto pr´ace s koneˇcn´ ym nastaven´ım prezentovan´ ym v kapitole 6, dosahuje pomˇernˇe vysok´ ych hodnot FRR i FAR. Jednou z moˇznost´ı, jak tyto hodnoty sn´ıˇzit, je vytvoˇrit multimod´aln´ı syst´em, sloˇzen´ y z t´eto aplikace a jin´e, verifikuj´ıc´ı uˇzivatele napˇr´ıklad na z´ akladˇe monitorov´an´ı pohyb˚ u myˇsi. Takov´ yto multimod´aln´ı syst´em by mohl dosahovat velmi dobr´ ych v´ ysledk˚ u a z´aroveˇ n by nepotˇreboval ke sv´e ˇcinnosti ˇz´adn´e neobvykl´e vybaven´ı. Rozpozn´ av´ an´ı na z´ akladˇe dynamiky stisku kl´aves pˇri psan´ı voln´eho textu je relativnˇe novou a nerozˇs´ıˇrenou technikou. Existuje mnoho metod, jeˇz se j´ı zab´ yvaj´ı, avˇsak jejich u ´spˇeˇsnost je ˇc´ asteˇcnˇe zaloˇzena na laboratorn´ıch podm´ınk´ach, ve kter´ ych jsou aplikov´any. V´ ysledky t´eto pr´ ace naznaˇcuj´ı, ˇze zmˇeny proveden´e za u ´ˇcelem pouˇzit´ı v re´aln´em ˇcase maj´ı za n´asledek zhorˇsen´ı v´ ykonnosti syst´emu a masov´e nasazen´ı tohoto algoritmu je zat´ım neuskuteˇcniteln´e. Pˇri individu´ aln´ım uˇzit´ı a vytvoˇren´ı kvalitn´ıho profilu je vˇsak nasazen´ı moˇzn´e a aplikace m˚ uˇze dosahovat velmi dobr´ ych v´ ysledk˚ u.
36
Literatura [1] Jain, A. K., Flynn, P. a Ross, A. A. Handbook of Biometrics. [b.m.]: Springer-Verlag New York, Inc., 2007. ISBN 038771040X. [2] Wayman, J., Jain, A., Maltoni, D. et al. (ed.). Biometric Systems – Technology, Design and Performance Evaluation. [b.m.]: Springer Verlag, 2005. [3] Hempstalk, K. Continuous Typist Verification using Machine Learning. 2009. Disertaˇcn´ı pr´ ace. ´ , M., Orsa ´ g, F. a kolektiv. Biometrie. Brno: Computer Press a. s., [4] Drahansky 2011. ISBN 978-80-254-8979-6. ˇc ˇurek, R. Biometrick´e metody identifikace osob v bezpeˇcnostn´ı praxi [online]. 2008 [5] S [cit. 2012-05-03]. Dostupn´e na:
. [6] Shimshon, T., Moskovitch, R., Rokach, L. et al. Continuous Verification Using Keystroke Dynamics. V Proceedings of the 2010 International Conference on Computational Intelligence and Security. Washington, DC, USA: IEEE Computer Society, 2010. S. 411–415. CIS ’10. ISBN 978-0-7695-4297-3. [7] Duˇ sek, J. Rozezn´ av´ an´ı osob dle zp˚ usobu psan´ı na kl´ avesnici pomoc´ı strojov´eho uˇcen´ı. Masarykova univerzita, Fakulta informatiky, 2007. Diplomov´a pr´ace. [8] Gunetti, D. a Picardi, C. Keystroke analysis of free text. ACM Trans. Inf. Syst. Secur. Srpen 2005, roˇc. 8, ˇc. 3. S. 312–347. ISSN 1094-9224. [9] Stross, R. Digital Domain: Bypassing the Password. The New York times [online]. Bˇrezen 2012 [cit. 2012-05-03]. S. BU – 7. Dostupn´e na: . ISSN 0362-4331. [10] Douhou, S. a Magnus, J. R. The reliability of user authentication through keystroke dynamics. Statistica Neerlandica. 2009, roˇc. 63, ˇc. 4. S. 432–449. [11] Gaines, R. Authentication by keystroke timing: some preliminary results. [b.m.]: Rand, 1980. R (Rand Corporation). [12] Joyce, R. a Gupta, G. Identity authentication based on keystroke latencies. Commun. ACM. u ´nor 1990, roˇc. 33, ˇc. 2. S. 168–176. Dostupn´e na: . ISSN 0001-0782.
37
[13] Monrose, F. a Rubin, A. Authentication via Keystroke Dynamics. V In 4th ACM Conference on Computer and Communications Security. 1997. S. 48–56. [14] Dowland, P. a Furnell, S. A Long-term Trial of Keystroke Profiling using Digraph, Trigraph and Keyword Latencies. V Deswarte, Y., Cuppens, F., Jajodia, S. et al. (ed.). Security and Protection in Information Processing Systems, IFIP 18th WorldComputer Congress, TC11 19th International Information Security Conference, 22-27 August 2004, Toulouse, France. [b.m.]: Kluwer, 2004. S. 275–290. ISBN 1-4020-8142-1. [15] Nisenson, M., Yariv, I., El Yaniv, R. et al. Towards Behaviometric Security Systems: Learning to Identify a Typist. V Lavrac, N., Gamberger, D., Blockeel, H. et al. (ed.). PKDD. [b.m.]: Springer, 2003. S. 363–374. Lecture Notes in Computer Science, sv. 2838. ISBN 3-540-20085-1. [16] Bergadano, F., Gunetti, D. a Picardi, C. User authentication through keystroke dynamics. ACM Trans. Inf. Syst. Secur. Listopad 2002, roˇc. 5, ˇc. 4. S. 367–397. ISSN 1094-9224. [17] Writing Linux Kernel Keylogger [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: . [18] Pavl´ık, V. Linux Input drivers [online]. 2001 [cit. 2012-04-09]. Dostupn´e na: . [19] Freedesktop.org – Software/dbus [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: . [20] Freedesktop.org – Software/ConsoleKit [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: . [21] Freedesktop.org – Software/PolicyKit [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: . [22] Feature – gtkmm – C++ Interfaces for GTK+ and GNOME [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: . [23] Talos – C++ toolbox [online]. 2012 [cit. 2012-04-09]. Dostupn´e na: .
38
Seznam pˇ r´ıloh Pˇr´ıloha Pˇr´ıloha Pˇr´ıloha Pˇr´ıloha
A B C D
Grafy Tabulky Obsah CD Uˇzivatelsk´ y manu´ al
39
Pˇ r´ıloha A
Grafy
Obr´azek A.1: S´ıly profil˚ u vˇsech sezen´ı z datov´ ych soubor˚ u D2 a SB1 pˇri Nminprof il = 4
40
Obr´azek A.2: Nejlepˇs´ı ROC kˇrivky pro metriku A1,2 + R1,2 z´ıskan´e na datov´em souboru D2 pˇri zmˇen´ ach pohybliv´eho pr´ ahu p
Obr´azek A.3: ROC kˇrivky z´ıskan´e na datov´em soubor SB1 s nastaven´ım 5 pˇri hodnotˇe prahu p = 0,45 a zmˇen´ ach pohybliv´eho pr´ahu m
41
Obr´azek A.4: ROC kˇrivky z´ıskan´e na datov´em souboru SB1 s nastaven´ım 6 pˇri p = 0,4 a zmˇen´ ach pohybliv´eho pr´ ahu m
Obr´azek A.5: ROC kˇrivky z´ıskan´e na datov´em souboru D2 s nastaven´ım 6 pˇri p = 0,4 a zmˇen´ ach pohybliv´eho pr´ ahu m
42
Pˇ r´ıloha B
Tabulky
Tabulka B.1: Testov´ an´ı na datov´em souboru D2 (4393 pokus˚ u o verifikaci, z toho 123 o legitimn´ı) pˇri pouˇzit´ı z´ akladn´ıch metrik. Hodnoty bunˇek tabulky pˇredstavuj´ı EER hodnoty (uvedeny v %), kde pohybliv´ y pr´ ah je p Nast. 1 2 3 4
A1 16,71 22,36 18,46 17,88
A2 17,98 17,88 17,82 19,36
A3 32,06 34,19 35,32 31,97
A1,2,3 11,36 19,11 11,58 10,56
EER A2,3,4 16,30 18,07 18,78 17,51
[%] R1 21,59 26,02 21,59 21,59
R2 17,23 18,70 17,23 17,23
R3 43,77 43,58 43,77 43,77
R1,2,3 10,57 18,68 10,57 10,57
R2,3,4 18,11 17,48 18,11 18,11
Tabulka B.2: Testov´ an´ı na datov´em souboru SB1 (3876 pokus˚ u o verifikaci, z toho 405 o legitimn´ı) pˇri pouˇzit´ı z´ akladn´ıch metrik. Hodnoty bunˇek tabulky pˇredstavuj´ı EER hodnoty (uvedeny v %), kde pohybliv´ y pr´ ah je p Nast. 1 2 3 4
A1 15,16 21,85 16,29 15,87
A2 16,09 15,09 18,06 15,43
A3 25,38 26,58 25,31 24,48
A1,2,3 9,58 17,06 11,61 9,85
EER A2,3,4 16,73 15,19 17,79 15,88
43
[%] R1 21,91 28,72 21,91 21,91
R2 15,07 13,88 15,07 15,07
R3 29,14 29,65 29,14 29,14
R1,2,3 13,00 22,59 13,00 13,00
R2,3,4 15,31 13,06 15,31 15,31
Tabulka B.3: Testov´ an´ı na datov´em souboru SB1 (3876 pokus˚ u o verifikaci, z toho 405 o legitimn´ı) pˇri pouˇzit´ı kombinovan´ ych metrik. Hodnoty bunˇek tabulky pˇredstavuj´ı EER hodnoty (uvedeny v %), kde pohybliv´ y pr´ah je p EER [%]
A2 + R2
A1,2 + R1,2
A1,2,3 + R1,2,3
A1,2,3,4 + R1,2,3,4
A2,3,4 + R2,3,4
A1,2 + R1,2,3
A2 + R2,3,4
1 2 3 4
A1 + R1
Nastaven´ı
15,34 24,07 15,05 14,90
13,34 10,41 14,84 12,83
7,91 17,40 9,13 7,92
7,91 16,29 8,15 7,65
7,91 16,06 8,72 7,92
12,60 11,48 14,35 11,86
7,78 17,06 8,64 7,92
12,96 10,80 14,44 12,62
Tabulka B.4: Tabulka zobrazuj´ıc´ı pr˚ umˇern´e d´elky trv´an´ı jednotliv´ ych mono-graf˚ u vzhledem k pouˇzit´ ym kl´ avesnic´ım. V´ ysledky byly z´ısk´any z datov´eho souboru SB2. Zv´ yraznˇen´e buˇ nky tabulky jsou ty, kter´e maj´ı vyˇsˇs´ı hodnotu z dvojice pouˇzit´e kl´avesnice Uˇziv. 1 2 3 4 5 6 7 8 9 10
Kl´ aves. A B A B A B A B A B A B A B A B A B A B
a 97 ± 25 102 ± 22 126 ± 28 113 ± 23 128 ± 36 127 ± 32 61 ± 14 58 ± 9 63 ± 11 70 ± 8 117 ± 23 113 ± 23 236 ± 35 227 ± 28 124 ± 24 123 ± 26 103 ± 19 123 ± 28 96 ± 16 91 ± 17
D´elka trv´an´ı mono-grafu [ms] e j m o 107 ± 7 76 ± 20 61 ± 10 88 ± 19 103 ± 12 84 ± 21 68 ± 12 100 ± 28 104 ± 19 85 ± 13 80 ± 17 95 ± 13 115 ± 24 118 ± 29 133 ± 45 121 ± 39 163 ± 40 78 ± 13 75 ± 16 83 ± 10 186 ± 35 84 ± 12 75 ± 18 89 ± 19 60 ± 7 68 ± 8 65 ± 8 62 ± 9 65 ± 13 68 ± 13 69 ± 9 64 ± 11 60 ± 8 70 ± 10 73 ± 12 61 ± 12 66 ± 12 62 ± 8 75 ± 10 63 ± 14 120 ± 18 117 ± 31 122 ± 33 125 ± 25 115 ± 24 118 ± 29 133 ± 45 121 ± 39 252 ± 50 153 ± 27 220 ± 81 175 ± 41 215 ± 38 128 ± 23 180 ± 63 153 ± 42 137 ± 23 100 ± 9 99 ± 25 121 ± 22 136 ± 24 102 ± 15 91 ± 32 114 ± 36 85 ± 20 61 ± 13 73 ± 34 71 ± 11 117 ± 23 68 ± 12 65 ± 5 77 ± 15 67 ± 14 67 ± 11 64 ± 9 71 ± 14 72 ± 13 63 ± 9 70 ± 12 71 ± 10
44
s 88 ± 29 90 ± 38 129 ± 16 91 ± 26 165 ± 30 186 ± 22 62 ± 9 67 ± 14 60 ± 5 65 ± 5 90 ± 26 91 ± 26 234 ± 64 193 ± 61 128 ± 16 140 ± 27 117 ± 23 153 ± 18 90 ± 14 99 ± 12
Pˇ r´ıloha C
Obsah CD application/ {zdrojov´e k´ody program˚ u} ,→ convert-dataset/ {program ke konverzi datov´ ych sad z textov´e verze} {do bin´ arn´ı architekturovˇe zavisl´e podoby} ,→ secbioard/ {vlastn´ı aplikace} ,→ build/ {kompilaˇcn´ı sloˇzka} ,→ doc/ {sloˇzka s Doxygen dokumentac´ı (nutn´e vygenerovat)} ,→ include/ {obsahuje ciz´ı knihovny} ,→ source/ {zdrojov´e k´ody programu SecBioard} ,→ test/ {sloˇzka se skripty urˇcen´e k testov´an´ı v´ ykonnosti syst´emu} ,→ install/ {konfiguraˇcn´ı soubory, kter´e maj´ı b´ yt rozdistribuov´any do syst´emu} ,→ get-dataset/ {program k pouˇzit´ y z´ısk´an´ı ˇc´asti datov´eho souboru} dataset/ {datov´e soubory} ,→ d2-text/ {datov´ y soubor D2 v textov´e podobˇe} ,→ sb1-text/ {datov´ y soubor SB1 v textov´e podobˇe} ,→ sb2-text/ {datov´ y soubor SB2 v textov´e podobˇe} poster/ {plak´ at} thesis/ {text vlastn´ı pr´ace se zdrojov´ ymi k´ody}
45
Pˇ r´ıloha D
Uˇ zivatelsk´ y manu´ al V t´eto kapitole bude uvedeno z´akladn´ı uˇzit´ı aplikace SecBioard. Pro v´ıce informac´ı ˇctˇete soubory README ˇci spust’te programy s parametrem --help.
D.1
Instalace
Prvn´ım krokem je program nainstalovat. K tomuto je potˇreba m´ıt v syst´emu tyto bal´ıky: • cmake, • g++, • libdbus-1-dev, • consolekit, • policykit-1, • libgtkmm-3.0-dev (voliteln´e, doporuˇcen´e), • doxygen (voliteln´e). Pot´e by mˇela instalace probˇehnout bez probl´emu. Postupujte dle tˇechto pˇr´ıkaz˚ u: $ $ $ $ #
cd application/secbioard/build cmake .. make su make install Je moˇzn´e vygenerovat Doxygen dokumentaci pomoc´ı pˇr´ıkaz˚ u:
$ cd application/secbioard/build $ cmake .. $ make doc
D.2
Pouˇ zit´ı
Pouˇzit´ı lze rozdˇelit do dvou ˇc´ ast´ı: administr´atorsk´e a uˇzivatelsk´e. 46
Administr´ ator Ujistˇete se, ˇze tento pˇr´ıkaz spouˇst´ıte jako root: # secbioard --scan-only N´asledujte instrukce programu. V´ ystupem tohoto kroku by mˇela b´ yt cesta k rozhran´ı kl´avesnice (/dev/input/event*). V nˇekter´ ych pˇr´ıpadech se m˚ uˇze ˇc´ıslo u event mˇenit (po restartov´ ani poˇc´ıtaˇce s jin´ ym hardware) a je tedy vhodn´e zjistit, kter´ y ze soubor˚ uv /dev/input/by-path/ na tento odkazuje a pouˇz´ıvat ten nam´ısto nˇej. Ted’ m´ ate na v´ ybˇer ze dvou moˇznost´ı, spouˇstˇet aplikaci takto: # secbioard --force-device=/dev/input/eventX nebo uloˇzit rozhran´ı do konfiguraˇcn´ıho souboru /etc/secbioard/secbioard.conf a pot´e spouˇstˇet aplikaci obvykle: # secbioard
Uˇ zivatel V tomto pˇr´ıpadˇe z´ aleˇz´ı na tom, jestli jste nainstalovali SecBioard v pˇr´ıtomnosti knihovny libgtkmm-3.0-dev. Pokud ano, m˚ uˇzete spustit grafickou verzi klienta pomoc´ı: $ secbioard-profile Pokud ne, mus´ıte se spokojit s konzolovou verz´ı: $ secbioard-profile-sh
D.3
Nastaven´ı
Nastaven´ı programu SecBioard lze kontrolovat v konfiguraˇcn´ım souboru /etc/secbioard/secbioard.conf. Vˇsechny poloˇzky jsou komentovan´e a povinn´e.
D.4
Odstranˇ en´ı
Pro odstranˇen´ı vˇsech konfiguraˇcn´ıch a bin´arn´ıch soubor˚ u ze syst´emu reprodukujte tyto kroky: $ cd application/secbioard/build $ su # make uninstall
47