• No results found

Continuous Personal Verification Based on Keystroke Dynamics

N/A
N/A
Protected

Academic year: 2021

Share "Continuous Personal Verification Based on Keystroke Dynamics"

Copied!
51
0
0

Loading.... (view fulltext now)

Full text

(1)

VYSOK ´

E U ˇ

CEN´I TECHNICK ´

E V BRN ˇ

E

BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA INFORMA ˇ

CN´ICH TECHNOLOGI´I

´

USTAV INTELIGENTN´ICH SYST ´

EM ˚

U

FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS

PR ˚

UB ˇ

E ˇ

ZN ´

A VERIFIKACE OSOB NA Z ´

AKLAD ˇ

E

DYNAMIKY STISKU KL ´

AVES

BAKAL ´

A ˇ

RSK ´

A PR ´

ACE

BACHELOR’S THESIS

AUTOR PR ´

ACE

TOM ´

A ˇ

S DOHN ´

ALEK

AUTHOR

(2)

VYSOK ´

E U ˇ

CEN´I TECHNICK ´

E V BRN ˇ

E

BRNO UNIVERSITY OF TECHNOLOGY

FAKULTA INFORMA ˇ

CN´ICH TECHNOLOGI´I

´

USTAV INTELIGENTN´ICH SYST ´

EM ˚

U

FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS

PR ˚

UB ˇ

E ˇ

ZN ´

A VERIFIKACE OSOB NA Z ´

AKLAD ˇ

E

DYNAMIKY STISKU KL ´

AVES

CONTINUOUS PERSONAL VERIFICATION BASED ON KEYSTROKE DYNAMICS

BAKAL ´

A ˇ

RSK ´

A PR ´

ACE

BACHELOR’S THESIS

AUTOR PR ´

ACE

TOM ´

A ˇ

S DOHN ´

ALEK

AUTHOR

VEDOUC´I PR ´

ACE

Ing. MICHAL DOLE ˇ

ZEL

SUPERVISOR

(3)

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 Picar-diov´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 ve-rifikaci 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

(4)

Pr˚

ubˇ

zn´

a verifikace osob na z´

akladˇ

e dynamiky stisku

kl´

aves

Prohl´

sen´ı

Prohlaˇsuji, ˇze jsem tuto bakal´aˇrskou pr´aci vypracoval samostatnˇe pod veden´ım pana Ing. Mi-chala 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 in-formaˇcn´ıch technologi´ı. Pr´ace je chr´anˇena autorsk´ym z´akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´ av-nˇen´ı autorem je nez´akonn´e, s v´yjimkou z´akonem definovan´ych pˇr´ıpad˚u.

(5)

Obsah

1 Uvod´ 2

2 Biometrie 3

2.1 Z´akladn´ı pojmy . . . 4

2.2 Fyziologick´e a behavior´aln´ı vlastnosti . . . 4

2.3 Vyhodnocov´an´ı biometrick´ych syst´em˚u . . . 5

3 Dynamika stisku kl´aves 6 3.1 Anal´yza statick´eho a voln´eho textu . . . 6

3.2 Pˇr´ıznaky . . . 6

3.3 Vlastnosti verifikace na z´akladˇe dynamiky stisku kl´aves . . . 8

3.4 Pˇrehled metod . . . 8

3.5 Metoda Gunettiho a Picardiov´e . . . 11

4 N´avrh a implementace 17 4.1 Poˇzadavky na aplikaci . . . 17

4.2 N´avrh aplikace . . . 18

4.3 Pouˇzit´e technologie . . . 23

4.4 D˚uleˇzit´e rysy implementace . . . 24

4.5 Bezpeˇcnost a pouˇzitelnost . . . 26

5 Testov´an´ı 27 5.1 Datov´e soubory . . . 27

5.2 Metodika testov´an´ı . . . 28

5.3 Testovan´e vlastnosti . . . 28

6 Zhodnocen´ı dosaˇzen´ych v´ysledk˚u 30 6.1 Verifikace . . . 30

6.2 Pr˚ubˇeˇzn´a verifikace . . . 31

6.3 Z´avislost d´elky trv´an´ı mono-graf˚u na pouˇzit´e kl´avesnici . . . 33

7 Z´avˇer 35

(6)

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 ´utoˇ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 fyzio-logick´e, ke kter´ym ˇrad´ıme napˇr´ıklad otisky prst˚u. Tyto vlastnosti jsou povaˇzov´any za rela-tivnˇ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´ı ´uspˇ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 pozor-nost 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 ´ukolem. Pr´ace zab´yvaj´ıc´ı se touto proble-matikou 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 veri-fikaci 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 imple-mentac´ı 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.

(7)

Kapitola 2

Biometrie

K identifikaci ˇclovˇeka lze pouˇz´ıt nˇekolik odliˇsn´ych druh˚u metod. ˇClovˇek m˚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´y ´utok) 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 jedi-nec. 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 fy-ziologick´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 vlast-nost´ı. [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 infor-mace 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 veri-fikaˇ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 re-gistraˇ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 po-rovn´an´ı s ´udaji v datab´azi. Porovn´an´ım zjist´ıme o jak´eho uˇzivatele syst´emu jde ˇci zda se nejedn´a o ´utoˇcn´ıka. [4, str. 14–15]

(8)

2.1

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 elek-tronick´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 ne-opr´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 ´

utoˇ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 ´utoˇcn´ık z´ısk´a pˇr´ıstup do syst´emu pot´e, nelze jiˇz tuto skuteˇcnost zjistit. ˇReˇsen´ım se jev´ı pr˚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 charakte-ristiky 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 fyziolo-gick´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.

(9)

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 ´utoˇ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ˇ e-podobn´e, ˇze dojde k ´upln´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 ´utok.

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 ´utoˇ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 ´utoˇcn´ıky. Naopak False Accept Rate (zkracov´ana na FAR) reprezentuje pomˇer ´utoˇ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 neintru-sivn´ı syst´em je vhodn´e m´ıt n´ızkou m´ıru FRR za cenu ˇcastˇejˇs´ıho vpuˇstˇen´ı ´utoˇ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 Characte-ristic). 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 jed-noduch´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.

(10)

Kapitola 3

Dynamika stisku kl´

aves

K intenzivnˇe zkouman´ym oblastem biometrie m˚uˇzeme zaˇradit tak´e behavior´aln´ı vlast-nost 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 automati-zovanˇ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 nej-jednoduˇ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 prin-cipu dodnes – na z´akladˇe anal´yzy prodlev mezi jednotliv´ymi ´uhozy, 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 sle-duje 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

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 ).

Glob´aln´ı popisuj´ı obecn´y zp˚usob psan´ı uˇzivatele. ˇRad´ıme k nim • celkovou rychlost psan´ı,

(11)

• 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 ´udaj˚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 ´udaje 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 ´udaj˚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 ´udaj˚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 ´uvahu 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 alterna-tivnˇ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.

(12)

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 apli-kaci 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ˇzˇnuje pr˚ubˇeˇznou verifikaci. Mezi nepopirateln´e pˇrednosti patˇr´ı tak´e jist´a bezpeˇcnost – nen´ı pravdˇepodobn´e, ˇze by ´utoˇcn´ık dok´azal napodobovat rychlost ´

uhoz˚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´ı ´uhozy poskytuj´ı velice m´alo informac´ı. Pisatel m˚uˇze b´yt nav´ıc ovlivnˇen celou ˇradou negativn´ıch faktor˚u jak´ymi jsou ´unava, ne-soustˇredˇenost, nemoc ˇci zranˇen´ı, kter´e mohou negativnˇe ovlivnit v´ysledek anal´yzy. Pokud m´a ´utoˇ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

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 ´uvod 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 roz-hodnuto, zda jde o legitimn´ıho uˇzivatele ˇci ´utoˇ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 ty-picky 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´ı fun-dament´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ˇ cast-nilo 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 zkombino-vat. 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

(13)

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 apro-ximovanˇ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 auto-matizovan´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 testo-van´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 ´uspˇ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 dobro-voln´ı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´ı stu-die [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 je-jich 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 mi-lionu 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.

(14)

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 nej-horˇ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 ´utoˇcn´ık˚u. Texty uˇzivatel˚u byly obecnˇe delˇs´ı neˇz ´utoˇ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 ´utoˇ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´ı diskre-tizace 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

kvantizo-van´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 ´udaj˚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 ´utoˇcn´ıky. Vˇsechny vzorky byly naps´any v italˇstinˇe a ˇz´adn´e dvˇe sezen´ı od jednoho uˇzivatele nebyly naps´any v t´yˇz den. ´Uˇcastn´ıci experimentu 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

(15)

z uˇzivatelsk´eho sezen´ı a jak´ykoliv pokus o zkr´acen´ı f´aze vytv´aˇren´ı profilu vede k neko-rektn´ımu vyhodnocov´an´ı v budoucnosti. Jejich metoda je rozdˇelena na dvˇe f´aze – natr´ eno-v´an´ı a verifikaci.

V tr´enovac´ı ˇc´asti je postaven verifikaˇcn´ı model obsahuj´ıc´ı v´ıcetˇr´ıdn´ı klasifik´ator a ma-povac´ı 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

´

uspˇ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 se-zen´ı, 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 ´utoˇ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 ´uhoz˚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 dy-namick´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 do-plnˇ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 situaci, kdy byla naps´ana dvˇe slova – vzd´alenosti a ud´alosti. ˇC´ısla pˇred p´ısmeny reprezentuj´ı ˇ

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

(16)

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 P0 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 P0.

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 uspoˇr´adan´emu poli P0 = [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 poˇrad´ı. Maxim´aln´ı m´ıru neuspoˇr´adanosti pole P lze spoˇc´ıtat jako |P |22, pokud bude |P | sud´e, a |P |22−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 Normalizovan´a m´ıra neuspoˇr´adanosti pole P = [2, 5, 3, 4, 1] bude odpov´ıdat hodnotˇe 52−18

2

= 0,666.

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˚u a

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)

12 = 0,333

(17)

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

8 = 0,5

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,m(V1, V2) = Rn(V1, V2) · N + Rm(V1, V2) N + M (3.3) Rn,m,p(V1, V2) = Rn(V1, V2) · N + Rm(V1, V2) · M + Rp(V1, V2) · P N + M + P (3.4)

(18)

”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)

min(dg1, dg2)

≤ t (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 −

Pt(V1, V2)

S(V1, V2)

(3.6) kde Pt(V

1, 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 Atnm˚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 Pro vzorky S1 a S2 m˚uˇzeme spoˇc´ıtat hodnotu A1,252 jako:

S1 S2 120 d´a 100 120/100 = 1,20 podobn´e 125 ´al 70 125/70 = 1,78 150 os 114 150/114 = 1,31 161 st 140 161/140 = 1,15 podobn´e 61 ti 97 97/61 = 1,59

A1,252 = 1 − 25 = 0,6. Podobn´ym zp˚usobem m˚uˇzeme vypoˇc´ıtat A1,253 a na rozd´ıl od ”R“ hodnoty i A1,254 .

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´

ale-nostmi mezi tˇemito vzorky d(V1, V2), pro kterou plat´ı, ˇze d(V1, V2) ≥ 0. Pokud se snaˇz´ıme

(19)

Tabulka 3.1: V´ysledky klasifikace dle metody od autor˚u Gunettiho a Picardiov´e, celkem 600 pokus˚u o klasifikaci. Zdroj: [8]

Pouˇzit´ı

”R“ vzd´alenosti Pouˇzit´ı”A“ vzd´alenosti

Mˇeˇren´a vzd´al. R2 R3 R2,3 R2,4 R2,3,4 A2 A3 A2,3 A2,4 A2,3,4

Poˇcet chyb 13 44 5 9 9 44 84 41 39 41

Chybovost [%] 2,16 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´ı

Mˇeˇren´a vzd´al. R2+ A2,3 R2,3+ A2 R2,3+ A2,3 R2,3,4+ A2 R2,3,4+ A2,3

Poˇcet chyb 4 2 4 2 1

Chybovost [%] 0,66 0,33 0,66 0,33 0,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:

md(A, X) = 1 n· n X i=1 d(Ai, X)

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 ´uspˇ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, · · · , Anuˇzivatele A jako

m(A) = 1 n · (n − 1) · n−1 X i=1 n X j=i+1 md(Ai, Aj)

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 veri-fikaci jsou zn´azornˇeny v tabulce 3.2.

(20)

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]

Pouˇzit´ı

”R“ vzd´alenosti Pouˇzit´ı”A“ vzd´alenosti

Mˇeˇren´a vzd´alenost R2 R2,3 R2,4 R2,3,4 A2 A2,3 A2,4 A2,3,4

Chybn´a pˇrijet´ı 563 324 279 199 590 335 366 331

Chybn´a odm´ıtnut´ı 50 32 41 41 92 80 84 79

FAR [%] 0,125 0,072 0,062 0,044 0,131 0,074 0,081 0,073

FRR [%] 8,333 5,333 6,833 6,833 15,33 13,33 14,0 13,16

Pouˇzit´ı kombinac´ı

”R“ a”A“ vzd´alenost´ı

Mˇeˇren´a vzd´alenost R2+ A2 R2,3+ A2,3 R2,3,4+ A2 R2,3,4+ A2,3

Chybn´a pˇrijet´ı 360 205 124 78

Chybn´a odm´ıtnut´ı 36 24 19 23

FAR [%] 0,08 0,045 0,027 0,017

FRR [%] 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 ve-rifikace 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 for-mul´aˇr˚u – lze tedy pˇredpokl´adat, ˇze kaˇzd´y ´uˇ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.

(21)

Kapitola 4

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 ´uvod 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 ´ukol 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 na-vrˇ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 ´uvah:

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 ´utoku. 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 zazna-men´av´an´ı kl´aves neovlivn´ı.

(22)

4.2

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´ı ´urovnˇ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 ´uspˇ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 ´umˇ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´ı mo-difikovat 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 o ´utoˇ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 12·(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:

w(x) = sgn(x) ·pk · |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:

sn+1(d, sn) =



d · (1 − sn), d ≥ 0

d · sn, d < 0 (4.2)

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

(23)

d´ılˇc´ıch d´elek. Tento postup je podle mne korektn´ı do chv´ıle, kdy se n-grafy vyskytuj´ı rov-nomˇ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 ge-nerovat 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´ı ´utoˇ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 hodno-cen´ı zaˇrazen. Tento probl´em byl vyˇreˇsen pomoc´ı sledov´an´ı neˇcinnosti na kl´avesnici. Pokud na kl´avesnici nebyla provedena ˇz´adn´a akce jiˇz Tf lush sekund, probˇehne vyhodnocen´ı pamˇeti

pam a jej´ı vypr´azdnˇen´ı ihned. ˇCasov´a konstanta Tf lushreprezentuje ˇcasov´y interval mezi

od-chodem legitimn´ıho uˇzivatele a pˇr´ıchodem a n´aslednou prac´ı ´utoˇ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 ´uprava sebou pˇrinesla jist´e ´uskal´ı. 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|kap , kde |pam| reprezentuje poˇcet n-graf˚u ve vyrovn´avac´ı 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. Down-land a Furnell – 750 ms), coˇz by dovolovalo ´utoˇcn´ıkovi ps´at rychlost´ı 1 ´uhoz 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

(24)

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|

100 · (nM AX + 1 − n) (4.3)

kde nM AX = 4. S´ıla cel´eho profilu S(P ) je pak:

S(P ) = 1 4 4 X i=1 S(Pi, i) (4.4)

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´ı ´udaj˚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 ´unos 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´ avesni-cov´ych ud´alost´ı. Pˇri ´unosu 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´ı dia-gram 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.

Sn´ımaˇc stisknut´ych kl´aves C´ˇast maj´ıc´ı za ´ukol 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.

(25)

Obr´azek 4.1: Neform´aln´ı n´avrh aplikace. Zdroj: vlastn´ı pr´ace autora

Filtry Tento subsyst´em je navrˇzen pro zpracov´an´ı ´udaj˚u o stisknut´ych ˇci uvolnˇen´ych kl´aves´ach spoleˇcnˇe s jejich ˇcasov´ymi zn´amkami. M´a za ´ukol 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 stisk-nuty 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.

(26)

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 ´utok, 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 pozorova-teli. 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 NGraphGe-nerator, 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ˇ za-davky od klient˚u a sleduje zmˇeny v operaˇcn´ım syst´emu (kdo je pr´avˇe pˇrihl´aˇsen´y atd.),

References

Related documents

To capture CNVs within CDH candidate regions, we developed and tested a targeted array comparative genomic hybridization platform to identify CNVs within 140 regions in 196 patients

or information about their expertise, which is repeated mainly with Negation feedback. Social: we mean context information related to a user’s role at work, and

 The relation between action and desire: because user’s actions are mainly determined by his desire and the current context values, and there is only one active user during a

The third tier in the design of the CRAFT technique deals with three final inputs from the crowd. For every feedback that the crowd members are annotating, they will have

The wavelength ranges that were observed contain a number of spectral lines of other elements. In the process of comput- ing the synthetic spectra, estimates of the abundances of

Three measurements of the longitudinal field over a time interval of 64 days are reported by Mathys &amp; Hubrig (1996): all yielded a field close to − 2. Since we found that it

In summary, our basic model suggests that the health share rises over time as income grows if the joy associated with living an extra year does not diminish as quickly as the

antioxidant enzyme assay indicated that there was marked increase in the level of lipid peroxidation and decrease in the level of antioxidant enzyme in hypothyroid and