throbber
(12) INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(19) World Intellectual Property
`Organization
`International Bureau
`
`
`
`(43) International Publication Date
`6 January 2005 (06.01.2005)
`
`(10) International Publication Number
`
`PCT
`
`WO 2005/001751 A1
`
`(51) International Patent Classification7:
`H04K 1/00, H04L 9/00
`
`G06K 9/00,
`
`(21) International Application Number:
`PCT/ U $2004/017545
`
`(22) International Filing Date:
`
`2 June 2004 (02.06.2004)
`
`(25) Filing Language:
`
`(26) Publication Language:
`
`English
`
`English
`
`(30) Priority Data:
`60/475,242
`
`2 June 2003 (02.06.2003)
`
`US
`
`(71) Applicant (for all designated States except US): RE-
`GENTS OF THE UNIVERSITY OF CALIFORNIA
`
`[US/US]; University of California, Los Angeles, 10920
`Wilshire Blvd, Suite 1200, Los Angeles, CA 90024—1406
`(US).
`
`(72) Inventors; and
`(75) Inventors/Applicants (for US only): VERBAUWHEDE,
`Ingrid, 1W. [i/US]; 1123 23rd Street, #C, Santa Monica,
`CA 90403 (US). SCHAUIWONT, Patrick, R. [ifUS];
`
`10439 Holman Avenue, Los Angelcs, CA 90024 (US).
`HVVANG, David, D. [ilUS]; 540 Kelton Avenue, #205,
`Los Angeles, CA 90024 (US). LAI, Bo—Cheng [ifUS];
`10125 Palms Boulevard, #204, Los Angeles, CA 90034
`(US). YANG, Shenglin [ifUS]; 3170 Sawtelle Boulevard,
`
`Apt. #203, Los Angeles, CA 90066 (US). SAKIYAMA,
`Kazuo [
`[US]; 3200 Sawtelle Boulevard, Apt.
`#202,
`Los Angeles, CA 90066 (US). FAN, Yi [ifUS]; 310 S.
`Kenmore Avenue, Apt. #202, Los Angeles, CA 90020
`(US). HODJAT, Alireza [ifUS]; 2624 Kansan Avenue,
`#14, Santa Monica, CA 90404 (US).
`
`KNOBBE,
`DELANEY, Karoline, A.;
`Agent:
`MARTENS, OLSON AND BEAR, LLP, 2040 Main
`Street, Fourteenth Floor, Iivine, CA 92614 (US).
`
`Designated States (unless otherwise indicated. for every
`kind of national protection available): AE, AG, AL, AM,
`AT, AU, AZ, BA, BB, BG, BR, BW, BY, BZ, CA, CH, CN,
`CO, CR, CU, CZ, DE, DK, DM, DZ, EC, EE, EG, ES, FI,
`GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, JP, KE,
`KG, KP, KR, KZ, LC, LK, LR, LS, LT, LU, LV, MA, MD,
`MG, MK, MN, MW, MX, MZ, NA, NI, NO, NZ, OM, PG,
`PH, PL, PT, RO, RU, SC, SD, SE, SG, SK, SL, SY, TJ, TM,
`TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, YU, ZA, ZM,
`ZW.
`
`[Continued on next page]
`
`(74)
`
`(31)
`
`(54) Title: SYSTEM FOR BIOMETRIC SIGNAL PROCESSING WITH HARDWARE AND SOFTWARE ACCELARATION
`
`,
`
`zoo
`
`401
`31°
`., ,
`.
`IRANSACTION
`REGISTER g AUTHsE’ii/lgi'im"
`THUMBPOD (22Account number
`Account number and amount
`fl»
`
`
`
`
`
`a Mutual authentication between register'and server (SET)
`
`Load shared sacral key K
`Generate authentication vector
`AV=RAND l SONA5$ AK l AMF | MAC“
`4“— <——\
`
`a
`Store RAND, SONHQAK, AMF. MAC“
`’1
`
`Perform fingerprint brometrlcs
`Generate shared secret key K=HASHm(temptute)
` ‘\400
`rGenerala authentication vector
`Verify identity of server
`RESTp
`
`
`——§———>. . “3*
`
`5
`
`4
`Increment SON”
`
`a
`
`<
`Transactioh complete message
`
`[D Verify identity at ThumbPod
`
`
`
`Increment SQNrs
`G
` (Optional) Streaming encryption with integrity check
`
`
`
`05/001751A1|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
`
`c (57) Abstract: A secure embedded system that uses cryptographic and biometric signal processing acceleration is described. In
`N one embodiment, the secure embedded system is configured as a Wireless pay—point protocol for brick—and—mortar and e—commerce
`applications in which biometric information is localized and does not require transmission of biometric data for authentication. In
`one embodiment, a keyegeneration function uses a dynamic key generator and static biometric components. In one embodiment, an
`embedded system design methodology provides hardware and software acceleration transparency.
`
`W0
`
`Apple 1 107
`
`Apple 1107
`
`

`

`WO 2005/001751 A1
`
`|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
`
`(84) Designated States (unless otherwise indicated, for every — before the expiration of the time limit for amending the
`kind of regional protection available): ARIPO (BW. GII,
`claims and to be republished in the event of receipt of
`GM, KE, LS, MW, MZ, NA, SD, SL, SZ, ’11, UG, ZM,
`amendments
`ZW), Eurasian (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM),
`
`European (AT’ BE” BG’ CI L CY” CZ” DE” DK’ EE’ ES” FT”
`FR’ GB’ GR HU* IE IT’ LU’ MC’ NL’ PL’ PT’ RO’ SE’ 31’
`SK’ TR)’ OAPI (BE BJ’ CF’ CG’ CI’ CM’ GA’ GN’ GQ’
`GW, ML, MR, NE, SN, TD, TG).
`Declaration under Rule 4.17:
`
`— of inventorship (Rule 4.17(iv)) for US only
`Published:
`
`— with international search report
`
`For two—letter codes and other abbreviations, refer to the "Guid-
`ance Notes on Codes andAbbreviations ” appearing at the begin-
`ning of each regular issue of the PCT Gazette.
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`SYSTEM FOR BIOMETRIC SIGNAL PROCESSING WITH HARDWARE AND
`
`SOFTWARE ACCELERATION
`
`Reference to Related Application
`
`[0001]
`
`The present application claims priority benefit
`
`if US. Provisional
`
`Application No. 60/475,242,
`
`filed June 2, 2003,
`
`titled “SYSTEM FOR BIOMETRIC
`
`SIGNAL PROCESSING WITH HARDWARE AND SOFTWARE ACCELERATION,“ the
`
`entire contents of which is hereby incorporated by reference.
`
`Government Interest Statement
`
`Portions of the subject matter of this application were invented under a contract with
`
`an agency of the United States Government, under NSF contract No. 0098361.
`
`Field of the invention
`
`Background
`
`[0002]
`
`The present
`
`invention relates to systems using biometric signal
`
`processing for authentication in connection with a secure communication protocol.
`
`Description of the Related Art
`
`[0003]
`
`In February 2003, a computer hacker breached the security systems of Visa
`
`and MasterCard and accessed 5.6 million valid account numbers, which represents
`
`approximately 1% of all 574 million valid account numbers in the United States. Though the
`
`accounts were not used fraudulently, a burdensome recall and replacement of valid cards
`
`throughout many financial institutions was required. On the Internet, a number of black-
`
`market sites sell active credit card account numbers and expiration dates for a modest price.
`
`In brick-and-mortar credit card scenarios, photograph identification or signatures are
`
`.inconsistently checked in normal purchases; hence, fraudulent transactions are commonplace.
`
`These situations are just a few which expose the current flaw in traditional
`
`transaction
`
`

`

`WO 2005/001751
`
`PCT/US2004/017545
`
`protocols, which is mainly a flaw in authentication. Identity theft results in losses of well over
`
`a billion dollars a year for credit card issuers, and is even more widespread since the advent
`
`of e—commerce on the Internet. The primary reason for the continued success of identity theft
`
`is the lack of the ability to prove that an account
`
`is used by the genuine, authorized,
`
`consumer.
`
`Summary
`
`[0004]
`
`The present invention solves these and other problems by providing a
`
`secure embedded system that uses cryptographic and biometric signal processing to provide
`identity authentication. In one embodiment, the secure embedded system is configured as a
`
`wireless pay-point device, called a thumbpod, for brick-and-mortar and/or e-commerce
`
`applications. In one embodiment, the thumbpod localizes a sensitive biometric template and
`
`does not require transmission of biometric data for authentication. In one embodiment, a key-
`
`generation function uses a dynamic key generator and static biometric components. An
`
`embedded
`
`system design methodology
`
`known
`
`as
`
`hardware/software
`
`acceleration
`
`transparency is provided to improve performance'of the thumbpod. In one embodiment,
`
`acceleration transparency is provided in a systematic method to accelerate Java functions in
`
`both software and hardware of, for example, an encryption function.
`
`[0005]
`
`In one embodiment,
`
`the thumbpod is designed as a secure embedded
`
`device that provides a protocol for wireless pay-point transactions in a secure manner. The
`
`protocol uses secure cryptographic primitives as well as biometric authentication techniques.
`
`The security protocol used in the thumbpod is based on a protocol that uses the thumbpod as
`
`an interface between an authentication server and a user.
`
`[0006]
`
`In one embodiment, the thumbpod includes a microcontroller, a fingerprint
`
`image sensor, signal processing hardware acceleration, cryptographic hardware acceleration,
`
`and a memory module enclosed within a fomi factor similar to an automobile keychain
`
`transmitter. The thumbpod provides flexible communication via ports, such as, for example,
`
`a port for wireless communication and/or a wired port for fast wire-line communication. The
`
`wireless port can be, for example, an infrared port, a radio-frequency port, an inductive
`
`coupling port, a capacitive coupling port, a Bluetooth port, a wireless Ethernet port, etc. The
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`wired port can be, for example, a USB port, a firewire port, a serial port, an Ethernet port, etc.
`The thumbpod can be used for a wide variety of authentication-related transactions, such as,
`
`for example, wireless credit card payments, keychain flash memory replacement, universal
`
`key functionality (house, car, office), storage of sensitive medical data, IR secure printing,
`etc.
`
`[0007]
`
`In one embodiment, a security protocol binds the user to the device
`
`through biometrics, combines biometrics and traditional
`
`security protocols, protects
`
`biometric data by keeping at least a portion of the biometric data in a protected form that does
`
`not leave the device, and provides that biometric calculations are provided on the device. In
`
`one embodiment, biometric algorithms are provided to fit
`
`a
`
`relatively constrained
`
`environment of embedded devices. In one embodiment, algorithms are provided in fixed
`
`point arithmetic.
`
`In one embodiment, memory storage optimization and hardware
`
`acceleration are provided by converting a least a portion of one or more software algorithms
`
`into hardware.
`
`Brief Description of the Drawings
`
`[0008]
`
`The various features of the present are described with reference to the
`
`following figures.
`
`[0009]
`
`Figure 1 shows layers of an embedded security protocol system.
`
`[0010]
`
`Figure 2 shows one embodiment of a thumbpod device.
`
`[0011]
`
`Figure 3A is a block diagram of an authentication protocol having a
`
`relatively strong one—way authentication protocol between the server and the device and a
`
`relatively week security protocol between and the device and the user.
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`Figure 3B is a block diagram of an authentication protocol having a
`[0012]
`relatively strong two-way authentication protocol between the server and the device and a
`relatively strong security protocol between and the device and the user.
`
`~.
`
`[0013]
`
`Figure 4 is a further block diagram of one embodiment of the
`
`authentication protocol shown in Figure 3B.
`
`Figure
`[0014]
`authentication server.
`
`5
`
`shows
`
`authentication protocol vector generation in the
`
`[0015]
`Figure 2.
`
`Figure 6 shows authentication vector generation in the thumbpod device of
`
`[0016]
`
`Figure 7 shows generation of authentication functions F 1-F5.
`
`[0017]
`
`Figure 8 is a block diagram of the Rijndael CBC-MAC algorithm.
`
`[0018]
`
`Figure 9 is a block diagram of the Rijndael OFB-Counter algorithm.
`
`[0019]
`
`Figure 10 is a block diagram of the NIST minutia extraction flow
`
`algorithm the fingerprint identification system.
`
`[0020]
`
`Figure 11 shows window rotation in the fingerprint identification system.
`
`Figure 12 shows an example of an original
`[0021]
`identification system.
`
`image in the fingerprint
`
`[0022]
`binarization.
`
`Figure 13
`
`shows minutiae points in the image of Figure 12 after
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`[0023]
`
`Figure 14 shows matching flow in the fingerprint identification system.
`
`[0024]
`
`Figure 15 shows local features of fingerprint minutia.
`
`[0025]
`
`Figure 16 is a chart showing the execution time for various operations in
`
`the minutia detection algorithm at the block diagram level.
`
`[0026]
`
`Figure 17 is a chart showing the execution time for various operations in
`
`the minutia detection algorithm at the instruction level.
`
`[0027]
`
`Figure 18 shows an example of the direction map.
`
`[0028]
`
`Figure 19 shows the relationships between execution time, error rate, and
`
`ETH in the fingerprint identification system.
`
`[0029]
`
`Figure 20 is a block diagram of a memory-mapped EFT accelerator.
`
`[0030]
`
`Figure 21 is a chart showing execution time for different embodiments of
`
`the fingerprint identification system.
`
`[0031]
`
`Figure 22 is
`
`a
`
`chart
`
`showing energy consumption for different
`
`embodiments of the fingerprint identification system.
`
`[0032]
`
`Figure 23 shows profiling results for
`
`the baseline algorithm in the
`
`fingerprint identification system.
`
`[0033]
`
`Figure 24 shows relationships between the pre-checking threshold and
`
`performance of the fingerprint identification system.
`
`

`

`WO 2005/001751
`
`PCT/US2004/017545
`
`[0034]
`
`Figure 25A is a chart comparing the execution time for the baseline and
`
`the optimized fingerprint matching systems.
`
`[0035]
`
`Figure 25B is a chart comparing the energy consumption for the baseline
`
`and the optimized fingerprint matching systems.
`
`[0036]
`
`Figures 26A-26F show various embodiments of hardware or software
`
`acceleration transparency.
`
`[0037]
`
`Figure 27 shows acceleration of the Rijndael algorithm using hardware
`
`and software acceleration.
`
`[0038]
`
`Figure 28A is
`
`a block diagram showing a functional model of
`
`hardware/software accelerator design.
`
`[0039]
`
`Figure 28B is a block diagram showing a benchmarkng functional model
`
`of hardware/software accelerator design.
`
`[0040]
`
`Figure 28C is a block diagram showing a transaction-level model of
`
`hardware/software accelerator design.
`
`[0041]
`Figure 28D is
`a block diagram showing an embedded software
`implementation model
`functional model of hardware/software accelerator design for a
`
`personal computer implementation.
`
`[0042]
`
`Figure 2813
`
`is
`
`a block diagram showing an embedded software
`
`implementation model of software accelerator design for a board-level implementation.
`
`

`

`W0 2005/001751
`
`PCT/U52004/017545
`
`[0043]
`
`Figure 28F is
`
`a block diagram showing an embedded software
`
`implementation model of hardware/software
`
`accelerator design
`
`for
`
`a board-level
`
`implementation.
`
`[0044]
`
`Figure 29(a) and (b) shows one embodiment of a software acceleration
`
`architecture.
`
`Detailed Description
`
`[0045]
`
`Figure 1 shows layers of an embedded security protocol system 100. At the
`
`highest level, the system 100 includes a protocol layer 101 that provides confidentiality and
`
`identify verification. An algorithm layer 102 is provided below the protocol layer 101. The
`
`algorithm layer 101 includes one or more algorithms, such as, for example, encryption
`
`algorithms (e. g., Kasumi, Rijndael, RC4, MDS, etc.), used by the protocol layer 101. In the
`
`present disclosure,
`
`the Rijndael algorithm is used by way of example of an encryption
`
`algorithm, and not by way of limitation. An architecture layer 103 is provided below the
`
`algorithm layer 102.
`
`In one embodiment,
`
`the architecture layer 103 includes a virtual
`
`machine, such as, for example, a JAVA virtual machine. A micro-architecture layer 104 is
`
`provided below the architecture layer 103. In one embodiment, the micro-architecture layer
`
`104 includes one or more processor architectures. A circuit layer 105 is provided below the
`
`micro—architecture layer 104.
`
`[0046]
`
`As security is only as strong as the weakest link, a breech in any of the
`
`abstraction layers 101-105 can compromise the entire security model. Hence design of the
`
`secure embedded system is based on a top-down design flow and security scrutiny at each
`
`abstraction level.
`
`[0047]
`
`Figure 2 shows a thumbpod 200 as an embodiment of a device that is
`
`based on the security pyramid shown in Figure 1. The thumbpod 200,
`
`is configured as a
`
`keychain-type device that includes a biometric sensor 202, a communication port 204, and
`
`embedded hardware components. The sensor 202 obtains biometric identification data (e.g.,
`
`fingerprint identification data, voice identification data, retina identification data, genetic
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`identification data, etc.) from a user.
`
`In an alternative embodiment,
`
`the thumbpod 200 V
`
`includes a sensor 202 for obtaining identification data from a user, such as, for example,
`
`biometric identification data, password data, PIN data, Radio Frequency Identification Tag
`
`(RFID) data, etc.
`
`In one embodiment,
`
`the sensor 202 is a fingerprint sensor.
`
`In one
`
`embodiment, the sensor is an imaging device. In one embodiment, the sensor 202 includes a
`
`CMOS imaging device. A fingerprint device is used herein by way of example, and not by
`
`way of limitation.
`
`[0048]
`
`The communication port 204 can include a wireless port and/or a wired
`
`port to provide flexible communication. In one embodiment, the port 204 includes a wireless
`
`port, such as, for example, an infrared port, a radio-frequency port, an inductive coupling
`
`port, a capacitive coupling port, a Bluetooth port, a wireless Ethernet port, etc. In one
`
`embodiment, the port 204 includes a wired port, such as, for example, a USB port, a firewire
`
`port, a serial port, an Ethernet port, a PCMCIA port, a flash memory port, etc.
`
`[0049]
`
`The thumbpod 200 is configured to be used in connection with a security
`
`protocol (as described in connection with Figures 3 and 4 to provide safe use of biometric
`
`sensor data. The biometric data does not leave the thumbpod 200 but it
`
`is used with a split-
`
`key generation function to protect the data. The thumbpod 200 provides a verifiable bond
`
`between a user and the thumbpod 200 based on biometric sensor data. The thumbpod can be
`
`used for a wide variety of authentication—related transactions, such as, for example, wireless
`
`credit card payments, keychain flash memory replacement, universal key functionality
`
`(house, car, office), storage of sensitive medical data, IR secure printing, etc.
`
`[0050]
`
`The thumbpod 200 uses biometrics to bind a user to an identification code,
`
`such as, for example, an account number, an access code, a password, an the like (hereinafter
`
`referred to generically as an account number). At each transaction, the user’s biometric data
`
`(e.g., fingerprint) is used to digitally sign a transaction as proof of identification. This
`
`fingerprint
`
`is digitally verified by an authentication server. The protocol used by the
`
`thumbpod and the authentication server ensure that sensitive biometric data is not transmitted
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`freely, particularly across wireless or other insecure channels. The protocol described below
`
`provides an authentication scheme in which no actual biometric data is transmitted and no
`
`biometric data is stored at
`
`the server. Rather, biometric information is captured in the
`
`thumbpod 200 and used to generate a key K (which is stored at the authentication server) for
`
`symmetric—key encryption. This key is used to encrypt challenge and response functions,
`
`based on a random number, which are in turn transmitted across the wireless channel.
`
`[0051]
`
`Figure 3A is a block diagram of an authentication protocol 300 that uses a
`
`relatively strong one—way authentication protocol between an authentication server 310 and
`
`an authentication device 311, and a relatively week security protocol between and the device
`
`311 and a user 303, as is currently used in traditional credit card authorization systems. In the
`
`traditional credit card authentication scheme, a server authenticates merely with a physical
`
`credit card (or more specifically, with an account number stored on a magnetic strip of a
`
`credit card). In an e-commerce scenario, a physical card is not required—an account number
`
`and expiration date are sufficient. The traditional schemes provide a two—fold authentication:
`
`1) the server authenticates the credit device, and 2) the server (nominally) authenticates the
`
`ownership of the card. A significant problem with the current credit card-type transaction
`
`protocols is the weak authentication tie between the user and the transaction device (the
`
`credit card). It is often the case that in brick—and-mortar commerce, proof of authentication is
`
`not required. In ATM transactions, a personal identification number (PIN) may tie a user to
`
`the card. However, PIN numbers do not provide high levels of security. PIN number are often
`
`easily broken or repetitive numbers, written on the back of cards, forgotten, etc.
`
`[0052]
`
`Figure 3B is a high-level block diagram of an authentication protocol 301
`
`used in connection with the thumbpod 200. The authentication protocol 301 uses a relatively
`
`strong two-way authentication protocol between the authentication server 310 and the
`
`authentication device (e. g., the thumbpod 200), and a relatively strong authentication protocol
`
`(e.g., biometric authentication) between and the thumbpod 200 and the user 303.
`
`

`

`WO 2005/001751
`
`PCT/U52004/017545
`
`[0053]
`
`The protocol 301 is an example of a complex application in which
`
`thumbpod 200 uses both cryptographic and signal processing functionality. There are various
`
`other protocols for other applications for the thumbpod 200 that share one or both of the
`
`common denominators of cryptography and biometric signal processing. Other applications
`
`include encryption/decryption and/or verification for audio and video systems.
`
`[0054]
`
`Figure 4 shows an example system 400 that uses the authentication
`
`protocol 301 and a flow diagram of the authentication protocol 301. The system 400 includes
`
`the thumbpod 200, a merchant’s transaction register 401, and the authentication server 310.
`
`The authentication protocol 301 can be used in connection with a brick-and-mortar pay—point
`
`transaction, an e-commerce transaction, a computer 10 gin transaction, or any other transaction
`
`the requires authentication.
`
`[0055]
`
`In the protocol 301, the thumbpod 200 sends an account number to the
`
`transaction register 401. The transaction register 401 then sends the account number and data
`
`regarding the transaction (e.g., a transaction dollar amount), to the server 310. The transaction
`
`register 401 and the server 310 provide mutual authentication through standard protocols,
`
`such as, for example, the SET protocol. The server 310 uses the account number to look up
`
`the identity of the thumbpod 200 and to obtain a secret key known to the thumbpod 200. The
`
`server 310 generates a first authentication vector and encrypts the first authentication vector
`
`using the secret key. The encrypted first authentication vector is then sent to the transaction
`
`register 40]. The transaction register forwards the first authentication vector to the thumbpod
`
`200. The thumbpod 200 decrypts the first authentication vector and verifies the identity of the
`
`authentication server 310. The thumbpod also authenticates the user and generates a second
`
`authentication vector. The second authentication vector is encrypted using the secret key. The
`
`thumbpod 200 returns the authentication vector to the transaction register 401, which
`
`forwards the second authentication vector to the authentication server 310. The authentication
`
`server 310 decrypts the second authentication vector and verifies the identity of the thumbpod
`
`200. Once the identity of the thumbpod has been verified, the authentication server 310 sends
`
`a “transaction complete” message to the transaction register 401. The transaction forwards
`
`-10-
`
`

`

`WO 2005/001751
`
`PCT/US2004/017545
`
`the transaction complete message to the thumbpod 200, which then increments a transaction
`
`counter. In one embodiment, streaming encryption is provided between the thumbpod 200,
`
`the transaction register 401 , and/or the server 310.
`
`[0056]
`
`In order to make a transaction at the transaction register 401, the user 303
`
`uses the thumbpod wireless port 204 to initiate communication with the register. Challenge
`
`and response functions are negotiated between the user 303 and the server 310, routed
`
`through the merchant’s register 410 (which cannot interpret the data because it does not
`
`posses secret keys known to the thumbpod 200 and the server 310). In the course of the
`
`authentication protocol, the user 303 places his/her finger on the fingerprint sensor 202 to
`
`provide identity verification. This information is processed within the thumbpod 200 and, if a
`
`match is made, cryptographic hash functions and keys are generated using encryption
`
`algorithms and the protocol continues to its completion.
`
`[0057]
`
`In the protocol 301,
`
`three items are used for valid authentication
`
`transactions: 1) the account number stored in the thumbpod 200, 2) the thumbpod 200 itself
`
`(which generates the secret key K), and 3) the correct biometric component (e.g., a finger, a
`
`retina, etc.) for live—scan sensing by the sensor 202. These three elements provide a strong tie
`
`between the user 310 and the thumbpod 200 account number. In an e-commerce situation,
`
`merely having a stolen account number (and expiration date) would be insufficient to make a
`
`transaction. Likewise, an account number and a stolen thumbpod 200 are also insufficient.
`
`All three components are required to make a valid transaction.
`
`[0058]
`
`In the protocol 301 a threefold-authentication takes place: 1) the server
`
`310 authenticates the thumbpod 200, 2) the thumbpod 200 authenticates the server 310 (and
`
`transaction register 410), and 3) the thumbpod 200 authenticates the user 310. Unlike
`
`traditional schemes, the user 303 authenticates the server and the transaction register 401,
`
`providing protection against fraudulent or malicious merchants. Hence, the protocol retains
`
`the advantages of the current credit card-type protocols, while supplementing the protocols
`
`with stronger security, transaction device-to-user binding, and authentication directionality.
`
`-11-
`
`

`

`W0 2005/001751
`
`PCT/U52004/017545
`
`Other advantages of the protocol 301 include fraud detection as well as authentication at each
`
`transaction.
`
`[0059]
`
`As shown in Figure 4,
`
`the thumbpod 200 begins the transaction by
`
`transmitting the user’s account identification to the merchant’s transaction register 401. The
`
`transaction register 401 authenticates with the authentication server using conventional
`
`protocols. Note that the protocol 301 need not replace current protocols. Rather, the protocol
`
`301 supplements the current protocols with an additional
`
`layer of encryption—based
`
`authentication. The transaction register 401 transmits the account number and the transaction
`
`amount to the authentication server 310.
`
`[0060]
`
`The server 310 begins its side of the authentication process by loading the
`
`user’s secret key K, which is shared only between the server 310 and the thumbpod 200. In
`
`one embodiment, the secret key is at least 128 bits. The server 310 also loads a user’s counter
`
`value SQNAS and an institution authentication parameter AMF. In one embodiment,
`
`the
`
`counter value SQNAs-is at least 48 bits, and the institution authentication parameter AMF is
`
`at least a 16 bits. The counter value SQNAS is stored both on the server and on the thumbpod
`
`200 and is used to prevent replay attacks. The server 310 loads and encrypts an operator code
`
`OP, producing OPc (which can be optionally pre—stored). In one embodiment, the operator
`
`code OP is at least 128 bits. Finally, the server 310 generates a random value RAND and uses
`
`K with Rijndacl primitives to generate a set of authentication parameters for the specific
`
`transaction. In one embodiment, RAND is at least 128 bits. The authentication parameters
`
`include:
`
`o MACAS:
`
`a message authentication code of the server to prove its identity to the
`
`thumbpod 200 (in one embodiment, the MACAS is at least 64-bits).
`
`o XRESAS: an expected response of the thumbpod 200 to prove its identity to the
`
`server (in one embodiment, XRESAS is at least 64 bits).
`
`0 AK: an anonymity key to mask the counter value CTRAS for transmission (in one
`
`embodiment, AK is at least 48 bits).
`
`-12-
`
`

`

`W0 2005/001751
`
`PCT/U52004/017545
`
`0 CK (optional): a cipher key to allow for streaming encryption after authentication
`
`is performed (in one embodiment, CK is at least 128 bits).
`
`0
`
`lK(optional): an integrity key allowing for data integrity and origin authentication
`
`of streaming encryption data (in one embodiment, [K is at least 128 bits).
`
`[006]]
`
`After the above authentication parameters are generated, the server 310
`
`transmits a subset of the authentication parameters—the authentication vector—to the
`
`transaction register, which forwards the vector to the Thumbpod 200. The authentication
`
`vector includes:
`
`- RAND;
`
`0
`
`SQNAS : the counter value of the server masked by the anonymity key;
`
`0 AMP: the institution authentication parameter; and
`
`o MACAS: the message authentication code of the server to prove its identity to the
`
`thumbpod 200.
`
`[0062]
`
`As in 3GPP authentication, the authentication between the thumbpod 200
`
`and the server 310 is a mutual authentication based on the shared secret key K. The random
`
`session value RAND is coupled with K to provide the two primary challenge/response
`
`vectors: MACAS and RESTP. The MACAS vector proves the identity of the server 310 to the
`
`thumbpod 200. Only the server 310 with the precise value of K (and the current random
`
`session value RAND) will be able to produce the proper MACAs. When the thumbpod 200
`
`verifies this value by comparison with its generated expected value of XMAC-rp (based on K
`
`and RAND) it determines whether the proper key K was used, and hence whether the server
`
`310 is genuine. The same argument holds for the RES-n) vector, which is used to verify the
`
`identity of the thumbpod 200 to the server by comparison with XRESAS. When both
`
`challenge/response values are verified, then mutual authentication is assured. The random
`
`number RAND and the sequence number SQNTp/AS are used to prevent replay attacks on
`
`previously-used authentication vectors obtained through eavesdropping on the channel. Since
`
`the sequence number follows a deterministic pattern (bit increment at each transaction), it is
`
`-13-
`
`

`

`WO 2005/001751
`
`PCT/US2004/017545
`
`masked by a one—use anonymity key AK as it is transmitted over the channel to prevent smart
`
`replay attacks.
`
`[0063]
`
`At
`
`this point,
`
`the protocol 301 enters into a biometric authentication
`
`portion which differs from 3GPP or other wireless authentication protocols. The thumbpod
`
`200 stores the authentication vector and begins biometric authentication by requesting that
`
`the user 303 to provide biometric data (e.g., place his/her finger on the fingerprint sensor
`
`202). The Thumbpod 200 performs imaging, feature extraction, matching, and decision.
`
`During imaging, the thumbpod 200 images fingerprint to produce a bitmap of raw data. In
`
`one embodiment, the bitmap is at least 128 x 128 8-bit grayscale. During feature extraction,
`
`the thumbpod 200 processes the raw data, enhances the image, and extracts the minutiae
`
`types (ridges, bifurcations) and locations of the candidate fingerprint. During the matching
`
`process, the thumbpod 200 loads a stored fingerprint template and performs a matching
`
`function to produce a match score. During the decision process, the thumbpod 200, using the
`
`match score, decides if the candidate fingerprint is a match to the template.
`
`[0064]
`
`If the algorithm detects an incorrect match, an error vector is transmitted to
`
`the server 310 and the protocol 301 is terminated. If the algorithm detects a match, the
`
`authentication protocol 301 continues. Using Rijndael in CBC-MAC mode, the shared secret
`
`key K is created by hashing the fingerprint template using a pre—stored 128-b key generator
`
`value KG according to K = HASHKG(temp1ate). (Alternatively, the value of K can also be
`
`pre—stored in the embedded device.)
`
`[0065]
`
`In one embodiment, after loading the received values of RAND and AMF,
`
`the thumbpod 200 loads OP and uses the secret key K and Rijndael primitives to generate:
`
`o OPC: an encrypted operator code (optionally pre-stored). In one embodiment OPC
`
`is at least 128-bits.
`
`0 AK: an anonymity key to unmask the counter value CTRAS. In one embodiment
`
`AK is at least 128 bits.
`
`-14-
`
`

`

`W0 2005/001751
`
`PCT/U52004/017545
`
`0
`
`CTRAS: a counter value of the server. In one embodiment CTRAS is at least 48
`bits.
`
`0 XMACTP: an expected message authentication code of the server to prove its
`
`identity to the thumbpod 200. In one embodiment XMACTp is at least 64 bits.
`
`- RESTP: a response of the Thumbpod 200 to prove its identity to the server. In one
`
`embodiment RESTP is at least 64 bits.
`
`0 CK (optional): a cipher key to allow for streaming encryption after authentication
`
`is performed. In one embodiment CK is at least 128 bits.
`
`0
`
`IK (optional): an integrity key to

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket