ENABLING FINGERPRINT AUTHENTICATION EMBEDDED SYSTEMS FOR WIRELESS APPLICATIONS PROJECT REPORT
Submitted in partial fulfillment of the requirement for the award of The degree of
BACHELOR OF TECHNOLOGY IN ELECTRONICS AND COMMUNICATION ENGINEERING Submitted by
GHOST MANOJ KUMAR (06J31A0439)
DEPARTMENT OF ELECTRONICS & COMMUNICATION ENGINEERING KHADER MEMORIAL COLLEGE OF ENGINEERING & TECHNOLOGY (Approved by AICTE and affiliated to JNTU) KondaBheemanapalli KondaBheemanapa lli (V), Devarakonda(M) Devarakonda(M),, Nalgonda Dist., A.P. Batch 2006-2010
IN EMBEDDED SYSTEMS FOR WIRELESS APPLICATIONS”
ABSTRACT In today’s world of mobile communication, mobile commerce is an importan impo rtantt part. part. Many factors, factors, like cost, cost, psycholo psychology, gy, number number of service service providers providers,, etc., contribute to the late coming of mobile commerce activities. Among them, mobile security is an important one. For security, authentication technologies are critical parts in mobile embedd emb edded ed device devices. s. Among Among these, these, finger fingerpri print nt match matching ing is the most most commo common n method met hod.. But finge fingerpr rprint int match matching ing algori algorithm thms s involv involve e subst substant antial ial amoun amountt of computations. computatio ns. This makes it nontrivial task to achieve in the embedded devices. In this this paper paper,, we have have explai explained ned differ different ent method methodolo ologie gies s for implementing fingerprint authentication in embedded systems, namely the DSP and SoC (System-on-Chip) approaches, approaches, for Wireless Applications. Applications. Previously, the development of fingerprint verification software on a desktop PC had been completed. The 4000 lines program written in C language runs under the Microsoft Windows environment and can gives response in less than 1 second. When the same program was compiled to run in an embedded Linux environment under a PDA which has a 200 MHz StrongArm CPU, the average run time was more than 20 seconds. The obvious critical task is to reduce the program execution execu tion time. In this regard, regard, two approaches approaches were investiga investigated ted to tackle tackle the problem. They are the DSP and SoC approaches. Experiments were conducted for the evaluation of these approaches. Results show that the SoC system with fixed-point arithmetic support is probably the most ideal candidate.
1. INTRODUCTION With Wi th
re rece cent nt
deve develo lopm pmen entt
mobi mobile le
comm commer erce ce,,
auth authen enti tica cati tion on
technologies quickly become critical parts in mobile embedded devices like PDAs, cell-phon cell-p hones, es, etc. etc. Among Among such such techno technolog logies ies,, finger fingerpri print nt match matching ing is the most most common method. Yet, fingerprint matching algorithms involve substantial amounts of computation, making it a nontrivial task to achieve in the embedded devices. Seve Se vera rall meth method ods s can can be us used ed to enab enable le th the e impl implem emen enta tati tion on of fi fing nger erpr prin intt auth au then enti tica cati tion on in embe embedd dded ed sy syst stem ems. s. They They in incl clud ude e th the e Appl Applic icat atio ion n Spec Specif ific ic Integrated Circuit (ASIC), Digital Signal Processor (DSP) and System-on-Chip (SoC) methods. meth ods. In this paper, we will review the fingerpr fingerprint int matching matching algorithms algorithms and study their implementation using DSP and SoC methods experimentally.
2. FINGERPRINT EMBEDDED SYSTEMS Fingerprint system can be generally divided, according to their purpose of application, into two types: identification and verification applications. Identification Identification application means identification of a person from a group of individuals. It often searches a database for the identity of a person using the person’s fingerprint as index. The database size can range from a few persons (home use) to hundreds of perso per sons. ns. The The perfor performa mance nce of such such system system is databa database se size size depend dependent ent.. Access Access control is a typical identification identification example. Figure 1 shows the block diagram diagram of a comm common on ac acce cess ss cont contro roll sy syst stem em.. Enro Enroll llme ment nt is cond conduc ucte ted d when when a us user er fi firs rstt re regi gist ster ered ed a fing finger erpr prin intt in the the syst system em.. The The core core part part of the the sy syst stem em is the the authentication device. It needs to handle different connections such as Ethernet, RS232 and Wiegand (an industrial standard security protocol sending bit strings of specified length and specified content) in order to communicate with the enrollment machine, database server and security controller. Since our concern is limited to embedded systems, we will focus on those applications involving only a few fingerprint records so that all the components in Figure 1 are housed in one single embedded system . Fingerprint authentication often refers to the verification of a person’s identi ide ntity ty using using his/he his/herr finger fingerpri prints nts.. It is actua actually lly a 1-to-1 1-to-1 finger fingerpri print nt match matching ing problem. Such a problem can be well handled by a desktop PC in real time. The block diagram of fingerprint verification system is shown in Figure 2.
Figure 1 : Block diagram of physical access control system.
Figure 2: Fingerprint verification system.
In mobile commerce activities, the authentication will be conducted in a PDA or cell-hone. When implementing such an application in an embedded device like a PDA, we encounter difficulties due to slower CPU speeds, absence of cache and most important of all, absence of a floating point unit. While optimizing the authentication, we cannot afford to sacrifice reliability. Thus, a fast, low cost and accurate methodology must be developed for fingerprint matching for embedded applications.
3. FINGERPRINT BASICS A human human being’ being’s s finger fingerpri print nt contai contains ns numero numerous us ridge ridgelin lines. es. The end of a ridgeline forms a termination and the merge of two ridgelines forms a bifurcation as shown in Figure 3.
Figure 3: (a) Bifurcation (b) Termination In this paper, our focus aims at accomplishing the fingerprint verification in embedded processors in real time while for supporting other mobile security. As shown in the lower part of Figure 2, the authentication process is made of three steps. Fingerprint capture capture is basically an I/O process that can be accomplished in real time without difficulty. Minutia matching is point-matching technique. Its implementation is not complicated so that a smart card processor can be programmed to complete th the e job job in re real al time time . The The most most time time cons consum umpt ptio ion n proc proces essi sing ng is th the e fe feat atur ure e extr ex trac acti tion on step step..
It al also so domi domina nate tes s
the the accu accura racy cy and and
perf perfor orma manc nce e
of the the
Featur Fea ture e extrac extractio tion n (The (The direct direct gray gray scale scale approa approach) ch) ca can n be divide divided d into into several parts. They are image enhancement, segmentation, image orientation, core point location and minutia extraction. a) Image enhancement/filtering enhancement/filtering This part aims at enhancing the image quality before feature extraction. Common techniques like the application of a directional filter or image normalization is often employed. b) Image segmentation and orientation This This part part co compu mputes tes the or orien ientat tation ion of the finger fingerpr print int image image and id ident entifi ifies es the Region of Interest (ROI) . c) Core point location This part locates a core point for fingerprint alignment and matching. It is computed from the orientations of the ridgelines obtained from step (b).
d) Minutia extraction This part traces the ridgeline with the helps of orientation information and find out the bifurcation and termination features. In general, the feature extraction process is a n3 process, assuming assuming that that finger fin gerpri print nt is a n by n image. image. Steps Steps (a) to (d) involve involve intens intensive ive floati floating ng point point calculations,, especially approximations calculations approximations of trigonometric trigonometric functions. Filtering can often be discarded in embedded system implementation of fingerprint verification systems.
4. IMPLEMENTATION Like other embedded systems, the design of a fingerprint matching system requires the considerations of cost, development time and runtime performance. Since real time response is the critical factor in this case, we will focus on the se sear arch chin ing g
of an appr approp opri riat ate e
impl implem emen enta tati tion on st stra rate tegy gy th that at can can
yiel yield d su such ch
Previously Previ ously,, the development development of a fingerprint fingerprint verificatio verification n software software on a desktop desktop PC had been been comple completed ted.. The 4000 lines program program writt written en in C langua language ge runs runs under under the Micros Microsoft oft Windows environment and can gives response in less than 1 second. When the same program was compiled to run in an embedded Linux environment under a PDA which has a 200 MHz StrongArm CPU, the average run time was more more than 20 seconds. The obvious critical task is to reduce the program execution time. In this regard, two approaches were investigated to tackle the problem. They are the DSP and SoC approaches.
A. The DSP approach As the cost of the embedded fingerprint system should be as low as possible, it was decided to conduct this work using a fixed point DSP rather than a floating point DSP DSP . For experiment purpose, a development development board driven by a 40 MHz16MHz16bit fixed point TI TMSC320C52 DSP with very limited on-chip data RAM and ROM was used. The TMS320C52 features a 4K*16-bit 4K*16-bit programmable programmable ROM on-chip, on-chip, and carries a 1056*16-bit data RAM on-chip. At the same time, the development board supports 32K*16-bit words of external memory. The DSP was connected to an Axis embe em bedd dded ed Linu Linux x deve develo lopm pmen entt boar board d equi equipp pped ed wi with th a 100 100 MHz MHz embe embedd dded ed processor.
There are two methods to implement our fingerprint authentication program on the DSP platform: 1) Translate all the C source code to assembly language manually. This method gives a very high performance. performance. But it is a very time consuming process. process. 2) Tr Trans anslat late e all the C sourc source e code code to machi machine ne langu language age under under TI’s C5X Code Composer Compiler . To shorten the integration time, it was decided to use the second method. With this approac approach, h,
the interface interface of software software and hardware hardware components components can be
simulated in a short period of of time. Although Although the Code Composer Composer was used as as the development software, certain modifications still had to be processed when integrating to the DSP platform. First of all, the size of the fingerprint image had to be processed had to be reduced to 64*64 pixels because of memory-limitation. Secondly, the original program generated a lot of intermediate data. These data that were previously stored sto red in dynam dynamica ically lly alloca allocated ted memor memory y locati location ons s were were reallo realloca cated ted to static static memory memo ry location locations s since dynamic memory memory allocation allocation is a very time consumpti consumption on procedure in DSP processing. processing. Memory Mem ory co consu nsumpt mption ion is especi especial ally ly severe severe.. Since Since the DSP and the host host embedded processors operate at different speeds, it would not easy for them to share common common memory. Moreover, Moreover, DSP accesses its its built-in memory memory much faster faster than external memory. Therefore, fingerprint image data captured from a sensor must be transferred from the embedded processor’s memory to the DSP before the DSP can process them. them. In this way, memory memory requirement requirement is doubled! Both Both floating- and fixed-point versions of fingerprint authentication algorithm on the DSP had been implemented. Figure 4 shows the number of instructions needed for the DSP to process the algorithm in the experiment.
Figure 4: 4: Comparison of number of instruction on TMS320C52 on fixed- and floatingpoint on fingerprint verification implementation
The The total total numbe numberr of instru instructi ction ons s needed needed for th the e fixedfixed-po point int finger fingerpri print nt algorithm is about 76 million while floating-point fingerprint algorithm needs about 1000 million because the floating-poin floating-pointt instructions are emulations only. The time meas me asur urem emen entt
ab abou outt
26.1 26.1s s
fi fixe xedd-po poin intt
floa fl oati ting ng-p -poi oint nt
implementation respectively. Obviously, more time will become necessary to run the fingerprint authentication algorithm when the image size is 256*256. Besides the DSP hardware, the embedded Linux system also contains extra hardwa har dware re like like the senso sensor, r, displa display, y, etc. etc. The The additi additiona onall hardwa hardware re connec connectio tions ns increase the system increase system complexity complexity and reliabil reliability. ity. This arrangement arrangement increases increases the overall cost directly.
b. SoC Approach Another approach for embedded fingerprint system is the use of System-onChip (SoC). SoC is a new type of hardware architecture architecture with complex hardware that integrates different IP cores together. Besides the core processor is inside a SoC, it is also equipped with hardware controllers for different peripherals such as LCD and input/output device controllers. In fact, a SoC processor is more or less like the generalpurpose processor but without floating point coprocessor because of cost and power power consum consumpti ption on consid considera eratio tion. n. The requir requireme ement nt that that al alll proce process ssing ing is performed on the SoC helps to reduce power consumption, consumption, minimize chip areas and simplify the hardware and software development process . The ultimate question is to identify identify a suitable suitable SoC processo processorr and build an associa associated ted system system capable capable of verifying fingerprints in real time. Figure 5 shows the software architecture using the SoC design. Like a regular computer system, it can be divided into three layers, hardware layer, kernel layer and application layer . With this approach, multiple applications on a single kernel for extensibility of the embedded fin fingerprint gerprint system system can be developed. developed. Besides, the reusabil reusa bility ity on the softwa software re co code de can be maxim maximise ised. d. Nevert Neverthel heless ess,, it must must be verified if the layered approach will bring in an overhead that can delay the system response time.
In the experiment, the Intel StrongARM (206Mhz) embedded processo processorr with Infineon capacitance fingerprint sensor is used in the system. The resolution of the sensor is 288x244 pixels with 8-bit gray scale image.
Figure 5: Software architecture architecture on embedded fingerprint system design.
Link Linkin ing g th the e host host appl applic icat atio ion n and and hard hardwa ware re is th the e Appl Applic icat atio ion n Prog Progra ram m Interface Inter face (API). (API). It was
choosen choosen to use embedded embedded Linux as the operating operating system system
because its open source code allows us to customize the software architecture for our system. With the use of Linux kernel, we can standardize the API for device drivers, scheduling and messaging services so as to save a lot of development time and effort. effo rt. For the applicat application ion layer, layer, the fingerprint fingerprint algorith algorithm m for StrongAR StrongARM M platform platform had ha d to be tr tran ansl slat ated ed.. As ment mentio ione ned d befo before re,, di dire rect ct cros cross-c s-com ompl plic icat atio ion n of th the e algor alg orith ithm m is possib possible le but ca can n result result in poor poor runtim runtime e perfor performa mance nce (>20s (>20s in our experiment). Therefore Therefore a software reengineering reengineering process process was started started to port the software to its new environment. Basically, the reengineering process is made up of five steps: (a) Whenever possible, replace floating-point data by integers; (b) Replace the remaining floating-point floating-point calculations by fixed point calculations; (c) Buffer all reusable complex calculations; (d) Avoid the use of subroutines; subroutines; (e) Recompile using an optimized compiler.
The above procedur procedure e appears appears routine routine and straight straightforw forward. ard. Yet, there there are numerous domain specific conversions that must be taken care of. In this case, the pr prec ecis isio ions ns of th the e fi fixe xedd-po poin intt sy syst stem em as well well as good good appr approx oxim imat atio ions ns of th the e trigonom trig onometric etric function functions s were were
Care re was was ta take ken n to ensu ensure re th the e great great concerns concerns.. Ca
reengineered software yields similar results as the original software. The errors were estimatedby applying the reengineered software to a 300 persons database
and analyzed the resultant False Acceptance Rates and False Rejection Rates to make sure that they resembled those of the original software. The 4000 lines of C codes took 2-3 months for reengineering. Ultimately, the verification time was cut to one second or less. For the development cost, porting the embedded Linux OS to StrongARM development board and writing drivers to interface the fingerprint sensors took 2 months to finish. Nevertheless, the experience and the source code are reusable.
5. MOBILE SECURITY Many Man y factor factors, s, like like co cost, st, psycho psycholog logy, y, numbe numberr of servic service e provid providers ers,, etc., etc., contribute to the late coming of mobile commerce activities. Among them, mobile security is an important one. The The in invo volv lvem emen entt
of the the In Inte tern rnet et is in inev evit itab able le in mobi mobile le comm commer erce ce,,
co consi nsider dering ing the real real life life mobil mobile e commer commerce ce transa transacti ctions ons involv involve e busine business ss-to -to-customers, business-to business . Under such a consideration, mobile security can involve invol ve several several issu issues: es: (1) protectio protection n against against unauthor unauthorized ized users; users; (2) protectio protection n during data transmiss transmission; ion; (3) protection of data data on lost devices; devices; (4) protection protection of mobile mobi le assets; assets; (5) protection protection of existing existing security security investmen investmentt . Several Several of these these issues are covered by choices of the wireless protocols like iMode, HDML, WAP 1.1, SAT (SIM Application Toolkit), and/or the service providers. To extend the scope of mobile commerce beyond close systems, commercial mobile commerce solutions must migrate smoothly from symmetric algorithms to algorithms,, involving Public Key Infrastructure (PKI), for open system frameworks . algorithms The current trend of merging the PDAs and wireless telephones merge call fo forr th the e us use e of fa fast ster er embe embedd dded ed pr proc oces esso sors rs,, like like th the e ARM9 ARM9 or th the e St Stro rong ngAr Arm m processors, processor s, to support more features, especially those multimedia ones. In this way, thes these e mob obil ile e devi device ces s are are equi equipp pped ed with ith the the hard hardwa ware re feat featur ures es to veri verify fy fingerpri finger prints nts.. The The next next probl problem em is to find find a safe safe place place to store store the fingerp fingerprin rintt features template. In this regard, the SIM card becomes an ideal location. The SIM ca card, rd, which which is a smar smartt card card itself itself,, is very very secure secure.. In fact, fact, th the e SIM card stores stores important secret keys, digital certificates as well. The use of fingerprint to protect the SIM card card from from mis-u mis-use se enhanc enhances es the co confi nfiden dence ce of the confid confidenc ence e of th the e wireless telephones users to use the devices for mobile transactions. transactions.
6. CONCLUSIONS T To o mode modell th the e so soft ftwa ware re deve develo lopm pmen entt cost cost and and ti time me,, we empl employ oyed ed th the e Embedded Mode REVIC (Revised Intermediate COCOMO) Model , a cost modeling for embedded design system. It models the modern development technology such as re re-u -use se dr driv iven en deve develo lopm pmen ent, t, ra rapi pid d
deve develo lopm pmen entt
mode model, l, and and
appl applic icat atio ion n
composition and generation capability . In brief, the software development effort can be expressed in the following equation.
Optimization in DSP development process requires extensive programming experience in the operation of the DSP. This increases the cost driver Fi value in equation (1) and the development effort. When we switch to another type of DSP, utilization of the developed DSP code is very low because the algorithm for DSP is usually hardware dependent. From the result, we conclude that the use of SoC is suitable for embedded fingerprint system development. It allows easy control of the peripherals and fast softw softwar are e reeng reengine ineeri ering ng time. time. This This can ac achie hieve ve a fast fast develo developme pment. nt. Also, Also, th the e simpl sim plici icity ty of the hardwa hardware re also also enable enables s manuf manufact acture urers rs to embed embed finge fingerpr rprint int authentication systems in the future future intelligent devices with with low costs.
REFERENCES  Maio, D.; Maltoni, D., Direct gray-scale minutiae detection in fingerprints, fingerprints, Pattern Analysis and Machine Intelligence, IEEE Transactions Transactions on,Volume: 19 Issue: 1 ,
Jan 1997 Eyer, J., The Digital Signal Processor Derby , Berkeley Design Technology Inc. IEEE Spectrum, Jun. 2001,
 Pandey, R, Advances R, Advances in DSP Development Environments,, ELECTRO '96. Professional Program. Environments
 Jain, A.; Lin Hong; Yifei Wan, Fingerprint image enhancement: algorithm and performance evaluation, evaluation, Pattern Analysis and Machine Intelligence, IEEE Transactions Transactio ns on , Volume: 20 Issue: 8 , Aug 1998  Jain, A.; Lin Hong; Bolle, R., On-line fingerprint fingerprint verification,, Pattern Analysis and Machine verification Intelligence, IEEE Transactions Transactions on, Volume: 19 Issue: 4 , April 1997