Abstract:
Methods of comparing a plurality of measurements to a template are described. Measurements are compared piecewise (element-by-element) and a proportion of successful comparisons at each of a plurality of distance scaling factors is calculated. The proportions are subjected to a nonlinear transformation, then normalized and combined into a weighted sum. The weighted sum is compared with a threshold value to establish the result of the comparison. Software and systems to implement embodiments of the invention are also described and claimed.

Description:
FIELD  
       [0001]     The invention relates to biometric data processing. More specifically, the invention relates to a method for scoring a biometric data sample against a template to determine whether the sample describes the same user as the template.  
       BACKGROUND  
       [0002]     Computer systems often contain valuable and/or sensitive information, control access to such information, or play an integral role in securing physical locations and assets. The security of information, assets and locations is only as good as the weakest link in the security chain, so it is important that computers reliably be able to distinguish authorized personnel from impostors. In the past, computer security has largely depended on secret passwords. Unfortunately, users often choose passwords that are easy to guess or that are simple enough to determine via exhaustive search or other means. When passwords of greater complexity are assigned, users may find them hard to remember, so may write them down, thus creating a new, different security vulnerability.  
         [0003]     Various approaches have been tried to improve the security of computer systems. For example, in “have something, know something” schemes, a prospective user must know a password (or other secret code) and have (or prove possession of) a physical token such as a key or an identification card. Such schemes usually provide better authentication than passwords alone, but an authorized user can still permit an unauthorized user to use the system simply by giving the token and the secret code to the unauthorized user.  
         [0004]     Other authentication methods rely on measurements of unique physical characteristics (“biometrics”) of users to identify authorized users. For example, fingerprints, voice patterns and retinal images have all been used with some success. However, these methods usually require special hardware to implement (e.g. fingerprint or retinal cameras; audio input facilities).  
         [0005]     Techniques have been developed that permit computer users to be authenticated at machines without any special hardware. For example, U.S. Pat. No. 4,805,222 to Young et al. describes verifying the identity of an individual based on timing data collected while he types on a keyboard. Identification is accomplished by a simple statistical method that treats the collected data as an n-dimensional vector and computes the distance between this vector and a target vector. More sophisticated analyses have also been proposed. For example, U.S. Pat. No. 6,151,593 to Cho et al. suggests using a neural network to classify keystroke timing vectors.  
         [0006]     The problem of comparing a biometric sample to a template or reference sample to determine whether the samples describe the same person is a difficult one. Improved algorithms to validate biometric samples may be useful in producing more accurate identifications with reduced false acceptance rates (“FAR”) and false reject rates (“FRR”). In any ‘generic’ comparison technique, using the natural behavior of the data to study the data is a proved methodology i.e. in case of behavioral biometrics the measurements are not repeatable and hence using the ‘variance’ nature of the data to study the data is a logical methodology.  
       SUMMARY  
       [0007]     Embodiments of the invention perform pairwise comparisons between a sample and a template, determining for each sample element whether the element falls within an allowable variability range of the template. Binary (success/failure) comparison results are collected with several scaling factors applied to the allowable variability ranges, and proportions of success and failure are computed for each scaling factor. The proportions are transformed through a nonlinear function and the transformed proportions are normalized. Finally, the normalized values are weighted, and the result is the output of this system. Typically, this output is used to determine whether the sample refers to the same person as the template. 
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0008]     Embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.” 
         [0009]      FIG. 1  shows one way of collecting biometric data of a user.  
         [0010]      FIG. 2  outlines a process for preparing a template.  
         [0011]      FIG. 3  is a flow chart illustrating the operation of an embodiment of the invention.  
         [0012]      FIG. 4  shows an alternate view of the architecture of an embodiment of the invention.  
         [0013]      FIG. 5  shows some components of a computer system that can support an embodiment of the invention. 
     
    
     DETAILED DESCRIPTION  
       [0014]      FIG. 1  represents one way of collecting biometric data of a user. The user is typing the password “Gamma 3”  110 . The timeline shows the six keys  121 - 126  involved in typing the password, and to the right of the keys, six corresponding traces  131 - 136  indicating when the keys are pressed and released. The data collected may include key press times  140 , key release times  150 , times from a first key press to a subsequent key press  160 , and times between key releases  170 . Some embodiments may collect (or compute) key press durations, overlaps (pressing one key before releasing the previous key), or other similar metrics. (Durations and overlaps not indicated in this Figure.) Many different metrics can be measured directly or calculated from raw key press and key release times; some metrics may be easier to compute than to measure. Derived datasets can also be prepared and used with embodiments of the invention. For example, timings for pairs (or larger groups) of keystrokes can be collected or calculated and processed as described below. It is recognized in the art that these typing rhythm metrics vary from repetition to repetition and between typists.  
         [0015]     Collecting keystroke timing data as described above yields a vector of scalar quantities. Vectors are used first in an enrollment process to prepare a biometric template, and then later in a verification process according to an embodiment of the invention.  FIG. 2  briefly outlines one possible method of preparing a biometric template.  
         [0016]     First, a plurality of sample vectors are collected ( 210 ). This Figure shows five sample vectors  220 . Note that the cardinality of each vector (the number of elements in the vector) is the same. These vectors contain only eight elements, but a typical key timing vector might contain dozens of elements. Also, it is appreciated that other data collection devices can produce vectors of numbers that describe biometric measurements. A simple example is a finger-length measuring device: it may produce five-element vectors where each element indicates the length of a finger. Finger length measurements are known to have some utility in distinguishing individuals. Fingerprint sensors, voice records, and iris images can also produce data that may be rearranged into vectors and used with embodiments of the invention.  
         [0017]     Second, the collected samples are analyzed to produce a template ( 230 ). The template consists of a vector T  240  of equal cardinality as the samples, and an allowable variability vector V  245  that indicates how much the input samples can be varied from T. Note that in this example, T is simply the average of the input sample vectors, and V is the root mean square (“RMS”) of the differences between the average and the input sample vectors. Other methods of selecting and processing input samples may produce a superior template, or permit the enrollment process to be completed more quickly.  
         [0018]     It is appreciated that embodiments of the invention can operate with templates produced by any method, as well as with reference patterns produced from non-biometric data. In general, any application that involves comparing an input pattern to a reference pattern or template to derive a conclusion can make use of embodiments of this invention. For example, a collection of credit data (credit extensions, payment histories, and similar information) can be processed to produce a template that describes a favorable credit risk or a “good borrower.” Then, the template can be compared with credit information from a potential customer to decide whether extending a loan to the customer is likely to be a wise business decision.  
         [0019]     Once a template has been prepared, comparison according to an embodiment of the invention may be performed.  FIG. 3  outlines the process. The embodiment contemplated with regard to this figure is a biometric authenticator using keystroke timing measurements, where a successful comparison indicates that the user who provided the sample is the same as the user whose characteristics were measured to create the template.  
         [0020]     First, a data sample is collected from the user ( 310 ). The sample should measure the same characteristic(s) that were used to prepare the template, and for best results should be collected under conditions that are similar to those present when the enrollment or template preparation process was conducted. For example, in an embodiment that measures typing patterns, using a similar keyboard and similar timing granularity may produce a more accurate identification. The sample should have the same cardinality as the template.  
         [0021]     Next, the sample vector elements are discretized or thresholded to determine, for each element, whether the sample element lies within a scaled variability range of the corresponding template element. A proportion of the elements that are within range is computed for each of a plurality of scaling values ( 320 ,  330 ). Expressing this operation in mathematical notation, we compute the elements P j  of proportion vector P as:  
               P   j     =         ∑     i   =   1     n     ⁢     {         1           if   ⁢           ⁢            T   i     -     S   i              &lt;       d   j     ·     V   i                 0       otherwise             n             (     Eq   .           ⁢   1     )             
 
 where T is the template vector (see  FIG. 2, 240 ), V is the allowable variability vector (see  FIG. 2, 245 ), S is the sample vector, and d is a set of distance scaling factors. T, V and S are of identical cardinality n; P and d are of cardinality m. Useful values for d j  have been empirically determined to be between approximately 0.5 and 2.0 while applying multi-distant scoring concepts to the keystroke dynamics field. Values less than about 0.5 inordinately restrict “permissible” variation and result in unnaturally low values of P j , while values greater than about 2.0 fail to provide adequate discrimination between legitimate users and impostors. (Useful values for d depend upon the method used to enroll users and to prepare the T and V template vectors. The recited range, 0.5 to 2.0, is appropriate for typing rhythm measurements. Specific values in d may be, for example, {0.5, 1.0, 1.5, 1.7, 1.9, 2.0}.) 
 
         [0022]     After P is prepared, distance-fit vector F is calculated by applying a nonlinear transformation to P ( 340 ). In one embodiment, the nonlinear transformation is a logarithm. Mathematically,  
               F   j     =         -   1       d   j       ⁢     log   ⁡     (     1   -     P   j       )                 (     Eq   .           ⁢   2     )             
 
 The significance of F j  is that in experiments with typing samples, it has been shown to have a relatively constant value for samples from the user whose enrollment produced the template, but not for samples from other users. In other words, when the user who provided the sample is the same as the user who created the template, values in F are uniformly high; but when the user who provided the sample is different from the user who created the template, values in F are mostly low, and not uniform. The nonlinear transformation seems to magnify differences in a useful way. 
 
         [0023]     Next, the elements of F are normalized and mapped by a linear function into a convenient range ( 350 ) to create distance-scores vector D. The corresponding equation for this operation is: 
 
 D   j   =A·F   j   +B    (Eq. 3) 
 
 A and B are chosen to map the elements of F to a range such as 0 to 100. If a value for D j  falls outside the range, it is limited to the nearest endpoint. In the experiments with typing patterns mentioned above, values for A and B of 46.0 and −10.0, respectively, were found to be appropriate. Note that this operation merely transforms D j  linearly to a more convenient range; the following operations could be performed in the untransformed range with a simple proportional adjustment to weight factors and thresholds. Values for A and B of 1 and 0, respectively, result in D being equal to F, which effectively omits the normalizing operation. 
 
         [0024]     The penultimate operation is to calculate a weighted sum of the normalized distance-scores vector elements D j  ( 360 ). The weight to be allotted for a given distance-score vector element can be determined through experimentation. The calculation can be expressed concisely as:  
             W   =         ∑     j   =   1     m     ⁢       WF   j     ·     D   j             ∑     j   =   1     m     ⁢     WF   j                 (     Eq   .           ⁢   4     )             
 
 where WF is a vector of m weight factors. In some embodiments, it is convenient for the sum of weight factors WF j  to be unity  
         (         ∑     i   =   1     m     ⁢     WF   i       =   1     )     .       
 
 In one embodiment, WF may be {0.1, 0.1, 0.2, 0.25, 0.3, 0.05}. 
 
         [0025]     Finally, the weighted sum W is compared against a threshold value ( 370 ). If W is greater than the threshold, the comparison is considered to have succeeded ( 380 ); if not, it has failed ( 390 ). In some embodiments, W may be adjusted or scaled to a convenient range before comparison (scaling operation is not shown in this figure.)  
         [0026]     A computer system can use the result of this procedure to decide whether to grant the user access to resources, services, or locations controlled by the computer.  
         [0027]      FIG. 4  shows an alternate view of the architecture of a system according to embodiments of the invention. In this view, the process is broken into three phases: Multi-Distant Processor  400 , Distance Scores Calculator  450  and Weighted Score Calculator  480 . In the first phase, a sample data collection module  410  collects information about a user. Previously-prepared template data is also retrieved  420 . These data to be compared are transmitted to multi-distant processor  430 . Distance-scaling factors d j  and weights w j  from a second database  440  are also provided to the multi-distant processor  430 . (The distance-scaling values and weights may be stored in the same database as the template data.)  
         [0028]     Multi-distant processor  430  performs the first computation shown as Equation 1 and produces the proportion vector P, elements of which indicate the ratio of positive indices for each distance-scaling value. Weights W for multi-distant values 1 through m may simply be passed through to the following phases.  
         [0029]     In the second phase, pre-scores calculator  460  determines the distance-fit scores for all the proportion values computed in the previous phase. These distance-fit scores are the elements F j  of vector F as calculated according to Equation 2. The second phase passes the distance-fit scores it calculated, and the weights it received from the first phase, to the final phase.  
         [0030]     In Phase  3   480 , weighted score calculator  490  prepares a weighted sum based on the distance-fit scores and weights. It may also normalize the distant scores or adjust the weighted sum to fall within a convenient range. The possibly-normalized weighted sum is emitted as final score  499 .  
         [0031]      FIG. 5  shows some components of a computer system that can host an embodiment of the invention. System components such as main unit  510 , keyboard  520  and monitor  530  form a typical foundation, while other input devices such as mouse  540 , fingerprint sensor  550 , finger length measuring device  560 , microphone  570  (for voice recognition) and camera  580  may provide additional biometric measurements for processing through the multi-distant weighted scoring system. Main unit  510  may contain elements such as central processing unit (“CPU” or “processor”)  511 , memory  512 , mass storage device  513 , network communication interface  514  and/or device interface  515 . CPU  511  may execute instructions in memory  512  to perform operations according to an embodiment of the invention. Between invocations or executions of those instructions, they may be stored on a storage medium such as mass storage device  513 , or on a similar machine-readable medium.  
         [0032]     The computer system in  FIG. 5  can use an embodiment of the invention to authenticate a prospective user and grant him access to a resource upon a successful comparison. For example, the prospective user may be permitted to use the computer itself, or to access resources available through the computer (perhaps by way of the network interface  514 ).  
         [0033]     An embodiment of the invention may be a machine-readable medium having stored thereon instructions which cause a processor to perform operations as described above. In other embodiments, the operations might be performed by specific hardware components that contain hardwired logic. Those operations might alternatively be performed by any combination of programmed computer components and custom hardware components.  
         [0034]     A machine-readable medium may include any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer), including but not limited to Compact Disc Read-Only Memory (CD-ROMs), Read-Only Memory (ROMs), Random Access Memory (RAM), Erasable Programmable Read-Only Memory (EPROM), and a transmission over the Internet.  
         [0035]     The applications of the present invention have been described largely by reference to specific examples and in terms of particular allocations of functionality to certain hardware and/or software components. However, those of skill in the art will recognize that data comparisons according to the multi-distant weighted scoring system disclosed herein can also be produced by software and hardware that distribute the functions of embodiments of this invention differently than herein described. Such variations and implementations are understood to be captured according to the following claims.