Vysoká škola ekonomická v Praze Fakulta informatiky a statistiky Katedra informačních technologií
Studijní program : Aplikovaná informatika Obor : Informační systémy a technologie
Účel a implementace snímání otisků prstů v osobních počítačích DIPLOMOVÁ PRÁCE
Student
:
Bc. Petr Varadinov
Vedoucí
:
Ing. Rudolf Pecinovský, CSc.
Oponent :
Mgr. Aziz Ahmad Rais
2013
Prohlášení: Prohlašuji, že jsem diplomovou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze které jsem čerpal.
V Praze dne 3. května 2013
................................. Petr Varadinov
Poděkování Děkuji svému vedoucímu Ing. Rudolfovi Pecinovskému, CSc. za cenné rady pro vypracování této práce. Poděkování patří také mým dlouholetým kolegům, kteří mi poskytli mnoho podnětů a informací, ze kterých tato práce v některých částech vychází. V neposlední řadě bych rád poděkoval svým rodičům za trpělivost a podporu.
Abstrakt Tato diplomová práce se zabývá rozpoznáváním otisků prstů aplikovaným v osobních počítačích. Téma je rozebráno chronologicky v historickém kontextu a také v kontextu s jinými biometrickými metodami. Práce podává ucelený přehled problematiky počínaje fyzickou úrovní, přes hardwarové komponenty, softwarovou architekturou konče. Zvýšená pozornost je věnována programování podpory rozpoznávání otisků prstů do uživatelských aplikací. Cílem práce je zasadit křemíkovou snímací technologii otisků prstů do historického kontextu a popsat její vývoj ve spojení s osobními počítači až do současnosti, poskytnout výsledky průzkumu trhu se snímači otisku prstu používanými v osobních počítačích, vypracovat přehled funkcí dosažitelných běžným koncovým uživatelem a průzkum trhu se softwarem, vytvořit přehled a srovnání dostupných vývojářských balíčků (SDK) a programovacích rozhraní (API) používaných pro popisované snímače otisku prstu a implementovat ukázkovou aplikaci komunikující se snímačem otisku prstu. Pro dosažení těchto cílů bylo použito rešerší a průzkumu trhu, spolu s využíváním vlastních praktických zkušeností z tohoto oboru a dále vlastním inovativním přístupem k aplikaci této technologie v ukázkovém programu. Práce je rozdělena do sedmi kapitol, z nichž kapitoly dva až šest jsou přímo věnovány problematice jednotlivých cílů práce. Přínosem práce je doplnění chybějícího pohledu na problematiku z pozice koncového uživatele a aplikačního programátora. Práce dále umožňuje orientaci na trhu se snímači otisku prstu a softwarem pro ně. Poukazuje na možnosti rozšíření této technologie a poskytuje detailní rozbor softwarové vrstvy spolu s ukázkami programování pro použití této technologie. Inovací v oblasti vstupních zařízení osobního počítače je ukázková aplikace umožňující ovládání hlasitosti snímačem otisku.
Klíčová slova biometrie, snímání otisku prstu, biometrický software, WBF, implementace biometrie, ovládání hlasitosti
Abstract This diploma thesis deals with fingerprint recognition applied in personal computers. The topic is analyzed both chronologically in historical context and in connection with other biometric methods. The thesis provides a comprehensive survey of the topic. It starts with physical layer, goes through hardware parts and ends with software architecture. A special attention is paid to programming fingerprint recognition support into end-user applications. These are the aims of the thesis: to place the silicon fingerprint sensing technology into the historical context and describe its evolution in connection with personal computers till the present times, to provide the results of market research of fingerprint sensors used in personal computers, to work out the summary of the functions the end-users have at their disposal, to present the market research results of fingerprint software, to work out the overview and the comparison of available software development kits (SDKs) and that of application programming interfaces (APIs) used for the described fingerprint sensor devices, and last but not least to develop a demonstration application that communicates with a fingerprint sensor device. Technical literature, market researches together with my own experience from the work in this field were used so as to meet the set aims. As for the demo application of this technology it is my own innovative approach. The thesis is divided into seven chapters where Chapter II – Chapter VI directly deal with the mentioned topics. The completion of a missing angle of approach to the subject from end-users’ and application programmers’ perspective is the main asset of this thesis. The work also allows orientation on the silicon fingerprint sensor market and fingerprint software market. Moreover it shows possibilities how to extend this technology, it provides a detailed analysis of the software layer and presents programming samples showing that show how to use this technology. The demo application allowing audio volume control by a fingerprint device is an innovation in the branch of computer input devices.
Keywords biometrics, fingerprint sensing, biometric software, WBF, biometry implementation, volume control
Obsah 1
Úvod ................................................................................................................... 1 1.1 Cíle ....................................................................................................................................2
2
Biometrie a osobní počítače .............................................................................. 3 2.1 Biometrie ..........................................................................................................................3 2.2 Základní pojmy .................................................................................................................7 2.2.1 Terminologie otisku prstu ..................................................................................9 2.3 Hodnocení technologií ..................................................................................................11 2.3.1 Popis zvolených kritérií ....................................................................................12 2.3.2 Srovnání.............................................................................................................14 2.3.3 Výsledky ............................................................................................................17 2.4 Rešerše informačních zdrojů ........................................................................................18
3
Snímání otisků prstů a osobní počítače .......................................................... 20 3.1 Metody snímání ..............................................................................................................21 3.2 Snímací technologie ......................................................................................................23 3.2.1 Optické snímání ................................................................................................23 3.2.2 Kapacitní snímání .............................................................................................25 3.2.3 Termální snímání...............................................................................................26 3.2.4 Tlakové snímání ................................................................................................26 3.2.5 Ultrazvukové snímání .......................................................................................27 3.2.6 Srovnání snímacích technologií ......................................................................27 3.3 Vývoj snímačů ................................................................................................................31 3.4 Snímače otisku prstu v osobních počítačích ..............................................................34 3.5 Čtečky otisku prstu........................................................................................................36 3.6 Snímače otisku prstu v mobilních telefonech .............................................................37 3.7 Parametry snímačů otisku prstu ..................................................................................37 3.8 Senzory, čipové sady, moduly a rozhraní ....................................................................39 3.9 Shrnutí ............................................................................................................................42
4
Biometrický software pro snímače otisků....................................................... 43 4.1 Biometrické procesy ......................................................................................................43 4.1.1 Snímání otisku...................................................................................................43 4.1.2 Enrollment .........................................................................................................43 4.1.3 Verifikace ...........................................................................................................45 4.1.4 Identifikace ........................................................................................................46 4.1.5 Extrakce biometrických dat .............................................................................47 4.1.6 Porovnávání alias matchování .........................................................................48 4.1.7 Speciální funkce ................................................................................................49
4.2 Softwarová architektura ................................................................................................50 4.2.1 Windows Biometric Framework .......................................................................51 4.3 Průzkum trhu ..................................................................................................................58 4.3.1 Windows ............................................................................................................58 4.3.2 Linux ..................................................................................................................60 4.3.3 Mac OS X ...........................................................................................................61 4.4 Analýza funkcí ................................................................................................................62 4.4.1 Protector Suite 2012 .........................................................................................62 4.5 Bezpečnost .....................................................................................................................67 4.6 Shrnutí ............................................................................................................................69
5
SDK pro práci se snímači otisků prstů ............................................................ 71 5.1 5.2 5.3 5.4
Průzkum trhu ..................................................................................................................72 Úrovně poskytované funkcionality ...............................................................................74 Biometrická API obecně ................................................................................................75 Windows Biometric Framework API .............................................................................79 5.4.1 Biometrické jednotky a skupiny ......................................................................80 5.4.2 Systémová skupina biometrických jednotek ..................................................81 5.4.3 Implementace ....................................................................................................81 5.4.4 Dostupné funkce ...............................................................................................85 5.5 Shrnutí ............................................................................................................................86
6
Demonstrace použití snímače otisku prstu .................................................... 88 6.1 Ovladače hlasitosti ........................................................................................................88 6.2 Snímač otisku prstu jako ovladač hlasitosti................................................................90 6.3 Sensor Volume ...............................................................................................................92 6.3.1 Uživatelská příručka .........................................................................................93 6.3.2 Struktura aplikace .............................................................................................94 6.3.3 Běh aplikace ......................................................................................................97 6.3.4 Zajímavá místa v kódu ......................................................................................98 6.4 Shrnutí ..........................................................................................................................100
7
Závěr ............................................................................................................... 101 7.1 Dosažené cíle ...............................................................................................................102
Terminologický slovník ......................................................................................... 103 Seznam informačních zdrojů ................................................................................ 105 Seznam obrázků a tabulek .................................................................................... 109 Seznam obrázků ..................................................................................................................109 Seznam tabulek ...................................................................................................................110
Příloha A: Výroba umělého prstu ......................................................................... 111 Příloha B: Sensor Volume ReadMe.txt ................................................................. 112
1 Úvod
1
1 Úvod Tato práce se zaměřuje na analýzu využití snímače otisku prstu ve spojení s osobním počítačem. Základem tématu je nástin vývoje snímání otisku prstu a průzkum možností existujícího software pro snímače otisku prstu, jež jsou často dodávány zabudované v přenosných počítačích. V dalších částech se zaměřuje na problematiku z pohledu aplikačního programátora, který chce biometrickou funkcionalitu implementovat. Téma je směrováno více na užitek koncového uživatele než na komplexní bezpečnostní funkce informačních systémů. I přesto může tato práce být užitečným zdrojem informací pro tvůrce biometrických bezpečnostních funkcí v rámci informačních systémů. Práce se nezabývá detailním popisem algoritmů pracujících se získaným obrazem otisku. Toto téma bylo totiž již mnohokrát publikováno v jiných pracích a je na ně poukázáno v rešerši v následující kapitole. Práci jsem rozdělil do pěti částí, které přímo odpovídají jednotlivým cílům práce: Druhá kapitola se mimo rešerše dosavadních prací detailně věnuje postupnému vymezení tématu od obecného termínu biometrie až po samotné snímání otisku prstu. Vyjma tohoto vymezení také stručně popisuje alternativní biometrické metody a hodnotí jejich zřejmé klady a zápory pro použití ve smyslu identifikační metody v osobním počítači. Tento přehled je stručně rozebrán z historického pohledu, v kterém jsou popsány počátky jednotlivých biometrických metod a naznačen jejich vývoj. Ve třetí kapitole je analyzován vývoj snímačů otisku prstu ve vztahu k osobním počítačům. Také se v ní vysvětlují jednotlivé snímací technologie a hardwarová vrstva jako taková. Součástí popisu vývoje je i průzkum aktuálního trhu se snímači, zejména se snímači na kapacitní bázi. Tato kapitola slouží především jako východisko pro následující kapitoly, které se dále zabývají už jen softwarovou vrstvou. Primárním cílem práce je poskytnout přehled funkcí dostupných běžným koncovým uživatelům v rámci softwaru distribuovaného se snímači otisku prstu. Součástí tohoto přehledu je průzkum trhu se softwarem pro osobní počítače. Tohoto cíle je dosaženo ve čtvrté kapitole. Sekundárním cílem práce je vytvořit přehled a srovnání dostupných vývojářských balíčků (angl. Software Development Kit – dále jen SDK), které ve svých knihovnách poskytují aplikacím rozhraní (angl. Application Programming Interface – dále jen API) pro komunikaci s funkcemi snímače. Pro tyto API je obecně předveden způsob jejich implementace do koncových aplikací. Následně je věnována velká pozornost technologii Windows Biometric Framework a programování s jejím API. Tomuto cíli se věnuje pátá kapitola. V šesté kapitole je implementována malá inovativní aplikace na základě vybraného SDK v kvalitě funkční demoverze, která si klade za cíl poukázat na dosud málo využívané možnos-
1 Úvod
2
ti snímačů otisku prstu jako ovládacích zařízení. Závěr této kapitoly je věnován diskusi, jak by se navržené řešení mohlo uplatnit v praxi. Toto téma jsem si zvolil, protože v této technologii vidím stále velký nevyužitý potenciál i přes nedávný rozvoj mnoha alternativních identifikačních technologií. Většina dosavadních prací, jak je dále rozebráno v rešerši, se zabývá převážně srovnáváním biometrických metod nebo problémy algoritmů identifikace a zpracování obrazu. Chybí mi však přehled z pohledu koncového uživatele, který si snímač koupí spolu se svým osobním počítačem. Stejně tak postrádám příručku, nebo spíše průvodce programátora, pro implementaci těchto biometrických funkcí do koncových aplikací určených pro osobní počítače s instalovanými snímači otisku prstu. Cílovou skupinou čtenářů práce jsou tedy zejména pokročilí uživatelé osobních počítačů, pro které je obsah relevantní po čtvrtou kapitolu včetně, a aplikační programátoři, pro které může být práce relevantní celá, zejména avšak od kapitoly pět dále. Hlavní přínos shledávám především v doposud chybějícím úhlu pohledu na problematiku. Práce umožňuje čtenáři náhled do historie vývoje biometrických technologií a orientaci na trhu se snímači otisku prstu a softwarem pro ně. Současně ukazuje možnosti rozšíření výhod technologie do dalších aplikací, popřípadě nabízí impulz k dalším inovacím v oblasti vstupních zařízení osobního počítače. Tímto impulzem může být ukázková aplikace, která přináší inovativní použití snímače jako ovládacího prvku systému.
1.1
Cíle
1. Zasadit křemíkovou snímací technologii otisků prstů do historického kontextu a popsat její vývoj ve spojení s osobními počítači až do současnosti. 2. Poskytnout výsledky průzkumu trhu se snímači otisku prstu používanými v osobních počítačích s aplikacemi, které poskytují funkce pro osobní použití. 3. Vypracovat přehled funkcí dosažitelných běžným koncovým uživatelem v rámci softwaru distribuovaného se snímači otisku prstu, včetně průzkumu trhu s tímto softwarem. 4. Vytvořit přehled a srovnání dostupných vývojářských balíčků (SDK) a programátorských rozhraní (API) používaných pro popisované snímače otisku prstu. 5. Implementovat ukázkovou aplikaci komunikující se snímačem otisku prstu.
2 Biometrie a osobní počítače
3
2 Biometrie a osobní počítače V této kapitole je popsán úvod do problematiky biometrie a ta je v závěru dána do kontextu s možnostmi užití v osobních počítačích. Cílem této kapitoly není podat vyčerpávající přehled problematiky, ale zasadit téma biometrie otisků prstů do kontextu s ostatními biometrickými metodami.
2.1
Biometrie
Biometrie je věda o rozpoznávání, neboli ověřování identity osob na základě jejich jedinečných fyziologických nebo behaviorálních charakteristik. (Bolle 2004, str. 3) Tyto charakteristiky musejí splňovat následující kritéria, aby byly vhodné pro biometrickou identifikaci osob: Univerzalita – každý jedinec danou charakteristiku vlastní Rozlišnost – libovolní dva jedinci mají danou charakteristiku dostatečně rozdílnou Stálost – biometrická charakteristika se v průběhu času nemění Kvantifikace – danou charakteristiku lze kvantitativně popsat Biometrie (angl. biometrics) jako samostatná disciplína se postupně vyvinula z mnoha různých odvětví, která zkoumala některou z biometrických metod. Otisky prstů se zabývá kriminalistika, rozpoznávání hlasu rozvinul obor zpracování signálů, rozpoznávání obličejů je zájmem disciplíny počítačového vidění. K ustálení samostatného oboru došlo až koncem 90. let 20. Století. (Bolle 2004) Pro tuto práci jsou zejména zajímavé biometrické metody pracující s fyziologickými znaky rozpoznávaného jedince. Behaviorálním biometrickým metodám, jako jsou např. rozpoznávání písma, podpisu, rytmu úderů na klávesnici nebo stylu pohybu či chůze, není dále věnována pozornost. Následující odstavce chronologicky a stručně nastiňují historii nejznámějších biometrických metod. Pozn.: Často pro aplikace biometrické metody používám výraz biometrická technologie. Biometrická technologie může být vnímána v zásadě jako aplikovaná biometrická metoda, čili zejména technologie snímání biometrického vzoru v souhrnu se samotnou metodou rozpoznávání. Počátky využívání biometrie, v širším obecném nevědeckém pojetí, je obtížné datovat. Živočichové totiž běžně užívají biometrických znaků pro vzájemné rozpoznání přirozeně. Některé zdroje hovoří o prvním vědomém systematickém užití biometrických znaků pro identifikaci osob ve 14. století v Číně. (About.com - Terrorism Issues 2012) Nejčastěji je však prvenství ve vědeckém slova smyslu připisováno Alphonsi Bertillonovi, který navrhnul a poté uvedl do policejní praxe rozpoznávání osob na základě tělesných mír. S touto myšlenkou přišel v roce
2 Biometrie a osobní počítače
4
1882. Nutno podotknout, že tyto metody nemusely vždy vést k jednoznačné identifikaci, avšak jejich aplikací byl nastartován zájem o biometrii a již roku 1893 ministerská kancelář Velké Británie uznala, že žádní dva jedinci nemají stejné otisky prstů. (Maltoni 2009) Kriminalistika je původcem zájmu o biometrii, jelikož vznesla požadavek na jednoznačnou identifikaci pachatelů trestných činů. V této oblasti se nejvíce prosadila metoda rozpoznávání otisků prstů (angl. fingerprint recognition). Od té chvíle probíhal bouřlivý rozvoj metod pro porovnávání a třídění otisků prstů. Biometrická metoda rozpoznávání otisků prstů je také známá pod pojmem daktyloskopie. Tehdejší metody rozpoznávání byly koncipovány tak, aby mohli být vycvičeni daktyloskopičtí experti, kteří je mohli manuálně realizovat, a tak rozpoznávat shody či neshody mezi porovnávanými otisky. Ve větším měřítku se potom tato činnost stávala velmi zdlouhavou a vyčerpávající. Zvyšující se požadavky na identifikaci pachatelů v kriminalistice vedly k investicím do automatizace procesu rozpoznávání otisků prstů. (Maltoni 2009) To postupně přes jednodušší pomocné analogové zpracování vyústilo až vývojem digitálního systému AFIS (z angl. Automatic Fingerprint Identification Systems). Ten byl v první podobě uveden do provozu ve Spojených státech roku 1972. Jednalo se o specializované řešení, zejména pro odvětví kriminalistiky. (Encyclopedia.com 2012) Obrázek 1 ukazuje sejmutý otisk palce. Papilární linie jsou na něm vykresleny obvyklou černou barvou.
Obrázek 1: Otisk prstu (Zdroj: Prill 2009)
Mezitímco bylo rozpoznávání otisků prstů již aktivně využíváno, se začaly objevovat další způsoby biometrické identifikace – biometrické metody. V roce 1935 byla publikována studie dokladující jedinečnost cévních struktur na sítnici lidského oka, viz obrázek 2. Tyto struktury mohou být použity pro rozpoznávání sítnice (angl. retina recognition). Roku 1981 společnost EyeIdentify předvedla první prototyp sítnicového skeneru. Toto zařízení využívalo infračervených paprsků pro nasvícení cévních struktur sítnice a pro jejich následné zachycení. Činnost této společnosti byla ukončena roku 2001. (Das 2007) Tato technologie poté nadlouho zmizela z trhu. V posledních letech se opět objevila v zařízeních společnosti Solotech, která kombinují více biometrických technologií, včetně skenování sítnice. (SoloTech Corp 2012)
2 Biometrie a osobní počítače
5
Obrázek 2: Obraz sítnice pravého oka (Zdroj: Häggström 2012)
První zmínky o užití lidské tváře pro systematickou identifikaci (angl. facial recognition) pocházejí z 60. let 20. století. (Biometrics.gov 2012a) První plně automatizované rozpoznávání tváří uvedl do chodu roku 1973 Takeo Kanade v rámci své doktorské práce. Od té doby dochází k pozvolnému rozvoji technologie a od začátku 21. století se pomalu prosazuje i na poli identifikace uživatelů osobních počítačů. (Li, Jain 2011) Od 60. let 20. století se také vyvíjí hlasová identifikace (angl. speaker recognition) osob. Hlas jako biometrická charakteristika stojí na pomezí fyziologických a behaviorální vlastností, protože se v něm se kombinuje jak stránka vrozená, např. tvar hlasového ústrojí, tak stránka naučená, tj. např. poloha hlasu, intonace. Tento způsob identifikace není prozatím příliš rozšířený. (Biometrics.gov 2012b) Větší důraz se klade na rozvoj technologie pro rozpoznávání hlasových příkazů. Pozor – tyto technologie bývají často zaměňovány! Zvláště v anglických termínech je rozdíl špatně patrný: speaker recognition a speech recognition – tedy rozpoznávání mluvčího a rozpoznání řeči. Souhrnným pojmem, který zastřešuje obě technologie, je rozpoznání hlasu, angl. voice recognition. Metody rozpoznávání geometrie ruky (angl. hand geometry recognition) a rozpoznávání otisku dlaně (angl. palm print recognition) pracují s celou lidskou rukou, respektive dlaní. Víceméně kombinace obou těchto metod byla poprvé systematicky použita již v roce 1858 pro identifikaci dělníků při výplatách mzdy. Každý dělník musel na zadní stranu své pracovní smlouvy poskytnout inkoustový otisk celé své dlaně i s prsty, který poté sloužil k identifikaci při výplatách. V roce 1974 byl představen první elektronický systém identifikace pomocí rozpoznávání geometrie ruky. Tato metoda založená na geometrii je poměrně výhodná pro svou jednoduchost a stálost měřených charakteristik, nicméně má nízkou rozlišnost, to znamená, že se nejedná o dostatečně jedinečné charakteristiky. Hodí se proto jen pro systémy, které pouze ověřují totožnost určeného uživatele, je-li to opravdu on, provádějí tzv. verifikaci. První systém pracující s otisky dlaně se objevil v roce 1994. Tato metoda je principiálně nejblíže rozpoznávání otisku prstu, snímají se ovšem vzory z dlaně, např. čára osudu. Obrázek 3 zobrazuje snímek otisku dlaně; zaznamenané linie dlaně jsou zde vykresleny v odstínech šedi. Pozdější technologie kombinují rozpoznávání dlaně s rozpoznáváním otisků prstů. (Biometrics.gov 2012c; Biometrics.gov 2012d)
2 Biometrie a osobní počítače
6
Obrázek 3: Otisk dlaně (Zdroj: Anon 1903)
Poměrně mladou biometrickou metodou je rozpoznávání duhovky (angl. iris recognition). Byla patentována až v roce 1987 a jde bezesporu o metodu s velkým potenciálem. K identifikaci používá jedinečné vzory na duhovce lidského oka. Duhovka je externě viditelným orgánem lidského těla a je zároveň dobře chráněná před poškozením a změnami. Vzory na ní jsou během života velmi stabilní. (Iris recognition 2012) Na obrázku 4 je vidět, jak je vybírána oblast duhovky na snímku oka. V levém horním rohu je patrná grafická podoba tzv. IrisCode, což je kód zkonstruovaný z rozpoznávané duhovky. Tuto technologii vyvinul John Daugman Ph.D. na univerzitě v Cambridge. V rámci současné pokročilosti snímacích technologií je její užití velmi snadné a tak tento postup rychle nachází své uplatnění. Příkladem budiž slavný příběh fotografie afgánské dívky, která se dostala na obálku časopisu National Geographic v roce 1984. Po téměř dvaceti letech se sám autor fotografie vydal pátrat po osudu této v té době již dospělé ženy. Jelikož ovšem jediné vodítko, které měl, byla fotografie přibližně dvanáctileté dívky, potřeboval vhodným způsobem ověřit totožnost žen, které prohlašovaly, že jsou na portrétu. Díky dostatečné kvalitě původní fotografie a metodě rozpoznávání duhovky se mu to podařilo. Byl tak odkryt zajímavý životní příběh dívky z uprchlického tábora. (Daugman 2012) Pozor, tato biometrická metoda bývá velmi často zaměňována za metodu rozpoznávání sítnice. Touto chybou je postižena valná většina internetového prostoru. V drtivé většině případů zařízení označená jako sítnicové skenery jsou ve skutečnosti skenery duhovky.
Obrázek 4: Rozpoznávání oční duhovky (Zdroj: Daugman 2012)
Zřejmě nejnovější biometrickou metodou je rozpoznávání na základě vzorů získaných snímkem určitého žilního systému – rozpoznávání žilního systému (angl. vein recognition). Může se jednat o snímek žilního systému, např. prstu nebo celé dlaně, popřípadě paže. Jedná se v zásadě o stejnou myšlenku jako u snímání sítnice. V roce 2006 představila firma Hitachi první snímače žilního systému prstu ve formě externího zařízení pro PC. Prozatím nedošlo
2 Biometrie a osobní počítače
7
k velkému rozšíření této technologie, která je nadále vyvíjena a využívána spíše ve speciálních případech. (The Register 2007) Na obrázku 5 je ukázka snímku žilního systému prstu. Snímání se provádí v infračerveném světelném spektru.
Obrázek 5: Snímek žilního sytému prstu (Zdroj: Anon 2013)
Historický rozvoj biometrických metod založených na fyziologických vlastnostech jedince je vynesen na obrázku 6 na orientační časovou osu. Související milníky jsou vyznačeny stejnými barvami. 1973 Automatizované rozpoznávání tváře
1893 Uznána jedinečnost otisků prstů
1882 Počátek novodobé éry biometrie
1935 Studie sítnice
1972 AFIS - digitální zpracování 1974 otisků prstů Elektronické rozpoznávání geometrie ruky 60. léta 1981 První pokusy s První rozpoznáváním tváře sítnicový scanner
1987 Patentována technologie rozpoznávání duhovky
1994 2006 Systém rozpoznávání První žilní otisku dlaně snímač pro PC
Obrázek 6: Orientační časová osa historie novodobé biometrie (Zdroj: autor)
2.2
Základní pojmy
Ve spojitosti s biometrickými systémy se setkáváme s několika důležitými termíny popisujícími jejich funkci. Obecně nám biometrické metody slouží pro ověření identity uživatele. Při procesu ověření je buď uživatel ověřen kladně – přijat, nebo záporně – zamítnut. Ověření bývá často rozdělováno podle typu na verifikaci (angl. verification) a identifikaci (angl. identification): Verifikace znamená ověření identity předem očekávaného jediného uživatele. Probíhá porovnávání snímaného vzoru pouze s jedinou dříve nasnímanou předlohou. Identifikace je zjištění identity aktuálního uživatele z mnoha možných uživatelů. Probíhá porovnávání snímaného vzoru s mnoha dříve nasnímanými předlohami.
2 Biometrie a osobní počítače
8
I když tyto dva pojmy bývají rozlišovány z pohledu implementace biometrických systémů, nemají pro koncového uživatele zásadní význam. Tato práce se drží ve většině případů obecnějšího pojmu ověření neboli také autentifikace, který zastřešuje oba výše uvedené termíny. Vhodným obecným termínem je také rozpoznání (recognition), nejen ve smyslu rozpoznání vzoru, ale i ve smyslu rozpoznání uživatele. Předtím než je možné biometrické systémy začít využívat, musí každý uživatel podstoupit proces vytvoření své biometrické předlohy, proti které může být později ověřen. Tento proces se v anglické terminologii nazývá enrollment. Jedná se v zásadě o registraci otisků uživatele do systému. Ačkoliv český termín registrace je pravděpodobně významově nejbližším překladem, budu se v této práci držet anglického termínu enrollment. Tento termín je totiž již v anglické terminologii i českém žargonu ustálen ve vztahu k biometrii, a to ve významu: „Proces přidání uživatelových ověřovacích údajů do ověřovacího systému.“ Oproti tomu termín registrace je pouze termínem obecným, a tak v podstatě nadřazeným odbornému termínu enrollment. V české verzi biometrického softwaru Protector Suite je tento překlad vyřešen slovním spojením registrace otisků. V rámci své činnosti v oboru biometrie jsem se však nikdy s praktickým použitím tohoto termínu nesetkal, proto jej nepoužívám ani v této práci. Biometrická předloha (angl. template) je digitální reprezentací nasnímaného biometrického vzoru. Vnitřní proces výroby biometrické předlohy se nazývá extrakce. Dochází při něm k extrakci užitečných informací z obrazu nasnímaného vzoru. Obvykle nelze z této předlohy zpět rekonstruovat původní vzor. Toto je podstatný bezpečností aspekt, který neumožňuje případným útočníkům za pomoci biometrické předlohy zkonstruovat falešnou identitu uživatele. Je vhodná pouze pro porovnávání na míru podobnosti s jinou předlohou. Proces získávání biometrické předlohy může být postižen několika druhy chyb: Selhání detekce nastává, když snímací jednotka není schopna rozpoznat přítomnost vzoru u snímače a tak zahájit snímání. Selhání snímání může být například způsobeno zanesením snímače nečistotami a tak získáním neplatného obrazu. Selhání zpracování pořízeného vzorku bývá způsobeno nasnímáním neočekávaného vzoru, který neumí použitý algoritmus extrakce biometrické předlohy zpracovat. Matcher je anglický výraz pro výkonný prvek rozpoznávacího systému, který provádí vzájemné porovnávání biometrických předloh. Jeho výstupem je obvykle skóre určující podobnost porovnávaných předloh. Přímý překlad tohoto slova do češtiny se nepoužívá. Modul matcheru může být implementován jak v softwarové vrstvě klientského systému, tak může být přímo realizován na straně hardwaru. Snímač je obecně zdroj informací pro nějaký řídící systém, v užším slova smyslu technické zařízení (popř. součástka), která měří určitou fyzikální nebo technickou veličinu a převádí ji
2 Biometrie a osobní počítače
9
na signál, který lze dále zpracovat v navazujících systémech. V této práci má termín snímač důležitou roli zejména jako zařízení, méně často jako elektronická součástka. Senzor (z angl. sensor) je synonymním výrazem pro slovo snímač. V této práci nedělám mezi použitím slova snímač a slova senzor žádný rozdíl. Upřednostňuji slovo snímač jakožto slovo české. Dalším synonymem by mohlo být čidlo, tento výraz ale v práci nepoužívám. Čtečka otisku prstu (angl. fingerprint reader nebo fingerprint sensor device) je označení pro obvykle externí zařízení určené ke snímání otisku prstu s integrovaným snímačem otisku prstu. Ačkoliv se to v mluvené řeči často libovolně kombinuje, výrazy snímač a senzor označují pouze holou snímací součástku. Tento rozdíl se snaží tato práce přiměřeně dodržovat. V případě integrovaných snímačů do těla přenosných počítačů se může hovořit o technologii v obou významech, přičemž obvykle znamenají totéž, avšak výraz čtečka spíše reflektuje celé řešení. Kdežto výraz snímač či senzor více poukazuje na použitou snímací technologii.
2.2.1
Terminologie otisku prstu
Termín otisk prstu přináší určité záludnosti při svém použití. V této podkapitole vysvětluji, jak a proč tento termín používám v čísle jednotném a čísle množném, popřípadě v kombinaci obou variant jednotlivých slov. Jedná-li se o snímání, hovořím nejčastěji o snímání otisků prstů. Činím tak proto, že se jedná o opakovanou činnost, jejímž výsledkem je pořízení většího množství otisků často různých prstů. O snímání otisku prstu bych hovořil v případě popisu děje sejmutí otisku jediného prstu. O snímání otisku prstů by se dalo hovořit, pokud by šlo o popis děje sejmutí otisku dvou a více prstů na jedné snímací ploše najednou. O snímání otisků prstu může jít v případě, kdy je popisován děj, při kterém je opakovaně snímán otisk jediného prstu, např. enrollment. O snímači se vyjadřuji v jednotném čísle jako o snímači otisku prstu, jelikož jeho funkcí je v jednom čase pořídit otisk právě jednoho prstu. Ve světle tohoto vymezení tedy nemá smysl mluvit o snímači otisků prstu, protože v jeden čas nemůže být otisk sejmut více než jednou. Mělo by ještě smysl mluvit o snímači otisků prstů nebo spíše otisku prstů, abych dodržel myšlenky předchozího odstavce, v případě že snímač snímal v jeden čas více prstů najednou. V této práci se pojednává zejména o snímačích otisku prstu. Hovorově je poměrně zaběhlá forma množného čísla, i přestože tento výraz nejspíš není zcela korektní, jeho používání bych nijak nezakazoval, jelikož většinou obě strany ví, o čem je řeč, a v drtivé většině mají na mysli stejné zařízení snímající jediný otisk prstu v jeden čas. V této odborné práci se však budu držet varianty snímač otisku prstu. Jazykové problémy u tohoto termínu vznikly při překladu z angličtiny, která otázku gramatického čísla v první části slova neřeší.
2 Biometrie a osobní počítače
10
Výraz snímač otisku prstu je také do jisté míry zavádějící, nicméně ustálený a široké veřejnosti dobře známý. Z těchto důvodů se od něj nebudu odchylovat ani já v této práci, jen na tomto místě vysvětlím, proč je zavádějící. Pokud se zamyslíme nad slovním spojením „pořízení obrazu otisku prstu“, tak zjistíme, že zřejmě znamená něco jiného, než by se mohlo na první pohled zdát. Je třeba definovat, co je to otisk prstu. Otisk prstu je obraz vzoru papilárních linií na kůži prstu. Takže v případě pořízení obrazu otisku prstu bychom hovořili o pořízení obrazu z obrazu papilárních linií, takže vlastně o kopii již pořízeného otisku. Ve slově otisk už je totiž význam obrazu zakomponován, takže není vhodné jej opakovat. Proto by úplně korektní bylo používat výraz snímač papilárních linií. Slovo snímač se totiž obvykle používá ve spojení s tím objektem, jehož obraz je snímačem pořizován. V případě snímače otisku prstu je slovo snímač ovšem použito s objektem, který je výsledkem snímání – obrazem, který se nazývá otisk prstu. Stejně tak by se tento problém mohl týkat snímání otisku dlaně a dalších „otiskových“ disciplín.
2 Biometrie a osobní počítače
2.3
11
Hodnocení technologií
V kapitole 2.1 jsem vyjmenoval nejznámější biometrické metody spolu s jejich stručnou historií. Tato podkapitola doplňuje přehledu biometrických metod o jejich hodnocení vhodnosti pro autentifikaci uživatelů osobních počítačů a zároveň přenosných osobních počítačů za současného stavu technologií. Hodnocení je zpracováno na základě vybraných kritérií, která dobře reflektují účel a požadavky na systém ověřování identity uživatele osobního počítače, zvláště pak přenosného osobního počítače. Porovnání zahrnuje tyto biometrické technologie založené na rozpoznávání: otisku prstu, sítnice, otisku dlaně, tváře, hlasu, duhovky, žil. Tyto technologie jsou hodnoceny podle následujících kritérií, a to postupně v pořadí od nejvýznamnějšího po méně významné: 6. velikost snímače, 7. cena snímače, 8. obtížnost pořízení vhodného obrazu pro rozpoznávání, 9. spolehlivost identifikace, 10. přijatelnost procesu ověření pro každodenní použití, 11. bezpečnost, 12. nutnost akce uživatele pro spuštění procesu identifikace. Praktický biometrický systém by měl mít přijatelnou přesnost a rychlost rozpoznávání a zároveň opodstatněné systémové požadavky, měl by být neškodný ke svým uživatelům a být přijímám cílovou částí populace, tj. většinou svých potenciálních uživatelů, a měl by dostatečně odolávat bezpečnostním útokům. (Maltoni 2009)
2 Biometrie a osobní počítače
2.3.1
12
Popis zvolených kritérií
Následující pasáže detailně popisují zvolená kritéria a vysvětlují důvod jejich výběru. Kritéria jsem vybral především na základě své vlastní zkušenosti z práce s biometrickými zařízeními. Velikost snímače Velikost snímače je první klíčová charakteristika, která může podle fyzických rozměrů jednoduše ukázat vhodnost použití technologie pro osobní počítače. Zvláště pak u přenosných počítačů je důraz na tento požadavek ještě větší. Vzhledem k tomu, že se jedná o periferní zařízení počítače, které bude používáno pouze v případě požadavku na identifikaci uživatele a v ostatním čase využíváno nejspíše nijak nebude, mělo by i velikostně odpovídat frekvenci používání a netvořit dominantní komponentu počítače. Z hlediska rozměru je především důležitá hloubka snímače v případě integrovaných zařízení. Dlouhodobým trendem je ztenčování všech přístrojů včetně počítačů. Plošné rozměry nejsou tak kritické a záleží výrazně na umístění zařízení. Cena snímací technologie Další charakteristikou je cena snímací technologie, jelikož nákladná, byť dokonalá, technologie biometrické identifikace by nebyla dost dobrá na trhu osobních počítačů, kde jsou ceny ustavičně tlačeny dolů silnou konkurencí. Pouze dostatečně nízká cena snímače může způsobit, že se biometrie opravdu objeví integrovaná v širším spektru výpočetní techniky. Pokud se jedná o externí zařízení, nemusí být cena až tak významná, nicméně musí být stále dostatečně nízká, aby si výsledný produkt koupilo více lidí než jen několik počítačových nadšenců. Obtížnost pořízení (snímání) vhodného obrazu pro rozpoznávání Obtížnost pořízení vhodného obrazu pro rozpoznávání je další důležitou charakteristikou, která může rozhodnout nerozhodný stav mezi kandidáty, kteří se jeví jako vhodní z hlediska předchozích dvou charakteristik. První pohled na nablýskaný biometrický snímač zpravidla vůbec neodhalí, jak obtížné může být na takovém zařízení ověřit identitu. Problémem je zajištění správných snímacích podmínek, ty se liší pro různé typy biometrických technologií. V případě technologií založených na optických snímačích mohou být určující světelné podmínky v okolí. V případě různých dotykových technologií nemusí být vždy snadné poskytnout správnou část biometrické informace, pod správným úhlem, se správným tlakem, někdy i se správnou rychlostí. Snímání často ovlivňuje také teplota a vlhkost nebo elektrická vodivost skenovaného objektu. Všechny tyto parametry znesnadňují snímání biometrických znaků. Výše uvedené faktory způsobují vznik snímací chyby typu selhání detekce, selhání snímání, dále chybu selhání zpracování pořízeného vzorku. Tyto tři chyby se také souhrnně označují jako chyba při získávání vzorku.
2 Biometrie a osobní počítače
13
Spolehlivost identifikace Spolehlivost identifikace popisují zejména dva koeficienty. Koeficient míry chybného přijetí (angl. False Acceptance Ratio – FAR) a koeficient míry chybného odmítnutí (angl. False Rejection Ratio – FRR), ve statistice též chyba prvního a druhého stupně, říká, s jakou pravděpodobností dojde k chybnému přijetí neznámého uživatele, respektive k chybnému odmítnutí známého uživatele. Obecně platí, že čím jsou koeficienty menší, tím lépe. V situaci, kdy dvě biometrické technologie mají každá jiný koeficient menší než ta druhá, rozhoduje potom způsob použití biometrického systému o tom, který koeficient je důležitější. Pokud preferujeme bezpečnost, zajímá nás hlavně co nejnižší FAR, zatímco pokud preferujeme přívětivost k uživateli, preferujeme co nejnižší FRR. Jedná-li se o ověřování uživatele osobního počítače, je prioritou přívětivost systému k uživateli, takže preferujeme co nejnižší míru chybného odmítnutí FRR. Přijatelnost procesu ověření pro každodenní použití Toto kritérium zkoumá, jak příjemný je celý proces ověření pro uživatele z dlouhodobého praktického pohledu. Některé technologie nemusejí být přijímány širokou veřejností z nejrůznějších důvodů, jakými jsou například kulturní, etické, sociální, náboženské nebo hygienické zvyky. (Maltoni 2009) Bezpečnost Jedná se v podstatě o složitost přelstění ověřovacího systému. Čím je výroba podvržené identity obtížnější, tím je daný systém bezpečnější. Nutnost akce uživatele pro spuštění procesu identifikace Nutnost akce uživatele pro spuštění procesu identifikace je charakteristika, která se zabývá tím, zdali uživatel musí provézt nějakou akci, aby mohl být počítačem identifikován, a jak náročná tato akce pro uživatele je, popřípadě jak je vhodná z hlediska ovládání počítače. O této charakteristice lze dlouho diskutovat, jelikož záleží na konkrétním názoru uživatele. Po srovnání technologií jsou vzneseny argumenty pro a proti týkající se tohoto bodu.
2 Biometrie a osobní počítače
2.3.2
14
Srovnání
FRR
Přijatelnost
M+
10$+
S+
0,01
0,6++
S-V+
S+
Dotyk, přirozené.+
Sítnice
V
1000$
S-V
0,0001
10?
N
V
Přiblížení oka, invazivní.
Otisk dlaně
S-V
100$
S
1
1
S
S
Dotyk, relativně přirozené.
Tvář
M+
10$+
N++
0,1
1 – 15+/-
V++
N-
Nevyžaduje.+
Hlas
M+
1$++
S+
14,5?
24,5?-
V++
N-
Vyslovení fráze, relativně nepříjemné.-
Duhovka
M+
10$+
S+
0,1
1+
S-V+
N-
Pohled, relativně přirozená.+
Žíly
S-V
100$
N
0,0001
0,01
S
V
Dotyk nebo vsunutí do snímače, méně přirozená.
Spolehlivost
Bezpečnost
FAR
Otisk prstu
Velikost
Obtížnost sn.
Hodnocení biometrických technologií dle zvolených kritérií Velikost: (M)alá, (S)třední, (V)elká. Cena: určení řádu – jednotky až tisíce dolarů. Obtížnost snímání, přijatelnost, bezpečnost: (N)ízká, (S)třední, (V)ysoká. ++ : Velmi dobrá, +: Dobrá, +/-: Neutrální, -: Špatná kvalita kritéria
Cena
Tabulka 1:
Nutná akce
Data v tabulce 1 vycházejí částečně z mého subjektivního pohledu a praktických zkušeností z oboru biometrie, zejména u kritérií, u kterých to jinak nejde, tzn. obtížnost snímání, přijatelnost, nutná akce. Ostatní data vznikla na základě internetové rešerše, popřípadě mají základ v literatuře odkazované v této práci v kombinaci s praktickými zkušenostmi. Řád ceny snímače byl stanoven tak, že jsem vždy vyhledal co nejvíce zástupců technologie, abych se ujistil o správnosti řádu a vyloučil z ceny složku, která se týká komplexních produktů, ne jen holé technologie. Získat věrohodná data pro spolehlivost v podobě FAR a FRR se ukázalo jako nesnadný úkol, jelikož hodnoty mezi dostupnými zdroji značně kolísají, proto jsou bohužel uvedeny pouze orientační hodnoty vzniklé jako medián z dostupných zdrojů. Tam, kde je výsledek nejistý, jsem raději ponechal za hodnotou otazník. Cílem je zejména, aby hodnoty na-
2 Biometrie a osobní počítače
15
vzájem relativně korespondovaly co nejvíce se skutečností a bylo tak možné vybrat nejvhodnější technologie pro použití v osobních počítačích. Postup výběru a jednotlivé hodnoty vybraných kandidátů jsou dále podrobně diskutovány. Tabulka 1 poskytuje přehled biometrických technologií podle zvolených kritérií pro použití v osobních počítačích. Pro přenosné osobní počítače je zejména důležitá velikost snímače pro zabudování do těla přístroje. Vhodné proto mohou být jen technologie označené v přehledu jako velikostně malé (M). Následujícím kritériem je cena snímače. Cena musí být dostatečně nízká (N), aby výrobci měli zájem zabudovat snímače do celých řad počítačů. Z tohoto pohledu prakticky odpadají kandidáti, kteří překračují hranici desítek dolarů za snímač. Ti nejsou v tabulce označeni zeleně. Obtížnost nasnímání vhodného vzoru pro rozpoznání snižuje použitelnost technologie a přijímání uživateli, nicméně jedná se o značně subjektivní charakteristiku, z tohoto pohledu by především neměla být tato obtížnost vysoká (V), což splňuje většina technologií, později se k tomuto kritériu vrátíme v rámci srovnávání nejlepších kandidátů. Spolehlivost popsaná dvěma koeficienty pravděpodobnosti chyb, z nichž pro použití v osobních počítačích je důležitější koeficient FRR. Z kandidátů, kteří splnili předchozí kritéria, jsou na tom nejlépe rozpoznávání otisků prstů, následováno rozpoznáváním duhovky a dále tváře. Přijatelnost procesu snímání a rozpoznávání je u těchto vybraných kandidátů střední (S) až vysoká (V). Vysoká přijatelnost je u technologií snímání tváře, rozpoznávání hlasu a spíše vysoká u rozpoznávání otisků. Rozpoznávání otisků v tomto zaostává, jelikož pro některé lidi může být odrazující poskytovat svůj otisk prstu, jelikož tento fenomén je spojen s kriminalistikou a zločiny. Jedná se ovšem o neopodstatněné odmítání technologie, protože každá osoba svým působením stejně zanechává mnoho otisků a ty mohou být také poměrně jednoduše sejmuty, kdyby o ně měl někdo skutečně zájem. Nevidím tedy důvod, proč se této technologii vyhýbat. Někdy bývá ovšem odmítání této technologie spojeno s náboženstvím, či kulturními návyky, tento problém se týká pouze některých jihoasijských zemí. Pokud jde o technologii snímání duhovky, zde může být odrazující nutnost přímého pohledu do snímače a také fakt, že duhovka může být sejmuta také z velmi kvalitní fotografie pořízené za vhodného osvětlení, což lze provézt i bez vědomí cílové osoby. Celkově vysoká přijatelnost těchto vybraných technologií je nijak nevyřazuje ze seznamu kandidátů. Bezpečnost je na střední úrovni pouze u snímání otisků prstů, jelikož výroba podvrhu je relativně náročná, jak na materiál, tak na schopnosti podvodníka, navíc falešný otisk bývá značně zranitelný při manipulaci a má velmi krátkou trvanlivost. V této oblasti excelují hlavně technologie snímání sítnice a žilních systémů obecně, jelikož výroba těchto podvrhů by byla velmi náročná, ne-li téměř nemožná. Problém je především ve velmi špatné dosažitelnosti původní biometrické charakteristiky majitele podvodníkem. Tyto technologie se ovšem mezi užší vý-
2 Biometrie a osobní počítače
16
běr kandidátů dostat nemohly, protože přijatelně nesplňují dříve zmíněná kritéria. U zbylých technologií, které byly prozatím shledány jako přijatelné, tedy snímání tváře, hlasu a duhovky, je bezpečnost stanovena jako nízká, protože je relativně jednoduché vyrobit podvržený vzor biometrické charakteristiky. V případě snímání tváře, většina systémů zareaguje i na běžnou fotografii na místo skutečného člověka. Některé nové technologie se toto snaží vylepšit sledováním např. mrkání nebo jiných pohybů tváře pro rozpoznání živého uživatele. Toto lze však stále teoreticky dobře obelstít video projekcí na vhodném zobrazovacím zařízení před kamerou cílového systému. V případě snímání duhovky je problém obdobný jako u snímání tváře. Bezpečnost rozpoznání hlasu jako identifikátoru pro přístup do systému je také diskutabilní, jelikož v mnoha případech může posloužit pro pozitivní identifikace pouze obyčejná nahrávka hlasu oprávněného uživatele. Posledním kritériem jsem se pokusil vystihnout, jak příjemná a vhodná je akce, kterou uživatel musí vykonat, aby byl systémem ověřen. Z tohoto pohledu je podle mého názoru nejzajímavější snímání otisků prstů, které vyžaduje velmi explicitní uživatelskou akci, kterou zároveň uživatel přímo přenáší svou biometrickou informaci do systému. Tento fakt zároveň umožňuje použití snímače otisků prstů také jako multifunkčního zařízení, které může zároveň fungovat jen jako například prosté tlačítko nebo může být použito jako polohovací zařízení. V případě rozpoznání hlasu by se mohlo zdát, že se jedná také explicitní akci, kdy uživatel svou řečí iniciuje proces rozpoznávání. Nicméně toto bohužel může být v mnoha situacích velice nevhodné, protože systém počítače musí reagovat na celé spektrum zvuků z prostředí a ani uživatel vždy nechce mluvit k počítači. Potom je nutná další akce uživatele, např. stisknutí tlačítka, které potvrzuje, že je uživatel připraven k ověření své identity. Situace u rozpoznávání duhovky a tváře je velmi podobná. Uživatel by teoreticky mohl být ověřen téměř kdykoliv by bylo potřeba kamerou zabudovanou v počítači, a to i bez jeho vědomí. Nejenže tento fakt může být nepříjemný pro uživatele, zároveň se může stát, že okolní světelné podmínky budou nepřijatelné pro dostatečně kvalitní snímání obrazu. Uživatel bude pak muset podstoupit nepříjemné směrování celého systému směrem k lepším světelným podmínkám a navíc bude muset správně situovat své oko, respektive tvář směrem k optice snímací kamery. Toto může zejména v terénu působit značné problémy s ověřením.
2 Biometrie a osobní počítače
2.3.3
17
Výsledky
Z předchozích argumentů jsem přidělil každé vhodné technologii ke každému kritériu jedno nebo více (v tabulce červeně) + nebo +/- v případě neutrálního dopadu a - v případě negativního dopadu. Z tohoto hodnocení vycházejí nejvhodnější kandidáti v následujícím pořadí: 1. Rozpoznávání otisků prstů (8x +) 2. Rozpoznávání tváře (7x +, 1x -) 3. Rozpoznávání duhovky (6x +, 1x -) 4. Rozpoznávání hlasu (6x +, 3x -) Tento žebříček poměrně dobře vystihuje současné trendy biometrie v osobních počítačích. Rozpoznávání otisků prstů je stále nejvíce rozšířený a dominantní způsob ověřování uživatelů. Význam rozpoznávání tváře v poslední dekádě velmi vzrostl. Je velmi nenáročný na snímací technologii, jelikož v současné době je již téměř každý počítač vybaven dostatečně kvalitním snímačem – webovou kamerou. Jediná další výbava je proto softwarová a tudíž relativně levná. Z tohoto pohledu tak právě tato technologie může konkurovat rozpoznávání otisků prstů, jelikož nevyžaduje přidání dalšího zařízení kromě dostatečně kvalitní webové kamery, jejíž přítomnost je v současné době sama o sobě velice žádoucí. Třetí místo obsadila technologie rozpoznávání duhovky. Oproti rozpoznávání tváře vyžaduje tato technologie kvalitnější snímač – kameru. A může být obtížnější zajistit optimální světelné podmínky pro sejmutí vzoru duhovky. Z hlediska spolehlivosti ověření rozpoznávání duhovky překonává rozpoznávání tváře. Toto kritérium ovšem není u osobních počítačů pro běžné uživatele (pro osobní použití, tak jak stojí v názvu osobního počítače) tak klíčové, jako je přívětivost a snadnost použití. Proto se v tomto žebříčku staví rozpoznávání duhovky za rozpoznávání tváře, ačkoliv jen s těsným rozdílem. Žebříček uzavírá rozpoznávání hlasu, které dominuje zejména velmi levnou snímací technologií – mikrofonem, který se do osobních počítačů běžně montuje, a nic tak nebrání jeho použití pro rozpoznávání. Slabiny této technologie jsou však v nedostatečné spolehlivosti ověření, která je velmi ovlivněna prostředím, ve kterém se uživatel snaží prezentovat svůj hlas systému, a v jednoduché možnosti zachycení a zfalšování přístupové fráze, na které je uživatelův hlas rozpoznáván. Ostatní technologie rozpoznávání otisku dlaně, sítnice a žil se nedostaly do žebříčku vhodných kandidátů pro použití v osobním počítači, jelikož je některé z kritérií vyloučilo jako zcela nevhodné. Přesto jde o velice mocné technologie s velkým potenciálem, které však své uplatnění v současné době nacházejí spíše ve speciálních případech použití než v masovém nasazení v osobních počítačích. Jako nejvhodnější se v současnosti, i když jen s nepatrným náskokem, jeví rozpoznávání otisků prstů. Zbytek této práce se věnuje výhradně této biometrické metodě a na ní založeným technologiím. Přesto tento stručný úvod do biometrie poukázal na další zajímavé technologie
2 Biometrie a osobní počítače
18
s potenciálem pro segment osobních počítačů. Z hlediska uživatelského komfortu je nejzajímavější a nejpřirozenější rozpoznávání tváře. Z hlediska bezpečnosti je velmi perspektivní technologie rozpoznávání duhovky. Vývoj technologií mluví spíše pro rozpoznávání tváře, které je na poli osobních počítačů čím dál tím více rozšířené. Tato zjištění podporuje graf na obrázku 7, který zobrazuje rozdělení trhu biometrických technologií podle výše příjmů.
Obrázek 7: Rozdělení trhu podle příjmů z jednotlivých technologií (Zdroj: Idex 2013)
Ačkoliv se jedná o stav trhu z roku 2009, je vidět, že technologie rozpoznávání otisků prstů jasně dominuje, a dá se předpokládat, že se tato pozice pravděpodobně zhoršila, ale stále zůstává ve vedení.
2.4
Rešerše informačních zdrojů
Provedl jsem rozsáhlý průzkum existujících informačních zdrojů. Jen v knihovně Vysoké školy ekonomické v Praze jsem našel dvacet prací zabývajících se tématem biometrie. Z toho se nadpoloviční většina podobá jako vejce vejci a po nevyhnutelném úvodu do problematiky se věnují více či méně rozsáhlým srovnáním biometrických metod a technologií. Některé práce k tomuto základu ještě přidávají průzkum trhu s biometrickými řešeními pro nasazení ve firemní sféře a vybrané řešení potom implementují. Žádná z těchto prací se nezabývá tématem z pohledu běžného uživatele osobního počítače. Nikde nejsou poskytnuty žádné detailní informace o softwaru. Přímo tématem otisků prstů se zabývá bakalářská práce „Využití snímání otisku prstu v IT“ od Petera Rakára (Rakár 2009). Tato práce, ačkoliv tomu název zcela nenapovídá, se pře-
2 Biometrie a osobní počítače
19
vážně věnuje popisu algoritmů souvisejících se zpracováním nasnímaného otisku v systému počítače. V celorepublikovém měřítku potom nacházím práce zaměřené konkrétněji na srovnání některých dvou biometrických metod nebo průzkumy možností použití biometrie v určitých aplikacích, např. v docházkových systémech, ve dveřních systémech, apod. Několik prací se zabývá podrobněji extrakcí jedinečných informací z obrazu otisku, formáty předloh nebo algoritmy pro jejich srovnávání. Velmi zajímavou technickou prací je práce „Biometrické systémy: zpracování otisku prstu včetně možnosti rekonstrukce otisku“ od Petra Boušky (Bouška 2007), kde je prakticky řešena zajímavá bezpečnostní otázka rekonstrukce původního otisku z biometrické předlohy. Softwarové problematiky biometrie se alespoň částečně dotýká Jakub Kytka ve své práci „Zabezpečení Windows 7“ (Kytka 2009). Je zajímavé, že téma biometrie se stalo populární hlavně na půdě Vysoké škole ekonomické, odkud jich pochází zdaleka nejvíce. Pravděpodobně to nějak souvisí s faktem, že nedaleko školy sídlilo dlouhou dobu vývojové oddělení softwaru společnosti Authentec, výrobce křemíkových snímačů otisku prstu. Podobná situace je u knižních zdrojů. Česky psaná literatura se problematice biometrie otisků prstů v osobních počítačích prakticky nevěnuje. Zahraniční literatura poskytuje zejména detailní náhled do útrob technologie snímání a rozpoznávání nebo rozsáhlou teorii k problematice bezpečnostních potřeb v informačních systémech. Nicméně na softwarovou vrstvu dostupnou běžnému programátorovi PC jsem náhled nenašel. Zdroje pro toto úzce, zato velmi prakticky, vyprofilované téma jsou převážně elektronické povahy a pochází původem od firem, které se kdy vývojem zařízení a softwaru ke snímači otisku prstu zabývaly. Vzhledem k tomu, že tyto firmy nikdy příliš neholdovaly systematickému zveřejňování informací a udržování historických archivů, informace se nyní nacházejí zejména v různých internetových encyklopediích, fórech a na stránkách nadšenců, respektive bývalých vývojářů. Abych vnesl nový prvek do nekonečně shodného úvodu dostupných prací, rozhodl jsem se celé téma zasadit do historického vývoje, kde to bylo možné. Neocenitelným zdrojem informací pro zmapování vývoje křemíkového světa senzorů otisků byla internetová stránka pana Jean-François Maingueta (Mainguet 2013), bývalého zaměstnance firmy Atmel, která je známá jako výrobce čipů mikropočítačů. Výchozí literaturou pro toto téma je kniha „Handbook of Fingerprint Recognition” autora Davida Maltoniho a kolektivu (Maltoni 2009). V praktické části práce jsou mi zdrojem především oficiální informace výrobce, moje vlastní pětileté zkušenosti z testování i vývoje softwaru pro biometrická zařízení. Důležitou programátorskou referencí je vývojářská knihovna společnosti Microsoft (Microsoft 2013), odkud čerpám mnoho informací nutných pro vývoj aplikace v prostředí systému Windows. Při řešení praktických programátorských problémů se opírám hlavně o knihu „Effective C++“ od Scotta Meyerse (Meyers 1999).
3 Snímání otisků prstů a osobní počítače
20
3 Snímání otisků prstů a osobní počítače První impulz k vývoji automatizovaného systému pro rozpoznávání otisků prstů přišel v roce 1963, kdy potřeby rozpoznávání v kriminalistice již dlouho přerůstaly únosné meze požadavků na lidské zdroje. Americká FBI se s tímto problémem obrátila na odborníky v Národním institutu pro standardy a technologie NIST. Celkový požadavek byl rozdělen na tři samostatné části: skenování identifikační karty s otisky prstů, extrakce významných bodů z otisku, porovnávání extrahovaných předloh. Tyto požadavky vystihují jádro celé technologie rozpoznávání otisků prstů, otisk je nutné sejmout, popsat jedinečné informace a porovnávat je. V počátcích se ještě nepočítalo s přímým snímáním otisku z prstu. To bylo zapříčiněno zejména existencí rozsáhlé databáze identifikačních karet s inkoustovými otisky, která v té době činila 15 milionů karet. První zařízení AFIS systému byly v FBI instalovány v roce 1972. Výpočetní část použitého řešení byla již od počátku koncipovaná jako software fungující nad univerzálním počítačem, přestože v té době tento přístup nebyl ještě úplně pravidlem, např. ve Francii vyvinuli o několik let později pro tento úkol specializovaný hardware. Použití softwarového přístupu u takto komplikovaného problému je ovšem výhodnější z hlediska flexibility, rozšiřování a vylepšování použitých algoritmů, slabinou může být rychlost. Ve Francii byly kolem roku 1970 také položeny základy pro snímání otisku přímo z živého vzoru. Tehdejší technologie však realizovala snímání klasickou fotografickou cestou a získaný negativní fotomateriál byl poté skenován za použití snímací video elektronky, jejíž výstupní signál byl poté digitalizován. (SWGFAST 2011) Ačkoliv některé zdroje (SWGFAST 2011) hovoří o vývoji přímého snímání otisků z prstů (angl. live-scan) již od počátku 70. let, jiné zdroje datují první reálně používané snímací zařízení do období přelomu let 80. a 90. (Advanced Livescan Technologies 2013) Jednalo se však zejména o řešení na objednávku pro policejní a další státní složky. Příchod ryze komerčních řešení pro koncové uživatele na sebe dal ještě celou dekádu čekat. Éra osobních počítačů (angl. Personal Computer - PC) má své kořeny pravděpodobně až v 50. letech 20. Století (Blinkenlights 2007), kdy se skutečně začala objevovat první elektronická domácí digitální výpočetní zařízení, nicméně k dnešnímu pojmu osobní počítač, či vůbec počítač, měla stále poměrně daleko. Začátek éry osobních počítačů bych proto datoval do 70. let, kdy se začaly objevovat počítače ve formě již blízké tomu, jak je vnímáme dnes. Z historie bych zmínil několik významných zástupců prvních osobních počítačů. Xerox Alto (1973), ačkoliv byl nekomerčním produktem a ani nebyl zamýšlen jako osobní, značně předběhl svou dobu a inspiroval vývoj budoucích osobních počítačů, a to i další významný počítač té doby Apple II (1977). Představení počítače IBM 5150 PC (1981) bylo jen potvrzením toho, že éra osobních počítačů skutečně začala. (Blinkenlights 2007) Rozvoj počítačů šel rychle kupředu a v 90. letech se pozvolna dostává do popředí otázka zabezpečení osobních počítačů, zejména těch přenosných. Počítače je možno zabezpečit na různých úrovních, přímo ve spouštěcí fázi (v BIOSu) před zavedením operačního systému nebo v operačním systému, později přichází funkce separátního zabezpečení pevných disků a další.
3 Snímání otisků prstů a osobní počítače
21
Operační systémy začínají podporovat více systémových uživatelských účtů a uživatelé se musí před prací s počítačem systému ověřit svými přihlašovacími údaji. Drtivá většina těchto bezpečnostních funkcí je realizována použitím hesel, popřípadě kombinace přihlašovacího jména a hesla. V náročnějších aplikacích se používají čtečky identifikačních karet nebo také hardwarové klíče. Nejrozšířenějším operačním systémem osobních počítačů konce 90. let se stávají Microsoft Windows. Ačkoliv první „nesíťové“ verze Windows 95, 98 a ME postrádají bezpečné přihlašování do systému (TechRepublic 2004), Microsoft brzy zavádí bezpečné přihlašování do celé své nabídky systémů počínaje Windows 2000. Ten sice měl nahradit všechny předchozí verze systému, to bylo ovšem myšleno spíše v prostředích malých firem, přímo pro domácí použití cílen nebyl, a tak došlo k plošnému rozšíření plně zabezpečeného přihlášení do systému až s verzí systému Windows XP vydaného roku 2001. (Microsoft 2013b) A právě v období přelomu tisíciletí začínají zvyšující se nároky na bezpečnost probouzet zájem o technologii snímání otisků prstů v komerční sféře výrobců výpočetní techniky. V podstatě kompletní technologie již existuje a je používána bezpečnostními složkami mnoha států. Samozřejmě její znovupoužití pro komerční účely může být patentově omezeno, ale v zásadě jsou dveře pro její komercializaci otevřeny dokořán i díky tomu, na jakou úroveň už technika celkově postoupila. Není proto divu, že vedle jiných specializovaných společností téměř každá z velkých firem křemíkového průmyslu otevírá oddělení zabývající se vývojem snímače otisku prstu.
3.1
Metody snímání
Při procesu snímání otisku prstu se rozlišuje jednak, jaká snímací technologie je použita a také jaká je použita metoda pro nasnímání obrazu, tzn. jakým způsobem je provedena rekonstrukce finálního obrazu. Metody snímání existují v zásadě tři: válcové snímání (angl. rolled finger sensing), statické snímání (angl. static sensing), tahové snímání (angl. swipe (méně často sweep) reading). Válcové snímání zde uvádím jen pro úplnost, používá se pouze při tradičním inkoustovém snímání, kdy je načerněný prst valen ze strany na stranu, a tak je na papír sejmut celý jeho otisk se specifickou deformací. Komerční elektronické snímače ho vůbec nepoužívají. Statické snímání je nejběžnější metoda sejmutí otisku prstu. Uživatel položí prst na snímač a tam ho po čas potřebný k sejmutí obrazu nechá nehybně ležet. Získaný obraz je v tomto případě zpracováván najednou jako celek. Plocha snímače má zde velikost přiměřenou velikosti prstu.
3 Snímání otisků prstů a osobní počítače
22
Tahové snímání funguje tak, že uživatel „protahuje“ (angl. swipe) prst přes plochu senzoru. Tato metoda snímání vznikla zejména, proto aby bylo docíleno snížení ceny snímače. To se týká hlavně snímacích technologií používajících celo-křemíkové senzory. Zmenšení snímače na úzký proužek znamená významné snížení ceny. Jelikož snímače realizující snímání touto metodou mají tvar úzkého proužku a výsledný obraz se také z těchto nasnímaných proužků skládá, říká se jim někdy strip (anglický výraz pro proužek) senzory, jindy swipe senzory, což je výraz, kterého se drží tato práce. České překlady těchto výrazů se prakticky nepoužívají. Obrázek 8 ilustruje, jak celá rekonstrukce obrazu z nasnímaných úzkých proužků probíhá. Jednotlivé nasnímané proužky se vždy (pokud nebyl prst protažen příliš rychle) částečně překrývají. Na základě této informace je zrekonstruován obraz, který vypadá obdobně jako by byl sejmut staticky.
Obrázek 8: Postup rekonstrukce otisku prstu při tahovém snímání na tzv. swipe senzoru (Zdroj: SWGFAST 2011)
Obě popsané metody snímání mají své klady i zápory. Statická metoda je výhodná pro svou názornost použití, položit správně prst je poměrně jednoduché, ačkoliv může být nejasné, jaký tlak má uživatel uplatnit. Obecně lze říci, že mírný tlak zajistí větší plochu přítlaku k ploše senzoru, a tak zejména v případě neoptických snímacích technik zajistí i větší nasnímaný obraz. Příliš velký tlak většinou způsobí splynutí papilárních linií nebo značnou deformaci pořízeného otisku. Problém může nastat, pokud je prst po položení pootočen, to způsobí značnou deformaci obrazu. Velkou komplikací při použití statického snímání je také zanášení senzoru nečistotami, a proto je potřeba senzor pravidelně čistit. Bezpečnostním rizikem při statickém snímání je zanechání latentních otisků přímo na ploše senzoru. Latentní otisk je otisk zanechaný náhodně na nějakém povrchu. Vzniká tak, že při styku pokožky s povrchem dochází k otěru mikroskopických nečistot, které pak ulpívají na dotčeném povrchu. Latentní otisk na senzoru je zanechán náhodně ve smyslu jeho zachovalosti po odstranění prstu a také v důsledku náhodných podmínek, které jeho vznik ve větší či menší kvalitě umožňují. Ten pak může být záškodníkem použit pro ověření přímo za pomoci některé z technik zvýrazňující zanechaný otisk, v některých případech, především u technologie kapacitního snímání, stačí pouhé dýchnutí na plochu senzoru. Proti použití latentního otisku se lze softwarově bránit a moderní biometrický software tuto ochranu skutečně implementuje a umožňuje i detekci pokusu o ověření latentním otiskem. (Mainguet 2013)
3 Snímání otisků prstů a osobní počítače
23
Tahové snímání je výhodné zejména protože není nutné senzor pravidelně čistit. Každé snímání v podstatě samočistí senzor. Díky tomu nelze také zanechat latentní otisk přímo na ploše snímače, alespoň ne tak, aby mohl být použit k opětovnému ověření. Nevýhodou této metody snímání je, že není dostatečně přirozená. Uživatel se nejdříve musí naučit, co má dělat, aby bylo možné získat dostatečně dobrý obraz jeho prstu.
3.2
Snímací technologie
Aby bylo možné uživatele počítače v systému ověřit otiskem jeho prstu, musí být nejprve tento otisk pořízen neboli sejmut. To jakým způsobem je tato akce provedena, určuje použitá snímací technologie. Nejstarší snímací technologií otisku prstu je optické snímání, jehož základy byly položeny už začátkem 70. let ve Francii. Další snímací technologie se začaly rozvíjet až od 90. let díky dostatečným pokrokům v miniaturizaci křemíkových čipů.
3.2.1
Optické snímání
Nejstarší technikou optického „live-scan“ snímání je potlačená reflexe při lomu světla na skleněném hranolu. Přitisknutá pokožka na skle pohlcuje část světla procházejícího hranolem ze zdroje osvětlení, obvykle LED diody. V propuštěné části vzniká obraz, který dopadá přes optiku do běžného kamerového snímače. Právě tato technika potlačené totální vnitřní reflexe (angl. FTIR: Frustrated Total Internal Reflection) pochází z Francie počátku 70. let. Obrázek 9 schematicky znázorňuje tento způsob snímání. Alespoň částečná miniaturizace této techniky je možná nahrazením klasického hranolu, hranolem plošným (sheet). (Maltoni 2009)
Obrázek 9: Schéma optického snímání s potlačeným zrcadlením (Zdroj: Maltoni 2009)
3 Snímání otisků prstů a osobní počítače
24
Tahové optické snímání může být řešeno hlavně výrazným zmenšením plochy hranolu a reorganizací optické soustavy. Tak je docíleno i významného zmenšení výsledného zařízení, jak je vidět na prototypu z obrázku 10, které by v těchto rozměrech už mohlo být vhodným kandidátem pro integraci do přenosného osobního počítače.
Obrázek 10: Optický swipe senzor (Zdroj: Mainguet 2013)
Jiným druhem optického snímání je snímání přímé. V zásadě vypadá tak, že z dosavadní snímací soustavy je odebrán hranol a optika snímače i osvětlení směřuje přímo na prst. Toto zjednodušené schéma je znázorněno na obrázku 11. Otisk potom může být snímán zcela bezdotykově, nicméně toto je náročné na správné umístění prstu v prostoru.
Obrázek 11: Schéma přímého optického bezdotykového snímání (Zdroj: Mainguet 2013)
Další varianta optického snímání pracuje s prosvěcováním prstu a snímáním světelného záření, které vychází přímo z papilárních linií. Nejmodernější varianty tohoto snímání užívají polarizované světlo nebo spektrální ozařování pro speciální nasvětlení snímaného prstu. Další modernizace toho snímání spočívá především v inovacích součástek optických snímačů jako takových a přidružené optiky, které umožňují hlavně další miniaturizaci zařízení snímače. (Mainguet 2013) Elektrooptické snímání Toto snímání už je povahou spíše dotykové nebo stykové než optické, nicméně v procesu stále vystupuje snímání intenzity světla. Řešení funguje na bázi polymerové vrstvy, která při určitém elektrickém napětí vyzařuje světlo. Položený prst na snímači funguje jako propojení
3 Snímání otisků prstů a osobní počítače
25
obvodu se zemí a v místech styku prstu a polymeru dochází k emisi světla. Světlo je přivedeno na foto diodu, kde je světelný signál převeden na elektrický a ten je dál zpracováván a digitalizován. Obrázek 12 ukazuje schéma elektrooptického snímání. (Maltoni 2009)
Obrázek 12: Schéma elektrooptického snímání (Zdroj: Maltoni 2009)
3.2.2
Kapacitní snímání
Kapacitní snímání je realizováno křemíkovým senzorem, který obsahuje mřížku, jejíž každá buňka tvoří část součástky kondenzátoru. Protější část kondenzátoru představuje přiložený prst na ploše senzoru. Mezi senzorem a vrcholky papilárních linií vzniká větší náboj než v údolích mezi liniemi. Tento náboj je v podobě elektrického signálu detekován uvnitř křemíkového senzoru. Obrázek 13 znázorňuje schéma kapacitního snímače. Problémem kapacitních senzorů je tloušťka ochranné vrstvy senzoru (angl. protective coating), která musí být dostatečně tenká, aby příliš nezatlumila elektrické pole, a zároveň dostatečně tlustá, aby ochránila holý křemík před působením vnějších vlivů. Tato skutečnost zvyšuje náchylnost k poruchám při elektro-statických výbojích (angl. Electro-Static Discharge – ESD) (Maltoni 2009)
Obrázek 13: Schéma přímého kapacitního snímání (Zdroj: Mainguet 2013)
Rádio-kapacitní snímání Běžně je zaměňováno s přímým kapacitním snímáním a někdy též nazýváno aktivním kapacitním snímáním. Kapacita v tomto procesu snímání však vystupuje jen jako prostředek vazby v obvodu střídavého proudu. Snímač je ohraničen vodivým rámem, který přivádí do snímaného prstu slabý elektrický signál. Tento signál je veden prstem a předán přes kapacitu v živé části prstu zpět do křemíkové mřížky na senzoru, jejíž buňky fungují jako antény pro tento
3 Snímání otisků prstů a osobní počítače
26
signál, viz obrázek 14. Pro pořízení obrazu je ovšem bezpodmínečně nutné, aby se prst dotýkal vodivého rámu, kudy do něj vstupuje signál. (Mainguet 2013)
Obrázek 14: Schéma rádio-kapacitního snímání (Zdroj: Mainguet 2013)
3.2.3
Termální snímání
Stejně jako u kapacitního snímání je termální snímání vyvedeno v buňce mřížky křemíkového čipu. Zde se nachází teplo citlivý materiál, který generuje elektrický proud, pokud je na povrch přivedena rozdílná teplota. Snímací čip je většinou mírně elektronicky předehříván pro dosažení optimálních výsledků. Na rozdíl od kapacitního snímání ovšem obraz po přiložení prstu na snímač rychle mizí, protože dochází k vyrovnání teplot, a snímač již dále negeneruje žádný signál. Z tohoto důvodu může být žádoucí použití termálního snímání v konfiguraci swipe senzoru. Díky tomu byla také tato metoda snímání vynalezena. Výhodou oproti kapacitnímu snímání je možnost použít výrazně tlustší ochrannou vrstvu čipu, protože ta snadno může vést teplo. Zároveň není snímač citlivý na elektrostatické výboje. Obrázek 15 ilustruje, jak dochází k přenosu tepla mezi povrchem snímače a papilárními liniemi prstu. (Maltoni 2009)
Obrázek 15: Ilustrace přenosu tepla při termálním snímání (Zdroj: Mainguet 2013)
3.2.4
Tlakové snímání
Piezoelektrický jev umožňuje přímé tlakové snímání. Piezoelektrický materiál při deformaci generuje elektrický proud, tak je možné snímat vrcholy papilárních linií při přítlaku prstu na plochu snímače, kde se v mřížce nacházejí tyto tlakové detektory. Ačkoliv je jejich citlivost velice malá, podařilo se vyvinout několik snímačů na této bázi. Alternativou pro tlakové snímání může být také použití mikroskopických spínačů, toto provedení ovšem prozatím zůstává v laboratorních experimentech. (Maltoni 2009)
3 Snímání otisků prstů a osobní počítače
3.2.5
27
Ultrazvukové snímání
Ultrazvuk je dalším možným prostředkem snímání otisku. Je velmi výhodný, protože snímá papilární linie přímo na úrovni zárodečné vrstvy kůže, a může tak poskytnout dobrý obraz i přes velmi špatný stav vrchních vrstev kůže. Bohužel ultrazvukové snímače jsou velká a drahá zařízení a snímání otisku trvá několik vteřin. Nejmodernější technologie využívají ultrazvuku v mikro-elektro-mechanickém systému čipu. (angl. Micro Electro-Mechanical System – MEMS) Tato technologie, byť je značně odlišná od původního provedení ultrazvukových snímačů, je plně konkurenceschopná a dosahuje vskutku miniaturních rozměrů. (Mainguet 2013)
3.2.6
Srovnání snímacích technologií
Každá snímací technologie poskytuje mírně odlišnou reprezentaci kožních struktur. Obrázek 16 ukazuje, jak vypadají konkrétní otisky sejmuté za použití jednotlivých technologií. Tyto rozdíly hrají roli při porovnávání otisků s vzorovou předlohou, některé způsoby snímání nemusí poskytovat dostatečné detailní informace pro porovnávání s latentními otisky. Na tyto problémy ovšem musí být brán zřetel hlavně v kriminalistice. Pro použití v osobních počítačích nejsou nijak významné. Je to způsobeno tím, že daný systém obvykle pracuje pouze s jednou z technologií a nepředpokládá se přenositelnost digitálních předloh na jiný systém nebo jejich použití pro ověření z latentních otisků.
a)
b)
c)
d)
e)
f)
Obrázek 16: Otisk sejmutý: a) opticky (FTIR), b) kapacitně, c) piezoelektricky (tlakově), d) termálně, e) klasickou inkoustovou metodou, f) latentní otisk. (Zdroj: SWGFAST 2011)
Nejdéle vyvíjená optická technologie snímání (FTIR) poskytuje nejlepší kvalitativní výsledky a je široce používána bezpečnostními složkami mnoha států. Její použití na poli osobních počítačů je možné, ale v tradiční technologické podobě za použití optického hranolu (FTIR) poněkud nevýhodné, a to kvůli značným rozměrům výsledného zařízení. Takové zařízení potom bývá zpravidla pouze ve formě externího zařízení ke stolnímu počítači. Rozměrově se pro integraci vůbec nehodí. Modernější varianty optického snímání neposkytují sice obraz takové kvality jako při použití plnohodnotného optického hranolu, ale zato mají výrazně menší rozměry, a proto jsou daleko vhodnější pro každodenní použití uživateli osobních počítačů. Zvláště optické swipe senzory
3 Snímání otisků prstů a osobní počítače
28
dosahují rozměrů dostatečně malých i pro integraci do přenosných počítačů. Obrázek 17 ukazuje aktuální komerční produkty firmy Digital Persona. Jedná se o optický snímač a na něm založenou stolní čtečku otisku prstu k osobnímu počítači. Detaily technologie skryté uvnitř výrobce neprozrazuje, takže ji nemůžeme s jistotou blíže posoudit. Nicméně rozměrově je patrné, že se jedná o zařízení poměrně velké a tudíž nevhodné pro integraci do těla mobilních zařízení.
Obrázek 17: Plošný optický snímač bok po boku s koncovým zařízením čtečky otisku prstu založené na tomto snímači – aktuální produkty fy Digital Persona (U.are.U 4500 Fingerprint Module & Reader) (Zdroj: digitalPersona 2013)
Kapacitní a rádio-kapacitní snímání jsou nejrozšířenější snímací technologie používané ve spojení s osobními počítači. Laik na první pohled nepozná, o kterou z těchto dvou příbuzných technologií se jedná. Obě jsou založené na matici snímacích buněk provedenou v křemíkovém senzoru, na kterém je nanesena ochranná vrstva. Velkou výhodou obou těchto technologií jsou miniaturní rozměry a to především hloubka senzoru. Ve swipe provedení se rozměry dále výrazně zmenšují, a proto jsou tyto čipy ideální pro integraci do mobilních zařízení, dokonce i do mobilních telefonů. Obrázek 18 ukazuje současné produkty na rádio-kapacitní bázi firmy Digital Persona. Je patrné, že snímače jsou skutečně dostatečně miniaturní a tudíž vhodné pro integraci do přenosných zařízení.
Obrázek 18: Plošné a swipe rádio-kapacitní snímače – aktuální produkty fy Digital Persona (Zleva TCS1 Large Touch Sensor, TCS2 Medium Touch Sensor, TCS4K Swipe Sensor a s ním spojený TCS4K Chipset) (Zdroj: digitalPersona 2013)
3 Snímání otisků prstů a osobní počítače
29
Termální snímání má vlastnosti velmi podobné kapacitním variantám, nicméně pouze v provedení swipe senzoru. Má i několik výhod, jako je například resistence na elektrostatické výboje. Nevýhodou může být nutnost senzor předehřívat, což může znamenat vyšší spotřebu, která je zvláště v mobilních zařízeních velmi sledovanou veličinou. Na obrázku 19 jsou termální swipe senzory firmy Atmel. Již se nevyrábí, k zastavení výroby došlo v roce 2008. Z obrázku je zřejmé, že velikostně byly adekvátní konkurencí senzorům kapacitním.
Obrázek 19: Termální swipe senzory, vpravo i v barevných variantách – historické produkty fy Atmel, vývoj ukončen roku 2008. (Zdroj: Mainguet 2013)
Tlakové snímání neposkytuje příliš kvalitní obraz. Tento typ snímání by ještě mohl v budoucnu zažít svou renesanci, pokud by miniaturizace umožnila snímání přímo na ploše dotykového displeje. Takové provedení snímacího zařízení by mělo, zvláště při dnešním obrovském rozvoji dotykových přístrojů, velkou konkurenční výhodu, jelikož snímač by v přístrojích nezabíral v podstatě žádný další prostor a také by nebylo třeba řešit design spojený s umístěním klasického snímacího senzoru. Navíc by vedení uživatele při ověřování bylo velice názorné, jelikož by uživatel pokládal svůj prst nebo dokonce více prstů přímo na obrazovku, kde by byly všechny naváděcí informace interaktivně zobrazovány. Toto revoluční řešení předvedla v roce 2008 firma AU Optronics. Dotykový displej o rozlišení 320x240 bodů uměl rozeznat tlak v rozlišení 640x480 bodů. Pro snímání otisku prstu se jedná o mezní rozlišovací hodnoty a kvalita zřejmě nedosahovala dostatečné úrovně. Od té doby nedala tato technologie o sobě zatím slyšet. Na obrázku 20 je vidět konvenční čtečka otisku prstu na piezoelektrické bázi. Tato technologie dosahovala rozměrů srovnatelných s konkurenty. Kdy firma Fidelica přesně ukončila svoji činnost, není známo.
Obrázek 20: Tlaková čtečka otisku prstu – historický produkt fy Fidelica, vývoj pravděpodobně ukončen po roce 2006 (Zdroj: Mainguet 2013)
Klasické ultrazvukové snímače se hodí pouze pro speciální účely. Pro použití v osobních počítačích je vhodná nová mikro elektro mechanická technologie (MEMS), která svými miniaturními rozměry může otevřeně soupeřit i s nejmenší kapacitními senzory. Přitom má navíc některé výhody podobně jako termální snímání, je např. odolná vůči elektrostatickým výbo-
3 Snímání otisků prstů a osobní počítače
30
jům. Na obrázku 21 je schématické zobrazení MEMS snímače pracujícího s ultrazvukem. Jedná se opravdu o miniaturní součástku.
Obrázek 21: Modul snímače založeného na ultrazvuku, produkt z roku 2009 fy Sonavation (Zdroj: Mainguet 2013)
Termální a tlakové snímače se prakticky vůbec nerozšířily. Ultrazvukové MEMS snímače jsou zatím mladou technologií, která ještě nebyla dostatečně prověřena, a proto se zatím o jejím dalším případném rozvoji můžeme pouze dohadovat. Nejsou známy produkty, ve kterých je tato technologie nasazena, internetové stránky výrobce Sonavation mlčí. Své stabilní místo na trhu periferních zařízení osobních počítačů mají výhradně optická a obě varianty kapacitní technologie. Tyto technologie jsou níže podrobněji srovnány. Optická technologie oproti kapacitním vyniká především vyšší obrazovou kvalitou. Není přímo ovlivněna vlhkostí a vodivostí prstu, což velmi ovlivňuje kvalitu snímání kapacitních senzorů, takže je větší pravděpodobnost, že bude otisk sejmut bez problému. Nevýhodou této technologie je obvykle vetší velikost a nutnost snímaný prst nasvěcovat, což může na uživatele působit rušivě. Kapacitní technologie jsou výrazně menší, ale nemusí vždy poskytovat tak dobrou obrazovou kvalitu jako optické technologie. Jejich nevýhodou je náchylnost k poruchám při zásahu elektrostatickým výbojem, což u optických snímačů nehrozí. Obě technologie najdeme na trhu osobních počítačů, ale výrazněji se prosazují kapacitní varianty snímání, především kvůli integraci senzorů do přenosných osobních počítačů. Z tohoto pohledu optické technologie nekonkurují kapacitním dostatečně a mohou se prosazovat jen u stolních počítačů.
3 Snímání otisků prstů a osobní počítače
3.3
31
Vývoj snímačů
Širšího komerčního rozvoje na poli výpočetní techniky se snímání otisků prstů dočkalo až v polovině 90. let. Bylo to způsobeno hlavně tím, že dříve dosažitelná technologie optického snímání nebyla dostatečně miniaturní a tak ne příliš atraktivní pro použití s osobními počítači. Odpovědí na otázku miniaturizace byly křemíkové snímače. Přestože tato technologie byla navržena už v 80. letech, trvalo ještě celé desetiletí, než došla své realizace. (Maltoni 2009) První zmínky o vývoji křemíkových prototypů pocházejí z roku 1994, tehdy společnost Opsis vyvíjela první tlakový snímač. O rok později se objevují první záměry firmy Atmel, která se začíná věnovat termálnímu snímání. Oba tyto druhy snímání se na trhu neudrží a vymizí. Tlakovému snímání se naposledy věnuje firma Fidelica, která opouští trh někdy po roce 2006. Firma Atmel, která se prakticky jako jediná dlouhodobě věnovala termálnímu snímání, opouští trh s biometrickými snímači v roce 2008. Jedni z posledních zástupců snímačů s těmito technologiemi jsou na obrázcích 19 a 20 v předchozí podkapitole. V současných produktech se tyto technologie nevyskytují. (Mainguet 2013) Ultrazvukovým snímáním se zabývalo více výrobců a dostatečně miniaturní senzory se začínají objevovat až v posledních letech. Vývoj ve společnosti Ultra-Scan probíhá přibližně od roku 1993. (Ultra-Scan 2013) Další společnosti, které se zabývají tímto snímáním, jsou Optel a Sonavation. Poslední dokončený snímač pochází z dílen Sonavation a je vidět na obrázku 21. V současných produktech se nevyskytuje ani tato technologie a informace o ní jsou špatně dostupné. Nový produkt ohlásil Ultra-Scan v roce 2011, jeho internetové stránky však mlčí. (Mainguet 2013; Ultra-Scan 2013) Technologie optického snímání se postupně rozvíjí od 70. let do dnešních dnů. Zabývalo se jí mnoho výrobců a nabyla mnoha podob. Mezi výrobci optických snímačů vystupují známá jména, jako jsou Lite-On, Mitsumi, Alps, Casio, LG-Philips, Mitsubishi, Sharp, Digital Persona, NEC a mnozí další. V zásadě každá větší křemíková společnost někdy v historii zkusila realizovat svůj vlastní optický snímač otisku prstu. (Mainguet 2013) Kapacitní technologie začínají být vyvíjeny kolem roku 1996. Trh s těmito technologiemi je velice turbulentní a firmy či divize vyvíjející tyto senzory neustále mění majitele, štěpí se, fúzují, podstupují akvizice a tak neustále dokola. Od počátku vývoje této technologie se mezi výrobci objevují tato významná jména: STMicroelectronics, Fujitsu, Hitachi, Infineon, Sony, Mitsubishi, Authentec, Fingerprint Cards, Validity. Do dnešních dní ale přežilo na trhu výrobců kapacitních snímačů pouze několik, kteří prodělali opravdu zajímavý vývoj. Vývoj nejvýznamnějších hráčů v tomto segmentu je zobrazen na obrázku 22. (Mainguet 2013)
3 Snímání otisků prstů a osobní počítače
32
ERA BEGINS
Egistec
Validity Fingerprint Cards (FPC)
And others... Quits market Lucent
Spin-off Veridicom Acquisition: STMicroelectronics buys Veridicom
Quits market STMicroelectronics Acquisition: Digital Persona buys part of Authentec’s sensor device bussiness and enters silicon sensor market
Spin-off Quits market
Upek
Harris
Digital Persona
Merger: Authentec buys Upek for $32.4M
Spin-off Authentec
Apple Merger: Authentec buys Atrua for $4.9M
?
1994
1995
1996
1997
I-Control
1998
1999
2000
2001
Acquisition: Apple buys Authentec for $356M
Atrua
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013 2013
Obrázek 22: Vývoj nejvýznamnějších výrobců snímačů založených na kapacitních technologiích (Zdroj: autor)
3 Snímání otisků prstů a osobní počítače
33
Obrázek 22 popisuje bouřlivý historický vývoj, kdy se nejdříve z velkých křemíkových společností odštěpily malé specializované firmy, které potom podstupovaly fúze a akvizice, popřípadě další štěpení. Na trhu nakonec vítězí firma Authentec a postupně pohlcuje všechny své vážné konkurenty. Tím se stala největším dodavatelem snímačů a celých bezpečnostních řešení pro přenosné osobní počítače. Dodávala do produktů např. společností HP, Toshiba, Lenovo, Dell, Sony a dalších. V roce 2012 je však Authentec pohlcen společností Apple a ta část technologie odprodává společnosti Digital Persona. Mimo společnosti, které byly zapojeny do centrálního tržního přerodu, existují i další společnosti, které sice nejsou tak velkými hráči na trhu s kapacitními technologiemi, také ale pamatují ve své historii nejednu akvizici. Nejvýznamnějšími zástupci jsou Fingerprint Cards, Validity a Egistec. Jejich historii jsem podrobněji nezkoumal, proto je na obrázku 22 zachycen jen jejich život pod současným jménem. Na současném trhu osobních počítačů se nachází převážně snímače zmíněných firem Validity, Egistec a firmy Digital Persona. Digital Persona také vyrábí optické snímače. Fingerprint Cards se na poli osobních počítačů neprosazuje. Pro zajímavost může být ještě zmíněna firma Idex. Na této společnosti založené v roce 1996 je zajímavé hlavně to, že se původně zabývala optickou snímací technologií, ale brzy vyvinula vlastní rádio-kapacitní technologii. Poslední technologickou novinkou této společnosti je rádio-kapacitní swipe senzor provedený na flexibilním filmu. Společnost uvádí, že se jedná o nejtenčí a nejflexibilnější senzor na trhu. Zároveň vyniká nízkou spotřebou. Samotné snímací pole senzoru je 50µm tlusté, dohromady s potřebnou elektronikou potom 0,35 mm! Na obrázku 23 je vidět provedení tohoto senzoru. Je možno říct, že se jedná o technologii nové generace, která přináší úplně nové možnosti použití, např. by mohl být senzor zabudovaný v kreditních nebo identifikačních kartách. Přestože má tato společnost zřejmý potenciál, je zmíněna pouze na tomto místě, jelikož běžný uživatel osobních počítačů nemá v praxi zatím možnost se s touto technologií setkat. Snímač byl uveden na trh v roce 2010 a od té doby byl dodáván pouze do speciálních aplikací.
Obrázek 23: SmartFinger Film senzor fy Idex (Zdroj: Idex 2013)
Tato práce se dále podrobněji věnuje výhradně technologiím vybraných tří společností (Validity, Egistec a Digital Persona), kde je to nutné, poukazuje na další zástupce na trhu. Toto omezení vyplývá ze skutečnosti, že tito výrobci se více či méně zaměřují na řešení pro koncové uživatele osobních počítačů a pokrývají tak valnou většinu tohoto trhu. V případě optic-
3 Snímání otisků prstů a osobní počítače
34
kých senzorů existuje takřka nepřeberné množství periferních zařízení a softwarových řešení různých firem, jsou však spíše zaměřeny na specifické úkoly, jako jsou například docházkové systémy, dveřní systémy, síťová zabezpečení, bankovní zabezpečení a další. Výrobci křemíkových snímačů samozřejmě poskytují své senzory pro univerzální použití v elektronických systémech, tato práce se však zabývá pouze jejich použitím s osobními počítači.
3.4
Snímače otisku prstu v osobních počítačích
V podstatě od prvopočátku byly čtečky otisku prstů spojeny s počítači a to i počítači, které by bylo jistě možno prohlásit za spadající do více či méně široké kategorie osobních počítačů. Jejich účelem však nebylo poskytovat funkce běžným uživatelům osobních počítačů. To se začalo měnit v 90. letech, kdy především výrobci přenosných počítačů začaly mít zájem integrovat do svých produktů nová bezpečnostní řešení. Své příležitosti se chápou tehdejší vývojáři prvních křemíkových senzorů a první prototyp notebooku s integrovaným senzorem přichází z dílen HP v roce 1998. Model HP OB3000 integruje termální snímač společnosti Atmel a jeho software poskytuje uživateli zabezpečené přihlašování do systému ověřením otisku jeho prstu. O rok později HP následují další výrobci: Acer integruje kapacitní senzor, Compaq potom dokonce optický senzor, zatím pouze ve stádiu prototypu. NEC uvádí i tzv. handheld, předchůdce dnešních tabletů, s integrovaným kapacitním senzorem. Další vývoj probíhá ve znamení rozšiřování portfolia nabízených počítačů s integrovanými senzory a nejen počítačů. Zařízení integrujících snímače kvapen přibývá, jedná se např. o přenosné diskové jednotky, mobilní telefony, periferie stolních počítačů a tak dále. V současnosti téměř každý výrobce přenosných počítačů má ve své nabídce většinou i více modelů integrujících snímač otisku prstu. Nejvýznamnějšími zástupci jsou Acer, Asus, Dell, Fujitsu, HP, Lenovo, Sony a Toshiba. (Dle nabídky Alza.cz k 7. 3. 2013) Tabulka 2: Přiřazení výrobců snímačů otisku prstu k výrobcům přenosných počítačů, stav k aktuální nabídce produktů na Alza.cz ke dni 7.3. 2013 Výrobce
Výrobce snímače
Acer
Egistec
Asus
Upek (Digital Persona)
Dell
Validity
Fujitsu
Authentec (Digital Persona)
HP
Validity
Lenovo
Authentec (Digital Persona)
Sony
Authentec (Digital Persona)
Toshiba
Authentec (Digital Persona)
3 Snímání otisků prstů a osobní počítače
35
Tabulka 2 ukazuje, kteří výrobci snímačů otisků prstů jsou dodavateli jednotlivých nejvýznamnějších výrobců přenosných počítačů. Vytvoření tohoto přehledu bylo nelehkým úkolem, jelikož tento údaj není možné nikde v parametrech počítače zjistit. V některých případech se dá výrobce odhadovat pomocí použitého softwaru. Nejjistější metodou je přímé vyhledání ovladače zařízení a zjištění jeho výrobce, který bývá shodný s výrobcem samotného snímače. Z tabulky je patrné, že firma Digital Persona zdědila po svých předchůdcích nejvíce výrobců. Na druhé příčce se nachází firma Validity a v závěru méně známá firma Egistec. Obrázek 24 zobrazuje rozdělení trhu osobních počítačů ve 3. čtvrtletí roku 2012.
Obrázek 24: Rozdělení trhu osobních počítačů ve třetím čtvrtletí roku 2012 (Zdroj: The Market Eyewitness 2012)
Bohužel rozdělení není dost detailní a nezahrnuje firmy Fujitsu, Sony a Toshibu. Ale můžeme z něj odvodit, že firma Validity bude silným hráčem na trhu, jelikož dodává snímače otisku prstu druhému a třetímu největšímu producentovi notebooků. Taková pozice ovšem nemusí být nijak stabilní a výrobci notebooků se mohou jednoduše pro příští období rozhodnout uzavřít smlouvu s jiným výrobcem snímačů. Společnosti musí výrazně bojovat a neustále přizpůsobovat řešení přáním svých odběratelů. Z praxe mohu říct, že taková podřízenost požadavkům vlastních zákazníků poněkud brzdí vývoj společnosti kupředu a může po určitém čase vést ke ztrátě zákazníků, kteří přeběhnou k jiné společnosti, která právě sklízí výsledky svých investic v podobě inovací a stlačení ceny řešení dolů. Tato „čerstvá“ společnost získává díky novému zákazníkovi i nové prostředky a v krátkém období roste, ale v dlouhém období se opět dostává do pozice vazala a její rozvoj je dále brzděn, až nakonec zákazník opět mění dodavatele. Přibližně tak vypadá tržní koloběh v tomto odvětví.
3 Snímání otisků prstů a osobní počítače
3.5
36
Čtečky otisku prstu
Čtečka otisku prstu je externí periferní zařízení počítače, které obsahuje snímač otisku prstu a obvykle neplní žádné další funkce. Někdy se ale může jednat o tzv. kompozitní zařízení, kdy zařízení mimo snímání otisku prstu plní i jinou funkci, např. počítačová myš s integrovaným senzorem otisku prstu. Taková zařízení se pak prodávají jako samostatné produkty. Hodí se zejména pro použití ve stolních počítačích, ve kterých bývají senzory přímo integrovány jen vzácně, což ani není příliš praktické. Ačkoliv se jedná o docela uživatelsky přívětivý a praktický bezpečnostní doplněk stolního počítače, není poptávka po těchto zařízeních vysoká. Většina uživatelů senzorů otisku prstu je kupuje integrované v přenosném počítači. O tomto faktu také svědčí, že v současné nabídce prodejce Alza.cz není jediná externí čtečka otisku prstu. Dokonce ani na srovnávacím vyhledávači Zbozi.cz není situace jiná, pouze v bazarovém zboží je k vidění jediné toto zařízení. (Stav ke dni 8. 3. 2013.) Historie externích čteček otisku prstu sahá do dob počátků technologie optického snímání, kde bylo určení ovšem vyhraněné pro speciální účely – vytváření záznamů do kriminálních databází. Komerční produkty určené pro osobní použití se objevují souběžně s prvními integrovanými senzory v přenosných počítačích. Není divu, tyto produkty sdílejí stejný software. Pokud má výrobce větší portfolio snímačů, obvykle na trh přicházejí čtečky pouze s několika variantami snímačů, pokud je vůbec výrobce produkuje. Výjimečně dělá externí zařízení třetí strana. V prototypech se ovšem nachází v této formě čtečky s prakticky všemi možnými variantami snímačů. Probíhá na nich vývoj a testování. V současnosti společnost Fingerprint Cards prodává v externím provedení pouze dva prototypy (plošný a swipe) pro vývoj a evaluaci technologie. Společnost Validity neprodává externí zařízení vůbec. Výrobce Egistec prodává USB flash disk se senzorem, ale samostatné externí zařízení nikoliv. Digital Persona nabízí dvě optické čtečky a šest čteček na kapacitní bázi. Obrázek 25 ukazuje tři čtečky ze současné produkce, které jsou založeny na rádio-kapacitní technologii a jsou převzaty z původní produkce firmy Authentec.
Obrázek 25: Aktuální produkty externích čteček firmy Digital Persona (digitalPersona 2013)
Všechny současné komerční produkty čteček otisku prstu používají rozhraní USB. V minulosti bylo možné vidět i některá jiná rozhraní jako např. paralelní port.
3 Snímání otisků prstů a osobní počítače
3.6
37
Snímače otisku prstu v mobilních telefonech
Ačkoliv je toto dílčí téma mimo rozsah této práce, dovolím si krátce zmínit situaci snímačů otisku prstu v mobilních telefonech. První prototyp telefonu se snímačem otisku prstu vyvinula firma Siemens v roce 1998. Telefon měl plošný snímač na zadní straně těla. Další prototypy se začaly objevovat o dva roky později. V průběhu let však nedocházelo k razantnějšímu rozšíření této technologie mezi uživateli. Na japonském a čínském trhu se sice objevuje více modelů s integrovanými snímači, ale ani tam nevzniká jednoznačný trend vývoje tímto směrem. Problematické je použití snímače v telefonu, hlavně z důvodu další energetické zátěže pro baterii. Další překážkou potom často bývá rozumné a praktické umístění snímače do celkového designu mobilního telefonu, jelikož ten nebývá většinou navržen speciálně pro snímač, spíše je snímač zabudován do nějakého rozpracovaného modelu. Na obrázku 26 je patrně nejslavnější telefon integrující snímač otisku prstu – smartphone Motorola Atrix (2011) s operačním systémem Android. V dalších verzích Atrixu ovšem Motorola snímač vypustila, a tak prozatím zůstává otázkou, jaká bude budoucnost této bezpečnostní technologie v mobilních telefonech. Očekává se, že s rozvojem technologie NFC a mobilních plateb dojde k další vlně rozšiřování ověřování otiskem prstu, jaká ale bude realita, se zatím dá ještě těžko odhadnout. (Mainguet 2013)
Obrázek 26: Smartphone Motorola Atrix – detail snímače otisku prstu (Zdroj: Cnet 2011)
3.7
Parametry snímačů otisku prstu
Charakteristické parametry snímačů otisku prstu jsou: Typ snímače Fyzická velikost Fyzické rozlišení snímače Energetická spotřeba Maximální rychlost swipovaní (pouze u swipe senzorů) o Doba probuzení
3 Snímání otisků prstů a osobní počítače
38
Typem snímače je v tomto případě myšleno, jestli se jedná o plošný nebo o swipe senzor. Každý má své výhody a nevýhody z hlediska uživatele a kvality pořízeného obrazu. Výhody a nevýhody těchto dvou typů snímačů, respektive snímacích metod byly probrány v kapitole 3.1. Fyzická velikost snímače je zásadní hlavně v případě plošných snímačů. Pokud jde o kvalitu pořízeného obrazu a zvýšenou rozpoznávací přesnost, je vhodné pořídit otisk z co největší plochy prstu. V aplikacích přenosných zařízení je však tlak spíše na redukci velikosti než na zvýšenou kvalitu snímání, takže v tomto směru je především určující, jak lze senzor zabudovat do zamýšleného zařízení. Fyzické rozlišení snímače se určuje v bodech na palec a udává, v jakém detailu budou papilární linie zachyceny. Obecně platí čím více tím lépe. Prakticky se hodnoty pohybují od 300 do 500 DPI. Hodnota ovlivňuje výkon při porovnávání otisků. Hodnota 500 DPI je většinou typickou hodnotou a znamená, že rozteč bodů na senzoru je 50µm. Bodové rozlišení snímače potom vyjde jako násobek fyzického rozlišení a rozměrů aktivní plochy senzoru. Toto rozlišení není však příliš významné. Podstatné je zachytit co největší plochu prstu s co největším fyzickým rozlišením, čili i pro bodové rozlišení platí čím více tím lépe. Energetická spotřeba se udává zvlášť pro tři stavy. Pro stav hibernace, kdy senzor nevykonává žádnou činnost, jen čeká na softwarový povel k probuzení, a pro pohotovostní stav, kdy senzor čeká na zahájení akce, přiložení prstu na senzor, se udávají hodnoty v mikroampérech a pohybují se od stovek po přibližně dva tisíce mikroampér, čili dvou miliampér. Pro stav aktivního snímání se udává spotřeba v miliampérech a drží se pod stovkou miliampér, pro velký plošný senzor např. 80 mA. (Digital Persona – TCS1) Pro zástupce swipe senzoru může tato hodnota být např. 17 mA. (Digital Persona – TCS4K) Odtud je jasně vidět energetická úspornost swipe senzoru, i když na něm celková doba snímání zase může trvat déle, jelikož se musí počkat, než po senzoru přejede dostatečně velká část prstu. Přesto obvykle vycházejí swipe senzory z tohoto hlediska výhodněji. Mezi další parametry patří např. typ ochranné vrstvy senzoru, odolnost vůči statickým výbojům a další elektrické parametry, například provozní rozsahy napětí a teploty atd. U swipe senzoru mají speciální postavení zvláště dva parametry. Jsou to obrazové rozlišení snímače a energetická spotřeba. Obrazové rozlišení je totiž z fyzického hlediska směrodatné jen co do šířky získaného obrazu. Délka popř. výška získaného obrazu je určena nastavením algoritmu, který skládá pořízený obraz dohromady. Po této stránce jsou swipe senzory výhodnější, jelikož obvykle poskytují obraz největší plochy prstu (na délku), pokud uživatel prst adekvátně táhne přes senzor. Pokud jde o spotřebu energie, swipe senzor vyniká před plošným senzorem, díky tomu, že má malou aktivní plochu snímače. Kolikrát je swipe senzor menší než plošný senzor, tolikrát je přibližně snížena jeho spotřeba. Tento fakt je také velmi výhodný pro mobilní zařízení. Konkrétní příklad je uveden v předcházejících odstavcích. Speciálním parametrem swipe senzorů je maximální rychlost, kterou může prst přejíždět přes plochu snímače, aby byl získán korektní obraz. Tento parametr se udává v jednotkách cm / s.
3 Snímání otisků prstů a osobní počítače
39
Velmi dobrým číslem je například 20 cm / s. (Digital Persona – TCS4K) S tímto parametrem úzce souvisí i další parametr specifický pro swipe senzory, a to doba probuzení. Ve chvíli, kdy je prst přiložen ke snímači, je snímač obvykle v úsporném režimu a neprobíhá aktivní snímání. Přiložení prstu je detekováno a je zahájeno aktivní snímání obrazu. Právě doba mezi přiložením prstu a zahájením aktivního skenování je hluchým místem, kdy nejsou získána z části prstu, která už po senzoru projela, žádná data. Proto je žádoucí, aby tato doba byla co nejkratší. Příkladem může být hodnota 20 ms. (Digital Persona – TCS4K) Většina těchto parametrů je pro softwarové vývojáře nezajímavá. Stejně tak uživatel je od nich obvykle dostatečně odstíněn. V zásadě tak může být řeč pouze o výběru mezi zařízeními s plošným nebo swipe senzorem. V tomto směru bývá obvyklé, že pokud se jedná o snímač integrovaný v přenosném počítači, jde převážně o swipe senzor. V periferních zařízeních je potom možné častěji narazit i na plošné senzory. Vývojář si musí ujasnit, jak chce svůj software koncipovat, a podle toho se rozhodnout, jestli vybrat jediný podporovaný typ snímače nebo podporovat oba typy. Koncový uživatel se v rámci omezení, která mu připravili vývojáři, může rozhodnout pro typ, který je mu bližší.
3.8
Senzory, čipové sady, moduly a rozhraní
Doposud byla řeč pouze o holých senzorech jako elektronických součástkách. Sice byla zmíněna zařízení, ve kterých je tato součástka použita, ale zatím nebylo vysvětleno, jakým způsobem probíhá přenášení nasnímaného obrazu, jakým způsobem může být zpracováván a jaké další funkce mohou být poskytovány v této souvislosti. Těmto otázkám se věnuje tato podkapitola. Přímo v rámci součástky snímače musí být implementováno nějaké komunikační rozhraní, které umožní přenesení a zpracování nasnímaných dat mimo senzor. Kromě této jediné funkce mohou být přímo v křemíkové destičce snímače implementovány i různé další funkce, až po kompletní rozpoznávací systém, včetně pamětí. Ačkoliv i to je teoreticky možné, v praxi se tato technologie známá pod názvem Systém na čipu (angl. SystemOnChip) příliš neprosadila a daleko častěji jsou tyto funkce řešeny v doplňkové čipové sadě, tzv. kompanion čipu (angl. Companion Chip). (Mainguet 2013) Důvod, proč se na první pohled zřejmé řešení SystemOnChip na jediné křemíkové součástce neprosadilo, je ve vysoké ceně takovéto kombinace. Problém je v tom, že použitá výrobní technologie snímačů je účelově zastaralá (např. 130 nm), jelikož staré technologie mají přiměřeně velké jednotlivé prvky na čipu, a tak je lépe kopírovaná potřeba dosažení určitého fyzického rozlišení čipu při zachování nízké ceny. Pokud je ovšem zároveň žádoucí do stejné destičky přidat i další ryze procesorovou funkcionalitu, jsou požadavky na provedení pro změnu opačné. Pokud se zachová použitá (zastaralá) technologie výroby, potom nemůže být implementovaná funkcionalita příliš složitá, protože by brzy v závislosti na ní začaly nepříjemně růst i fyzické rozměry čipu snímače. Dalším problémem je, že při použití starších vý-
3 Snímání otisků prstů a osobní počítače
40
robních technologií není dosažitelný ani vysoký výpočetní výkon, který by byl vhodný pro rychlé zpracování a porovnání nasnímaných otisků. V případě, že se použije přístup s novějšími výrobními technologiemi, potom sice bude zachována velikost čipu a výpočetní výkon bude dostatečný, ale pro změnu nepříjemně poroste cena čipu, kvůli moderní výrobní technologii. Odpovědí na tyto problémy bylo oddělení většiny rozšiřujících funkcí mimo plochu samotného čipu snímače do tzv. kompanion čipu. (Mainguet 2013) Kompanion čip je v zásadě specializovaný procesor, který může doprovázet určité typy snímačů, proto se těmto čipům také někdy říká čipová sada. Kompanion čip může řešit tyto typy funkcionalit: Rekonstrukce obrazu ze swipe senzoru Extrakce biometrické předlohy z nasnímaných dat Srovnávací funkci biometrických předloh (angl. Matcher) Šifrování komunikace Generátor hesel na jedno použití (angl. One-Time-Password – OTP) Úložiště biometrických předloh o Uživatelova identita je spjata s konkrétním zařízením Protipodvrhová technologie (angl. Anti-Spoofing) Implementace komunikačních rozhraní (USB, SPI, UART) Obrázek 27 ukazuje, jak jsou čipové sady spolu se senzory montovány na jednu desku plošných spojů – modul. Výrobci koncových zařízení nejčastěji implementují právě tyto moduly. Sensor
Products Module
Chipset
Obrázek 27: Senzor, chipset, modul, produkt (Zdroj: autor)
Použití kompanion čipu má mimo vlastních funkcí i několik dalších výhod. Obvykle implementuje i více přijatelných rozhraní pro komunikaci s okolím. Snímače samy nemusejí vždy
3 Snímání otisků prstů a osobní počítače
41
poskytovat přívětivé rozhraní (např. paralelní port). Dnešní snímače ovšem obvykle přímo podporují rozhraní USB. Kompanion čip potom může přidávat podporu UART a SPI, popř. dalších, které najdou uplatnění zejména pro připojení do vnitřního systému zařízení, do kterého je snímač integrován. Externí čtečky používají prakticky výhradně rozhraní USB. Další výhodou je, že pokud probíhá kompletní proces biometrického ověřování na kompanion čipu, šetří to procesorový čas hostitelského počítače, který se tak může věnovat jiné práci. Vzhledem k tomu, že je kompanion čip specializovaný pro své funkce, je toto i energeticky efektivnější, nicméně musí být samozřejmě neustále napájen. Důležitým přínosem kompanion čipů je hlavně zrychlení všech operací se senzorem. Toto se projeví například u swipe senzorů tím, že je možné bezpečně swipovat rychleji. U plošných senzorů je rychleji vyhodnocen úspěch či neúspěch pořízení obrazu. Tzn. vyhodnocení na klientském systému je vždy pomalejší než vyhodnocení v chipsetu. To je dáno potřebou komunikovat danou operaci s hostitelským počítačem, kde je vše potřebné vyhodnoceno softwarem. Při vytížení klientského systému tak může vznikat velká prodleva znesnadňující operace se senzorem. V případě, že není kompanion čipu použito a hostitelský systém komunikuje přímo s rozhraním senzoru, hovoříme o tzv. řešení Sensor Only. Toto řešení vyniká nízkou cenou i klidovou spotřebou, ale má svá úskalí. Hlavním problémem je potřeba přenosu velkého objemu dat, aby mohl být obraz rekonstruován a vyhodnocován na hostitelském systému. V případě sběrnice USB 2.0 může být provoz někdy až tak vysoký, že například koexistence zařízení na jedné sběrnici s webovou kamerou může přinášet problémy s komunikací s oběma zařízeními. Výhoda nízké spotřeby jediného čipu se ovšem stírá kvůli vysokým nárokům na komunikaci v režimu aktivního snímání. Na obrázku 28 je zástupce řešení Sensor Only – Eikon Solo.
Obrázek 28: Čtečka Eikon Solo fy Digital Persona (Zdroj: digitalPersona 2013)
Od konkrétní funkcionality implementované v kompanion čipu je koncový uživatel osobního počítače odstíněn softwarovou vrstvou. Pokud je nějaká koncová funkcionalita závislá na funkci implementované v kompanion čipu, může být uživateli znepřístupněna v případě, že uživatel ve svém zařízení kompanion čip nemá. Aplikační programátoři se mohou setkat se závislostmi na typu zařízení více či méně podle toho, na základě jakého SDK svou biometrickou funkcionalitu implementují. Pro jednu rodinu zařízení může být dostupných více SDK, přičemž každé nabízí jinou úroveň funkcionality. Čím nižší je úroveň, na které programátor pracuje, tím je větší pravděpodobnost, že se s nějakou závislostí setká.
3 Snímání otisků prstů a osobní počítače
3.9
42
Shrnutí
Tato kapitola provedla čtenáře historickým vývojem elektronického snímání otisků až do dnešních dnů. Dále byla rozebrána technická stránka snímačů a proveden průzkum současného trhu snímačů a čteček. Z uvedeného vyplývá, že na současném trhu osobních počítačů působí jen hrstka výrobců snímačů: Egistec, Validity a Digital Persona. Ostatní výrobci dodávají svá řešení spíše do specializovaných aplikací, jako jsou různé docházkové systémy, dveřní systémy, zdravotnické aplikace a další. I když čtečky některých z těchto výrobců jsou dostupné, nebo to alespoň jejich internetové stránky tvrdí, jejich použití může být omezeno nedostupností univerzálních ovladačů a uživatelského software. Jejich výskyt u osobních počítačů je vzácnost. Tato práce se dále zabývá pouze analýzou běžně používaného software, který používají i největší výrobci počítačů ve svých produktech a který pracuje obvykle s určitými rodinami snímačů daného výrobce, popřípadě s libovolnými snímači za použití univerzálního biometrického rozhraní. Na ostatní výrobce je brán zřetel pouze okrajově. Ačkoliv z hlediska softwaru nezáleží na snímací metodě realizované snímačem otisku prstu, většina řešení spojených s osobními počítači, a zejména s přenosnými počítači, je založena na rádio-kapacitní technologii. Tato technologie je obvykle dodávána v podobě modulů, a to buď s kompanion čipem nebo bez něj. Obecně je výhodnější použití kompanion čipu, ale v některých případech tlak na snížení ceny zařízení dal i vzniku zařízení typu Sensor Only. Znát další parametry snímačů není z hlediska uživatele softwaru prakticky vůbec podstatné. Parametry snímačů mohou pomoci aplikačnímu programátorovi při orientaci v problematice a řešení některých netradičních funkcí a problémů, ale z větší části je od nich odstíněn i on. Význam parametrů roste při vlastní implementaci modulů snímačů do specializovaných zařízení. Parametry je také vhodné používat pro srovnání v případě hledání dodavatele snímačů pro nějaký firemní biometricky zabezpečený systém. Pro uživatele osobních počítačů a aplikační programátory mají však hodnotu omezenou. Ti se se snímači setkávají v drtivé většina případů v noteboocích a občas v samostatných čtečkách. Květnatý popis bezpečnostních funkcí a parametrů výrobcem snímače a softwaru pro něj však může alespoň zvýšit uživatelův subjektivní pocit bezpečí. Konkrétní bezpečnostní parametry by mohly sehrát roli při výběru modelu notebooků, např. do firem se zvýšenou potřebou zabezpečení nebo pro některé vládní organizace. Tyto organizace se ovšem často použití otisků prstů vyhýbají a nepovažují je za dostatečně bezpečné. Situaci potom řeší zvýšenými nároky na klasické zabezpečení heslem. Odpovědí na tyto potřeby a možná oprávněnou nedostatečnou důvěru v otisky prstů by mohlo být tzv. více faktorové zabezpečení (angl. multifactor security), které je vysvětleno v následující kapitole.
4 Biometrický software pro snímače otisků
43
4 Biometrický software pro snímače otisků V této kapitole je nejdříve nastíněn úvod do reálné práce se snímačem otisku prstu, včetně nahlédnutí pod pokličku technologie. Dále je zde představena architektura biometrického softwaru pracujícího s otisky prstů a význam i funkce Windows Biometric Framework. Následuje průzkum trhu dodávaného software ke snímačům otisku prstu a přehled poskytovaných funkcí v daných řešeních. Jednotlivé funkce jsou potom podrobně představeny na modelovém zástupci tohoto typu softwaru.
4.1
Biometrické procesy
V následujících odstavcích se nachází zevrubný popis procesů, které musí uživatel absolvovat při používání snímačů otisků prstů. Tento popis obsahuje jednak pohled uživatele a pak také náhled pod povrch uživatelského rozhraní, kde se snaží přiblížit, co všechno musí biometrický systém řešit, aby mohl poskytovat uživateli žádanou funkcionalitu. Ačkoliv tyto procesy mohou být chápany obecně pro libovolnou biometrickou metodu, vztahuji je pro názornost přímo na snímání otisku prstu. Mohu tak uvádět zajímavé detaily týkající se této technologie. Podkapitola je zařazena právě do části práce zabývající se softwarem, přestože kompletní biometrický systém se může de facto nacházet v hardwaru zařízení čtečky. I v tomto případě se stále dá spíše hovořit o softwaru než o hardwaru, pouze provedení je jiné.
4.1.1
Snímání otisku
V angličtině se pro tento základní stavební kámen dalších procesů používají výrazy capture, grab, acquire image. Tento proces začíná tak, že je očekáván uživatelův prst na senzoru, a ten jej tam položí, nebo v případě swipe senzoru začne protahovat prst přes plochu snímače. Snímač je přítomností uživatelova prstu uveden z režimu detekce prstu do aktivního snímání. Pak je sejmut otisk prstu, v případě swipe senzoru dochází k rekonstrukci obrazu z nasnímaných proužků, viz kapitola 3.1 Metody snímání. Rekonstrukce se může odehrávat jak v zařízení, tak v softwaru počítače. Poté co je obraz kompletní, jsou na něm obvykle ještě provedeny algoritmy zvyšujícího jeho kvalitu. Na závěr se výsledný obraz posílá k dalšímu zpracování, podle toho k jaké operaci má být použit.
4.1.2
Enrollment
Jak bylo již uvedeno v základních pojmech, enrollment je proces tvorby biometrické předlohy. Tato předloha je spárovaná s určitým uživatelským profilem či kontem. Celý proces pro uživatele představuje tyto kroky:
4 Biometrický software pro snímače otisků
44
1. Zahájení enrollmentu a. Uživatel obvykle musí nejdříve prokázat svou identitu systému heslem. b. Uživatel vybere, který ze svých deseti prstů bude enrollovat. 2. Systém vyzve uživatele k nasnímání otisku. Tato obecná výzva zahrnuje dvě možnosti, buď položit prst na senzor, nebo v případě swipe senzoru, protáhnout prst přes snímací plochu. 3. Systém aktualizuje pokrok enrollmentu, popř. podá uživateli zpětnou vazbu o kvalitě získaného obrazu. 4. Systém vyzve uživatele k dalšímu snímání prstu. 5. Kroky 3 a 4 se opakují: a. dokud není získán dostatek kvalitních jedinečných informací o uživateli (moderní přístup, tzv. dynamický enrollment), b. dokud není dosažen staticky stanovený počet kroků enrollmentu. 6. Systém informuje uživatele o úspěchu či neúspěchu celé operace. To se může stát i v případě 5a, pokud je překročen stanovený limit pro délku enrollmentu. 7. Získaná biometrické předloha je asociována s uživatelovým kontem. Na obrázku 29 se nachází detailní pohled na vnitřní proces enrollmentu. Po zahájení enrollmentu je snímán obraz a ten je předán k extrakci biometrických dat. Pokud se jedná o první krok, pak je z těchto dat vytvořena nová biometrická předloha. Poté se opakuje skenování obrazu, extrakce dat a v této fázi následuje aktualizace již existující předlohy. Toto se opakuje, dokud není enrollment vyhodnocen jako hotový. Potom je, za předpokladu úspěšnosti celého procesu, přidána biometrická předloha do databáze předloh. V poslední fázi se ještě může nejdříve provést porovnání nově získané předlohy s existujícími předlohami v databázi a tím může být zabráněno tomu, aby uživatel dvakrát naenrolloval omylem stejný prst. Enrollment končí a snímací zařízení přechází z režimu aktivního snímání do některého z klidových režimů. To může být buď čekání na prst, nebo režim spánku, kdy musí být pro další akci nejdříve probuzen softwarovým signálem. Enrollment končí. Enrollment ale může být i hloupější, než je zde ilustrováno. Celý proces lze radikálně zjednodušit např. tím, že použijeme například pouze nejlepší ze tří pořízených obrázků. V takovém procesu by se potom u každého obrázku určilo skóre jeho kvality a extrakce dat a tvorba předlohy by se provedla pouze z nejlepšího. Moderní implementace ovšem směřují samozřejmě k pokrokovějšímu typu enrollmentu z obrázku 29.
4 Biometrický software pro snímače otisků
45
New template data
Enrollment finished Template Template database
Device
Add template to template database
Image data
Create template
Yes.
Update template
Is enrollment completed?
No. Extract biometric data
Capture image
Template already exist?
Yes.
No. Enrollment started
Obrázek 29: Enrollment – detailní rozbor (Zdroj: autor)
4.1.3
Verifikace
Verifikace ověřuje identitu očekávaného uživatele. Pro uživatele vypadá tento proces takto: 1. Uživatel je jmenovitě vyzván k ověření své identity sejmutím otisku. 2. Systém vyhodnotí uživatelův vstup a uživatele: a. přijme, b. odmítne a může vyzvat uživatele k opakovaní od bodu 1. Na obrázku 30 je znázorněn vnitřní proces verifikace. Zahájení verifikace provází určení, proti které předloze se bude uživatel ověřovat. Ta je nalezena v databázi předloh tak, že koresponduje se systémovým nebo jiným účtem, ke kterému se chce uživatel ověřit. Poté následuje snímání otisku. Z něj jsou extrahována data pro biometrickou předlohu, ale ta vzniká pouze interně v paměti. Následovně je provedeno porovnání extrahovaných dat s určenou předlohou z databáze. Pokud je zjištěna shoda, uživatel je přijat a proces končí. Pokud není zjištěna shoda a je žádoucí opakování, začíná nové snímání. Pokud není žádoucí opakování, je uživatel odmítnut a proces končí.
4 Biometrický software pro snímače otisků
46
New template data
Template to verify Template database
Device
Image data
Match templates
Is it matching?
Yes.
User accepted
No.
User rejected
No.
Retry? Capture image
Extract biometric data Yes.
Find template to verify
Verification started
Obrázek 30: Verifikace – detailní rozbor (Zdroj: autor)
4.1.4
Identifikace
V tomto procesu je zjišťována identita uživatele porovnáváním nasnímaného otisku s celou databází předloh. V zásadě může pracovat ve dvou režimech, v normálním a tichém. V normálním režimu je uživatel systémem vyzván, aby se identifikoval nasnímáním svého otisku. V tichém režimu je provedena identifikace, kdykoliv uživatel poskytne svůj prst snímači. Konkrétní použití tichého režimu závisí na tom, jak je funkcionalita softwaru navržena. Identifikace z pohledu uživatele vypadá takto: 1. Uživatel je vyzván systémem k nasnímání otisku (v případě normálního režimu). 2. Systém porovná uživatelovu identitu s databází. a. Uživatele přijme a vyhodnotí, o kterého uživatele se jedná. b. Uživatele odmítne, protože identita nebyla v databázi nalezena. Pokud je žádoucí proces opakovat, tak se přechází na bod 1, jinak identifikace končí odmítnutím uživatele. Obrázek 31 popisuje vnitřní průběh procesu identifikace. Nejdříve jsou nasnímána obrazová data z poskytnutého prstu uživatele. Z nich je extrahována biometrická informace, která je v následujícím kroku postupně srovnávána se všemi předlohami v databázi předloh. Dojde-li ke shodě, srovnávání je ukončeno a uživatelova identita zjištěna. Tím je uživatel přijat. Nedojde-li ke shodě, proces se může opakovat nebo je uživatel prohlášen za neznámého a je odmítnut.
4 Biometrický software pro snímače otisků
47
New template data
Template database
Device Match against all templates in database
Image data
Is it matching?
Yes.
User identified
No.
User not identified
No.
Retry? Capture image
Extract biometric data Yes.
Identification started
Obrázek 31: Identifikace – detailní rozbor (zdroj: autor)
4.1.5
Extrakce biometrických dat
Extrakce biometrických dat je subproces předcházejících procesů. V rámci něj dochází k určení jedinečných informací, které se nacházejí v obrazu otisku prstu. Z nich je vytvořena biometrická předloha, se kterou je potom možné dále pracovat, zejména ji srovnávat s jinou předlohou. Předloha (angl. template) obsahuje pouze významná data z celého obrazu otisku, jedná se o matematickou interpretaci jedinečných informací. Existují různé způsoby, jak tyto informace matematicky popsat. V zásadě se přístupy dají rozdělit na: klasický pracující s markantami, rozpoznávání vzorů. Klasický přistup k rozpoznávání otisků prstů vychází z původních manuálních metod, kde se v otisku vyhledávají význačné body, tzv. markanty. To jsou zejména ukončení a různé větvení papilárních linií. Tato místa jsou potom popsána jako vektory a s touto reprezentací se dále pracuje. Markantám se také někdy říká „minuše“, což je počeštěný výraz z anglického minutiae, což znamená vlastně drobnosti nebo maličkosti. Obrázek 32 ilustruje, jak tyto markanty na otisku prstu vypadají.
4 Biometrický software pro snímače otisků
48
Obrázek 32: Ukázky typů markant na otisku prstu. (Zdroj: Maltoni 2009)
Ostatní přístupy nepoužívající markanty spadají do rozpoznávání vzorů. Zde se mohou rozpoznávat rozdílné vlastnosti otisku, např. celkové geometrie papilárních linii. S oběma variantami přístupů se lze v současné době setkat u komerčního softwaru, uživatel i aplikační programátor je od těchto detailů zcela odstíněn. Nejvýznamnější vlastností biometrické předlohy z pohledu aplikačního programátora je její velikost. Ta je dána z největší části použitým algoritmem rozpoznávání. Z menší části potom tím, jak byl prst nasnímán. Velikosti biometrických předloh se pohybují od stovek bajtů až po kilobajty.
4.1.6
Porovnávání alias matchování
Algoritmus porovnávání samozřejmě závisí na algoritmu extrakce biometrické předlohy. Přístupy k porovnávání tedy kopírují přístupy k extrakci, jak se nacházejí ve výčtu předchozí kapitoly. Protože samotné porovnání otisku prstu je velmi komplikované a těžko zcela jednoznačné, pracuje matcher tak, že stanovuje skóre, které říká, do jaké míry se sobě biometrické předlohy podobají. Konečný verdikt o shodě či neshodě je vydán na základě stanovené prahové hodnoty. Touto hodnotou se tak dá určovat přísnost celého systému. Takže v případě nekvalitního obrazu nasnímaného otisku může být uživatel odmítán tak dlouho, dokud neposkytne dostatečně kvalitní otisk. Tím se v podstatě zvyšuje bezpečnost systému. Naopak snížení prahové hodnoty znamená přívětivější přístup k uživatelům, kteří nejsou nuceni tak často snímání opakovat. Kromě klasického přístupu matematického srovnávání vektorů markant nebo geometrického popisu vzorů, tak jak byly extrahovány z otisku, existuje ještě jeden přístup, který nepočítá s extrakcí vůbec a pracuje přímo s obrazem. V tomto případě se jedná o tzv. korelační srovnávání. To je řešeno tak, že se otáčí a posouvá obrazem otisku a hledá se nejlepší překryv, podle kterého je stanoveno skóre shodnosti. Tato metoda se ovšem v softwarových systémech nepoužívá, protože potřebuje pro svou funkci uchovávat přímo obrázky otisků a ty jsou poměrně velké. Navíc z hlediska bezpečnostního není vhodné uchovávat přímo obrazy otisků.
4 Biometrický software pro snímače otisků
4.1.7
49
Speciální funkce
Mimo funkce, pro které je snímač otisku prstu navržen, může plnit ještě některé speciální funkce: Dotykový spínač Polohovací zařízení Světelný indikátor Pre-boot Authentication (PBA) Power On Authentication (POA) Funkci dotykového spínače snímač realizuje vlastně vždy, když čeká na přiložení prstu. Tato funkce se dá použít i samostatně, otázka zní k čemu. Ve funkci polohovacího zařízení může uživatel používat senzor podobně jako třeba touchpad, kdy přejíždění prstu po ploše senzoru je zaznamenáno jako relativní souřadnice pohybu. Ve spojení s funkcí dotykového spínače je možné zaznamenat i kliknutí, popř. dvojklik. Polohovací funkci nepodporují všechny senzory. Obvykle je implementována jen na některých swipe senzorech. Ale nemusí jít nutně o swipe senzor, funkce může fungovat i na plošném senzoru. Anglická terminologie hovoří nejčastěji o této funkci jako o navigaci. Navigace má tu nevýhodu, že je při ní senzor neustále v režimu aktivního snímání, aby bylo zajištěno co nejplynulejší snímání pohybu. To vede ke zvýšené spotřebě senzoru a jeho zahřívání, které může výjimečně dosáhnout až hodnot, které už uživatel může vnímat jako pálení. Kromě těchto dvou funkcí nabízí ještě některé senzory jednu nebo dvě LED diody, které mohou blikat, tak aby dávaly uživateli zpětnou vazbu o činnosti, kterou právě se senzorem provádí. Diody je také možno téměř libovolně rozblikat programově. Podpora zařízení a výrobců se ale v tomto ohledu zcela zásadně liší. Pre-boot Authentication (PBA) je funkce, která může být dostupná pouze v případě, kdy je senzor integrován do počítače. Zařízení snímače může být propojeno s BIOSem počítače a v případě, že uživatel nastaví používání této funkce, je o ověření požádán ještě dříve, než počítač vůbec začne nahrávat operační systém. Aby tato funkce pracovala smysluplně, je nutné nastavit také přístupové heslo do počítače na úrovni BIOSu. O jeho nastavení se obvykle umí postarat přímo biometrický software, který tuto funkci uživateli zprostředkuje. Na tuto funkci navazuje čistě softwarová funkce s názvem Single-Sign-On (SSO). SSO se postará o to, aby se uživatel, který se ověřil v rámci PBA, se nemusel opětovně ověřovat při spuštění operačního systému. Tato funkce použije výsledek ověření z PBA fáze a identifikovaného uživatele rovnou do systému přihlásí. PBA slouží ke zvýšení celkové bezpečnosti systému, který je zranitelnější, pokud případný záškodník má možnost spustit operační systém. S oběma přechozími (PBO, SSO) souvisí i nejnovější technologie Power On Authentication (POA). Ta umožňuje zapnutí počítače, popřípadě jeho probuzení z režimu spánu nebo hiber-
4 Biometrický software pro snímače otisků
50
nace tím, že uživatel poskytne otisk svého prstu na senzoru. Pokud je uživatel úspěšně ověřen, dojde ke spuštění počítače, kde je v případě funkce Single-Sign-On ověřen ve všech dalších krocích až na plochu svého účtu v operačním systému.
4.2
Softwarová architektura
Každé zařízení osobního počítače musí mít v operačním systému instalováno svůj ovladač, který umožní aplikacím s ním komunikovat. Výrobci snímačů proto dodávají svoje zařízení i s příslušnými ovladači. Software, který potom využívá funkce snímače, se kterým komunikuje prostřednictvím ovladače, musí být navržen speciálně pro daný ovladač nebo rodinu ovladačů. V tomto klasickém modelu (někdy nazývaném angl. výrazem legacy) není možné, aby biometrický software dodaný k zařízení čtečky jedné společnosti fungoval se zařízením společnosti jiné, i kdyby bylo principiálně prakticky totožné. Překlenout tento nedostatek musí operační systém tím, že bude podpora technologie zabudovaná přímo v něm a to umožní zavést nad ní určitou abstrakci. To se podařilo v operačním systému Microsoft Windows 7, který představil Window Biometric Framework. Tento framework vlastně přidává nativní podporu biometrie v systému Windows. Znamená to, že pokud je v systému dostupné biometrické zařízení s ovladačem pro tento framework (tzv. WBF nebo WinBio driver), bude je systém umět rovnou používat a sám nabídne s tím spojenou funkcionalitu. V tomto případě tedy není potřeba žádný další software. Vše, co uživatel potřebuje, je zařízení a WBF ovladač. Po instalaci ovladače může uživatel začít používat biometrické funkce integrované v systému Windows nebo instalovat další software, který je implementován nad WBF frameworkem a využívá jeho funkce, potažmo funkce snímače skrze něj. Takový software je potom zcela nezávislý na zařízení čtečky, se kterým pracuje. Obrázek 33 zobrazuje diagram softwarové architektury. První popsaná situace klasické architektury je patrná v levé části obrázku. V pravé části potom architektura WBF. Nad WBF může, ale nemusí být další software. Aplikací může být i více. Takové aplikace se potom chovají jako klienti frameworku a řeší pouze pro ně důležité funkce, nemusí obstarávat celý management biometrických identit (template database). Ten je vyřešen přímo v operačním systému v rámci WBF. Oproti tomu situace v klasické architektuře, kdy databáze biometrických předloh či identit se nachází s největší pravděpodobností přímo v softwarové aplikaci či některé její vrstvě, obvykle neumožňuje, aby nějaká další aplikace použila tuto interní databázi a ověřila pomocí ní uživatele pro své potřeby. I v případě, kdy tyto služby klasický software poskytuje (skrze nějaké veřejné API), stejně není pro vývojáře běžných aplikací praktické je využívat, protože by buď podporovali jediného výrobce snímačů, nebo by museli implementovat mnoho podobných variant těchto služeb pro každého výrobce zvlášť. Ani pro jeden případ není lehké najít příklad aplikace, kde by se takové úsilí vývojářům vyplatilo.
4 Biometrický software pro snímače otisků
51 User
Template Database
Windows Biometric Framework
Template Database
Legacy Driver WBF Driver
Device Hardware
Obrázek 33: Softwarová architektura (Zdroj: autor)
Databáze předloh (na obrázku angl. template database) se může také vyskytovat přímo v zařízení čtečky. V tomto případě je identita uživatele softwaru spjata přímo s konkrétním snímačem. Pokud by došlo k výměně snímače, nebude se na něm uživatel moci úspěšně ověřit. Snímače mají také omezenou kapacitu pro biometrické předlohy, ale v běžném použití tento limit prakticky nenajdeme. Pokud se používá databáze v zařízení čtečky, je od toho uživatel až na dva výše zmíněné fakty odstíněn softwarem. Pokud jsou k dispozici obě databáze, může být před prvním enrollmentem nabídnuto, která databáze se bude používat. V případě použití WBF driveru záleží na tom, jestli je v rámci něj poskytnut frameworku přístup k úložišti v zařízení čtečky či ne. Pokud není, bude se databáze nacházet přímo v operačním systému, bez ohledu na to, jestli zařízení tuto funkcionalitu podporuje či ne. V každém případě ovšem správu databáze provádí operační systém. Obdobná abstrakce, kterou umožňuje Windows Biometric Framework, se na jiných operačních systémech prozatím nevyskytuje.
4.2.1
Windows Biometric Framework
Ačkoliv je tento framework navržený univerzálně pro libovolný typ biometrických zařízení, podporuje v současnosti pouze biometrii otisků prstů. Dá se očekávat, že toto omezení bude postupně odbouráváno v nových verzích systému, a to podle toho, jak poroste popularita dalších biometrických metod. Tato podkapitola vychází z dokumentu „Introduction to the Windows Biometric Framework (WBF)“ (Microsoft 2012a).
4 Biometrický software pro snímače otisků
52
Jak už bylo předznamenáno v úvodu této kapitoly, Windows Biometric Framework vznikl z důvodu sjednocení biometrických technologií v rámci systému Windows. Toto sjednocení se týká hlavně následujících věcí: uživatelského prostředí a reprezentace procesů spojených s biometrií, přístupu aplikací k biometrické funkcionalitě, abstrakce nad hardwarovou vrstvou se snímacími technologiemi. Architektura Na obrázku 34 je detailní vnitřní architektura Windows Biometric Frameworku. V nejnižší vrstvě se nacházejí ovladače zařízení, které vstupují do frameworku přes specializované rozhraní pro biometrické ovladače Windows Biometric Driver Interface (WBDI). V systému potom samotný framework vystupuje ve formě služby Windows Biometric Service (WBS), která obsahuje rozhraní pro poskytování služeb Biometric Service Provider (BSP). Toto rozhraní se skládá ze tří adaptérů: Sensor Adapter, Engine Adapter a Storage Adapter. Biometric Service Provider reprezentuje určitou kategorii biometrie, v současné době existuje BSP podporující pouze biometrii otisků prstů. Nejvyšší vrstvu potom tvoří WBF API, rozhraní, kterého využívají aplikace poskytující biometrické funkce. Windows Biometric Framework API Windows Biometric Service Biometric Service Provider Sensor Adapter
Engine Adapter
Storage Adapter
Windows Biometric Driver Interface UMDF Driver
KMDF Driver
WDM Driver
Provided by: Microsoft Microsoft IHV/ISV
IHV/ISV OEM
Obrázek 34: Architektura jádra Windows Biometric Frameworku (Zdroj: Microsoft 2010)
Nejnižší vrstva s ovladači zařízení naznačuje použití různých druhů ovladačů. Rozdíly v provedení ovladačů jsou z hlediska této práce, čili z hlediska uživatele nebo aplikačního programátora, lhostejné, proto se jimi práce detailněji nezabývá. Obrázek 34 barevně odlišuje, které součásti jsou kým poskytovány. Modře vybarvené komponenty jsou součástí systému Windows. Zelené komponenty jsou ve výchozí podobě také zprostředkovány systémem, ale může být žádoucí, aby byly poskytnuty spolu s ovladačem
4 Biometrický software pro snímače otisků
53
zařízení. Konečně oranžové komponenty musí poskytnout výrobce zařízení. Jedná se o samotný ovladač zařízení a spolu s ním o tzv. engine adapter. Framework nazývá softwarovou komponentu čtečky v systému biometrickými jednotkami. (angl. Biometric Unit – BU) Tyto jednotky potom zařazuje do skupin podle jejich určení: Systémová skupina o Sdílená zařízení poskytující služby aplikacím i v rámci systému samotného. Soukromá skupina o Zařízení určená pro soukromé použití určitou aplikací. Nezařazené o Ostatní zařízení, která nejsou využívána. Do skupiny nezařazených spadají zařízení, která se systému nepodaří automaticky nakonfigurovat pro použití v systémové skupině. Použitelná zařízení jsou zařazena do systémové skupiny. O zařazení do soukromé skupiny žádá konkrétní aplikace, která chce využívat zařízení v exkluzivním režimu. Dodavatel softwaru buď poskytne k zařízení pouze ovladač a nechá veškerou funkcionalitu na operačním systému, nebo instaluje k zařízení i specializovanou aplikaci, která bude poskytovat celou funkcionalitu vlastní, a tak se nevyužije funkcí zabudovaných v operačním systému. V prvním případě bude zařízení zařazeno do systémové skupiny, ve druhém do soukromé skupiny. Přístup může být také hybridní, kdy bude použito výchozí systémové chování, ale doplňkové funkce bude poskytovat aplikace. V tom případě bude zařízení opět v systémové skupině. Zařazení v soukromé skupině připomíná klasickou softwarovou architekturu nepoužívající WBF vůbec. Rozdíl spočívá ovšem v tom, že pokud se uživatel rozhodne zbavit dodávaného softwaru, po odinstalaci může v případě WBF architektury využívat funkce poskytované operačním systémem nebo nainstalovat konkurenční software pracující nad touto architekturou.
4 Biometrický software pro snímače otisků
54
Biometrické jednotky jsou tvořeny dříve zmíněnými adaptéry: Sensor Adapter o Provádí veškeré snímací operace. Engine Adapter (EA) o Provádí veškeré zpracování biometrických dat. Toto zahrnuje normalizaci dat, extrakci jedinečných informací a tvorbu biometrické předlohy. Také obsahuje tzv. matcher, čili prostředek pro srovnávání biometrických dat při enrollmentu nebo autentifikačních operacích. o Tento adaptér musí být poskytnut výrobcem zařízení v rámci ovladače. Storage Adapter (SA) o Jak anglický název napovídá, tento adaptér je rozhraním k uložišti v zařízení čtečky. Pokud je k systému připojeno zařízení typu Sensor Only nebo obecně zařízení, které neimplementuje úložiště ani extrakční a srovnávací algoritmy, potom musí výrobce dodat pouze Engine Adapter, který implementuje tyto algoritmy softwarově. Nutnost dodání těchto algoritmů výrobcem zařízení vyplývá z toho, že různá provedení snímacích zařízení mohou mít různé nároky na zpracování obrazových dat a bylo by problematické poskytovat tuto funkcionalitu obecně. A taky protože je v nich soustředěno know-how každého výrobce a Microsoft by pravděpodobně ani nechtěl tuto softwarovou technologií poskytovat. Pokud nejsou využity rozšířené zpracovací funkce v zařízení čtečky, potom WBF ovladač pracuje v základním módu (angl. basic mode). Pokud jsou tyto funkce k dispozici a je dostupný i ovladač s podporou rozšířeného módu (angl. advanced mode), potom si může aplikace pracující exkluzivně se zařízením ve své soukromé skupině vybrat, v jakém módu ho bude používat, tzn. kde bude docházet ke zpracování biometrických dat. Nejvyšší vrstva Windows Biometric Framework API poskytuje rozhraní pro tvorbu biometrie znalých aplikací. Toto rozhraní je podrobně popsáno v kapitole 5. Funkcionalita alias user experience Ve chvíli, kdy je do systému připojeno a nainstalováno zařízení spolu s WBF ovladačem, systém začne zobrazovat do té doby skrytou položku „Biometrická zařízení“ (angl. Biometric Devices) v ovládacích panelech. Tento nový ovládací panel je velice jednoduchý. Vypisuje seznam dostupných zařízení a jejich stav. Stav je udán ve smyslu, jestli už byla zavedena na daném zařízení uživatelova identita do systému, to znamená, jestli už některý z uživatelů systému prošel procesem enrollmentu. Pokud neprošel, nabízí ovládací panel možnost „Začít používat otisky prstů ve Windows“. Na obrázku 35 je snímek okna ovládacího panelu biome-
4 Biometrický software pro snímače otisků
55
trických zařízení. Poslední funkcí, kterou nabízí, je změna biometrických nastavení. Všechny ostatní možnosti tohoto panelu jsou pouze napojením na jiná místa v systému, jako např. odkaz vlastnosti u biometrického zařízení míří do karty vlastností daného zařízení ve správci zařízení.
Obrázek 35: Ovládací panel biometrických zařízení systému Windows (Zdroj: autor)
Na obrázku 35 je ještě vidět, že používám zařízení AES1610 od nedávno zaniklé firmy Authentec, které je integrované v mém notebooku. Panel s biometrickými nastaveními z obrázku 36 je velmi prostý. Umožňuje biometrii ve Windows zapnout nebo vypnout. Pokud je biometrie zapnuta, může být ještě umožněno použít otisky prstů k přihlášení do systému. Vypnutí biometrie znamená zároveň smazání všech biometrických předloh, které různí uživatelé vytvořili. Z toho vyplývá, že se jedná o nastavení globální a jejich změně je potřeba administrátorská práva. V případě, že je biometrie vypnuta, je zapnutí biometrie jediná položka dostupná v celém ovládacím panelu.
Obrázek 36: Panel změny biometrických nastavení (Zdroj: autor)
4 Biometrický software pro snímače otisků
56
Pokud se uživatel rozhodne používat své otisky v systému Windows, vybere příslušnou možnost v ovládacím panelu, např. u zobrazeného biometrického zařízení. Následuje obrazovka s uvítáním do světa biometrie, kde se nachází stručný komentář k bezpečnosti otisků prstů a je poznamenáno, že nemusí být vhodné tuto metodu zabezpečení pro některé citlivé informace používat a jsou navrženy jiné metody. Jestliže uživatel souhlasí s použitím otisků prstů, je vyvolána aplikace, která provede uživatele procesem enrollmentu a umožní další správu biometrických identit. Tato aplikace je označována jako FMA (z angl. Finger Management Application). Windows 7 neposkytují výchozí FMA aplikaci, a proto i tato část softwaru musí být dodána k zařízení čtečky výrobcem. FMA aplikace je součástí balíku ovladače tohoto zařízení a instaluje se přímo s ním. V případě, že v tomto ohledu výrobce selže, zobrazí se hlášení, že není instalována žádná aplikace použitelná pro správu otisků prstů a že uživatel musí kontaktovat výrobce zařízení. Vyvolaná FMA aplikace potom nabývá různých podob, které by se měli držet doporučení Microsoftu o jednotném uživatelském rozhraní. Většinou se jedná o jednu obrazovku ilustrující dvě ruce s prsty. Uživatel si může zvolit, který prst bude enrollovat, a po kliknutí na něj se objeví další okno provádějící procesem enrollmentu. Když je alespoň jeden prst naenrollován a tak spojen s identitou aktuálně přihlášeného uživatele, teprve pak je možné začít biometrii ve Windows skutečně používat. V krajním případě se může výrobce softwaru uchýlit k tomu, že místo zobrazení skutečné FMA aplikace přesměruje uživatele na stránky svého internetového obchodu, kde si uživatel může aplikaci zakoupit. Toto jednání není zrovna uživatelsky přívětivé, nicméně firma Authentec se k němu uchýlila, protože nabízela dvě rozdílná softwarové řešení, takže ve společném ovladači by musela být jedna z variant zakomponována. Ta by však později mohla být nahrazena při instalaci jiného typu aplikace, v důsledku toho by zbytečně rostla velikost balíku ovladače. Uživateli byla naštěstí nabídnuta i bezplatná minimalistická varianta jedné z aplikací. Ve chvíli, kdy je uživatel naenrollován, objeví se v ovládacím panelu možnost „Spravovat otisky prstů“ (angl. manage fingerprint data) namísto původní možnosti „Začít používat otisky prstů ve Windows“. Akce je stále stejná – spuštění FMA aplikace, ve které jsou již nyní symbolicky vidět naenrollované otisky prstů. Poslední změnou v ovládacím panelu je nová položka s názvem „Odstranit otisky prstů“ (angl. remove fingerprint data). Tato změna zobrazí dotaz, jestli chce uživatel opravdu vymazat všechna související biometrická data. Základní funkcí, která je teď uživateli systémem poskytována, je přihlašování do Windows pomocí otisku prstu. To se projeví tak, že pokud se uživatel nachází na uvítací obrazovce systému, je mimo ikony pro jeho uživatele zobrazena též ikona znázorňující možnost přihlášení otiskem prstu, viz obrázek 37 levá část. Není potřeba na ni klikat, pokud tak uživatel přesto učiní, je textově vyzván k naskenování svého otisku prstu na čtečce, viz obrázek 37 pravá část. Jakmile tak uživatel učiní, je přihlášen stejným způsobem, jako by právě potvrdil zadání hesla.
4 Biometrický software pro snímače otisků
57
Obrázek 37: Přihlášení otiskem prstu na uvítací obrazovce Windows 7 (Zdroj: autor)
V případě, že je v systému zavedeno více uživatelů, není třeba ani vybírat uživatele, kterého chceme přihlásit, stačí rovnou naskenovat otisk a příslušný uživatel bude přihlášen automaticky. Tímto způsobem je možné absolvovat také přihlášení doménového uživatele. V případě domény se ještě zobrazí v biometrických nastaveních možnost povolit nebo zakázat doménové přihlášení otiskem prstu. Je také možné toto nastavení spravovat ve skupinových politikách domény. Další uživatelskou funkcí je možnost ověření identity administrátora otiskem prstu v případě, že je potřeba provést nějakou operaci v administrátorském režimu. (Pozn.: Někdy se používá pro tento režim též termín „elevace“.) V tom případě nemusí administrátor zadávat heslo ručně, ale stačí, když naskenuje otisk svého prstu na zařízení. V angličtině se tato funkce systému jmenuje User Account Control (UAC). Na obrázku 38 je vidět okno vyzívající k potvrzení identity administrátora. Administrátor má na výběr, buď vybere uživatele a zadá heslo ručně, nebo jen ověří svůj otisk. Může být praktické používat na počítači neadministrátorský účet, i když uživatel je zároveň i administrátorem. Pro administrátorský účet si vyhradí otisk jednoho z prstů a v případě potřeby ověření jej použije. Takto lze o něco zvýšit bezpečnost a spolehlivost celého systému, protože případný vetřelec nebude mít k dispozici plná administrátorská práva, pokud rozumný uživatel použije jiné heslo pro administrátorský účet.
Obrázek 38: Biometrické ověření identity v bezpečnostní funkci systému Windows (Zdroj: autor)
4 Biometrický software pro snímače otisků
58
Poslední věcí, kterou se snaží Windows Biometric Framework sjednotit, je aktualizační procedura. V tomto ohledu vyzývá vývojáře biometrického softwaru, aby využívali službu Windows Update a uživatel tak měl k novým verzím softwaru stejný přístup jako k mnoha systémovým součástem a aplikacím od společnosti Microsoft. V tomto ohledu zatím ale příliš úspěšný nebyl, neboť žádné z rozšířených softwarových řešení tuto službu nevyužívá. Předchozím odstavcem byl prakticky vyčerpávající popis Windows Biometric Frameworku z uživatelského pohledu dokončen. WBF nabízí pouze absolutně základní funkcionalitu spojenou s otisky prstů. Jeho účelem však není zaplavovat uživatele speciálními funkcemi, ale standardizovat technologii, což úspěšně plní, a výrobci biometrických řešení si jej začínají všímat a nové produkty zakládají na jeho modelu. Ve Windows 8 došlo k drobným vylepšením funkcionality a uživatelského rozhraní. Žádné významné změny ale neproběhly.
4.3
Průzkum trhu
Při průzkumu trhu se softwarem pro osobní počítače jsem vycházel z průzkumu z kapitoly 3.4. Nejprve jsem se podíval na biometrický software, který pro své notebooky poskytují přímo výrobci.
4.3.1
Windows
Egistec Zdá se, že firma Acer ve svých noteboocích se snímači Egistec poskytuje pouze balík WBF driveru a přenechává veškeré možnosti na systému Windows. Egistec však nabízí software pro své snímače otisků s názvem BioExcess. Tento software se chlubí následujícími možnostmi: Přihlášení do Windows otiskem prstu (toto je díky WBF architektuře samozřejmost)
Rychlé přepínání mezi uživateli (Fast User Switching – FUS)
Otiskem chráněné zašifrované úložiště (Secure Drive) Spouštění aplikací poskytnutím otisků různých prstů (Application Launcher) Automatické přihlašování otiskem na webových stránkách (Password Bank) o Podporuje prohlížeče Internet Explorer 10 a FireFox 13 Dostupná 7 - denní trial verze, plná verze v ceně 39,95 USD Podpora zařízení jiných výrobců: Authentec AES1660 a Validity VF301
4 Biometrický software pro snímače otisků
59
Validity Společnost Validity dodává svoje senzory do notebooků společností Dell a HP. Validity poskytuje ke svým senzorům pouze WBF driver, takže je možné využívat pouze funkce Windows Biometric Frameworku. Dell ke svým notebookům dodává ještě vlastní softwarové komplexní bezpečnostní řešení. Soudě podle internetových diskuzí, většina uživatelů si s tím neví příliš rady, hlavně pokud jsou nuceni si počítač sami instalovat. Dell se zaměřuje především na šifrování všeho možného, ale neposkytuje žádné zajímavé funkce ve spojitosti s otisky prstů. Na noteboocích Dell se tak setkáme běžně s Pre-boot Authentication, Single-Sign-On a funkcemi známými z WBF. Situace u HP je značně nejasná a zdá se, že se mění s každou řadou notebooků. Každopádně současné modely s Validity senzory využívají především WBF funkcionality, kde softwarovou část FMA aplikace dodává zřejmě Digital Persona. Jindy potom uživatel dostane k tomuto senzoru softwarovou aplikaci HP SimplePass původem od zaniklé firmy Authentec. Zda ve vývoji tohoto softwaru dnes pokračuje Digital Persona, není jasné. HP SimplePass je v podstatě aplikace TrueSuite z dílen původního Authentecu, jen distribuovaná pod značkou HP. HP SimplePass nabízí tyto funkce: Přihlášení do Windows Přihlášení na webových stránkách (Password Bank) o Podporovány jsou prohlížeče Explorer, Firefox a Chrome. Spouštění aplikací prstem (QuickLaunch) Otiskem chráněné úložiště (KeepSafe) Digital Persona Je nástupnickou společností firmy Authentec, která dříve prodělala fúzi s firmou Upek. Řešení z dob těchto předchozích firem se stále nacházejí v prodávaných přenosných počítačích. To se týká značek výrobců notebooků Asus, Fujitsu, Lenovo, Sony, Toshiba. Asus je opět jednou ze společností, která poskytuje vlastní komplexní softwarové řešení, které obsahuje i podporu rozpoznávání otisku prstu. ASUS Data Security Manager řeší hlavně funkci bezpečného úložiště, které je možné odemykat také otiskem prstu. Jinak je dostupná základní funkce pro přihlášení do systému. Fujitsu dodává ve svých noteboocích se senzorem od firmy Authentecu i software této firmy. Jedná se ale o řešení velmi zastaralé nevyužívající WBF architekturu, které kromě základních funkcí přihlášení do systému nabízí pouze tzv. navigační panel, který umožňuje uživateli používat senzor pro dvourozměrné scrollování v systému Windows.
4 Biometrický software pro snímače otisků
60
Lenovo poskytuje k senzorům ve svých noteboocích software ThinkVantage Fingerprint Software. Tento software, ačkoliv vypadá, jako by si ho vyvíjelo Lenovo samo, pochází také z dílen Authentecu. Ovladač zařízení je typu WBF, takže základní funkce v systému jsou samozřejmostí. Mimo to tento software poskytuje jen funkce týkající se zabezpečení spuštění, což souvisí i s tím, jaký senzor je v počítači použit. V noteboocích Lenovo se běžně setkáme s Pre-boot Authentication (PBA) a software potom umožní funkci Single-Sign-On. V některých modelech se můžeme setkat také s funkcí Power On Authentication (POA). Tento software má také bezpečnostní funkci proti opakující se snaze o ověření. Pokud se vám několikrát nezdaří ověření otiskem, systém se na 120 sekund zablokuje a nebude přijímat žádné otisky. Tím se snaží znesnadnit přístup případným záškodníkům, kteří by si dali práci s výrobou falešných prstů z vašich latentních otisků. Sony ke svým notebookům s Authentec senzorem dodává i program TrueSuite od této firmy. TrueSuite je prakticky identická s dříve popsaným HP SimplePass, kromě funkce KeepSafe. Obsahuje tedy pouze tyto funkce: Přihlášení do Windows Přihlášení na webových stránkách (Password Bank) o Podporovány jsou prohlížeče Explorer, Firefox a Chrome. Spouštění aplikací prstem (QuickLaunch)
Rychlé přepínání mezi uživateli (Fast User Switching – FUS)
Toshiba má taktéž Authentec senzor a k němu dodává vlastní primitivní software Toshiba Fingerprint Utility. Tento software ani není založený na WBF architektuře a jedinou funkci, kterou vám umožní hned po enrollmentu, je přihlášení do systému, kdy na přihlašovací obrazovce vykreslí poměrně nevkusnou textovou výzvu k protažení prstu přes senzor. Uživatelům notebooků využívajících snímačů dnes spadajících pod výrobce Digital Persona však nic nebrání v nápravě mizerné softwarové výbavy dodané výrobcem notebooku. Na stránkách zanikající společnosti Authentec je v současnosti možné stáhnout libovolný software zdarma. (Authentec 2012) Uživatelé tak mohou kdykoliv začít svůj senzor více využívat s lepším softwarem.
4.3.2
Linux
Existence a rozšířenost softwaru podporujícího rozpoznávání otisků prstů na systému Linux je velice chabá. Existují celkem tři nekomerční produkty, které se zabývají touto problematikou, ale nejedná se o nijak pokročilá řešení, jelikož nadšenci, kteří je vytváří, mají plné ruce práce s řešením zcela základních problémů při podpoře různých senzorových zařízení. Na obrázku 39 jsou vidět otisky podporující přihlášení do systému Linux. Tento software pochází z projektu Wolfganga Ulricha (Ulrich 2012). Pracuje převážně se zařízeními společnosti bý-
4 Biometrický software pro snímače otisků
61
valého Upeku, dnes pod značkou Digital Persona. Že pracuje právě s těmito zařízeními, není žádná náhoda, je to díky tomu, že společnost Upek vytvořila jedno ze svých SDK také ve variantě pro Linux. Konkrétně se jedná o BSAPI SDK.
Obrázek 39: Podpora rozpoznávání otisku prstu na linuxu (Zdroj: Ulrich 2012)
4.3.3
Mac OS X
Na této platformě je situace snad ještě jednodušší než na linuxu. Vzhledem ke skutečnosti, že systém Mac OS X je vázaný na hardware počítačů Apple, nemůže se stát, že poběží na počítači s integrovaným senzorem otisku prstu. Takže jeho uživatelé nemají tuto technologii příliš v povědomí. Přesto existuje softwarové řešení pracující s externími snímači otisku. Je to software TrueSuite for Mac od zanikající společnosti Authentec. Jeho budoucnost ve vlastnictví společnosti Digital Persona zatím není jasná. TrueSuite for Mac přidává do prostředí OS X kartu do systémových nastavení a poskytuje následující funkce: Přihlášení do systému
Rychlé přepínání mezi uživateli (Fast User Switching – FUS)
Přihlašování na webových stránkách (Password Bank) o Podporuje prohlížeče: Safari, Firefox, and Chrome Spouštění aplikací prstem (QuickLaunch) Cena i se čtečkou otisku prstu na americkém trhu: 59,95 USD o Samotný software lze zdarma stáhnout na stránkách http://support.authentec.com/Downloads/MAC/TrueSuite.aspx
Authentecu:
4 Biometrický software pro snímače otisků
4.4
62
Analýza funkcí
Pro podrobnější analýzu funkcí, které jednotlivá softwarová řešení nabízí v různých alternativách, jsem se rozhodl na modelovém příkladu aplikace Protector Suite. Tato aplikace pochází původně z dílen firmy Upek, kterou později převzal dnes zanikající Authentec, a nyní je volně ke stažení na jeho stránkách. Budoucnost této pokročilé aplikace pod značkou Digital Persona je bohužel nejasná. Aplikace má za sebou přes deset let vývoje a v poslední verzi je postavena na WBF architektuře. Za dobu působení aplikace na trhu byla i mnoho let distribuována se snímači otisku prstů a později také samostatně nebo v balíku s externím snímačem otisku. To, že ji v současné době nenalezneme u žádného z prodávaných notebooků, je z důvodu nesmyslného tlaku ve společnosti Authentec na prosazení aplikace TrueSuite, která ovšem kvality tohoto softwaru nikdy nedosáhla. Přesto je o Protector Suite stále zájem a lidé ji při stahování ze stránek Authentecu upřednostňují před TrueSuite. Podle interních statistik společnosti Authentec bylo za první pololetí roku 2012, kdy byly ještě obě aplikace placené, zakoupeno 833 licencí k Protector Suite a pouze 711 licencí k TrueSuite. To je pro Protector Suite výborný výsledek, vezmeme-li v úvahu, že v tomto období už nebyla vůbec propagována.
4.4.1
Protector Suite 2012
Po instalaci a nutném restartu systému a opětovném přihlášení se objeví zelenomodrá ikona s rukou v tray panelu systému. U této ikony je v tuto chvíli vidět upozornění, že je potřeba nejdříve provézt enrollment, toho lze dosáhnout například kliknutím na bublinu, použitím standardního ovládacího panelu Windows nebo také přiložením prstu na senzor. Enrollment je naprosto typický, jak byl dříve popsán. Uživatel vybere prst, který chce enrollovat, a v dalším okně je proveden dynamickým enrollmentem, který trvá tak dlouho, dokud není dosažena správná kvalita získané biometrické předlohy. Jakmile je enrollment dokončen, jsou automaticky k dispozici základní funkce skrze Windows Biometric Framework. Pro přístup k dalším funkcím stačí otevřít Control Center, např. skrze menu tray ikony. Control Center na obrázku 40 ukazuje na jednom místě v podstatě veškerou dostupnou funkcionalitu v tomto softwaru.
4 Biometrický software pro snímače otisků
63
Obrázek 40: Protector Suite 2012 - Control Center (Zdroj: autor) Identity
Manage Fingerprints
Zde uživatel provádí enrollment, popř. odstraňuje svoje otisky prstů. Na toto místo vede i odkaz z ovládacího panelu Biometrických zařízení systému WBF.
Status
Tato funkce poskytuje přehled nad zabezpečením systému a využívaním funkcí Protector Suite. Upozorňuje např. na provedení zálohy dat z Protector Suite nebo na nastavení záložního hesla, které se používá např. u zabezpečeného úložiště v případě poruchy čtečky otisku nebo zranění prstů.
Account Operations
Zde lze exportovat, importovat a mazat uživatelská data. I tudy vede cesta k nastavení záložního hesla.
Applications
Application Launcher
Zobrazí stejné ruce s prsty jako při enrollmentu, ale jsou naznačeny pouze naenrollované prsty, na které si uživatel buď může umístit ikonu některé z předvolených akcí, např. hibernaci, nebo si sám najde v systému program, který se má při nasnímání tohoto prstu spustit. Jeden prst musí zůstat volný pro běžné ověřování, např. při vstupu do Control Center se musí uživatel ověřit.
4 Biometrický software pro snímače otisků
Password Bank
64
Obsahuje registrace a nastavení banky hesel používané na webových stránkách nebo v dialozích systému. Tato funkce je popsána samostatně.
Strong Password Generator Funkce generující silná hesla. Tato hesla jsou v aplikaci uložena a uživatel si je může pojmenovat. K heslům potom přistupuje otiskem. Mimo nastavení délky hesla umožňuje i velmi detailní nastavení vlastností hesla, tj. z jakých znaků může sestávat, jestli má být hexadecimální atp. Encrypted Archives
V rámci této funkce existují dvě možnosti zabezpečeného úložiště: File Safe a Personal Safe. Tato funkce je dále popsána samostatně.
E-Wallet
Tato funkce poskytuje prostor k uložení osobních citlivých údajů, např. různá čísla kreditních, bankovních účtů, PIN, atd. Tyto údaje jsou chráněny jak jinak než otiskem prstu, popř. záložním heslem.
Biomenu
Pod touto položkou se přímo nenalézá téměř žádná funkcionalita, je tu jen možné vypnout zobrazení tray ikony aplikace. Hlavním smyslem je informovat uživatele o existenci Biomenu, na kterou už předtím upozorňuje i informační bublina při prvním spuštění po instalaci. Biomenu se vyvolá nasnímáním libovolného prstu, který není použitý funkcí Application Launcher. Jeho možnosti jsou vidět na obrázku 41. Jedná se vlastně o rychlý přístup k funkcím z Control Center.
Obrázek 41: Biomenu (Zdroj: autor) Settings
Windows Logon
Protector Suite ještě nabízí mírně rozšířené možnosti přihlášení do Windows. Jelikož předchozí verze fungovaly bez WBF archi-
4 Biometrický software pro snímače otisků
65
tektury, je možné použít proprietární přihlašovací funkcionalitu. Ta se významně neliší od té, kterou nabízí Windows. Přibude pouze hlášení zpětné vazby na snímání prstu, to znamená, že uživatel hned ví, zda se mu podařilo prst správně naskenovat. Mimo to je tu možné vypnout přístup za použití hesla Windows, takže jedinou cestou do systému bude uživatelův otisk. Select Skin
Umožňuje vybrat motiv celé aplikace včetně okýnek zpětné vazby a Biomenu.
Sound
Nastavení zvukové zpětné vazby pro úspěšné a neúspěšné ověření.
Update
Zjišťování aktualizace aplikace je v současnosti nepoužitelné, jelikož původní aktualizační servery jsou mimo provoz.
Advanced Settings
Pokročilá nastavení umožňují nastavení sofistikovanějších bezpečnostních politik pro dva typy uživatelů: administrátora a limitovaného uživatele, např. zda uživatel může enrollovat i jiné uživatele počítače než sebe, atp. Další možností nastavení je určení počtu pokusů o ověření, po kterých bude dočasně zakázána možnost ověření, a na jak dlouhou dobu bude zakázána.
Help
Tutorial
Tato položka názorně naučí uživatele pracovat se snímačem. Tady si také uživatel může prohlédnout svoje skutečné otisky.
Help
Klasická Windows nápověda.
Product Tour
Animovaný průvodce funkcemi celého softwaru.
Password Bank Pomocí této funkci může uživatel jednoduše nahradit svá hesla svým otiskem prstu. Password Bank umí spolupracovat s prohlížeči Internet Explorer, FireFox, Chrome a dokonce s libovolnými dialogy systému Windows, na kterých detekuje pole pro zadání hesla a nabízí uživateli jeho uložení nebo vyplnění, v případě že je daný dialog registrovaný. Obrázek 42 ukazuje, jak tato funkce informuje uživatele, že si může dialog zaregistrovat a příště k přihlášení použít otisk prstu. Pokud v tuto chvíli uživatel poskytne svůj prst na senzoru, otevře se mu průvodce, kde budou předvyplněné údaje, pokud už nějaké zadal předtím, než průvodce vyvolal, nebo údaje teprve vyplní. Po dokončení může uživatel rovnou použít otisk na vyplnění tohoto dialogu, který je automaticky potvrzen. Pokud uživatel otevře dialog příště, je informován stejným způsobem o tom, že může pouze naskenovat svůj otisk a dialog bude vyplněn a potvrzen.
4 Biometrický software pro snímače otisků
66
Obrázek 42: Registrace dialogu Windows funkcí Password Bank (Zdroj: autor)
Stejným způsobem funguje tato funkce ve webových prohlížečích. Je také možné registrovat opravdu složité formuláře a volit několik pokročilých nastavení ve spojitosti se způsobem vyplňování položek. Všechny registrace lze potom spravovat v Control Center. Ty jsou samozřejmě chráněny otiskem stejně jako celé Control Center. Encrypted Archives Funkce šifrovaných archivů poskytuje otiskem chráněné bezpečné úložiště ve dvou variantách. První variantou je File Safe, který funguje podobně jako libovolný archivační program, kdekoliv na disku pro uživatele vytvoří otiskem a záložním heslem chráněný archiv ze zvolených souborů a složek. Druhou variantou je Personal Safe, který funguje spíše jako šifrovaná virtuální disková jednotka. Každý uživatel má Personal Safe právě jeden, ten je dostupný buď z plochy, nebo z průzkumníka z úrovně diskových jednotek. Použití obou variant bezpečného úložiště je velmi jednoduché a podobné. Stačí, když uživatel vybere na disku nějaké soubory či složky a vyvolá kontextovou nabídku nad označenými položkami. V nabídce se nacházejí celkem tři možnosti: Add to new encrypted archive…
Přidá položky do nového archivu. Následuje dotaz na jméno šifrovaného archivu.
Add to existing encrypted archive…
Přidá položky do existujícího šifrovaného archivu. Následuje dialog s vyhledáváním tohoto archivu.
Add to Personal Safe
Přidá položky do osobního úložiště.
Tato funkcionalita je také dostupná z Control Center, kde je vidět také úplný seznam šifrovaných archivů na počítači a umožněna jeho správa. Archiv je ve výchozím stavu zamčen. Při snaze jej otevřít je uživatel vyzván k nasnímání svého prstu. Poté je mu zpřístupněn obsah, pokud je obsahem jediný soubor, je rovnou otevřen. Z kontextového menu souboru archivu je možné archiv opět uzamknout. Operace zamčení a odemčení na úložišti Personal Safe je možné dělat též z Biomenu.
4 Biometrický software pro snímače otisků
67
Další funkce Pokud by aplikace Protector Suite byla instalovaná na notebooku se senzorem, který podporuje Pre-boot Authentication nebo Power-On-Authentication, zobrazí několik dalších možností v Control Center. Tyto funkce prozatím nebyly implementovány s WBF ovladačem, proto by bylo nutné použít verzi aplikace pro klasickou legacy architekturu i s příslušným ovladačem zařízení. Aplikace je jinak pro obě architektury prakticky totožná. Specialitou je možnost použít senzor při ověřování vzdáleného připojení k ploše počítače. K tomu je potřeba zásuvný modul do služby vzdáleného připojení systému Windows. Ten zprostředkuje, že na vzdálenou plochu bude uživatel připojen i se snímačem připojeným k lokálnímu počítači. Tento modul bohužel není běžně dostupný a zatím pracuje pouze s ovladači a aplikací na klasické architektuře, nikoliv WBF. Tato technologie však existuje. Jedinou další funkcí, která stojí za zmínku, je použití senzoru jako polohovacího zařízení. Bohužel zatím pouze klasický legacy ovladač implementuje také tuto funkcionalitu. Protector Suite této funkce využívá ve dvou případech: pro pohyb mezi položkami Biomenu, které lze vybrat kliknutím na senzor anebo ve scrollovací funkci, která se zapíná v nabídce tray ikony. Potom lze scrollovat v libovolném obsahu oken Windows pomocí tažení prstem po senzoru. Tuto funkci však mezi podporovanými zařízeními podporují výhradně swipe senzory, na externích plošných senzorech ji není možné použít ani v případě použití klasické architektury.
4.5
Bezpečnost
Tato práce nevěnuje velkou pozornost samotné bezpečnosti použití otisků prstů. Je to z toho důvodu, že je zde přistupováno k celé problematice spíše jako k rozšíření běžné funkcionality než ke zvyšování bezpečnosti. Diskuze o tom, jestli je zabezpečení počítače otiskem prstu dostatečně bezpečné nebo ne, má dvě strany mince. Odpůrci tvrdí, že jelikož každý nevyhnutelně zanechává latentní otisky, tak je to v podstatě totéž, jako kdyby si uživatel do notebooku zavíral papírek s napsaným přihlašovacích heslem. Teoreticky vzato mají do jisté míry pravdu. Problém nastává ve chvíli, kdy se rozhodneme v reálné situaci se do takto zabezpečeného počítače opravdu nabourat. Potřebujeme nejdříve získat latentní otisk z povrchu počítače, jenže tam se nachází velké množství částečných otisků všech deseti prstů a částí dlaně, většina ještě bez pochyby rozmazaných. Takže prvním problémem je, jak vyhledat ten správný otisk. Tomu se může trénovaný špion vyhnout tak, že v baru odcizí sklenici použitou uživatelem počítače, a když bude mít štěstí, tak na jejím povrchu snáze najde kvalitnější otisky. Pak zbývá uhodnout, který prst může uživatel přihlašování používat. To je někdy usnadněno designem počítače, kdy umístění senzoru poměrně jasně napovídá, o který by mohlo jít. V tuto chvíli můžeme přistoupit k výrobě padělku prstu. Tato procedura je blíže popsána v příloze A. Výroba padělku není triviálním úkonem a nejtěžší částí je sehnání finálního vodivého materiálu, který bude představovat papilární linie. Pokud se nám to podaří, je potřeba upozornit, že padělek nemá velkou životnost a je třeba část výrobní procedury opakovat, v případě se ne-
4 Biometrický software pro snímače otisků
68
zdaří přihlášení s prvním exemplářem. Navíc moderní senzory se snaží implementovat algoritmy, které rozeznávají speciální vlastnosti materiálů a jsou schopné detekovat použití falešného otisku. Sečteme-li všechny tyto faktory a uvážíme-li, jak může být v dnešní době snadné tajně natočit uživatele zadávajícího své přístupové heslo do systému na klávesnici, ukazuje se použití otisku prstu jako zcela oprávněná metoda zabezpečení počítače. Existují také snímače otisku prstu, které ověřují přítomnost živého uživatele měřením tepu nebo zjišťováním teploty apod. Takové snímače se používají zatím jen ve speciálních aplikacích a jsou drahé oproti snímačům běžně dostupných v osobních počítačích. Bohužel některé společnosti, které mají zvýšené požadavky na zabezpečení počítačů, jako např. auditorská společnost PWC velké čtyřky, odmítá umožnit zaměstnancům používat zabezpečení otisky, přestože většina z nich snímač na svém pracovním notebooku má. Místo toho jsou nuceni několikrát zadávat velmi, velmi nepříjemně dlouhá hesla. Tyto společnosti se obávají této technologie přesně tak, jak bylo popsáno v předchozím odstavci. Jestli zbytečně, to už je opravdu ve firemní sféře složitější otázka na rozdíl od běžného soukromého použití osobního počítače. Dalšími bezpečnostními otázkami v souvislosti se softwarem je například forma ukládání hesel, které tyto softwary často schraňují, nebo způsob šifrování zabezpečených úložišť. Tyto problémy však nespadají do otázky bezpečnosti otisků prstů. Obecně se nedoporučuje používat otisk prstu jako jediné zabezpečení, pokud toto software umožní, ale nechat souběžně ještě přístup standardním heslem. Toto teoreticky bezpečnost spíše oslabuje, jelikož útočník si dokonce může vybrat, kterou cestou půjde. Nicméně je to z důvodu jistoty, že se bude moci uživatel přihlásit v případě selhání biometrického senzoru, či v případě, že dojde k závažnějšímu zranění prstů jeho ruky, které používá k přihlášení (tedy všech najednou nebo jediného, pokud používal jen jeden). Speciální bezpečnostní funkce, které myslí opravdu na zvýšenou bezpečnost celého systému, jsou Power On Authentication ve spojení s Pre-boot Authentication. První z těchto funkcí je sama o sobě spíše zvýšením pohodlí uživatele, jelikož po poskytnutí prstu je nastartován počítač. Druhá z těchto funkcí ovšem nepustí neoprávněného uživatele do systému vůbec, čili například pokud systém používá zašifrované diskové jednotky, tyto jednotky nejsou vůbec zpřístupněny a není možné je díky tomu nijak snáze nabourat. Pokud by to aplikace vyžadovala, a zde už je řeč spíše o korporátní sféře, může se používat otisk prstu spolu s nějakou jinou formou bezpečnostního prvku, např. obyčejným heslem, identifikační kartou, hardwarovým klíčem a podobně. Tomuto se říká více faktorové zabezpečení (angl. multi-factor security). Popsaný software Protector Suite podporuje použití více faktorového zabezpečení ve spojení s jiným instalovaným softwarem identifikačních karet. Zajímavým více faktorovým zabezpečením by bylo použití dvou různých prstů jednoho uživatele pro úspěšné ověření. S takovýmto přístupem jsem se však v praxi nesetkal. Pokud bylo použito více otisků prstů najednou, vždy byly rovnou snímány najednou na speciálním snímači.
4 Biometrický software pro snímače otisků
69
Extrémní nároky na bezpečnost vyžadují použití tzv. Trusted Platform Module (TPM). Tento modul hardwarově generuje šifrovací klíče. I s tímto modulem umí Protector Suite spolupracovat a pomocí získaných klíčů šifrovat veškerá data, se kterými pracuje. Běžný uživatel však zřídka narazí na potřebu takové bezpečnosti. Požadavky na takové zabezpečení v soukromém použití počítačů jsou spíše paranoiou než opodstatněným používáním prostředků. Kapitolou sama pro sebe je potom šifrování komunikace se senzory otisku. To se snaží předejít napadení systému z této strany, byť i v případě nešifrované komunikace si lze těžko představit scénář, ve kterém by toho bylo zneužito. Zajímavou možností je úložiště na zařízení čtečky otisku, ale konkrétně posoudit bezpečnostní dopad je problematické, až absurdní. Poslední bezpečnostní záležitostí, která stojí za zmínku, je používání obrazu nasnímaného otisku k přímému zobrazení uživateli jako zpětné vazby o kvalitě nasnímaného obrazu. Tento přístup není shledáván bezpečným ze stejného důvodu, jako byla popisovaná situace s natáčením zadávání hesla na klávesnici. Pokud by se útočníkovi podařilo zachytit obrazovku s otiskem, bylo by to pro něj výrazným usnadněním při případné výrobě podvrhu. V některých situacích je nicméně vizuálně vhodné používat otisk prstu alespoň pro symbolickou zpětnou vazbu uživateli. Toto se řeší použitím zkreslených nebo falešných obrázků otisku. Anglicky se slangově takovému obrázku říká fauxprint.
4.6
Shrnutí
Tato kapitola uvedla širší kontext problematiky biometrického softwaru otisků prstů. Z průzkumu softwarových řešení vyplývá, že zájem o tuto technologii mimo platformu Windows je minimální a výrobci snímačů často ani sami jiné platformy nepodporují. Představená funkcionalita biometrického software představuje námět k zamyšlení, na co by se snímače otisku prstů v systému osobního počítače daly ještě využít. Tímto tématem se zabývá kapitola 6. Software dodávaný výrobci notebooků se většinou zaměřuje na základní funkci a tou je zpříjemnění přihlášení do systému. Občas potom zabezpečuje různá disková úložiště a umožňuje spouštění aplikací prsty uživatele. Výjimečně jsou poskytované další pokročilejší funkce. Srovnávat dodávaná řešení by bylo velice problematické, jednak by bylo potřeba mít přístup k notebookům se senzory různých výrobců a dále by takové srovnání nemělo zřejmě valný přínos. Typ a funkce snímače otisku prstu je jedna z posledních vlastností, o které se uživatel při koupi přenosného počítače zajímá, pokud vůbec. Navíc je ve většině případů ani nemá možnost před koupí s nimi seznámit. Uživatelé jsou tak jednoduše odkázání na to, co jim výrobce počítače připravil. Někdy mají možnost si funkcionalitu rozšířit pořízením jiného softwaru. Výrobci snímačů, kteří vyvíjí zároveň i software, ale bohužel často omezují použití svého softwaru jen se svými snímači, a to i přestože je celé řešení postavené na WBF architektuře, která by jinak umožnila používat libovolné senzory s libovolným softwarem. Firma Egistec s podporou zařízení dalších dvou firem je v tomto výjimkou. Takže uživatelé, kteří mají u počítače exotický senzor, bez adekvátního softwarového řešení mohou být vděční za
4 Biometrický software pro snímače otisků
70
kompletní WBF driver, který jim umožní používat základní funkcionalitu Windows. Uživatelé počítačů se senzory Egistec mají možnost si zakoupit „lepší“ aplikaci za necelých 40 dolarů. Uživatelé senzorů původních firem Authentec a Upek si mohou stáhnout kvalitní aplikaci zdarma z původních stránek Authentecu. Podrobněji popsaná aplikace Protector Suite představuje zástupce softwaru, který poskytuje víceméně nadmnožinu všech možných biometrických funkcí, které najdeme ve všech ostatních softwarech, které se na trhu nacházejí. Implementace je samozřejmě rozdílná a může se lišit přístupem k bezpečnosti, ale principiálně se jedná o tu samou funkcionalitu. Funkce jsou opravdu rozmanité a někdy mohou uživateli velmi usnadnit práci s počítačem. Je škoda, že nedochází k většímu rozšíření kvalitního softwaru, který by jistě snímače otisku prstu v osobních počítačích zpopularizoval.
5 SDK pro práci se snímači otisků prstů
71
5 SDK pro práci se snímači otisků prstů Touto kapitolou počínaje se práce zabývá problematikou programování pro biometrické snímače. Náhled na téma je pojat co nejpraktičtěji, a proto se následující text zabývá balíčky SDK, které umožňují aplikačním programátorům poskytnout biometrickou funkcionalitu v jejich vlastních aplikacích. Takže mohou posloužit i pro integraci ověřovacích funkcí do informačních systémů, kde se očekává přítomnost čteček otisku v klientských stanicích. API, která jsou v SDK poskytována, jsou samozřejmě jen jednou z mnoha úrovní, na které může být problematika programování analyzována. Je to však nejvyšší úroveň, kterou může prakticky využít téměř libovolný programátor.
Obrázek 43 pro úplnost poskytuje detailnější náhled do vrstev architektury softwaru pracujícího nad snímacími zařízeními. Obrázek 33 v předchozí kapitole je obecnějším pohledem na totéž. Úplně nejnižší softwarovou vrstvou je firmware zařízení. Jedná se o software běžící na kompanion čipu zařízení. Záleží ale na výrobci a jeho konkrétní realizaci zařízení, jak významnou roli firmware bude mít. Např. zařízení typu Sensor Only firmware nemají. První vrstvou v systému počítače je ovladač zařízení, který zprostředkovává základní komunikaci se zařízením. Na něj navazuje vrstva infrastruktury realizující základní biometrickou funkcionalitu. Tato vrstva si je velice blízká s tzv. middleware, který staví na základní infrastruktuře funkční celky a poskytuje jejich privátní API vyšším vrstvám. Proprietární aplikace stojí na middlewaru, nebo tato vrstva není tak striktně oddělena, a pracuje s infrastrukturou přímo. Z middlewaru vychází vrstva veřejných API, které jsou v rámci SDK balíčků zpřístupněny třetím stranám, a ty na nich staví své aplikace. Úrovně softwaru pod veřejnými API jsou specifické pro každého výrobce a nemá valný význam o nich pojednávat, protože pro aplikační programátory nejsou důležité. Tato kapitola se z diagramu na obrázku 43 zabývá pouze vrstvou veřejných API. Konkrétní souvislost s obrázkem 33 je taková, že vrstvy z obrázku 43 spadají buď do balíku ovladače zařízení, anebo přímo do struktury aplikace. Kde přesně je jednotlivá vrstva fyzicky realizována, záleží na konkrétním výrobci.
5 SDK pro práci se snímači otisků prstů
72 3rd party Application Public API (via SDK)
Proprietary Application
Middleware
Infrastructure Device Driver
Firmware Hardware
Obrázek 43: Vrstvy softwarové architektury (Zdroj: autor)
Architektura WBF by vnesla do diagramu na obrázku 43 pořádný chaos, proto raději uvedu souvislosti slovně v tomto odstavci. WBF zasahuje vlastně všechny vrstvy, počínaje ovladačem zařízení a veřejným rozhraním konče. Nezabírá však tyto vrstvy úplně, ale napojuje se v nich na proprietární technologii výrobce přes standardizovaná rozhraní. Čili zobrazený model stále platí, je jen možné si představit jeho rozšíření z pravé strany. Veřejné API standardizuje úplně, ale ponechává v něm možnost přístupu k proprietárním funkcím. SDK poskytované výrobci snímačů jsou tedy založeny na klasické architektuře. Mohlo by být samozřejmě vytvořeno SDK vyšší úrovně s rozšířenou funkcionalitou nad WBF architekturou, ale to by poněkud kazilo přínos jednotného WBF přístupu a takové řešení se nevyskytuje. Další možností jsou SDK třetích stran, která jsou postavena nad větším množstvím SDK výrobců snímačů a tak umožňují určité sjednocení přístupu k funkcionalitě podobně jako WBF. Jejich hlavní výhodou je ale podpora většího spektra snímačů různých výrobců. Dá se očekávat, že tyto SDK budou časem na systému Windows vytlačena plnohodnotným použitím WBF architektury.
5.1
Průzkum trhu
V rámci průzkumu trhu SDK poskytujících biometrické služby snímačů otisku prstu jsem se omezil na výrobce, jejichž produkty podporují snímače, které běžně nalezneme integrované v přenosných počítačích. Jedná se tedy o konkrétní produkty podporující technologie některé ze tří společností: Egistec, Validity a Digital Persona. K reálnému použití pak mohou být ještě dostupné externí čtečky jiných výrobců. Na našem trhu se sice v současnosti nevyskytují, ale je možné dát si je dovézt ze zahraničí. V takovém případě je nutné kontaktovat zvoleného výrobce a zjistit, jaká SDK nabízí, nebo nalézt jiného výrobce softwaru, který vyvíjí
5 SDK pro práci se snímači otisků prstů
73
SDK s podporou zvoleného výrobce. Bohužel výrobci nemají příliš zájem se chlubit SDK a jejich funkcemi. K nabídce SDK mají přímo přístup většinou jen zákazníci odebírající hardware snímačů. Proto tento průzkum vychází zcela na prázdno. Celou situaci zachraňuje technologie WBF, díky které stačí, aby výrobce poskytl kompletní balík WBF driveru. Egistec naplno sází na sílu architektury WBF a v současné nabídce nezmiňuje jiné varianty. Je ovšem pravděpodobné, že jsou k dostání při přímé komunikaci s výrobcem, a zejména při vytváření objednávky na jeho hardware. Validity se taktéž nezmiňuje o žádném SDK, takže vše zůstává v režii WBF architektury. Teprve u výrobce Digital Persona začíná být situace zajímavá. Tento výrobce poskytuje vývojářský balík pro své optické senzory za 149 dolarů. Součástí balíku je i jedna ze dvou nabízených čteček dle výběru zákazníka. Toto SDK ke svým knihovnám nabízí i širokou škálu rozhraní pro programovací prostředí C, C++, C#, Java, Visual Basic .NET, Active X/COM a JPOS/OPOS. Knihovny poskytují kompletní identifikační funkcionalitu, ale zákazník si musí implementovat vlastní databázi biometrických předloh. Stejně tak veškeré uživatelské rozhraní. Pro zděděné křemíkové produkty původně ještě ze společnosti Upek, poskytuje Digital Persona BSAPI SDK. Výrobce uvádí, že SDK obsahuje funkce na získávání otisku, provádění enrollmentu, porovnávání předloh, šifrování obrázků, podepisování dat, generování hesel na jedno použití a další. Dále by mohl následovat nic neříkající seznam standardů. Důležitá je ale podpora operačních systémů. Toto SDK je dostupné pro nejvýznamnější operační systémy: Windows, Linux, Mac OS. V plné verzi stojí rovných 1000 dolarů. Je ovšem dostupná i tzv. Lite verze, a to zdarma. O té se ovšem zákazník nikde dočíst nemůže, opět je nutná přímá komunikace s výrobcem. Lite verze je zamýšlena především pro evaluaci nabízených funkcí. Ve skutečnosti ovšem obsahuje prakticky kompletní možnosti funkcionality a z přechodu na plnou placenou verzi může těžit jen minimum zákazníků. Nejcennějším prvkem plné verze je zákaznická podpora, kterou si s ní zákazník kupuje. Ačkoliv je Lite verze dostupná zdarma, není možné ji volně šířit. Pro její získání je potřeba podepsat tzv. NDA smlouvu (z angl. NonDisclosure Agreement). Tato smlouva stanovuje omezení, za kterých se smí s SDK nakládat. Např. je zde vymezeno, které části poskytnutého SDK mohou být dále distribuovány jako součásti koncových aplikací. Protože není možné dále distribuovat hlavičkové soubory ke knihovnám ani nápovědu, nemůže se tato práce bohužel zabývat konkrétním popisem tohoto velmi používaného vývojářského balíku. Pro rozšíření ještě přidávám stručný pohled na další varianty umožňující implementaci biometrie. Tyto varianty jsou spíše zaměřeny pro firemní řešení. V tomto směru je na trhu několik SDK třetích stran, které podporují zařízení více výrobců snímačů, a to velmi často včetně těch, které nalezneme integrované v osobních počítačích. Např. společnost Griaule Biometrics nabízí svoje Fingerprint SDK za 36 dolarů za licenci, tj. provozování na něm založené aplikace na jednom počítači. K dispozici je také trial verze. Toto SDK podporuje kolem 50 typů snímacích zařízení, včetně zařízení známých křemíkových společností Upek, Authentec (obě
5 SDK pro práci se snímači otisků prstů
74
nyní Digital Persona). Všechna ostatní podporovaná zařízení jsou na optické bázi. Přímá podpora rozhraní různých programovacích prostředí je na vynikající úrovni, podporovány jsou: Java, Delphi, Visual Basic, C++, .NET, FoxPro, Perl, PHP, ASP a další. VeriFinger SDK, spolu se svou velmi omezenou variantou Free Fingerprint Verification SDK jsou dalšími zástupci z kategorie SDK třetích stran podporujících širší spektrum čteček otisku. Výrobce udává dokonce 90 podporovaných modelů! Tyto SDK jsou zajímavé hlavně tím, že zahrnují také databázi předloh, tím se dostávají do vyšších úrovní poskytované funkcionality. Ze známých výrobců z této práce podporují čtečky firem: Upek, Authentec (dnes křemíkové Digital Persona), Digital Persona (optické). Ostatní podporovaná zařízení jsou všechna na optické bázi (s výjimkou historického termálního senzoru firmy Atmel). Podporována jsou prostředí: C++, C#, Visual Basic .NET, Visual Basic 6, Sun Java 2, Delphi 7. Některé i na platformách Linuxu a Mac OS. Velmi podobným balíkem se širokou podporou zařízení čteček je GrFinger Fingerprint SDK. Podporuje programovací prostředí: Java, C++, Delphi 6-7, Visual Basic 6, Visual Basic .NET, VBA, C#, Visual Fox Pro 8. Zdarma ke stažení je k dispozici trial verze. Ceny variant plných verzí se pohybují od 30 do 100 dolarů. Na současném trhu by ještě bylo možné nalézt větší množství podobných SDK třetích stran. Tyto SDK obvykle poskytují podobnou úroveň funkcionality a odlišují se zejména celou, škálou podporovaných zařízení čteček, podporou různých programovacích prostředí a platforem. V současnosti je ale výhodné se jejich použití vyhnout a implementovat podporu biometrie do aplikace pomocí rozhraní WBF. To ovšem existuje pouze na platformě Windows. Na jiných operačních systémech mohou SDK třetích stran, popřípadě proprietární SDK výrobců snímačů stále najít své uplatnění.
5.2
Úrovně poskytované funkcionality
Co všechno SDK ve svých knihovnách skrze API poskytují, lze také rozčlenit do určitých úrovní. V zásadě mohou být API dělena do skupin jako: nízko-úrovňová, infrastrukturní, grafická s uživatelským rozhraním. Toto členění je v této práci původní a slouží pro ilustraci poskytovaných funkcionalit. Výrobci podobné vlastnosti svých API neuvádějí. Dovtípit se konkrétního zařazení je možné jen studiem poskytovaných funkcí. Nízko-úrovňová API se vyskytují nejčastěji a obsahuje je většina SDK. Tato rozhraní se starají o přímou komunikaci se zařízením a o práci s různými produkty jednotlivých biometrických
5 SDK pro práci se snímači otisků prstů
75
procesů. Neřeší pokročilejší funkce spojené s ukládáním biometrických předloh a jejich správou. Infrastrukturní API na rozdíl od nízko-úrovňových poskytují funkcionalitu z vyššího pohledu nad určitou implementací databáze biometrických předloh. Programátor tak v tomto případě nemusí ani přijít přímo do styku s entitou biometrické předlohy a nemusí zajišťovat správu těchto entit. Tato API jsou u proprietárních SDK méně častá. Pokud programátor nemá zároveň s těmito API přístup k nízko-úrovňovému rozhraní, nemůže některé detaily biometrických procesů nijak ovlivnit. Grafická API poskytují předvolené uživatelské rozhraní provedené dle stylu výrobce. Tyto API většinou jen doplňují infrastrukturní API a jejich použití je dobrovolné. Pokud jsou dostupná, mohou při implementaci standardních biometrických procesů značně ušetřit programátorovi práci. Windows Biometric Framework lze zařadit do skupiny infrastrukturních API, protože obvykle sám řeší kompletní správu biometrických předloh a jejich napojení na systémové účty.
5.3
Biometrická API obecně
Tato podkapitola se týká zejména práce s nízko-úrovňovými rozhraními. Použití s infrastrukturním rozhraním bývá ovšem analogické. Když se vývojář aplikace rozhodne, že bude implementovat biometrickou funkcionalitu do své aplikace, udělá to proto, že potřebuje v některém z případů užití ověřit uživatelovu identitu. Aby mohl biometrii implementovat, musí si mimo zařízení čtečky a ovladače pořídit také příslušné SDK, které mu umožní vývoj pro toto zařízení. V balíku SDK nalezne: knihovny, hlavičkové soubory, dokumentaci s popisem API zveřejněného v hlavičkových souborech, obalová rozhraní pro různá vývojová prostředí (volitelně). Naprostá většina SDK obsahuje základní knihovny jazyka C. K nim náleží i přiložené hlavičkové soubory, které prezentují veřejná API. Použití v dalších programovacích prostředích je řešeno tzv. obalovými knihovnami (angl. wrapper library), které vnitřně používají základní C knihovny a pouze je překládají do daného jazyka. Na systému Windows se nejčastěji setkáme s dynamickými knihovnami s příponou DLL. Můžeme se setkat i se statickou variantou LIB. Soubor statické knihovny LIB je přítomen i pro dynamickou variantu DLL, tvoří totiž její vnitřní programové rozhraní, které je třeba zabudovat do programu při překladu.
5 SDK pro práci se snímači otisků prstů
76
Pro Linux jsou distribuovány knihovny v dynamické formě s příponou SO. Statická forma potom má příponu A. Na Mac OS jsou rovněž častější dynamické knihovny s příponou DYLIB, nicméně na této platformě jsou API distribuována jako balíky frameworků, což jsou vlastně složky s příponou FRAMEWORK. Všeobecně platí, že použití dynamických knihoven je častější než použití statických knihoven. Následující příklad je zasazen do prostředí platformy Windows a ukazuje běžnou komunikaci se snímačem otisku prstu v jazyce C (konvence nejsou pro názornost přesně dodrženy). Příklad je pojat obecně jako implementace biometrie z fiktivní XXAPI knihovny. #pragma comment(lib, "XXAPI") #include "XXapi.h" void main() { XXInitialize(); XXDevice device; XXEnumerateDevices(&device); XXSession session; session = XXOpen(&device); XXTemplate template; XXEnroll(session, &template); bool result; result = XXVerify(session, &template); XXClose(&session); XXTerminate(); }
První řádek programu je informací pro linker, jakou knihovnu k programu připojit. Následuje inkluze hlavičkového souboru příslušné knihovny, kde jsou deklarovány dostupné funkce veřejného rozhraní. Poté jsou již v samotném programu volány jednotlivé funkce z této knihovny. Zobrazený příklad provádí enrollment a získanou biometrickou předlohu potom ihned použije k verifikaci uživatelovi identity. Průběh programu lze shrnout takto: 1. Inicializace knihovny (XXInitiliaze) 2. Enumerace a výběr zařízení (XXEnumarateDevices) 3. Otevření komunikační relace se zařízením (XXOpen) 4. Práce s biometrickým systémem v otevřené relaci (XXEnroll, XXVerify) 5. Uzavření komunikační relace se zařízením 6. Deinicializace knihovny
5 SDK pro práci se snímači otisků prstů
77
Krok 2 může být volitelný. Obvykle přímé otevření senzoru bez předchozí enumerace a výběru zařízení otevře relaci s prvním dostupným zařízením na vybraném komunikačním rozhraní. V rámci kroku 4 předcházejícího seznamu se operace na biometrickém systému dělí na: interaktivní, neinteraktivní. Interaktivní operace očekávají spolupráci uživatele a jeho akce na senzoru zařízení. Tyto operace poskytují uživateli zpětnou vazbu o vývoji operace, která obvykle řeší nějaký biometrický proces (např. funkce XXEnroll může řešit enrollment). Do programu se zpětná vazba dostává přes funkci tzv. zpětného volání (angl. callback function). Mezitímco funkce XXEnroll blokuje průběh programu, biometrická knihovna volá určenou funkci zpětného volání, kterou definuje ve svém programu aplikační programátor. V této funkci jsou pak přijímány informace o průběhu interaktivních operací a dále zprostředkovány uživatelům prostřednictvím uživatelského rozhraní aplikace. Následuje příklad funkce callbacku. void callbackFunc(int msg) { switch (msg) { case USER_FEEDBACK1: // ... break; case USER_FEEDBACK2: // ... } } void main() { // ... XXEnroll(session, &template, callbackFunc); // ... }
Mechanismus zpětného volání představuje určitá omezení, kterým je třeba se podřídit. Callback musí být statická funkce. S tím je nutno počítat při návrhu programu v objektovém prostředí, např. v C++. Proto callback nemůže být metodou žádné třídy a je třeba vyřešit jeho napojení na tuto hierarchii. Toho lze dosáhnout různými způsoby. Vhodným řešením je předání potřebného ukazatele callbacku v takzvaném operačním kontextu. Kontext není v příkladu uveden, jedná se o dodatečný parametr, který se uvede při volání interaktivní funkce. Tato data potom přicházejí jako parametr do callbacku při každém jeho volání. Jiným způsobem je triviální použití globálních proměnných. Z hlediska návrhu to však není vhodné řešení. Jiný problém vzniká, pokud aplikace pracuje s grafickým uživatelským rozhraním a její běh je uzavřen v tzv. smyčce zpráv (angl. message loop). Pokud je totiž volána interaktivní funkce biometrického systému, dojde k blokování hlavního vlákna, dokud není operace dokončena. Během blokování tudíž není obsluhována smyčka zpráv a uživatelské rozhraní aplikace
5 SDK pro práci se snímači otisků prstů
78
přestane reagovat. Tento problém lze řešit dvěma způsoby. Pokud to biometrická knihovna umožňuje, může být do callbacku pravidelně s vysokou frekvencí zasílána zpráva o nečinnosti. V obsluze této zprávy lze potom obsloužit část zpracování zpráv, ke kterému v nyní stojící smyčce zpráv nedochází. Tím uživatelské rozhraní opět začne reagovat. Tento způsob je zvláště výhodný pro zachování relativní jednoduchosti aplikace. Nemusí ho ale být možné vždy realizovat. V případě používání biometrie v některém z vyšších jazyků nemusí být vždy dostupné funkce pro obsluhu smyčky zpráv, nebo za určitých okolností nemusejí fungovat. Druhým a pokročilejším způsobem řešení předchozího problému s blokováním hlavního vlákna aplikace je použití více vláken. V tomto případě je nutné věnovat pozornost mezivláknové komunikaci a s tím spojené synchronizaci. Podrobnější popis této problematiky je nad rámec této práce. Jednoduchým řešením, jak předávat zprávy z callbacku do hlavního vláka aplikace na systému Windows, je použití funkcí zasílání zpráv do hlavní smyčky zpráv. Tyto funkce jsou vláknově bezpečné (angl. thread safe) a tak je jejich použití pro jednoduché zprávy velmi snadné. Složitější může být korektní přenášení objemnějších zpráv, např. obrázků otisků apod. Potom je žádoucí se blíže seznámit s více-vláknovým programováním. Rozhraní často dodržují představenou konvenci prefixování jmen funkcí zkratkou názvu knihovny. Ostatní konvence jsou určeny spíše použitým programovacím prostředím. Použití jiného prostředí než prostředí jazyka C/C++ je analogické, pouze v úvodu se připojuje knihovna pro jazyk specifickým způsobem a je nutná inkluze jiného definičního souboru než klasického hlavičkového. To je samozřejmě možné, pokud je takové rozhraní dodáváno v rámci SDK. Pokud není, je vždy možné si vytvořit vlastní obalovou knihovnu. To vyžaduje především znalosti o používání dynamických knihoven. V tomto případě programátor vytvoří vlastní knihovnu v příslušném jazyce, ve které překládá předpis funkcí a datových typů do zvoleného jazyka a napojuje je na volání do dynamické knihovny. Podrobnější popis této problematiky je výrazně nad rámec této práce. Kromě popsané funkcionality jsou obvykle k dispozici ještě funkce řešících globální a relační nastavení biometrie, systém oznamování chyb, správu paměti, přerušování probíhajících operací, priority biometrických operací, řízení spotřeby a další. Tyto funkce jsou však implementovány každým výrobcem odlišně. Představená logika je nejčastějším provedením základní funkcionality těchto knihoven. Mohou samozřejmě existovat i jiná provedení, např. s asynchronními funkcemi, apod. Nejsou však tak častá jako představené synchronní API. Windows Biometric Framework nabízí oba typy rozhraní, asynchronní přístup bude podrobněji vysvětlen v rámci jeho popisu v následující podkapitole. Tento obecný popis má programátorovi sloužit jako vodítko, co může při implementaci biometrických API očekávat. API jiných úrovní mohou být navrženy odlišně, přesto infrastrukturní API většinou kopírují logiku nízko-úrovňových rozhraní.
5 SDK pro práci se snímači otisků prstů
5.4
79
Windows Biometric Framework API
Toto aplikační rozhraní poskytuje přístup k funkcím poskytovaných ve službě Windows Biometric Service (WBS). Tato podkapitola popisuje pouze klientské API, nikoli API pro implementaci ovladačů a adaptérů biometrických jednotek WBF, které je také ve frameworku obsaženo. Tato podkapitola čerpá z referenční knihovny společnosti Microsoft (Microsoft 2013a). Klientské WBF API poskytuje aplikacím přístup k těmto funkcím: Identifikace, verifikace a enrollment uživatelů Vyhledání biometrických zařízení a dotazování se na jejich schopnosti Management relací a monitorování událostí Ukládání biometrických předloh Windows Biometric Service umožňuje běžným klientským aplikacím provádět biometrické operace, aniž by měly přímý přístup k biometrickým datům nebo hardwaru. Obrázek 44 ukazuje, jak služba WBS vytváří bezpečnostní hranici mezi klientskými aplikacemi a biometrickými komponentami systému. Obrázek také ilustruje celkovou architekturu WBF.
Obrázek 44: Architektura Windows Biometric Framework a oddělení klientských aplikací (Zdroj: Microsoft 2012a)
5 SDK pro práci se snímači otisků prstů
5.4.1
80
Biometrické jednotky a skupiny
Architektura WBF je podrobně popsána v kapitole 4.2.1. Z pohledu aplikačního programátora je důležité vědět, že softwarovou entitou reprezentující biometrická čtecí zařízení jsou biometrické jednotky a že každá jednotka může být zařazena do jedné ze tří skupin: Systémová skupina, Soukromá skupina nebo Nezařazené, viz kapitola 4.2.1. Aplikační programátor, který vytváří pouze klientskou aplikaci biometrického systému, používá pouze zařízení zařazená v systémové skupině. Zařízení v této skupině jsou v systému sdílená klientskými aplikacemi. Soukromá skupina je zajímavá spíše pro výrobce komplexního softwaru pro biometrické čtečky, kdy je vhodné vyhradit použité zařízení pouze pro jedinou aplikaci, která integruje biometrickou funkcionalitu pro speciální účel. Tím aplikace získává i rozšířený přístup k biometrické funkcionalitě nižší úrovně. Očekává se, že proprietární softwarová řešení výrobců čteček budou používat zařízení skrze tuto skupinu. Soukromých skupin může být v systému více. Jakmile je do systému připojeno nové biometrické zařízení, systém se jej pokusí nakonfigurovat tak, aby mohlo být zařazeno do systémové skupiny. Pokud se to nezdaří, je zařízení zařazeno do skupiny nezařazených zařízení. V případě, že chce aplikace používat biometrické jednotky v exkluzivním režimu, musí si je sama přeřadit do své soukromé skupiny. Použití biometrických jednotek v soukromé skupině má tyto vlastnosti: Jsou dostupné pouze v klientské aplikaci, která vytvořila tuto soukromou skupinu. Zprávy o událostech jsou zasílány přímo do aplikace bez ohledu na současné zaměření oken v systému. Biometrické předlohy jsou identifikovány globálním identifikátorem GUID. Aplikace rozhoduje, jaká databáze biometrických předloh bude použita. Použití soukromé skupiny zařízení je nutné, pokud aplikace: chce spravovat biometrické jednotky, které používají specifickou databázi biometrických předloh, která nemusí mít přímou souvislost se systémovými účty (např. docházkové aplikace, apod.), vyžaduje přístup přímo k biometrickým datům, např. biometrickým předlohám, provádí aktualizaci firmwaru zařízení, nebo přistupuje k výrobcem definovaným funkcím, běží skrze vzdálený přístup k ploše. Systémová skupina je vždy jen jedna a používání biometrických jednotek v ní má tyto vlastnosti: Smějí být sdíleny mezi více klientskými aplikacemi.
5 SDK pro práci se snímači otisků prstů
81
Klientské aplikace dostávají zprávy o biometrických událostech, pouze pokud je některé z oken aplikace aktuálně zaměřeno. Pro reprezentaci identit se používá identifikátor SID systémového účtu. Využívají databázi předloh poskytovanou službou Windows Biometric Service. Tato kapitola je zaměřena pouze na klientské aplikace sdílející biometrický systém, proto se nadále pracuje jen se systémovou skupinou biometrických jednotek.
5.4.2
Systémová skupina biometrických jednotek
Klientská aplikace pracující se zařízením ze systémové skupiny dostává zprávy o biometrických událostech následujícím způsobem: Pokud aktuálně zaměřené okno čeká na enrollment nebo autentifikaci, dostává tato aplikace zprávu. Pokud aktuálně zaměřená aplikace neočekává žádnou biometrickou událost, ale existuje aplikace s registrovanou obsluhou neočekávaných událostí, potom tato obsluha této aplikace obdrží zprávu o události. Pokud událost zůstává neobsloužena, je zahozena. Zařízení může být také přepnuto do režimu polohovacího zařízení tak, že některá aplikace registruje obsluhu těchto tzv. navigačních operací. Tento režim musí být ale výrobcem podporován v ovladači zařízení, což nebývá prozatím u WBF ovladačů pravidlem, proto tato problematika není dále analyzována. To v jakém režimu pracuje zařízení, zda v základním (angl. basic mode), nebo v pokročilém (angl. advanced mode), je rozhodnuto dodavatelem softwaru při instalaci zařízení do počítače. Aplikace nemá možnost ovlivnit, kde budou biometrická data zpracovávána, jestli v zařízení nebo v softwarové vrstvě WBF.
5.4.3
Implementace
Funkcionalita WBF API je zprostředkovaná klasicky ve formě dynamické knihovny DLL. Pokud se ji aplikační programátor rozhodne použít, musí připojit návaznou statickou knihovnu a zahrnout příslušné hlavičkové soubory, jak je vidět v následujícím zdrojovém kódu. Ukázky zdrojových kódů jsou tradičně v jazyce C/C++, ve kterém jsou veškerá rozhraní přirozeně k dispozici. #pragma comment(lib, "winbio.lib") #include "windows.h" #include "winbio.h"
5 SDK pro práci se snímači otisků prstů
82
WBF API nabízí dvě varianty samotného rozhraní. To může být buď synchronní, nebo asynchronní. Synchronní rozhraní Principálně se jedná o shodné provedení, jako bylo předvedeno v kapitole 5.3 Biometrická API obecně. WBF API je plně veřejné rozhraní, proto může zde jeho použití být předvedeno konkrétně. Následující zdrojový kód ukazuje provedení synchronní verifikace. HRESULT hr = S_OK; WINBIO_SESSION_HANDLE sessionHandle = NULL; WINBIO_UNIT_ID unitId = 0; WINBIO_REJECT_DETAIL rejectDetail = 0; WINBIO_IDENTITY identity = idUserX; // ID of user to verify BOOLEAN match = FALSE; hr = WinBioOpenSession( WINBIO_TYPE_FINGERPRINT, WINBIO_POOL_SYSTEM, WINBIO_FLAG_DEFAULT, NULL, 0, NULL, &sessionHandle ); hr = WinBioVerify( sessionHandle, &identity, subFactor, &unitId, &match, &rejectDetail ); if (SUCCEED(hr)) { // FINGER VERIFIED } if (FAILED(hr)) { if (hr == WINBIO_E_NO_MATCH) { // NO MATCH } else if (hr == WINBIO_E_BAD_CAPTURE) { // BAD CAPTURE } else { // ANOTHER ERROR } } WinBioCloseSession(sessionHandle);
// // // // // // //
Service provider Pool type Configuration and access Array of biometric unit IDs Count of biometric unit IDs Database ID [out] Session handle
5 SDK pro práci se snímači otisků prstů
83
Z příkladu je patrné, že na rozdíl od jiných proprietárních knihoven není potřeba inicializovat knihovnu samotnou. Ta je inicializována přímo systémem. Ani zařízení není potřeba vybírat ručně. Může být použito libovolné připojené zařízení čtečky, které je nakonfigurováno pro práci v systémové skupině biometrických jednotek (angl. Biometric Unit - BU). Které zařízení bylo skutečně použito, lze zjistit z výstupu funkce, která interaktivní operaci provádí. Práce s WBF API se tak skládá pouze z následujících kroků: 1. Otevření komunikační relace se systémovou skupinou BU (WinBioOpenSession) 2. Práce s biometrickým systémem (WinBioVerify) 3. Uzavření komunikační relace (WinBioCloseSession) V případě synchronní komunikace bude volání WinBioVerify blokovat běh dokud okno aplikace nebude zaměřeno, a za tohoto stavu uživatel poskytne svůj prst na snímač otisku. Příklad je mírně zjednodušen o důslednou kontrolu chybových hodnot. Vstupem WinBioVerify je ověřovaná identita naenrollovaného uživatele systému (identity). Tato identita musí být získána jinými systémovými funkcemi, které nemají souvislost s WBF. Výstup tohoto volání může být vyhodnocen kontrolou chybové návratové hodnoty (hr), tak jak je uvedeno v příkladu. Nebo může být použit výsledek typu boolean (match). Výstupem funkce je také mimo jiné identifikátor označující zařízení, které uživatel pro ověření použil. Celé synchronní API je navrženo tak, že není použito žádné funkce zpětného volání (callback). Díky tomu je práce s ním v této podobě velmi jednoduchá, avšak hodí se spíše pro konzolové aplikace, neboť pro jeho rozumné použití v aplikacích s uživatelským rozhraním by bezpodmínečně vyžadovalo spouštění biometrických operací v odděleném vlákně. Tuto komplikaci řeší asynchronní varianta rozhraní. Asynchronní rozhraní Aktuální varianta biometrického rozhraní je ve WBF realizována tak, že zachovává logiku synchronního rozhraní, avšak pokud je komunikační relace otevřena jako asynchronní, potom i všechna volání v rámci této relace jsou asynchronní. Toto chování bylo zavedeno počínaje Windows 8. Ve Windows 7 není dostupné, tam je přístup opačný, logika otvírání a zavírání komunikační relace je shodná se synchronní verzí, ale volány jsou asynchronní varianty biometrických funkcí. Nový přístup ve Windows 8 je výhodnější, protože nastavení společné funkce zpětného volání je provedeno při otevírání komunikační relace a v rámci této funkce jsou řešeny všechny události biometrických operací. Nebo nemusí být funkce zpětného volání použito vůbec a biometrické události mohou být doručovány aplikaci přímo jako systémové zprávy, které každá aplikace s uživatelským rozhraním zpracovává ve smyčce zpráv. Tento způsob výrazně ulehčuje integraci biometrie do klientských aplikací. Oproti tomu ve Windows 7 musí mít každá asynchronní funkce svůj vlastní typ funkce zpětného volání, což zanáší do kódu další komplexitu a nejednotnost. Přímé použití systémových zpráv není možné. Následuje ukázka verifikace v novém asynchronním provedení za použití zpráv systému.
5 SDK pro práci se snímači otisků prstů
84
LRESULT WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { // ... switch (message) { case WM_CREATE: WinBioAsyncOpenSession( WINBIO_TYPE_FINGERPRINT, WINBIO_POOL_SYSTEM, WINBIO_FLAG_DEFAULT, NULL, 0, NULL, WINBIO_ASYNC_NOTIFY_MESSAGE, TargetWindow, WM_APP+1, NULL, // No callback UserData, // Alias context true, &sessionHandle ); break; case WM_COMMAND: // ... WinBioVerify( sessionHandle, &identity, subFactor, &unitId, &match, &rejectDetail ); break; case WM_APP+1: WINBIO_ASYNC_RESULT *result = (WINBIO_ASYNC_RESULT*)lParam; // DISPLAY THE RESULT TO THE USER WinBioFree(result); break; case WM_DESTROY: WinBioCloseSession(sessionHandle); break; // ... } // ... }
Tento zdrojový kód zobrazuje integraci asynchronního biometrického rozhraní přímo do procedury okna (WindowProc), která standardně zpracovává všechny zprávy systému pro danou aplikaci. Při vzniku hlavního okna aplikace (zpráva WM_CREATE) je otevřena asynchronní komunikační relace (WinBioAsyncOpenSession). Tato relace je nastavena tak, aby nepoužívala zpětná volání, nýbrž aby místo toho přímo zasílala zprávy aplikaci, která je opět zpracuje v proceduře okna. Pro tyto zprávy byl zvolen identifikátor uživatelské zprávy WM_APP+1. Pokud např. uživatel vyvolá biometrickou operaci stisknutím tlačítka v uživatelském rozhraní
5 SDK pro práci se snímači otisků prstů
85
(WM_COMMAND), je tato operace zahájena (WinBioVerify), ale funkce se ihned vrací a pokračuje běh smyčky zpráv programu. Pokud v této chvíli uživatel provede požadovanou akci na snímači otisku prstu, je její výsledek zaslán ve formě zprávy do aplikace. Zpráva WM_APP+1 je zpracována a výsledek prezentován uživateli v uživatelském rozhraní. Výsledek biometrické operace je velká datová struktura obsahující všechny dostupné informace o provedené biometrické operaci. Poté co je výsledek operace použit, musí být uvolněn z paměti (WinBioFree). Při ukončování aplikace je uzavřena biometrická komunikační relace (WinBioCloseSession). Předchozí příklad celou situaci zjednodušuje na maximální možnou míru, aby byla zachována názornost.
5.4.4
Dostupné funkce
Kromě příkladu verifikace uživatele, na kterém byl popsán způsob implementace WBF do koncových aplikací, umožňuje WBF řadu dalších scénářů použití. Enrollment Použití enrollment v režimu klientské aplikace nedává příliš velký smysl, protože tato funkce je vyřešena v rámci FMA aplikace (viz str. 56) dodávané v balíku ovladače nebo jako samostatná aplikace k zařízení čtečky otisku prstu. Přesto je možné tuto funkci využít i v případě sdíleného používání zařízení ze systémové skupiny. V tomto režimu je možné enrollovat aktuálně přihlášenému uživateli jednotlivé prsty. Identifikace WBF umožňuje identifikovat uživatele systému. To znamená, že pokud je klientská aplikace spuštěna pod jedním určitým přihlášeným uživatelem a uživatelů je v systému více, potom je možné identifikovat některého z těchto uživatelů na základě poskytnutí otisku prstu na čtečku otisku. Tato funkce se implementuje obdobně jako funkce verifikace. Lokalizace zařízení Tato funkce má praktický význam pouze v případě, když je k počítači připojeno více biometrických čteček s nainstalovaným WBF ovladačem. Uživatel je vyzván k přiložení prstu na senzor a tím je zjištěno, s kterým zařízením hodlá pracovat. V současných aplikacích pro koncové uživatele nemá smysl připojovat k systému více čteček.
5 SDK pro práci se snímači otisků prstů
86
Správa ověřovacích údajů WBF obsahuje také funkce pro správu ověřovacích údajů, například lze odstranit určitou biometrickou identitu z přihlašování. V rámci této správy je také možné přepnout aktivní účet na uživatele, který byl naposledy úspěšně ověřen pomocí čtečky otisku. (Fast User Switching FUS) Získání biometrické informace Pokud je to z nějakého důvodu vhodné, lze získat biometrickou předlohu přímo z jediného nasnímaného otisku. Tato předloha je ve formě datového typu WINBIO_BIR, který obsahuje záznam biometrických informací (Biometric Information Record – BIR) extrahovaných z otisku. Tento záznam je standardizován (Common Biometric Exchange Format Framework (CBEFF) defined by NIST 6529-A1), a tak může být také použit pro výměnu biometrických informací s jinými systémy nebo dále zpracováván mimo systém WBF. Použití se hodí spíše pro speciální případy.
5.5
Shrnutí
Tato kapitola představila průřez problematikou programování pro biometrické snímače z pohledu nejvyšší vrstvy koncových aplikací. V úvodu byla popsána architektura celého biometrického systému obecně. Dále byl proveden průzkum trhu s balíčky SDK, které umožňují dosažení biometrické funkcionality zejména v zařízeních, která bývají integrována v současných přenosných počítačích. Obecný popis biometrických API uvedl programátora do děje implementace biometrické funkcionality do koncové aplikace. Následně bylo prakticky rozebráno programování s Windows Biometric Framework. WBF má v současné době zřejmě největší potenciál a nahrazuje postupně proprietární SDK výrobců snímačů a i další SDK třetích stran. Díváme-li se na WBF API z pohledu klientské aplikace, která sdílí zařízení se systémem a dalšími aplikacemi, dostáváme sice velmi pokročilý biometrický systém, co do provedení a možností snadné implementace, ale za to narážíme na určitá omezení. V tomto případě je totiž možné v jeho rámci pracovat pouze s identitami, které vystupují v systému jako uživatelské účty. Proto např. lákavá možnost, nabídnout hráčům v nějaké hře ověření otiskem prstu, vychází naprázdno, jelikož není příliš pravděpodobné, že by u hry s více hráči platilo, že každý hráč je zároveň i uživatelem systému. Této funkcionality sice může být s pomocí WBF dosaženo v případě vyhrazení zařízení do soukromé skupiny, tím se však poněkud ztrácí kouzlo možnosti sdílení zařízení mezi aplikacemi, která by v tomto případě nebyla za běhu takové aplikace dostupná.
1
6529-A je číslo standardu v americkém národním institutu pro standardy a technologie NIST (National Institute of Standards and Technology)
5 SDK pro práci se snímači otisků prstů
87
Je překvapivé, že společnost Microsoft zatím nevytvořila pro WBF vlastní podporu pro .NET aplikace. Programátorům v tomto prostředí nezbývá nic jiného než tento problém překlenout vlastní tvorbou obalového rozhraní nad dynamickou knihovnou a rozhraním jazyka C. Všeobecně lze říci, že platforma systému Windows je biometrii zaslíbená a těší se, v rámci možností, široké podpoře jak výrobců snímačů a vývojářů softwaru, tak i samotné společnosti Microsoft. WBF technologie jsou v současné době nejlepším způsobem přístupu k biometrickým funkcím na osobním počítači. Na ostatních platformách je podpora velmi omezená.
6 Demonstrace použití snímače otisku prstu
88
6 Demonstrace použití snímače otisku prstu V této kapitole je představena aplikace používající snímač otisku prstu inovativním způsobem jako polohovacího zařízení pro ovládání hlasitosti v systému Windows. Aplikace i s kompletními zdrojovými kódy se nachází na přiloženém CD. Tato inovace se týká zejména přenosných počítačů, ačkoliv by takový způsob ovládání hlasitosti mohl být příjemný i u stolních počítačů.
6.1
Ovladače hlasitosti
V této kapitole jsem udělal průzkum existujících řešení fyzického ovládače hlasitosti v přenosných počítačích. Dříve než budou jmenovány konkrétní varianty, můžeme rozdělit ovládání hlasitosti na dvě skupiny: softwarové ovládání, hardwarové ovládání. V případě softwarového ovládání hlasitosti je fyzický ovládací prvek napojen do operačního systému, který interpretuje jeho události jako změnu systémové hlasitosti. Pokud neběží operační systém nebo není k dispozici potřebný software ovladače popř. jiná softwarová součást, nemá uživatel žádnou šanci změnit aktuální úroveň hlasitosti. To je velmi nepříjemné, protože nelze například zamezit tomu, aby systém zahrál úvodní zvuk při spuštění systému. Přesto je dnes softwarové ovládání nejrozšířenějším druhem ovládání hlasitosti. Důvodem je zřejmě to, že hardwarové ovládání, tzn. napojení ovladačů hlasitosti do systému pod úroveň operačního systému, např. do BIOSu, je pro výrobce počítačů zbytečně nákladné a do všech vyráběných modelů by nemohlo být implementováno jednotně. Řešením by bylo, kdyby podpora pro hardwarové ovládání hlasitosti vznikala ze strany BIOSu, popř. zvukových zařízení (zvukových karet). Výrobci však pravděpodobně vychází z toho, že na počítači běží 99% času operační systém, proto není nutné se touto variantou dále zabývat. Hardwarové ovládání hlasitosti se více využívalo v minulosti, kdy neexistoval jednotný přístup operačního systému ke zvukové kartě (v době před Windows 95).
6 Demonstrace použití snímače otisku prstu
89
Tradičně se vyskytují tyto způsoby ovládání (řazeno od nejčastěji se vyskytujícího): 1. Tlačítková ovládání (+ / -, přepínač ztlumení), viz obrázek 45 a. funkčními klávesami klávesnice (např. FN + F8) b. dedikovanými klávesami mimo standardní rozložení klávesnice 2. Kolečkem potenciometru, viz obrázek 46 a. elektronický potenciometr b. klasický potenciometr 3. Tahové, dráhové ovladače, viz obrázek 47
Obrázek 45: Tlačítkové ovládání hlasitosti (HP, Dell) (Zdroj: autor)
Tlačítková ovládání z obrázku 45 jsou nejčastějším provedením ovládáním hlasitosti. V případě použití tlačítek klávesnice je výhodou, že není třeba hledat místo pro umístění dalších tlačítek, to je výhodné zvláště u malých zařízení. U větších zařízení, kde není problém s místem, je použití separátních dedikovaných tlačítek pravděpodobně o něco uživatelsky příjemnější, nicméně to určitě mírně zvyšuje cenu produktu.
Obrázek 46: Kolečko potenciometru ovládání hlasitosti (Toshiba) (Zdroj: autor)
Z obrázku 46 ovládání hlasitosti kolečkem potenciometru, nemůže být patrný rozdíl mezi klasickým mechanickým potenciometrem a elektronickým potenciometrem. Klasický mechanický potenciometr reguluje hlasitost přímo hardwarově ve výstupním zesilovacím stupni zvukové karty. Zvukový signál prochází přímo jeho odporovou dráhou. Takový potenciometr má z obou stran zarážky otáčení a tím jasně ohraničené maximum a minimum. Hlavní výhoda tohoto provedení spočívá v tom, že regulace hlasitosti funguje bez ohledu na to, v jakém je počítač stavu. Používání kolečka také umožňuje rychlé přechody mezi různými úrovněmi hlasitosti. Nevýhodou je životnost této mechanické součástky. Pokud se odporová dráha opotřebí, začne se to projevovat na kvalitě zvuku praskáním a výpadky v průběhu změny hlasitos-
6 Demonstrace použití snímače otisku prstu
90
ti a později i při určitých úrovní hlasitosti. Z mé vlastní zkušenosti je ovšem tento způsob ovládání hlasitosti úplně nejlepší, zejména protože lze ovlivnit úroveň hlasitosti před spuštěním operačního systému. Dnes častější varianta elektronického potenciometru je již čistě softwarovým ovládáním, které funguje pouze, pokud běží operační systém. Toto řešení „efektivně odstraňuje“ všechny výhody klasického potenciometru. Kolečko postrádá zarážky na stranách, takže s ním lze otáčet do nekonečna. Otáčení generuje impulzy, které odpovídají zvyšování či snižování hlasitosti o určitý skok. Tyto skoky jsou obvykle poměrně velké a k výborné linearitě mechanického potenciometru mají na míle daleko. Další nevýhodou je, že pokud je kolečkem otáčeno velmi rychle, nejsou obvykle zachyceny všechny kroky otáčení a tak ke změně hlasitosti dochází pomaleji, než by uživatel očekával. Většinou jsem se setkal s velmi nevyladěným provedením tohoto ovladače. Podle mého názoru je v tomto případě už vhodnější vrátit se zpět k tlačítkům + a -.
Obrázek 47: Tahové ovládání hlasitosti (Gateway) (Zdroj: autor)
Tahové ovládání hlasitosti uvedené na obrázku 47 je principiálně velmi podobné elektronickému potenciometru. Jedná se o softwarové ovládání. Pohyb prstu po ploše ovladače generuje impulzy odpovídající určitému kroku změny hlasitosti. Podobně jako u elektronického potenciometru nelze příliš zvýšit rychlost změny hlasitosti, při rychlém pohybu ovladač nezvládá zachytit všechny změny, a tak například ztlumení z plné hlasitosti nelze provést jedním rychlým dlouhým tahem. Ačkoliv je toto řešení poměrně uživatelsky přívětivé, zabírá v těle přenosného počítače dost místa a pravděpodobně bude mít i vyšší energetickou náročnost než ostatní ovládací prvky.
6.2
Snímač otisku prstu jako ovladač hlasitosti
Použití snímače otisku prstu jako polohovacího zařízení bylo stručně popsáno v kapitole 4.1.7. Tuto funkci podporují častěji swipe senzory. Tento typ senzorů se vyskytuje v přenosných počítačích nejčastěji kvůli své velikosti a ceně, takže použití snímače otisku k ovládací funkci se přímo nabízí, protože ten je svým primárním účelem vytížen jen po krátký čas z celé doby běhu počítače. Ovládání hlasitosti právě snímačem může být výhodné z několika důvodů. Hlavní výhodou je, že není třeba vnášet do těla počítače další ovládací prvky, pokud už obsahuje čtečku otisku. Dále snímač poskytuje velmi plynulou a citlivou ovládací funkci, která má výrazně lepší pa-
6 Demonstrace použití snímače otisku prstu
91
rametry než jiné elektronické softwarové ovladače, např. elektronický potenciometr nebo dráhový ovladač. Pokud je snímač vhodně umístěn, může také takové umístění rovněž logicky oddělovat tuto ovládací funkci od ostatních ovládacích prvků a zároveň umožňovat rychlou dosažitelnost snímače uživatelem. Umístění snímačů v tělech přenosných počítačů se různí. U klasických notebooků se senzor velmi často nachází pod klávesnicí na pravé, méně často levé straně. Výjimečnějším umístěním je pozice v oblasti kolem touchpadu, popř. mezi jeho tlačítky. Zřídka jsou senzory umisťovány nad klávesnici. Klasické umístění má v případě použití senzoru k ovládání hlasitosti nevýhodu v tom, že uživatel o něj může poměrně často nechtěně zavadit. Ostatní pozice jsou celkem bezproblémové. Dle mého názoru je ideální umístění snímače v displejové části, vpravo či vlevo pod displejem s horizontální orientací, viz obrázek 48. Na tomto obrázku je vidět tzv. tablet PC, na kterém běží moje aplikace Sensor Volume, viz dále. Toto je typická pozice senzoru u tablet PC, což jsou víceméně klasické notebooky, které je možné otočením displeje proměnit na tablety.
Obrázek 48: Tablet PC značky Toshiba s běžící aplikací Sensor Volume (Zdroj: autor)
Nevýhodou použití snímače otisku prstu pro ovládání hlasitosti je vysoká spotřeba energie, která může také vést k zahřívání plochy snímače. To je způsobeno tím, že současné implementace tzv. navigační funkce senzoru fungují tak, že přepnou senzor do stavu aktivního snímání a v něm setrvávají po celou dobu běhu této funkce. Domnívám se, že tento problém by mohla vyřešit optimalizace na straně firmwaru, popřípadě je možné tento problém řešit také
6 Demonstrace použití snímače otisku prstu
92
na straně softwaru, i když to znamená zanesení delších výpadků do navigační funkce. Řešení spočívá v zavedení časového limitu pro neaktivitu navigace, po jeho vypršení se zařízení přepne do režimu pasivního čekání na prst (angl. finger detection). V tomto stavu senzor odebírá minimum energie. Jediným problémem může být doba přepnutí do režimu aktivního snímání od zjištění přítomnosti prstu. Tento časový interval představuje výpadek, kdy není zaznamenán žádný pohyb prstu přes senzor, a tak uživatel může nabývat dojmu neplynulosti, zasekávání nebo pomalé odezvy. V případě přenosných počítačů, z hlediska spotřeby energie, však nemůže být přípustné nechávat snímač v režimu aktivního snímání po celou dobu běhu systému. U stolních počítačů může být pro tuto funkci použita externí čtečka se swipe senzorem, viz obrázek 49. Výhodou je, že uživatel si může čtečku umístit, kamkoliv je mu to příjemné. Navíc externí čtečky často obsahují světelnou indikaci, kterou je možné použít například k indikaci úrovně aktuální hlasitosti. Rovněž zde není tak velká potřeba šetřit energii, takže by teoreticky mohlo být snesitelné provozovat senzor nepřetržitě v režimu aktivního snímání. To by ale pravděpodobně vedlo k jeho neúměrnému zahřívání, takže se zdá, že implementace úsporného režimu by pro praktické použití byla přinejmenším vhodná. Aplikace Sensor Volume, která je představena v následující kapitole, však tuto otázku z důvodu zjednodušení neřeší.
Obrázek 49: Čtečka Eikon I fy Upek s aplikací SensorVolume (Zdroj: autor)
6.3
Sensor Volume
Tato ukázková aplikace realizuje funkci ovládání hlasitosti snímačem otisku prstu. Snímač je přepnut do tzv. navigačního režimu a z tohoto dvourozměrného ovládání je použita jedna osa pro interpretaci změn úrovně hlasitosti a událost kliknutí pro interpretaci speciální funkce. Provedením se jedná o klasickou Windows API aplikaci, která je v jazyce C++ zabalena do tenké objektové architektury. Pro komunikaci se snímačem otisku používá knihovny BSAPI SDK. Zdrojové kódy aplikace včetně přeložené aplikace se všemi potřebnými součástmi a ovladači pro podporované čtečky otisku jsou na přiloženém CD. Aplikace je provedena pouze v anglické jazykové verzi, protože se předpokládá její případné uplatnění zejména v mezinárodním prostředí. Stejně tak zdrojové kódy jsou z praktického hlediska komentovány výhradně anglicky.
6 Demonstrace použití snímače otisku prstu
6.3.1
93
Uživatelská příručka
Sensor Volume je aplikace, která vám umožní použít čtečku otisku prstu k ovládání hlasitosti vašeho počítače. Je ve formě utility stavového pruhu (angl. tray bar utility). Ovládání je zprostředkováno kontextovým menu tray ikony, viz obrázek 50. Aplikace dále reaguje na změny úrovně hlasitosti zvuku a zobrazuje grafický ukazatel v průhledném okně. Hlavním vstupním ovládáním je čtečka otisku prstu. Pohyb vašeho prstu přes snímač je zaznamenán a přeložen na změny úrovně hlasitosti zvuku, které jsou vždy doprovázeny zobrazením okna grafického ukazatele úrovně.
Obrázek 50: Kontextové menu aplikace SensorVolume spolu s ikonou aplikace (Zdroj: autor)
Instalace Pokud máte v počítači nainstalovanou čtečku otisku prstu, pak by měla aplikace fungovat spolehlivě při prvním spuštění. V opačném případě musíte připojit čtečku k počítači, jedná-li se o externí zařízení a/nebo nainstalovat ovladač zařízení. Musí se jednat o tzv. legacy ovladač, čili ovladač pro klasickou proprietární biometrickou architekturu (ne WBF). Jakmile je zařízení připojené a jsou nainstalované správné ovladače, můžete jednoduše spustit aplikaci a ta bude okamžitě pracovat. Funkce Ovládání hlasitosti
Táhněte prstem přes snímač otisku pro změnu úrovně hlasitosti.
Zrušení zatlumení
Aktivní zatlumení zrušíte změnou zatlumené úrovně zvuku na maximální hodnotu, potom bude původní úroveň hlasitosti obnovena a zatlumení zrušeno.
Časované uvolnění čtečky
Rychlým dvoj-kliknutím (dvoj-dotykem) vyvoláte časované uvolnění čtečky, která může být po tuto dobu využita s jiným (před) instalovaným softwarem. Sensor Volume indikuje uvolnění zařízení v okně grafického ukazatele a také tray ikonou. Sensor Volume automaticky restartuje zařízení za 10 vteřin, pokud to jiná aplikace neznemožní používáním snímače.
6 Demonstrace použití snímače otisku prstu
94
Uvolnění čtečky
Zařízení je možné uvolnit bez časového limitu zaškrtnutím příslušné možnosti (Release Sensor) z kontextového menu tray ikony. Později můžete čtečku opět použít odškrtnutím téže položky menu.
LED indikace
Tato funkce může být zapnuta nebo vypnuta přes menu tray ikony. Pokud Vaše zařízení nemá LED diody, měla by být tato funkce vypnuta. Pokud je funkce zapnutá, aplikace indikuje svitem LED diody aktuální úroveň hlasitosti zvuku.
Revers senzoru/ukazatele
Pokud je váš senzor orientován opačně, než je ukazatelem zobrazována aktuální úroveň, můžete buď obrátit počátek ukazatele (Reverse Indicator), nebo orientaci ovládací funkce senzoru (Reverse Sensor).
Zobrazovat externí změny
Zaškrtnutím poslední položky menu docílíte zobrazování ukazatele i v případě vyvolání změny úrovně hlasitosti jiným způsobem než použitím snímače otisku prstu.
Další funkce: Grafický ukazatel úrovně je při zatlumení zvuku zobrazován šedě. Grafický ukazatel úrovně je při časovaném uvolnění čtečky červeně přeškrtnutý. o Oba stavy mohou být kombinované. Uvolnění zařízení je rovněž signalizováno tray ikonou. Uživatelské nastavení z kontextového menu tray ikony jsou uložena v systémových registrech. Kliknutím na jakoukoliv informační bublinu tray ikony aplikace se otevře soubor s nápovědou. Při změně rozlišení obrazovky aplikace přepočítá rozměry grafického ukazatele Více detailů o instalaci a konfiguraci aplikace je možné se dočíst v její anglické nápovědě, která je dostupná také pod položkou menu „About…“ a následně tlačítkem „Help“. Nápověda se nachází i v příloze B této práce.
6.3.2
Struktura aplikace
Aplikace Sensor Volume je realizovaná jako klasická Windows API aplikace nad biometrickým BSAPI SDK. Obě tato API, WinAPI i BSAPI jsou rozhraní jazyka C. Použití jazyka C++ však svádí k objektovému provedení aplikace, proto jsem celou aplikace zabalil do tenké
6 Demonstrace použití snímače otisku prstu
95
objektové vrstvy. Výhodu shledávám hlavně ve větší přehlednosti rychle rostoucí aplikace díky zapouzdření a jasnějším určení zodpovědností jednotlivých objektů. Díky tomuto zaobalení potom vypadá funkce main tohoto programu takto: int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { int returnValue = EXIT_FAILURE; SensorVolumeApp *app; if (app = SensorVolumeApp::Initialize(hInstance)) { returnValue = (int)app->Run(); } return returnValue; }
Třída SensorVolumeApp představuje celek aplikace. Tato třída obsahuje další třídy, s jejichž pomocí zajišťuje celkovou funkcionalitu. Obrázek 51 ukazuje diagram tříd aplikace Sensor Volume. BioControl - SetControlAxis - SetControlRange - GetControlRange - SetPosition - SetPositionInRange - SetLEDIndication - SetEventContext - GetEventContext - Enable - Disable
BSAPI
CAudioEndpointVolume - IsMuted - SetMute - GetMasterLevel - SetMasterLevel - AddOnChangeEventHandler
TrayIcon BioControlThread - Start - Stop - SetRange - SetPositionInRange - SetLEDIndication - SetReverse
SensorVolumeApp + Initialize - Run
- SetIcon - GetMenu - SetMenuItemCheck - SwitchMenuItemCheck - Focus - SetTip - ShowTip - ShowInfo - OnNotification
VolumeIndicator - GetResolution - SetPosition - SetMuted - IsMuted - GetMutePosition - SetDisabled - SetReverse - Render
Obrázek 51: Diagram tříd aplikace Sensor Volume (Zdroj: autor)
SensorVolumeApp Tato třída představuje kompletní aplikaci a má pouze dvě veřejné metody pro inicializaci (statická tovární metoda Initialize) a spuštění aplikace (metoda Run). Třída je navržena jako sin-
6 Demonstrace použití snímače otisku prstu
96
gleton, může tedy vytvořit pouze jedinou instanci. Přestože toto provedení není bezpodmínečně nutné, je výhodné, protože v každém případě nemá smysl vytvářet více instancí této třídy, zároveň však zapouzdření aplikace v jediné třídě umožňuje tuto třídu dědit a vytvářet tak například modifikované verze aplikace. Jiné verze aplikace pak mohou být jednoduše spuštěny voláním jiného konstruktoru z funkce main, která je vstupním bodem aplikace. Další výhodou je snadný přístup k jediné instanci této třídy, což se hodí v případě přístupu k ní ze statických funkcí, např. tzv. procedury okna (Window Proc), která slouží ke zpracování událostí. Použití statické třídy místo objektu by bylo možné, ale omezilo by výše zmíněné vlastnosti. „Obecně se proto používání tříd místo objektů příliš nedoporučuje, a to ani v případech, kdy je daný objekt jedináčkem.“ (Pecinovský 2007, str. 109) Jediná instance této třídy se tedy stará o aplikaci jako takovou. Vytváří její hlavní okno, do kterého bude vykreslován ukazatel úrovně hlasitosti. Spouští smyčku zpráv a obsluhuje přijaté zprávy. Obsahuje také většinu logiky aplikace. Aplikace používá instanci třídy BioControlThread pro komunikaci se snímačem otisku. Pro manipulaci s úrovní hlasitosti zvuku pracuje s instancí třídy CAudioEndpointVolume. Vykreslování grafického ukazatele obstarává instance třídy VolumeMeter. Funkce tray ikony zprostředkovává instance třídy TrayIcon. BioControlThread Tato třída implementuje třídu BioControl pro běh v separátním vlákně. Transparentně zprostředkovává vybrané metody třídy BioControl. Mezi vláknovou komunikaci řeší zasíláním vlastních zpráv do smyčky zpráv aplikace. Instance této třídy se ovládá zejména metodami Start a Stop, které spouštějí, respektive vypínají navigační funkci snímače v separátním vlákně aplikace. BioControl Třída BioControl představuje jednorozměrný ovladač s určitým rozsahem, tj. i se zarážkami na obou stranách. Třída je implementována nad knihovnou BSAPI.DLL. Mimo používání jedné zvolené osy navigačního režimu senzoru umožňuje také zjištění kliknutí na senzor a indikaci aktuální polohy intenzitou svitu LED diody zařízení, pokud ji zařízení má. Tato třída je implementována jako statická knihovna z důvodu možné distribuce této třídy bez kompletního zdrojového kódu a z důvodu jejího snazšího testování. CAudioEndpointVolume Zjednodušené ovládání úrovně hlasitosti zvuku v operačním systému je implementováno v této třídě. Třída umožňuje zjištění aktuální úrovně, nastavení nové úrovně a registraci obsluhy změn hlasitosti. Vstupy do funkce zpětného volání této obsluhy představují vstupy
6 Demonstrace použití snímače otisku prstu
97
z jiného vlákna než je hlavní vlákno aplikace. Tato třída byla také implementována z důvodů odděleného testování jako statická knihovna. VolumeIndicator Třída VolumeIndicator vykresluje grafický ukazatel úrovně do objektu bitmapy, který je poté zobrazen jako obsah okna aplikace. Obrázek 52 zobrazuje indikátor v normálním stavu, při zatlumení a při časovaném uvolnění čtečky.
Obrázek 52: Grafický indikátor úrovně hlasitosti v různých stavech (Zdroj: autor)
TrayIcon Tato třída poskytuje kompletní funkce týkající se ikony stavového pruhu hlavního panelu. Obstarává zobrazení kontextového menu, informační hlášení a změny ikony. Ikona s kontextovým menu je na obrázku 50.
6.3.3
Běh aplikace
Aplikace při svém spuštění vytvoří skryté hlavní okno, do kterého bude vykreslovat ukazatel aktuální úrovně hlasitosti, potom provede kompletní inicializaci všech částí programu, nastaví ukazatel i biometrický ovladač BioControl na aktuální úroveň hlasitosti zjištěnou instancí CAudioEndpointVolume. Pomocí třídy TrayIcon vytvoří ikonu aplikace ve stavovém řádku hlavního panelu. Následně se pokusí uvést do chodu navigační režim senzoru a tím v podstatě zapnout ovladač BioControl. To se provádí instancí BioControlThread, která ovladač BioControl spouští v novém vedlejším vlákně. Tím je start aplikace dokončen, aplikace vstupuje do smyčky zpráv a běží. Po dobu svého běhu reaguje aplikace na příchozí zprávy ze smyčky zpráv. Tyto zprávy pocházejí z instancí těchto tříd: ovladač BioControl běžící v BioControlThread, CAudioEndpointVolume, TrayIcon.
6 Demonstrace použití snímače otisku prstu
98
Mimo zpráv pocházejících z vyjmenovaných zdrojů jsou obsluhovány ještě události pocházející z operačního systému. Pokud uživatel pohybuje prstem po senzoru otisku, je volána funkce zpětného volání (angl. callback) v separátním vlákně uvnitř BioControlThread. Tato třída se stará o to, aby tyto události byly odeslány do hlavní smyčky zpráv. V proceduře okna jsou potom tyto události zpracovány a dále je aktualizována úroveň hlasitosti zvuku pomocí instance CAudioEndpointVolume a také vykreslen ukazatel úrovně instancí VolumeMeter. Poté co je ukazatel vykreslen, zobrazí aplikace okno s ukazatelem s plynulým přechodem. Po uplynutí časového intervalu beze změn úrovně hlasitosti dojde opět ke skrytí okna s plynulým přechodem. Mimo tento hlavní scénář práce aplikace může aplikace analogicky reagovat na změnu úrovně hlasitosti v systému, kdy si sama ve funkci zpětného volání z instance CAudioEndpointVolume pošle zprávu do své smyčky zpráv. To je nutné, protože volání přichází z jiného než hlavního vlákna aplikace, v tomto případě nějakého systémového vlákna. Jiné události jsou obsluhovány přímočaře a není u nich nutné řešit mezi vláknovou komunikaci.
6.3.4
Zajímavá místa v kódu
Nejzajímavějším místem v kódu z pohledu biometrie je metoda Enable uvnitř třídy BioControl. Na této metodě by nebylo nic zajímavého, kdyby neřešila obnovování intenzity svitu LED diody, pomocí které se signalizuje aktuální pozice ovládacího prvku BioControl. Tuto funkci ilustruje následující blok kódu. void BioControl::Enable() { ABSOpen(&this->deviceConnection); do { if (this->flagLEDIndication) { double x, y, ry; x = this->range - this->position; y = x / (15 * x + 1); x = this->range; ry = x / (15 * x + 1); this->SetLEDIntensity((int)((ry - y) * 0xFFFF / ry)); this->flagLEDUpdate = false; } else this->DisableLEDIndication(); ABSNavigate(this->deviceConnection); } while(this->flagLEDIndication && this->flagLEDUpdate); ABSClose(this->deviceConnection); }
6 Demonstrace použití snímače otisku prstu
99
V této metodě dojde nejprve k otevření zařízení čtečky. Poté program vstoupí do cyklu dowhile. Pokud je zapnuta indikace aktuální pozice LED diodou, je nejprve přepočítána pozice na vhodnou úroveň svitu LED diody. Toho je docíleno aplikací obrácené hyperbolické funkce, která se snaží přibližně kopírovat luminiscenční charakteristiku LED diody. Pokud by byl tento krok vynechán, měnil by se svit diody blízko minima rozsahu velmi rychle, zatímco ve druhé polovině, blíže maximu rozsahu, by již svítila dioda téměř plným jasem. Potom co je nastaven jas LED diody pomocí metody SetLEDIntensity, je spuštěna samotná navigační funkce voláním do knihovny BSAPI. Toto volání blokuje běh tohoto vlákna. Zprávy o pohybu prstu po senzoru přicházejí do callbacku (není součástí ukázky kódu). V případě, že dojde ke změně pozice ovladače a současně přijde periodická zpráva o nečinnosti (která slouží např. pro obnovení uživatelského rozhraní v případě jedno-vláknové aplikace, ale ve skutečnosti nečinnost znamenat nemusí), je navigace ukončena a testována podmínka do-while cyklu. Pokud nedošlo k opuštění navigační funkce z důvodu změny intenzity svitu LED diody, potom je cyklus opuštěn a uzavřeno spojení s čtečkou. Pokud se tak stalo z důvodu obnovy intenzity svitu LED diody, pak cyklus začíná znovu a je vypočítána a nastavena nová intenzita svitu LED diody. Tento mechanismus je nutný, protože současná zařízení čteček otisku nejsou navržena tak, aby bylo možné z callbacku biometrické operace volat funkci měnící stav zařízení. Proto je nutné nejdříve opustit navigační funkci a na krátkou chvíli se věnovat potřebným změnám a pak co nejrychleji navigační funkci obnovit. Tento princip představuje problém v zadrhávání pohybu ovladače, ten na krátký okamžik přerušuje navigační funkci a ztrácí několik informací o pohybu po senzoru. Jelikož je podle mého názoru funkce indikace intenzitou svitu LED diody uživatelsky velice atraktivní, doporučil bych výrobcům, aby implementovali lepší možnosti jejího řízení do svých knihoven, případně také do firmwaru zařízení. Druhou související zajímavostí je způsob nastavení svitu LED diody na určitou úroveň. BSAPI totiž takovou funkci nenabízí. Místo toho nabízí široké možnosti přerušovaného svícení LED diodou. To je realizováno tak, že je možné nastavit rychlost změn svícení a také vzor (např. 1110 – krátké zhasnutí po třikrát tak dlouhém svícení), podle kterého se LED dioda opakovaně rozsvěcuje a zhasíná. Pokud je rychlost nastavena na maximální hodnotu, přerušované svícení LED diody je tak rychlé, že bitový vzor ve formě hexadecimálního čísla může být chápan jako intenzita svitu LED diody. Metoda SetLEDIntensity tedy přijímá vlastně vzor svícení místo skutečné úrovně intenzity. Tento způsob určení intenzity ovšem není dokonalý, protože různě sestavený vzor svícení generuje ve výsledku mírně odlišnou intenzitu svitu LED diody. To je možné pozorovat jako drobné kolísání svitu při pomalém přechodu mezi úrovněmi. Děje se tak, protože souvislý bitový vzor (např. 1100) produkuje delší část svitu diody než vzor, který je přerušovaný (např. 1010). U přerušování se totiž ztratí část času plného svitu zhasínáním a rozsvěcováním. Vylepšit by tuto funkci bylo možné zavedením určitého vyvážení vzoru svícení, tím by se sice částečně omezil rozsah možných úrovní intenzity, ale celá funkce by měla lineárnější průběh.
6 Demonstrace použití snímače otisku prstu
6.4
100
Shrnutí
Aplikace Sensor Volume demonstruje možnost ovládání hlasitosti pomocí senzoru otisku prstu. Podle mého názoru se jedná o velice zajímavé použití snímače, který jinak není z celé doby běhu systému využíván příliš často. Aplikace dokázala, že celé ovládání může reagovat opravdu uživatelsky přívětivě a o praktičnosti použití rozhoduje spíše pozice zabudovaného senzoru v těle počítače. Použití se stolním počítačem může být rovněž příjemné, zde se však nemusí tato funkce uplatnit, jelikož počítače často bývají připojeny na externí zvukový systém, který má vlastní ovládání hlasitosti, a uživatel ani nemusí mít zájem měnit úroveň hlasitosti systému. K reálnému nasazení aplikace by bylo vhodné se ještě podrobněji zabývat otázkami energetické úspornosti navigačního režimu a restartování navigační funkce v případě přechodu počítače do a z režimu spánku nebo hibernace. Z tohoto pohledu se jedná hlavně o doporučení pro výrobce, kteří by problém energetické úspornosti mohli řešit daleko efektivněji na nižších úrovních architektury, s největší pravděpodobností ve firmwaru zařízení. Dalším návrhem pro výrobce je vylepšení podpory ovládání LED diody, aby nemusela být narušena plynulost práce se snímačem, jak je popsáno v předchozí podkapitole. Aplikace je implementována v jazyce C++ nad nejnižším API uživatelského rozhraní Windows – WinAPI. Rozhodl jsem se tak z toho důvodu, protože jsem chtěl dosáhnout co nejefektivnější a nejrychlejší aplikace a mít možnost se věnovat i drobným optimalizacím. Efektivnost tohoto typu aplikace považuji za klíčovou, protože se očekává, že tato aplikace poběží v operačním systému nepřetržitě a může kdykoliv reagovat na událost. Navíc všechna API jsou dostupná v prostředí C/C++ v nativních podobách. Není nutné vytvářet obalové knihovny a dobývat se k funkcionalitě ručně. Tento způsob používání snímače otisku prstu by mohl být představen některému ze zkoumaných výrobců snímačů, popřípadě některému z výrobců notebooků. Nicméně před reálným nasazením by byla opravdu vhodná podpora přímo výrobce snímače, který může celý mechanizmus značně vylepšit. Je nepravděpodobné, že by tento nápad bylo možné přímo finančně zhodnotit, nicméně oslovený výrobce snímačů by mohl na tomto základě vytvořit řešení, které by mohl nabídnout výrobcům přenosných počítačů. To by umožnilo tuto myšlenku zhodnotit. Celé řešení by se dalo dále vylepšovat už na hardwarové úrovni, kdyby mohla být nabídnuta funkce ovládání hlasitosti nezávislá na běhu operačního systému, což by na současném trhu představovalo výjimečné řešení. Tato kapitola ukázala, že použití snímače otisku prstu může být opravdu široké. Mimo klasických biometrických funkcí, je velmi atraktivní také funkce polohovacího zařízení neboli navigační funkce. Ukázková aplikace se zabývala pouze jednorozměrným ovládáním, které je také díky proporcím senzoru nejcitlivější, avšak i dvojrozměrné ovládání je možné, je však třeba počítat se sníženým rozsahem pohybu v ose, kde prst projíždí přes senzor po své šířce.
7 Závěr
101
7 Závěr Tato práce provádí čtenáře problematikou snímání a rozpoznávání otisků prstů. Výklad začíná obecným pojmem biometrie, který je zasazen do historického kontextu, od kterého se začíná postupně vymezovat téma – přes různé biometrické metody až k rozpoznávání otisků prstů. Tato biometrická metoda je potom orientačně srovnávána s jinými vhodnými metodami pro ověřování uživatelů v osobních počítačích. V tomto srovnání metoda rozpoznávání otisků prstů za současného stavu technologií vítězí jako nevhodnější kandidát pro implementaci do osobních a především do osobních přenosných počítačů. Následuje analýza historického vývoje snímacích technologií otisků prstů. Ta je postupně dána do kontextu s vývojem osobních počítačů a jsou jmenovány důvody, proč v dnešní době ve spojení s nimi převládá u použitých snímačů křemíková snímací technologie na kapacitní bázi. Tím je vymezeno téma, na které navazuje zbytek práce. Následuje průzkum trhu se snímači a osobními přenosnými počítači, které mají snímač integrovaný. Výsledky průzkumu trhu ukazují jednoznačně vedení firmy Digital Persona, následované firmou Validity a dále firmou Egistec. To poskytuje vodítko pro průzkum trhu softwaru pracujícího se snímači těchto firem. Před započetím průzkumu softwaru jsou popsány hardwarové části celé technologie od součástek snímačů až po rozhraní, kterým se zařízení se snímači připojují k systému počítače. Praktická část práce se zabývá softwarem, který poskytuje biometrické funkce koncovému uživateli osobního počítače. Nejprve je představena softwarová architektura, a procesy, které biometrický systém využívá pro realizaci uživatelských funkcí. Velká pozornost je věnována Windows Biometric Frameworku, který je v současnosti klíčovou biometrickou technologií na platformě Windows. Práce detailně popisuje funkce, které tento framework integruje přímo do systému Windows, a dává je také do kontextu s použitím jiných biometrických řešení. Práce pokračuje průzkumem trhu s biometrickým softwarem technologie otisků prstů. Na základě tohoto průzkumu jsou jmenovány nejčastější aplikace a funkce, které jsou uživatelům poskytovány. Tyto funkce jsou potom představeny detailně na reprezentantovi této třídy aplikací, aplikaci Protector Suite. Zbývající část práce se zabývá problematikou implementace biometrických funkcí do vlastní aplikace. Nejprve je proveden průzkum trhu s SDK balíčky a analyzována problematika jejich získávání a používání. Vypracování přehledu konkrétních funkcí a jejich odlišností nebylo možné, z důvodu velkých restrikcí ze strany jejich výrobců. Ve valné většině nesmějí být programátorská rozhraní i z bezplatných balíčků zveřejňována. Výrobci si tak chrání své knowhow v maximální možné míře. Bez přehledu funkcí nebylo možné ani vypracovat srovnání těchto balíčků. Velká pozornost je opět věnována Windows Biometric Frameworku, tentokrát jeho WBF API. Jsou uvedeny příklady, jak může být API použito pro implementaci biometrických funk-
7 Závěr
102
cí, a jsou diskutovány základní problémy, na které může aplikační programátor při jejich implementaci narazit. Tento přístup k funkcím snímače otisku prstu se jeví jako nejvhodnější a je mu věnována náležitá pozornost. V poslední části práce je představena malá inovativní aplikace, pracující se snímačem otisku prstu. Aplikace se nesnaží ukázat typické použití snímače, nýbrž přichází s nápadem jeho využití pro ovládací funkci (polohovací zařízení) k ovládání hlasitosti počítače v systému Windows. Aplikace slouží jako demonstrace této myšlenky a je k dispozici i s kompletními zdrojovými kódy na přiloženém CD. Představený způsob se ukazuje jako velice zajímavá možnost ovládání hlasitosti, avšak před uvedením do praxe by byla ještě vhodná optimalizace za strany výrobců snímačů na nejnižších softwarových, nebo dokonce na hardwarové úrovni. Mimo srovnání dostupných SDK práce dosahuje stanovených cílů a ukazuje aktuální možnosti technologie snímání a rozpoznávání otisků prstů v osobních počítačích. Zároveň poskytuje mnoho inspirace pro další rozvoj této technologie a sama přichází s návrhem nové funkce biometrického snímače otisku prstu i s konkrétními doporučeními pro uvedení této funkce do praxe. Na práci lze navázat podrobným pohledem na dílčí témata, zejména problematika implementace biometrických funkcí do aplikací může být velmi zajímavým samostatným tématem.
7.1
Dosažené cíle
Kvůli nedostupnosti detailnějšího přehledu funkcí jednotlivých SDK nebylo možné dosáhnout dílčího cíle této práce a zpracovat srovnání SDK balíčků. Mimo to bylo dosaženo všech stanovených cílů, a to: 1. Zasadit křemíkovou snímací technologii otisků prstů do historického kontextu a popsat její vývoj ve spojení s osobními počítači až do současnosti. 2. Poskytnout výsledky průzkumu trhu se snímači otisku prstu používanými v osobních počítačích s aplikacemi, které poskytují funkce pro osobní použití. 3. Vypracovat přehled funkcí dosažitelných běžným koncovým uživatelem v rámci softwaru distribuovaného se snímači otisku prstu, včetně průzkumu trhu s tímto softwarem. 4. Vytvořit pouze přehled, nikoliv srovnání, dostupných vývojářských balíčků (SDK) a programátorských rozhraní (API) používaných pro popisované snímače otisku prstu. 5. Implementovat ukázkovou aplikaci komunikující se snímačem otisku prstu.
Terminologický slovník
103
Terminologický slovník Termín
Zkratka
Význam
Aplikační programátor
Vývojář pracující v nejvyšší softwarové vrstvě, který řeší přímo interakce s uživatelem a vnější chování programu.
Autentifikace
Obecný termín ověření, obsahuje verifikaci i identifikaci.
Automated Fingerprint Identification System
AFIS
Automatizovaný systém identifikace otisků prstů je počítačový úložný systém pro desítky milionů obrázků otisků prstů. Systém vybírá z databáze nejpravděpodobnější shody k novému otisku, který je do systému dodán, tak, že zužuje vyhledávací množinu pro vyšetřovatele. (Encyclopedia.com 2012)
Basic Input-Output System
BIOS
BIOS implementuje základní vstupně–výstupní funkce. Provádí inicializaci a konfiguraci připojených hardwarových zařízení a zahajuje spuštění operačního systému, kterému je pak předáno další řízení počítače. Dnes nahrazováno UEFI, avšak často přetrvává používání termínu BIOS.
Biometric Services API
BSAPI
Je proprietární API společnosti Digital Persona poskytující přístup k biometrickým funkcím zařízení čteček otisku prstu.
BU
WBF nazývá softwarovou komponentu čtečky v systému biometrickou jednotkou.
Biometric Unit
Biometrická předloha
(angl. biometric template) je matematická reprezentace jedinečných informací získaných z obrazové podoby otisku prstu nebo více otisků prstu, pokud je tato předloha získávána při enrollmentu.
Companion Chip
Čipová sada doprovázející biometricky senzor. Čip realizuje zpracovávací biometrické funkce, které nemohou být provedeny přímo v čipu snímače. Může poskytovat i další rozšiřující funkce. Kompletní biometrický systém tak může být v jediném modulu snímače s kompanion čipem. Pokud se kompanion čip nepoužívá, jedná se o zařízení typu SensorOnly.
Enrollment
Proces registrace uživatelova otisku prstu do systému.
Fingerprint Management Application
Framework
FMA
FMA je aplikace, která slouží ke správě naerollovaných otisků prstů uživatele systému. Měla by být součástí balíku ovladače biometrického zařízení. Patří do architektury WBF. Framework je softwarový rámec, který podporuje softwarové projekty. Součástí mohou být podpůrné programy, knihovny API, podpora pro návrhové vzory nebo doporučené postupy při vývoji.
Terminologický slovník
Termín Globally Unique Identifier
104
Zkratka
GUID
Význam Globálně unikátní ID je unikátní referenční číslo používané jako identifikátor v počítačovém softwaru. Termín GUID typicky označuje některé implementace standardu UUID.
Identifikace
Proces zjištění totožnosti neznámého uživatele.
Light Emitting Diode
LED
Světlo emitující dioda je elektronická součástka, která při průchodu proudu vydává záření ve světelném spektru. V češtině se používá spojení LED dioda, ačkoliv dioda je již ve zkratce obsažena.
NFC
NFC je sada standardů, které definují bezdrátovou komunikaci mezi elektronickými zařízeními na krátkou vzdálenost obvykle jednotek centimetrů. Současné a předpokládané využití této technologie je především v bezkontaktních transakcích, výměně dat či třeba ve zjednodušené konfiguraci zařízení (Wi-Fi).
Near Field Communication
Platforma
Obecně je to pracovní prostředí. Nejčastěji chápáno jako kombinace hardwarové infrastruktury s operačním systémem, např. Windows 7 64-bit, Power PC Mac, apod. Mimo to může být také použita ve významu softwarové infrastruktury, např. platforma .NET.
Programovací rozhraní
API
(angl. Application Programming Interface) API je množina funkcí, tříd nebo protokolů nějaké knihovny, popř. programu nebo operačního systému, které jsou určeny pro použití programátorem. API předepisuje způsob volání funkcí ze zdrojového kódu aplikace.
Security Identifier
SID
Bezpečnostní ID je unikátní alfanumerický řetězec přidělovaný doménovým kontrolérem systému Windows.
Smartphone
Smartphone je v překladu chytrý telefon, který má řadu pokročilých funkcí a vyznačuje se tím, že na něm běží plnohodnotný operační systém.
Unified Extensible Firmware Interface
UEFI, v překladu jednotné rozšiřitelné firmwarové rozhraní, je specifikace, která definuje softwarové rozhraní mezi operačním systémem a firmwarem hardwaru. UEFI je nástupce zastaralého BIOSu.
UEFI
Verifikace
Proces ověření předpokládané totožnosti uživatele.
Vývojový balíček
SDK
(angl. Software Development Kit) SDK je sada vývojářských nástrojů, které umožňují tvorbu aplikací pro určité prostředí nebo s použitím určitých prostředků. Obecně např. vývoj pro určitou platformu, pro určité zařízení, apod.
Windows Biometric Framework
WBF
Tento framework je součástí systému Windows. Integruje do operačního systému biometrickou funkcionalitu a poskytuje ji dále k implementaci do aplikací prostřednictvím WBF API.
Seznam informačních zdrojů
105
Seznam informačních zdrojů About.com - Terrorism Issues, 2012. History of Biometrics. [online] http://terrorism.about.com/od/issuestrends/tp/History-of-Biometrics.htm [naposledy navštíveno 2. 12. 2012] Advanced Livescan Technologies, 2013. History. [online] http://www.advancedlivescantech.com/History.htm [naposledy navštíveno 03. 02. 2013] Anon, 1903. PSM V63 D402 Left palm print uninterpreted.png [online] http://upload.wikimedia.org/wikipedia/commons/f/f7/PSM_V63_D402_Left_palm_pri nt_uninterpreted.png [Cit. 26.12.2012]. Anon, 2013. Finger Vein Recognition Based on (2D)2 PCA and Metric Learning : Figure 5. [online] http://www.hindawi.com/journals/bmri/2012/324249/fig5/ [Cit. 26.12.2012]. Authentec, 2012. Downloads. Poslední změna 2012. [online] http://support.authentec.com/Downloads.aspx [naposledy navštíveno 30. 04. 2013] Biometrics.gov, 2012a. Biometrics Technology Introduction. [online] http://www.biometrics.gov/documents/biointro.pdf [naposledy navštíveno 6. 12. 2012] Biometrics.gov, 2012b. Speaker Recognition. [online] http://www.biometrics.gov/Documents/speakerrec.pdf [naposledy navštíveno 6. 12. 2012] Biometrics.gov, 2012c. Palm Print Recognition. [online] http://www.biometrics.gov/Documents/ PalmPrintRec.pdf [naposledy navštíveno 7. 12. 2012] Biometrics.gov, 2012d. Hand Geometry. [online] http://www.biometrics.gov/Documents/HandGeometry.pdf [naposledy navštíveno 7. 12. 2012] Blinkenlights Archaeological Institute, 2007. Personal Computer Milestones. Poslední změna 2007. [online] http://www.blinkenlights.com/pc.shtml [naposledy navštíveno 25. 02. 2013] BOLLE, Ruud M.; aj, 2004. Guide to biometrics. New York: Springer 2004. ISBN 0-387-40089-3. BOUŠKA, Petr, 2007. Biometrické systémy: zpracování otisku prstu včetně možností rekonstrukce otisku z biometrické šablony. Brno 2007. Diplomová práce. Masarykova univerzita, fakulta informatiky.
Seznam informačních zdrojů
106
Cnet, 2011. Motorola Atrix Review. Publikováno 20. 5. 2011. [online] http://www.cnet.com.au/motorola-atrix-339308370.htm [Cit. 20.01.2013]. DAS, Ravi, 2007. Retinal recognition, Biometric technology in practice [online]. Keesing Journal of Documents & Identity. 2007, vol. 22, s. 11-14. Dostupné z: http://www.biometricnews.net/Publications/Biometrics_Article_Retinal_Recognition. pdf DAUGMAN, John, 2012. John Daugman's webpage, Cambridge University, Faculty of Computer Science & Technology, Cambridge UK (2012). [online] http://www.cl.cam.ac.uk/~jgd1000/ [naposledy navštíveno 20. 12. 2012] digitalPersona, 2013. Identity Verification Experts - From Authentication Software to Biometric Products. [online] http://www.digitalpersona.com/ [naposledy navštíveno 11. 04. 2013] Encyclopedia.com, 2012. Automated Fingerprint Identification System (AFIS) [online] http://www.encyclopedia.com/doc/1G2-3448300049.html [naposledy navštíveno 3. 12. 2012] HÄGGSTRÖM, Mikael, 2012. Fundus photograph of normal right eye.jpg Publikováno 21. 03. 2012. [online] http://upload.wikimedia.org/wikipedia/commons/3/37/Fundus_photograph_of_normal_ri ght_eye.jpg [Cit. 24.12.2012]. Idex, 2013. The ID of you. [online] http://www.idex.no/ [naposledy navštíveno 12. 03. 2013] Iris recognition, 2012. In Wikipedia, The Free Encyclopedia. [online] http://en.wikipedia.org/wiki/Iris_recognition [naposledy navštíveno 10. 12. 2012] KYTKA, Jakub, 2009. Zabezpečení Windows 7. Praha 2009. Bakalářská práce. Vysoká škola ekonomická v Praze. Ing. Luboš Pavlíček. LI, Stan Z., JAIN, Anil K, 2011. Handbook of Face Recognition. 2. vyd. Londýn 2011. ISBN 978-0-85729-932-1. MAINGUET, Jean-François, 2013. Page d'accueil. [online] http://fingerchip.pagesperso-orange.fr [naposledy navštíveno 15. 04. 2013] MALTONI, Davide.; aj, 2009. Handbook of Fingerprint Recognition. 2. vyd. Londýn: Springer 2009. ISBN: 978-1-84882-253-5. MEYERS, Scott. Effective C++, 1999. 2. vyd. Addison-Wesley Professional Computing Series 1999. ISBN 0-201-92488-9.
Seznam informačních zdrojů
107
Microsoft, 2010. Introduction to the Windows Biometric Framework (WBF). Poslední změna 23.08.2010. [online] http://msdn.microsoft.com/en-us/library/windows/hardware/gg463089.aspx [naposledy navštíveno 20. 03. 2013] Microsoft, 2013a. MSDN Library. [online] http://msdn.microsoft.com/library [naposledy navštíveno 21. 04. 2013] Microsoft, 2013b. A history of Windows. [online] http://windows.microsoft.com/en-us/windows/history [naposledy navštíveno 25. 02. 2013] PECINOVSKÝ, Rudolf, 2007. Návrhové vzory. Computer Press, 2007. 1. vyd. ISBN 978-80-251-1582-4. Prill, 2009. Perfect thumb fingerprint. Publikováno 06. 09. 2009. [online] http://i.istockimg.com/file_thumbview_approve/2123036/2/stock-photo-2123036-perfectthumb-fingerprint.jpg [Cit. 24.12.2012]. RAKÁR, Peter, 2009. Využití snímání otisku prstu v IT. Praha 2009. Bakalářská práce. Vysoká škola ekonomická v Praze. Mgr. Jakub Balada Scientific Working Group on Friction Ridge Analysis, Study and Technology (SWGFAST), et al, 2011. The Fingerprint Sourcebook. Publikováno 04. 08. 2011. [online] http://nij.gov/pubs-sum/225320.htm [naposledy navštíveno 21. 02. 2013] SoloTech Corp, 2012. SoloTech Corp Ltd. - smartXS Retina + Face Recognition Devices. [online] http://solotechcorp.co.uk/index.php [naposledy navštíveno 3. 12. 2012] TechRepublic, 2004. Lock IT Down: Prevent Windows 98 users from bypassing the logon screen. Publikováno 28. 01. 2004 8:00. [online] http://www.techrepublic.com/article/lock-it-down-prevent-windows-98-users-frombypassing-the-logon-screen/5139996 [naposledy navštíveno 25. 02. 2013] The Market Eyewitness, 2012. As the PC Market falls, Lenovo rises. Publikováno 27. 12. 2012. [online] http://marketeyewitness.com/2012/12/27/as-the-pc-market-falls-lenovo-rises/ [naposledy navštíveno 12. 03. 2013] The Register, 2007. Hitachi goes global with vein recognition biometric. Publikováno 23. 7. 2007 07:02. [online] http://www.theregister.co.uk/2007/07/23/biometrics_vein_recognition/ [naposledy navštíveno 24. 12. 2012]
Seznam informačních zdrojů
108
ULRICH, Wolfgang, 2012. Fingerprint GUI. Poslední změna 2012. [online] http://www.n-view.net/Appliance/fingerprint/ [naposledy navštíveno 21. 03. 2013] Ultra-Scan, 2013. Corporation Home. [online] http://www.ultra-scan.com/ [naposledy navštíveno 11. 03. 2013]
Seznam obrázků a tabulek
109
Seznam obrázků a tabulek Seznam obrázků Obrázek 1: Otisk prstu (Zdroj: Prill 2009) ................................................................................................. 4 Obrázek 2: Obraz sítnice pravého oka (Zdroj: Häggström 2012) ............................................................. 5 Obrázek 3: Otisk dlaně (Zdroj: Anon 1903) .............................................................................................. 6 Obrázek 4: Rozpoznávání oční duhovky (Zdroj: Daugman 2012) ............................................................ 6 Obrázek 5: Snímek žilního sytému prstu (Zdroj: Anon 2013) ................................................................... 7 Obrázek 6: Orientační časová osa historie novodobé biometrie (Zdroj: autor)......................................... 7 Obrázek 7: Rozdělení trhu podle příjmů z jednotlivých technologií (Zdroj: Idex 2013) ........................... 18 Obrázek 8: Postup rekonstrukce otisku prstu při tahovém snímání na tzv. swipe senzoru (Zdroj: SWGFAST 2011)......................................................................................................................... 22 Obrázek 9: Schéma optického snímání s potlačeným zrcadlením (Zdroj: Maltoni 2009) ....................... 23 Obrázek 10: Optický swipe senzor (Zdroj: Mainguet 2013) .................................................................... 24 Obrázek 11: Schéma přímého optického bezdotykového snímání (Zdroj: Mainguet 2013) ................... 24 Obrázek 12: Schéma elektrooptického snímání (Zdroj: Maltoni 2009) ................................................... 25 Obrázek 13: Schéma přímého kapacitního snímání (Zdroj: Mainguet 2013) ......................................... 25 Obrázek 14: Schéma rádio-kapacitního snímání (Zdroj: Mainguet 2013) .............................................. 26 Obrázek 15: Ilustrace přenosu tepla při termálním snímání (Zdroj: Mainguet 2013) .............................. 26 Obrázek 16: Otisk sejmutý: a) opticky (FTIR), b) kapacitně, c) piezoelektricky (tlakově), d) termálně, e) klasickou inkoustovou metodou, f) latentní otisk. (Zdroj: SWGFAST 2011) .................... 27 Obrázek 17: Plošný optický snímač bok po boku s koncovým zařízením čtečky otisku prstu založené na tomto snímači – aktuální produkty fy Digital Persona (U.are.U 4500 Fingerprint Module & Reader) (Zdroj: digitalPersona 2013) ............................................ 28 Obrázek 18: Plošné a swipe rádio-kapacitní snímače – aktuální produkty fy Digital Persona (Zleva TCS1 Large Touch Sensor, TCS2 Medium Touch Sensor, TCS4K Swipe Sensor a s ním spojený TCS4K Chipset) (Zdroj: digitalPersona 2013) ............................................................................ 28 Obrázek 19: Termální swipe senzory, vpravo i v barevných variantách – historické produkty fy Atmel, vývoj ukončen roku 2008. (Zdroj: Mainguet 2013) ................................................................... 29 Obrázek 20: Tlaková čtečka otisku prstu – historický produkt fy Fidelica, vývoj pravděpodobně ukončen po roce 2006 (Zdroj: Mainguet 2013) ....................................................................................... 29 Obrázek 21: Modul snímače založeného na ultrazvuku, produkt z roku 2009 fy Sonavation (Zdroj: Mainguet 2013)............................................................................................................................ 30 Obrázek 22: Vývoj nejvýznamnějších výrobců snímačů založených na kapacitních technologiích (Zdroj: autor) ........................................................................................................................................... 32 Obrázek 23: SmartFinger Film senzor fy Idex (Zdroj: Idex 2013) ........................................................... 33 Obrázek 24: Rozdělení trhu osobních počítačů ve třetím čtvrtletí roku 2012 (Zdroj: The Market Eyewitness 2012) ..................................................................................................... 35 Obrázek 25: Aktuální produkty externích čteček firmy Digital Persona (digitalPersona 2013) ............... 36 Obrázek 26: Smartphone Motorola Atrix – detail snímače otisku prstu (Zdroj: Cnet 2011) .................... 37 Obrázek 27: Senzor, chipset, modul, produkt (Zdroj: autor) ................................................................... 40 Obrázek 28: Čtečka Eikon Solo fy Digital Persona (Zdroj: digitalPersona 2013) ................................... 41 Obrázek 29: Enrollment – detailní rozbor (Zdroj: autor) ......................................................................... 45 Obrázek 30: Verifikace – detailní rozbor (Zdroj: autor) ........................................................................... 46 Obrázek 31: Identifikace – detailní rozbor (zdroj: autor) ......................................................................... 47 Obrázek 32: Ukázky typů markant na otisku prstu. (Zdroj: Maltoni 2009) .............................................. 48
Seznam obrázků a tabulek
110
Obrázek 33: Softwarová architektura (Zdroj: autor) ............................................................................... 51 Obrázek 34: Architektura jádra Windows Biometric Frameworku (Zdroj: Microsoft 2010)...................... 52 Obrázek 35: Ovládací panel biometrických zařízení systému Windows (Zdroj: autor) ........................... 55 Obrázek 36: Panel změny biometrických nastavení (Zdroj: autor) ......................................................... 55 Obrázek 37: Přihlášení otiskem prstu na uvítací obrazovce Windows 7 (Zdroj: autor)........................... 57 Obrázek 38: Biometrické ověření identity v bezpečnostní funkci systému Windows (Zdroj: autor) ........ 57 Obrázek 39: Podpora rozpoznávání otisku prstu na linuxu (Zdroj: Ulrich 2012) ..................................... 61 Obrázek 40: Protector Suite 2012 - Control Center (Zdroj: autor) .......................................................... 63 Obrázek 41: Biomenu (Zdroj: autor) ....................................................................................................... 64 Obrázek 42: Registrace dialogu Windows funkcí Password Bank (Zdroj: autor).................................... 66 Obrázek 43: Vrstvy softwarové architektury (Zdroj: autor) ..................................................................... 72 Obrázek 44: Architektura Windows Biometric Framework a oddělení klientských aplikací (Zdroj: Microsoft 2012a) .......................................................................................................................... 79 Obrázek 45: Tlačítkové ovládání hlasitosti (HP, Dell) (Zdroj: autor) ....................................................... 89 Obrázek 46: Kolečko potenciometru ovládání hlasitosti (Toshiba) (Zdroj: autor) ................................... 89 Obrázek 47: Tahové ovládání hlasitosti (Gateway) (Zdroj: autor) .......................................................... 90 Obrázek 48: Tablet PC značky Toshiba s běžící aplikací Sensor Volume (Zdroj: autor)........................ 91 Obrázek 49: Čtečka Eikon I fy Upek s aplikací SensorVolume (Zdroj: autor)......................................... 92 Obrázek 50: Kontextové menu aplikace SensorVolume spolu s ikonou aplikace (Zdroj: autor) ............. 93 Obrázek 51: Diagram tříd aplikace Sensor Volume (Zdroj: autor) .......................................................... 95 Obrázek 52: Grafický indikátor úrovně hlasitosti v různých stavech (Zdroj: autor) ................................. 97
Seznam tabulek Tabulka 1: Hodnocení biometrických technologií dle zvolených kritérií .................................................. 14 Tabulka 2: Přiřazení výrobců snímačů otisku prstu k výrobcům přenosných počítačů .......................... 34
Příloha A: Výroba umělého prstu
111
Příloha A: Výroba umělého prstu Pro oklamání snímače otisku prstu je možné vyrobit umělý povrch prstu, se kterým je možné se úspěšně ověřit. Pro výrobu jsou potřeba tyto prostředky: víčko např. od PET láhve, vteřinové (kyanidové) lepidlo, digitální fotoaparát, laserová tiskárna na folie, disperzní lepidlo typu Herkules, speciální vodivé lepidlo nebo jiná formovatelná látka. Nejprve je nutné získat otisk prstu uživatele, který je naenrollován v systému. Zkušený špion tento problém vyřeší sledováním uživatele do nočního baru a získáním jím použité sklenice. Na sklenici jsou latentní otisky prstů. Vybraný otisk prstu je možné zvýraznit použitím vteřinového lepidla. Vteřinové lepidlo nalejeme do víčka a víčko přiložíme přes otisk. Výpary lepidla zvýrazní otisk do dobře viditelné podoby. Tento otisk vyfotíme digitálním fotoaparátem. Na počítači upravíme získaný otisk do kontrastní podoby a vytiskneme v adekvátní velikosti v laserové tiskárně na folii. Je nutné, aby tímto tiskem vznikl reliéf papilárních linii. Na plochu s reliéfem rovnoměrně rozetřeme vrstvu disperzního lepidla a necháme zaschnout. Poté zaschlou vrstvu lepidla sloupneme. Tím jsme získali vzor otisku, který můžeme používat pro opakovanou výrobu umělého povrchu prstu. Nyní je potřeba použít speciální vodivé lepidlo nebo jiný formovatelný vodivý materiál, který vhodně umístíme, přichytíme či jinak naneseme na náš vlastní prst. Prst s tímto materiálem nakonec otlačíme do vzoru a po zaschnutí máme umělý povrch prstu, se kterým se můžeme pokusit o ověření na cílovém systému. Kvalita celého procesu a zejména výběr vodivého lepidla či jiného materiálu značně ovlivňuje šanci na úspěšné ověření. Některé moderní senzory však mohou implementovat pokročilé metody na zjištění živého prstu, které mohou použití i velmi kvalitního umělého prstu znemožnit. Ačkoliv proces v laboratorních podmínkách vypadá poměrně jednoduše, jeho aplikace v reálných podmínkách je poměrně komplikovaná a náročná na vybavení i technické znalosti.1
1
Anon. Fingerabdruck. [video] Dostupné též z: http://ftp.ccc.de/video/Fingerabdruck_Hack/fingerabdruck.mpg [naposledy navštíveno 25. 4. 2013]
Příloha B: Sensor Volume ReadMe.txt
112
Příloha B: Sensor Volume ReadMe.txt ============================================== SENSOR VOLUME ============================================== The Ultimate Way to Control Your Master Volume ------------------------------------------------ CONTENTS --1. Introduction 2. Setup 3. Features 4. Supported device driver 5. Supported devices 6. Supported platforms 7. Tech-background 8. License 9. Author
1. Introduction --------------Sensor Volume is an application that allows you to use a fingerprint reader device to control your computer's master volume level. It is in a form of tray bar utility. You can interact with it through context menu of the tray icon. Otherwise it reacts to audio volume changes and can display a volume indicator transparent window. The main input control is fingerprint reader. Motion of your finger on the sensor is detected and translated into master audio volume changes which is every time accompanied by displaying the volume indicator window. 2. Setup -------If you have fingerprint reader preinstalled in your computer then it should work on first run. Otherwise you need to connect the reader to your computer in case of external device. And/or install device drivers. It must be so called legacy nonwbf device driver that is installed. Once you have device connected and right driver installed you can simply run the application and it will work right away. Consult sections 4. Supported device driver and 5. Supported devices for more details. It is necessary to have correct version and variant of BSAPI.dll in Sensor Volume directory. BSAPI.dll is available in either 32-bit or 64-bit variant. Because Sensor Volume is 32-bit only application it will link only 32-bit version of DLL. BSAPI.dll should be of version 4.2.0.262 or newer. Application might be up to one major version number backward compatible (to something like 3.6.) but it was not tested and such configuration is not recommended. You may also need to install Microsoft Visual C++ 2010 Redistributable Package. It is also bundled with application. Run vcredist_x86.exe. Or it can be downloaded from Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=5555
Příloha B: Sensor Volume ReadMe.txt
113
3. Features ----------- Volume control by fingerprint reader Slide your finger over the fingerprint sensor to change your master volume - Unmute muted audio by sliding muted indicator display to its maximum then the audio level before audio was muted will be immediately restored - Timed release of the sensor to use is with other (pre)installed software Quickly double tap (or better triple) the sensor indicator will indicate that device is released from use. Sensor Volume automatically restarts it in 10 seconds. - Release sensor in tray icon menu if you need to release device for longer period of time then uncheck that menu item later to restore function - LED indication can be enabled or disabled via tray icon menu If your device does not have the LED diodes it should be disabled - If your control is oriented opposite to what volume indicator showing on screen you can reverse the volume indicator function in menu - Last item in tray menu enables you to see volume indicator even when volume is changed from another source than from fingerprint sensor reader Other features: - Volume indicator showing mute state as grayed out - Volume indicator showing timed release as red crossed out indicator - Both states can be combined - Device release is also visible on tray icon - User settings from tray context menu are store in registry - Clicking any application tray info balloon will open this help file - When screen resolution is changed application will recalculate dimensions
4. Supported device driver -------------------------You can find it in your device manager under class Authentication Devices. Name: TouchChip Fingerprint Coprocessor (displayed for devices with companion chip processor) or Name: TouchChip Fingerprint Sensor (displayed for Sonly (sensor only) devices) Manufactured by: UPEK Inc. or ancestor Authentec. Prefered versions: 1.9.2.178 or 1.9.2.204 Driver file: tcusb.sys Driver can be downloaded at: http://support.authentec.com/Downloads/Windows/Drivers.aspx from tab Common Driver for TC Readers.
5. Supported devices -------------------Most of swipe readers from UPEK company family. Because application is based on Biometric Services API it supports all devices that support the BSAPI except those that don't support navigation feature. (All area sensors, some old swipe types)
Příloha B: Sensor Volume ReadMe.txt
114
List of possibly supported devices: (taken from BSAPI documentation) - Intelligent readers based on the following chipsets: TCD42, TCD50A, TCD50D and TCD51A. - This includes EIKON, EIKON II and EIKON-To-Go external readers. - Sensor-only readers based on the following sensors: TCS4B, TCS4C, TCS5B, TCS4K, TCS5D
6. Supported platforms ---------------------Application is designed to run on Microsoft Windows Vista and newer. It was developed and tested so far only on Windows 7.
7. Tech-background -----------------Sensor Volume comes from an idea of how to use fingerprint reader as system control while still providing the way to use standard biometric software (pre)installed on computer. The starting point was actually dissatisfaction with usual way how volume is controlled on laptop computers. Usual + / - button solution is not bad but it is also nothing very brilliant. Slide controls are usually very crappy. The best solution I have ever seen is Toshiba notebook's classic dimmer wheel (potentiometer). But they blindly decided to move forward towards electronic dimmer wheel (no start - no end) which is also very inconvenient at least in settings I'm using. So on laptops why not to use already build-in fingerprint reader that's usually of no use when user is logged in on computer. Sensor Volume is trying to demonstrate that way of controlling your master volume. If ever found again conscious laptop manufacturer should move this and other (display brightness, etc.) functionality back to hardware level so that there is no need to have system fully running to be able to control audio volume. That's we often hear playing start sound while on lecture or presentations. It's really stupid. Sensor Volume might be also implemented on hardware level directly in device firmware communication with computer's BIOS or equivalent (EFI). That is all just suggestions to laptop manufacturers that come to mind when thinking about Sensor Volume. After more than three years of more thinking and less developing the Sensor Volume finally made it and got to my master's thesis.
8. License ---------This version is only available as a part of my master's thesis and must not be distributed otherwise or used without my knowledge. Sensor Volume is based on BSAPI lite which is free-of-charge version of biometric API. For more license details please contact me. 9. Author --------Petr Varadinov <
[email protected]>