FingerID - Applikation för användaridentifiering med fingeravtryck



Relevanta dokument
FINGERID APPLIKATION FÖR ANVÄNDARIDENTIFIERING MED FINGERAVTRYCK DEL II

TPFD - TestPlan Före Design BESKRIVNING AV AKTIVITETER

LEX INSTRUKTION LEX LDAP

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Undervisningen i ämnet mobila applikationer ska ge eleverna förutsättningar att utveckla följande:

Decentraliserad administration av gästkonton vid Karlstads universitet

FileMaker Pro 13. Använda Fjärrskrivbord med

Metoder för verifiering av användare i ELMS 1.1

INSTALLATIONSINSTRUKTIONER FÖR VIDA INNEHÅLL

Webbokning Windows 7,8.1 &10 Installationsmanual

Sirius II Installation och Bruksanvisning

Uppdragsbeskrivning. Paddel-appen Utmärkta kanotleder. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Frekvenstabell över tärningskast med C#

Nils Byström, Avd f IT och inköp. Projekt AD-design Uppsala universitet DiarieNr: UFV 2009/413. Revision 1.0 Filnamn AD skyddade personuppgifter.

Startguide för Administratör Kom igång med Microsoft Office 365

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

TDDD80 Mobila och sociala applikationer. Kursintroduktion

Projekt Fake för Virtutech

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Mac OS X 10.6 Snow Leopard Installationshandbok

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Datum Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.

Microsoft Operations Manager 2005

GPDR personuppgifter i Artologik EZbooking

JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund Marcus Widblom Senast ändrad: 13 / 05 / 08

Webservice & ERP-Integration Rapport

Nyckelbrickshantering

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

PUBLICERINGSNOTISER TRIMBLE ACCESS SOFTWARE. Version Revidering A December 2013

Uppdragsbeskrivning. Närvaruappen. Version 1.0 Mats Persson. vakant

FileMaker. Köra FileMaker Pro 10 på Citrix Presentation Server

Manual Komma igång med Softphone-klient

AVCAD 4.0 för Windows

Användarhandbok. Trio Visit Web. Trio Enterprise 4.1

Quick Start CABAS. Generella systemkrav CABAS / CAB Plan. Kommunikation. Säkerhet

Administrationsmanual ImageBank 2

Föreläsning 11. Giriga algoritmer

Kursplanering Objektorienterad programmering

Mobilus får inte användas under tiden uppdateringen genomförs.

7 Mamut Client Manager

Pulsmätare med varningsindikatorer

Flexi Exchange Connector. Copyright Datatal AB. Med ensamrätt. Copyright 2013 Datatal AB. All rights reserved.

Krav: * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Elsmart Användarmanual Nätanmälan för Installatörer

Quickstart manual. Rev SHTOOL Quickstart manual Smart-House

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Administrationsmanual ImageBank 2

Webbtjänster med API er

Objektorienterad programmering Föreläsning 2

Användardokumentation för CuMaP-PC. Fleranvändarsystem och behörigheter

Boss installationsmanual förberedelser

Sänk kostnaderna genom a/ ställa rä/ krav och testa effektivt

Anslut till fjärr-whiteboard

1DV416 Windowsadministration I, 7.5hp MODULE 3 ACTIVE DIRECTORY

ANNEX BILAGA. till. kommissionens genomförandebeslut

Din manual HP PAVILION HDX9120EA

SNABBGUIDE för studenter windows. Utskriftshantering, Kopiering och Scanning

Med den här boken får du: Författaren:

Installationsinstruktion med rekommenderade inställningar Extern Uppkoppling med SITHS-Kort mot Landstinget Västmanland

Active Directory Self-Service Bundle

Concept Selection Chaper 7

Primus Vägledning för massimport av bilder. Primus 5.6.4

Styrteknik 7.5 hp distans: E-1000 och E-Designer

PROGRAMUTVECKLINGSPROJEKT

Säkerhet Användarhandbok

FileMaker. Köra FileMaker Pro 10 på Terminal Services

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Creo Customization. Lars Björs

Kontorsinstallation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Snabbguide för användare SourceTech Telllus

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

BRUKSANVISNING FÖR NÄTVERKSANVÄNDARE

TDDD80 Mobila och sociala applikationer. Kursintroduktion

Författare Version Datum. Visi System AB

TST8102 WEBCM BRUKSANVISNING

Innehåll. Dokumentet gäller från och med version

Akzo Nobel AB. Användarguide - FAQ Externa användare. Sök jobb hos Akzo Nobel i vårt Rekryteringssystem

Metoder och verktyg för funktionssäkerhet

FileMaker Pro 11. Köra FileMaker Pro 11 på Citrix XenApp

Installationsanvisning Boss delad databas

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Cargolog Impact Recorder System

BioLock Fingeravtryckslås

REGION SKÅNE VDI KLIENTINSTALLATION

Skapa ett paket av TI-Nspire programvara med Microsoft SMS 2003

Telia Centrex IP Administratörswebb Handbok

Uppdatera Mobilus Professional till version * Filen MpUpdate.exe får inte köras när du startar denna uppdatering.

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Säkerhet Användarhandbok

Tillsyn enligt personuppgiftslagen (1998:204) användning av biometri inom arbetslivet

Windows Forms Winstrand Development

Introduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1

Small Business Server 2011 SSL certifikat administration

Installationsanvisningar

Transkript:

Examensarbete 20 poäng D-nivå FingerID - Applikation för användaridentifiering med fingeravtryck Reg.kod: Oru-Te-EXA089-D108/03 Daniel Johansson och Daniel Hammarin Magisterprogrammet i datateknik 160 p Örebro höstterminen 2003 Examinator: Lars Karlsson Handledare: Thomas Padron McCarthy FINGERID APPLICATION FOR USER IDENTIFICATION FROM FINGERPRINTS Örebro universitet Örebro University Institutionen för teknik Department of technology 701 82 Örebro SE-701 82 Örebro, Sweden

SAMMANFATTNING Legosan AB tillverkar naturläkemedel och kosttillskott och önskar avlägsna pappershantering från tillverkningsprocessen. Detta är anledningen till att detta projekt initierats. Tillverkningsprocessen sker maskinellt men varje tillverkningsomgång genererar ett antal dokument som granskas av kvalitetsavdelningen innan paketering och skeppning. Idag identifieras och verifieras operatörer med en handskriven signatur med bläckpenna på processdokumentationen. Operatören måste även anteckna datum och eventuellt klockslag vid signeringen. Eftersom produktionen sker under mycket stränga krav på sanitet är förekomsten av dokument och pennor i produktionen en ovälkommen riskkälla. Istället önskas ett system som kan identifiera användaren på ett säkert sätt via biometrisk information. Denna rapport presenterar resultatet av en utredning av möjligheterna att använda fingeravtryck för identifiering av operatören och konstruktionen av en applikation för detta. ABSTRACT Legosan AB manufactures natural remedies and nutritional supplements and wishes to remove any handling of papers from their manufacturing process. That is why this project was initiated. The manufacturing process is mechanical but each manufactured batch generates a number of documents that is reviewed by the department for quality assurance before packaging and shipping. Today the machine operators is identified and verified through a hand written signature with an ink pen on the process documentation. Since the production is under very strict sanitary regulations the presence of documents and pens are unwelcome sanitary hazards. A system that can identify an operator through his or hers biometric information is therefore preferable. This report presents the result of an inquiry of the possibilities to use fingerprints to identify the operator, and the construction of an application for this.

FÖRORD Denna rapport är en del av vårt avslutande examensarbete för en 160 poängs Magisterexamen i Datateknik vid Örebro Universitet. Examensarbetet omfattade 20 poäng och har utförts vid Legosan AB i Kumla under höstterminen 2003. För vår personliga del har projektet gett oss utökade kunskaper inom programmering och projekthantering. Vi har också fått möjlighet att arbeta med Visual Studio, Windows Server 2003, Active Directory Services Interface, Visual Basic for Applications och spännande teknologi i form av fingeravtryckläsare från Fingerprint Cards AB. Vi vill passa på att tacka följande personer: Fredrik Wiklund, vår handledare och uppdragsgivare på Legosan AB för hans entusiasm och goda idéer. Jonas Salomonsson, applikations- och mjukvaruingenjör på Fingerprint Cards AB för hans utmärkta support under programmeringsarbetet. Thomas Padron-McCarthy, vår handledare på Örebro Universitet. Vi vill också passa på att önska Rickard Israelsson lycka till med sitt examensarbete då han nu fortsätter att vidareutveckla och förbättra systemet.

INNEHÅLLSFÖRTECKNING 1 INLEDNING... 5 1.1 Legosan AB... 5 1.2 Mål... 5 1.3 Terminologi... 6 2 UTREDNING... 7 2.1 Fingeravtryck och Biometri i allmänhet... 7 2.1.1 Allmänt om biometri... 7 2.1.2 Om fingeravtryck... 7 2.1.3 Terminologi - Biometri... 8 2.2 Lämpliga fingeravtryckläsare... 9 2.2.1 Krav på fingeravtryckläsaren och utvecklingspaket... 9 2.2.2 Företag och produkter...11 2.2.2.1 Identix Inc...11 2.2.2.2 Precise Biometrics AB...12 2.2.2.3 Fingerprint Cards AB...13 2.2.3 Slutsats...14 2.3 Datainspektionen...15 2.4 Riskanalys...16 3 VERKTYG OCH METODER...17 3.1 FPC 6410 Development Kit...17 3.1.1 Fingeravtryckläsaren...17 3.1.2 Algoritmer...18 3.1.3 BioAPI...20 3.1.4 Biometric Information Record BIR...20 3.1.5 FPCore API...20 3.2 Windows Server 2003 med Active Directory...21 3.3 Visual C++ 6.0...21 3.4 iscala 2.2...21 3.5 Dokumentation...22 3.5.1 Aktivitetsbeskrivning...23 4 IMPLEMENTERING...25 4.1 Applikationsdesign...25 4.2 FingerID...26 4.2.1 Funktion...26 4.2.2 Design...27 4.2.2.1 CReader...27 4.2.2.2 CADUser...28 4.3 FingerIDAdmin...30 4.3.1 Funktion...30 4.3.2 Design...32 4.3.2.1 CReader...33 4.3.2.2 CADUser...34 4.3.2.3 CStats...36 4.4 Koppling till iscala 2.2...37 5 RESULTAT...38 6 MÖJLIGA FÖRBÄTTRINGAR...40 7 REFERENSER...42 7.1 Litteratur och skrifter...42 7.2 Webbplatser...43

1 INLEDNING Detta avsnitt ska ge en bakgrund till varför projektet startades, vilka mål som satts upp samt ge en enkel förklaring till den terminologi som används i rapporten. 1.1 Legosan AB Legosan AB finns i Kumla och har cirka 20 anställda. Legosan AB tillverkar naturläkemedel och kosttillskott, företaget har funnits sedan mitten av 1980-talet. 1997 blev Legosan AB certifierade för läkemedelsproduktion av Svenska Läkemedelsverket. De produkter som tillverkas består i huvudsak av tabletter som paketeras i burkar eller blisterförpackningar. Kunderna finns främst i Skandinavien. I lager hålls över 300 råvaror. En produkt består av allt från 3-4 råvaror till upp mot 40 stycken. Tillverkningsprocessen består av 4-7 delmoment. Tillverkningsprocessen sker med hjälp av moderna maskiner främst från Tyskland. Metoderna som används är pappersbundna vilket Legosan AB håller på att avlägsna. Alla dokument som produceras i fabriken är knutna till en tillverkningsomgång och granskas av kvalitetsavdelningen innan paketering och skeppning. Processen och rutinerna är utformade för att passa gällande regler, GMP (Good Manufactoring Practice). 1.2 Mål Att pappersdokument hanteras i tillverkningsprocessen är en sanitetsrisk. Därför önskar Legosan AB avlägsna detta. Legosan AB önskar en lösning på verifierings- och identifieringsproblemet. En tänkbar lösning kan vara att använda biometrisk information för identifiering och verifiering. De existerande verifieringssystem baserade på fingeravtryck som Legosan AB undersökt har fungerat så att man efter inloggning med användarnamn använder fingeravtrycket endast för verifiering. Tanken är att det nya systemet ska identifiera användaren så att en inloggning med användarnamn ej är nödvändig. Uppdraget består av följande punkter. Utred de existerande tekniker som finns för identifiering med hjälp av fingeravtryck och vilka tillverkare som tillhandahåller utvecklingspaket (SDK) till sina produkter. Utveckla en applikation efter Legosan AB:s behov med hjälp av den produkt och den SDK som visar sig vara mest lämpad. Utred om det är möjligt att identifiera ett fingeravtryck i arbetsmiljön i vilken individen arbetar, med avseende på pulver och diverse små partiklar som kan fastna på fingrarna. Koppla samman identifieringsapplikationen med företagets affärssystem. Daniel Johansson & Daniel Hammarin Sidan 5 av 43

Önskad dokumentation. Arbetet ska dokumenteras noggrant på det sätt som Legosan AB önskar utifrån Läkemedelsverkets riktlinjer. Dokumentation av systemets säkerhet och utred möjligheten till intrång. Utred Läkemedelsverket och fackets synpunkter på att lagra anställdas fingeravtryck. 1.3 Terminologi Verifiering (1:1-matchning) Jämförelse mot ett enskilt lagrat fingeravtryck. Kräver någon form av användarnamn eller inloggning. Identifiering (1:N-matchning) Jämförelse mot flera lagrade fingeravtryck. Kräver inte någon form av användarnamn eller inloggning. Identifiering (1:FEW-matchning) Jämförelse mot ett fåtal lagrade fingeravtryck. Genomför upprepad verifiering mot alla användare. Kräver inte någon form av användarnamn eller inloggning. SDK Software Development Kit, utvecklingspaket för mjukvara. API Application Programming Interface, En samling funktioner som används för att programmera mot en komponent, applikation eller operativsystem. ESD Electro Static Discharge, Statisk urladdning. ASIC Application Specific Integrated Circuit, en integrerad krets som har skapats för ett visst ändamål. USB Universal Serial Bus är ett gränssnitt för att ansluta yttre enheter till en dator. Både data och ström skickas i en USB-kabel. GUI Graphical User Interface, grafiskt användargränssnitt Daniel Johansson & Daniel Hammarin Sidan 6 av 43

2 UTREDNING Detta avsnitt presenterar de utredningar som gjorts i projektets inledningsfas. Avsnittet är också tänkt att ge en kort introduktion till ämnet Biometri och då främst fingeravtryck. 2.1 Fingeravtryck och Biometri i allmänhet 2.1.1 Allmänt om biometri Informationen om biometri och fingeravtryck här är bland annat hämtad från Bioidentification FAQ [19]. För den som vill fördjupa sig finns det mycket litteratur i ämnet, t.ex. "Biometrics" [9] och Automatic Fingerprint Recognition Systems [10]. Med biometrisk identifiering menas att en person identifierar sig genom sin kropp. Det kan till exempel vara via fingeravtryck eller avläsning av näthinnan. Kravet är att det ska vara en del av kroppen som är unik för varje individ. Det finns mer än 10 olika tekniker som är baserade på biometriska system vilka kan användas vid identifiering. Fysiska metoder: Irisigenkänning Hornhinneigenkänning Venmönster Ansiktsigenkänning Handgeometri eller fingergeometri Fingeravtrycksigenkänning Ytterligare metoder för att igenkänning kan vara olika typer av uppförande som rytmer i tangentbordstryckningar, röstigenkänning eller via en skriven signatur. För att kunna identifiera en person med någon av dessa metoder måste det givetvis finnas något att jämföra med. När man sparar en profil, eller schablon som det också kallas, innehållande biometrisk information så kallas det "enrollment". Detta görs ofta flera gånger för att kunna identifiera en person med en viss felmarginal. Då identifieringen genomförs jämförs den information som är sparad i profilen (schablonen) med den information som skickas in i systemet. En viss felmarginal mellan profilen och det som skickas in godtas. Om felmarginalen är för stor blir inte personen accepterad. Sannolikheten att en person blir felaktigt avvisad kallas för "False Reject Rate"(FRR) och sannolikheten för att en person blir felaktigt accepterad "False Accept Rate" (FAR). Det gäller att få dessa två värden så små som möjligt för att systemet ska bli bra. 2.1.2 Om fingeravtryck Skinnet på undersidan av ett finger är täckt med ett mönster av toppar och dalar. Dessa toppar och dalar anses som unika för varje individ. Daniel Johansson & Daniel Hammarin Sidan 7 av 43

En del fingeravtryckläsare jämför med hela fingeravtrycket som en bild och en del jämför olika specifika drag i mönstret av toppar och dalar. Dessa specifika detaljer består av linjer som slutar och linjer som delar sig. Dessa olika detaljer kallas minutiae-punkter. Ett fingeravtryck består av cirka 100 minutiae-punkter men den yta som vanligtvis läses in innehåller cirka 30-40 punkter. Figur 1 Minutiae-punkter Det finns i huvudsak 5 stycken olika typer av läsare för fingeravtryck. Dessa är: Optisk sensor med CCD eller CMOS kamera Ultraljudssensor Elektrisk ytsensor Kapacitiv sensor Temperatursensor 2.1.3 Terminologi - Biometri Schablon (eng. template) Unik matematiskt beskrivning av en persons biometriska egenskaper. Enroll Inregistrering av en persons biometriska egenskaper och skapar en schablon. False Acceptance Rate (FAR) Den frekvens med vilken icke godkända personer blir accepterade som godkända. Eftersom feltoleransen ofta kan leda till fel så kan man säga att FAR är ett mått på hur säker inläsningen är. False Rejection Rate (FRR) Daniel Johansson & Daniel Hammarin Sidan 8 av 43

Den frekvens med vilken en godkänd person blir avvisad. FRR kan ses som ett mått på bekvämlighet. Failure To Enroll rate (FTE, även FER (Failure Enroll Rate)) Den frekvens med vilken personer misslyckas att bli inregistrerade. False Identification Rate (FIR) Den frekvens med vilken en person identifieras som en annan. False Match Rate (FMR) Andelen ej godkända personer som blir felaktigt identifierade. Det som skiljer FMR från FAR är att FAR inte tar hänsyn till dålig inläsning vilket FMR gör. False Non-Match Rate (FNMR) Andelen godkända personer som blir felaktigt identifierade eller inte blir identifierade alls. Det som skiljer FNMR från FRR är att FRR inte tar hänsyn till dålig inläsning vilket FNMR gör. 2.2 Lämpliga fingeravtryckläsare 2.2.1 Krav på fingeravtryckläsaren och utvecklingspaket 1:N identifiering Det var ett krav från Legosan AB att användaren ej ska behöva ange användarnamn och sedan genomföra 1:1-verifiering. Därför önskades en läsare och algoritm som kan genomföra 1:Nidentifiering. 1:N-identifiering är dock inte lika säker och snabb som 1:1-verifiering. Säkerheten i 1:N-matchning beräknades dock vara tillräcklig för Legosan AB:s behov. Läsaren ska gå att göra rent på ett smidigt sätt Produktionsmiljön innehåller partiklar av fint pulver som lätt kan fastna på fingrar och på läsaren. Det var därför önskvärt att personalen ska kunna göra rent läsaren på ett smidigt sätt. USB-interface PC-terminalerna har tillgång till USB och det skulle därför vara smidigt att använda sig av dessa då de även förser fingeravläsaren med ström. Snabb inläsning och identifieringsprocess Önskad tid för inläsning och identifiering ligger runt 1 sekund. Om det tar längre tid finns det risk för att systemet känns segt. Eftersom identifiering ska ske relativt ofta är det viktigt att system inte känns segt. Kapacitiv läsare Det finns kapacitiva och optiska läsare. Den kapacitiva läsaren försvårar falska inloggningar eftersom den till skillnad från en optisk läsare reagerar på elektriska signaler istället för en bild. Kompatibla med BioAPI Läsarna och tillhörande algoritmer ska vara kompatibla med BioAPI, den API som är standard för applikationer inom biometri. Daniel Johansson & Daniel Hammarin Sidan 9 av 43

Daniel Johansson & Daniel Hammarin Sidan 10 av 43

2.2.2 Företag och produkter En undersökning av marknaden för fingeravtryckläsare visade på följande lämpliga företag: Identix Inc. Precise Biometrics AB Fingerprint Cards AB 2.2.2.1 Identix Inc. Identix Inc. [15] erbjuder ett BioEngine Developer s Kit till användare som vill skriva egna applikationer. Utvecklingspaketet ger tillgång till algoritmer för så väl 1:1-verifiering som 1:N-identifiering samt exempelkod för flertalet programmeringsspråk. DFR 2080 DFR 2080 använder en optisk sensor. DFR är stor och robust och passar bra för industriellt bruk. Läsaren har USB-interface. Figur 2 DFR 2080 BioTouch USB 200 BioTouch USB 200 använder även den en optisk sensor. Läsaren är liten och behändig och anpassad för bruk med PC, Laptop eller terminaler. Läsaren har USB-interface. Figur 3 BioTouch USB 200 Daniel Johansson & Daniel Hammarin Sidan 11 av 43

2.2.2.2 Precise Biometrics AB Precise Biometrics AB [16] kan leverera två stycken utvecklingspaket. Precise BioMatch Standard Toolkit och Precise BioMatch Pro Toolkit. Dessa toolkit ger tillgång till BioMatch -algoritmen, testverktyg och exempel på hur man kan använda sig av algoritmen i form av C-kod. Dessa kit innehåller dock inte några fingeravtryckläsare. Algoritmen som Precise Biometrics AB tillhandahåller lämpar sig inte för 1:N-identifiering, högst 1:FEW-identifiering. Precise 100 A Precise 100 A är en kapacitiv areasensor som fungerar genom att användaren applicerar sitt finger på sensorn. Enligt Precise Biometrics AB sker inläsningen i realtid. Läsaren är liten, behändig och lämplig att använda tillsammans med PC, laptop eller en terminal. Läsaren har USB-interface. Figur 4 Precise 100 A Daniel Johansson & Daniel Hammarin Sidan 12 av 43

2.2.2.3 Fingerprint Cards AB Fingerprint Cards AB [14] kan levererar tre olika algoritmer för matchning av fingeravtryck. Fingerprint Cards AB erbjuder två utvecklingspaket, FPC6410 (för area sensor) och FPC6430 (för swipe sensor). Dessa innehåller sensor, manual, algoritmer samt olika exempel på C-kod. Dessa paket är speciellt framtagna till kunder som vill skriva egna applikationer och som vill göra prototyper. Fingerprint Cards AB:s båda läsare är kapacitiva, små, och lämpliga för användning tillsammans med en PC, laptop eller terminal. Läsarna har ett tjockare skydd över sensorn än andra tillverkares sensorer som gör den mindre känslig för statiska urladdningar och lätt att göra ren. FPC1010 area sensor Till den FPC1010 area sensor finns det en algoritm för 1:1-verifiering och en algoritm för 1:N-identifiering. Inläsningen sker genom att användaren placerar fingret på sensorn. Läsaren har USB-interface. Figur 5 FPC1010 Area Sensor FPC1030 Swipe Sensor Till FPC1030 Swipe Sensor finns det endast en algoritm för 1:1-verifiering. Inläsningen sker genom att drar fingret över sensorn. Läsaren har USB-interface. Figur 6 FPC1030 Swipe Sensor Daniel Johansson & Daniel Hammarin Sidan 13 av 43

2.2.3 Slutsats Efter behandling av den insamlade informationen har följande slutsats nåtts. Identix Inc. erbjuder ett bra utvecklingspaket samt en robust läsare. Det som talar mot Identix Inc. är det höga priset på utvecklingspaketet och det faktum att läsaren har en optisk sensor. Det anses lättare att lura en optisk sensor med ett falskt fingeravtryck. Den optiska sensorn har dock en fördel i och med att den är mindre känslig för statisk elektricitet. Ytterligare en nackdel är att företaget finns i USA och den svenska återförsäljaren inte är inriktad mot fingeravtryck. Det innebär svårigheter att få bra support under utvecklingen. Detta gör att Identix Inc:s lösning inte ansågs lämplig för projektet. Precise Biometrics AB erbjuder en mycket smidig läsare som är bland de minsta på marknaden. Utvecklingspaketet erbjuder dock ingen algoritm för 1:N-identifiering utan i vissa fall bara 1:FEW-identifiering. Supporten från Precise Biometrics AB är god. Vid samtal med Precise Biometrics AB visade det sig att 1:N-identifiering kunde bli svår att genomföra med deras algoritm och de rekommenderade inte den lösningen. Osäkerhet beträffande 1:N-identifiering gör att Precise Biometrics AB:s lösning inte ansågs lämplig för projektet. Fingerprint Cards AB erbjuder 2 stycken läsare som är smidiga och robusta. De erbjuder även ett bra utvecklingspaket och har en algoritm för 1:N-identifiering. Supporten från Fingerprint Cards AB är mycket god. Vid samtal med Fingerprint Cards AB visade det sig att swipe sensorn inte rekommenderades för 1:N-identifiering. Area sensorn är den produkt som kan hantera 1:N-identifiering. För projektet ansågs Fingerprint Cards AB:s FPC 6410 utvecklingspaket vara mest lämpligt. Daniel Johansson & Daniel Hammarin Sidan 14 av 43

2.3 Datainspektionen Datainspektionen är den myndighet som är ansvarig för personuppgifter, vilket fingeravtryck räknas till. Datainspektionen tillhandahåller ett flertal informationsskrifter som berör ämnet. Dessa är: Datainspektionens informationsmaterial: Information till registrerade enligt personuppgiftslagen [6] Datainspektionens informationsmaterial: Säkerhet för personuppgifter [6] Datainspektionen informerar: Personuppgifter i arbetslivet [5] Datainspektionen informerar: Samtycke enligt personuppgiftslagen [5] Datainspektionen informerar: Intresseavvägning enligt personuppgiftslagen [5] Eftersom Legosan AB är ett företag som behöver en relativt hög säkerhetsnivå i produktionen så behövs ej de anställdas samtycke, men de bör informeras. Systemet ska användas av anställda som redan har identifierats vid ingången med passerkort eller dylikt. Detta medför att ett begränsat antal individer kommer ha tillgång till systemet. Fingeravtryck är personuppgifter som ska lagras på ett säkert ställe. De schablonfiler som lagrar fingeravtrycket består inte av en bild och kan därför inte återskapa ett fingeravtryck. Datainspektionen tillhandahöll så pass bra information angående dessa frågor, vilket medförde att Läkemedelsverket och facket inte var nödvändiga att kontakta. Daniel Johansson & Daniel Hammarin Sidan 15 av 43

2.4 Riskanalys För nuvarande arbetar flera operatörer med att fylla i kontrolluppgifter i affärssystemet vid samma klient vid olika hållpunkter i produktionen. Ingen in- och utloggning sker utan alla operatörer arbetar med samma användarkonto. När kontrolluppgifterna sparas i databasen skrivs processdokumentationen ut och signeras av operatören med en bläckpenna. Denna signatur är således det enda som bevisar vilken operatör som tillverkat en viss sats av produkten. Med det färdiga systemet FingerID kommer operatörerna fortfarande jobba med ett gemensamt användarkonto vid samma klient men de utskrivna dokumenten kommer att ersättas av ett fält i affärssystemet som endast kan fyllas i av FingerID efter en godkänd identifiering när kontrolluppgifterna ska sparas i databasen. Denna identifiering kommer då att vara bevis för vilken operatör som tillverkat satsen. Det finns en viss risk att fingeravtryckläsaren felaktigt identifierar en operatör, d.v.s. operatören identifieras som en annan person. I tester har risken uppmäts till 1 på 10 000 försök (0.01%). Vidare information om identifieringens säkerhet presenteras i avsnitt 3.1.2. Ett tänkbart riskscenario är då att det inte är möjligt att till 100 % säkerställa att det är den identifierade operatören som verkligen sparat kontrolluppgifterna i databasen. Detta skulle kunna orsaka problem om ansvar ska utkrävas av en operatör för felaktigheter i en produkt eller dylikt. Den identifierade operatören kan då peka på osäkerheten i identifieringen och på så sätt hävda sin oskuld. Ovanstående scenario kräver att FingerID felaktigt identifierar operatören samt att denne är oärlig nog att spara kontrolluppgifterna i databasen under felaktigt namn. Ett system med identifiering med hjälp av fingeravtryck får därför anses betydligt säkrare än det nuvarande systemet med en handskriven signatur då en signatur med relativ lätthet kan förfalskas. Det är även möjligt att tillverka ett syntetiskt finger och på så sätt lura fingeravtryckläsaren. En kapacitiv fingeravtryckläsare anses dock vara svår att lura då den utnyttjar det mänskliga fingrets förmåga att leda svaga strömmar. Att lura en kapacitiv fingeravtryckläsare kräver således tillgång till en avgjutning av en operatörs finger och ett mycket avancerat syntetiskt finger. FingerID kan även misslyckas helt med att identifiera en operatör. I tester har risken för detta uppmäts till 5 på 100 försök (5 %) samt 1 på 100 försök (1 %) om operatören får försöka två gånger. Därmed finns det en risk att en operatör inte lyckas att identifiera sig och då av lathet ber någon annan att utföra identifiering istället. Detta kan leda till att fel operatör står som ansvarig för produkten. Att en helt utomstående person skulle kunna ta sig in i produktionen och spara information i databasen anses vara mycket liten då en passerkontroll sker vid tillträde till produktionsmiljön. De risker som framkommit under arbetet med FingerID anses av Legosan AB vara godtagbara och införandet av FingerID i produktionen anses ge en högre säkerhetsnivå än nuläget. Daniel Johansson & Daniel Hammarin Sidan 16 av 43

3 VERKTYG OCH METODER Detta avsnitt ger en beskrivning av de verktyg och metoder som använts i projektet. FPC 6410 Development Kit Utvecklingspaket från Fingerprint Cards AB som innehåller hårdvara och algoritmer för inläsning och identifiering av fingeravtryck. Windows Server 2003 Den serverprogramvara som Legosan AB använder. Visual C++ 6.0 Det utvecklingsverktyg som använts för projektet. iscala 2.2 Det affärssystem som Legosan AB använder. PPFD-metoden Den metod för programvaruutveckling som använts i projektet. 3.1 FPC 6410 Development Kit Det utvecklingspaket som beställdes från Fingerprint Cards AB innehåller följande komponenter: 1 st. fingeravtryckläsare bestående av: FPC1010 Area Sensor, ASIC FPC2000 processor, ARM7 mikrocontroller för USB eller seriell kommunikationskabel. 1 st. CD innehållande FPC4010 Area Verification Algorithm, FPC4020 Area Identification Algorithm, mjukvara, dokumentation och exempelkod. 3.1.1 Fingeravtryckläsaren FCP1010 Area Sensor är en kapacitiv sensor och ser ut enligt bilden nedan. Figur 7 FPC1010 Area Sensor I utvecklingspaketet är sensorn monterad i ett plastskal kallad puck innehållande processorn och USB-mikrocontrollern. I slutprodukten är sensorn tänkt att vara integrerad på ett lämpligt sätt vid PC-terminalen. Under utvecklingsfasen har dock arbetet skett mot en sensor monterad i puck. Daniel Johansson & Daniel Hammarin Sidan 17 av 43

Figur 8 FPC1010 Area Sensor monterad i puck med USB-kabel En kapacitiv fingeravtryckssensor arbetar genom att mäta variationen i kapacitans över den yta som har kontakt med sensorn. En kapacitiv sensor kan skapa en korrekt 3-dimensionell bild av fingeravtryckets struktur baserad på fingertoppens elektriska egenskaper. Kapacitansen mäts genom reflektiv mätning. Reflektiv mätning är baserad på en extern stimulation av fingertoppen. Den största fördelen med reflektiv mätning är att det ger en starkare signal mellan fingertoppen och sensorn vilket tillåter att en tjockare skyddsfilm används på sensorn. Denna skyddsfilm gör att sensorn kan motstå ESD-urladdningar på 15kV och klarar att användas över 1 000 000 gånger. 3.1.2 Algoritmer Fingerprint Cards AB:s två algoritmer för verifiering och identifiering, FPC4010 Area Verification Algorithm och FPC4020 Area Identification Algorithm bygger på Distinct Area Detection Method, DAD. DAD identifierar olika minutiae-punkter. Dessa punkter tas fram från den 3-dimensionella information som den kapacitiva sensorn ger. Vissa algoritmer reducerar den 3-dimensionella informationen till 2 dimensioner innan minutiae-punkter tas fram men algoritmen från Fingerprint Cards AB jobbar direkt på den 3- dimensionella informationen. Minutiae-punkterna bildar tillsammans med sina inbördes geometriska förhållanden en unik matematisk beskrivning av fingeravtrycket. Fingerprint Cards algoritmer för verifiering och identifiering innehåller båda en del för inregistrering av fingeravtryck. Vid inregistrering skapas en schablon av den unika matematiska beskrivning som DAD-algoritmen tar fram. Denna schablon sparas på BIR-format (se kapitel 3.1.4). Vid verifiering används denna schablon som en operator på det inlästa fingeravtrycket. Om resultatet av operationen är lyckat så anses verifieringen vara lyckad. Vid verifiering är det vanligt att det inlästa fingeravtrycket omvandlas till en schablon som jämförs med den schablon som är lagrad för användaren. Detta innebär en viss säkerhetsrisk Daniel Johansson & Daniel Hammarin Sidan 18 av 43

då det är möjligt att lura systemet genom att låta verifieringen ske mot en fabricerad schablon istället för den som skapats från sensorns inlästa data. Fingerprint Cards AB:s verifieringsalgoritm eliminerar denna säkerhetsrisk genom att verifieringsalgoritmen arbetar direkt på den inlästa fingeravtrycksdatan, d.v.s. algoritmen letar direkt på fingeravtrycket efter de minutiae-punkter som den lagrade schablonen beskriver. Vid identifiering gås alla lagrade schabloner igenom och en lista på tio stycken tänkbara kandidater tas fram. Dessa rankas från 1 till 10 varefter en verifiering körs efter rankningsordningen. När en lyckad verifiering mot en schablon i listan sker anses identifieringen vara lyckad. Tabellen nedan visar Fingerprint Cards AB:s uppgifter gällande algoritmernas säkerhet och bekvämlighet [7],[8]. FPC4010 Area Verification Algorithm FPC4020 Area Identification Algorithm FMR < 0.001 % FMR < 0.01 % FNMR1 < 3 % FNMR1 < 5 % FNMR2 < 0.5 % FNMR2 < 1 % Figur 9 Risker för felaktig verifiering och identifiering FMR False Match Rate FNMR1 False Non-Match Rate med ett försök FNMR2 False Non-Match Rate med två försök Risken att bli felaktigt verifierad är alltså 1 på 100 000 försök och risken för att blir felaktigt identifierad är 1 på 10 000 försök. Däremot är risken för att en användare inte blir verifierad 3 på 100 försök respektive 5 på 100 försök för identifiering. Risken minskar dock till 0.5 på 100 respektive 1 på 100 om användaren tillåts försöka två gånger. Denna risk har uppmätts i Fingerprint Card AB:s testlabb där ett robotfinger har utfört upprepade verifierings- och identifieringsförsök. Testerna har skett i storleksordningen miljontals försök, Jonas Salomonsson vid Fingerprint Cards AB, Muntlig kommunikation. 2004. Fingerprint Cards AB:s fingeravtryckläsare har kapacitet att utföra hela identifieringen internt i en ASIC processor men i detta projekt utförs identifieringen lokalt på den datorn till vilken fingeravtryckläsaren är kopplad. Detta ger en snabbare identifiering och bättre möjligt till att få ut mer information om identifieringen. Daniel Johansson & Daniel Hammarin Sidan 19 av 43

3.1.3 BioAPI BioAPI är ett ramverk som möjliggör åtkomst till olika biometriska enheter och funktioner genom så kallade Biometric Service Providers, BSP:er. BioAPI är en bred API som kan hantera många olika sorters BSP:er, inte bara fingeravtryckläsare. BioAPI tillhandahålls gratis av The BioAPI Consortium [13]. BioAPI finns tillgängligt för plattformarna Windows Win32, UNIX, Linux och Sun Solaris. Win32-versionen av BioAPI består av två DLL-filer. BSP:er implementeras som DLL:er som laddas av BioAPI-ramverket när olika applikationer begär dessa. BioAPI måste vara installerat på alla datorer som ska använda någon eller flera BSP:er. 3.1.4 Biometric Information Record BIR Biometrisk information som förmedlas mellan applikation och BSP sparas i en BIR Biometric Information Record. Filhuvud (standard) Biometrisk information (genomskinlig) Nyttolast (valfri) Signatur (valfri) Figur 10 Uppbyggnad, BIR En BIR består av ett filhuvud och den biometriska informationen. Nyttolasten och Signaturen är valfria. Den biometriska informationen är transparent för applikationen så att den inte förstår informationen. Informationens format specificeras i filhuvudet. I filhuvudet specificeras också för vilket ändamål som BIR:en har skapats. Möjliga ändamål är VERIFY, IDENTIFY, ENROL, ENROL_FOR_VERIFICATION_ONLY, ENROL_FOR_IDENTIFICATION_ONLY, AUDIT 3.1.5 FPCore API FPCore API är en samling C++-klasser designade för att förenkla kommunikationen mellan BioAPI och de BSP:er som Fingerprint Cards AB tillhandahåller. BioAPI-ramverket kan förmedla biometrisk information mellan applikation och BSP men det finns ingen standard för att skicka och hämta parametrar från en BSP. Därför implementerar FPCore API en sådan kommunikation som sker via Windows-registret. FPCore API finns endast tillgängligt för Windows Win32-plattformar och har inte implementerat Nyttolast eller Signatur för BIRs. Daniel Johansson & Daniel Hammarin Sidan 20 av 43