Patent Publication Number: US-9407435-B2

Title: Cryptographic key generation based on multiple biometrics

Description:
TECHNICAL FIELD 
     Embodiments pertain to cryptographic key generation that is based on multiple biometrics. 
     BACKGROUND 
     Use of a biometric for authentication is a recent trend for non-password authentication. Biometrics may be used in biometric encryption (“biometric cryptosystem”). In a biometric cryptosystem, a cryptographic key may be transformed or unlocked from the biometric data, and this key may be used for authentication or to decrypt user secrets such as passwords or documents. 
     Differences between a biometric cryptosystem and conventional biometric schemes may include (1) in the biometric cryptosystem the biometric data is typically not to be stored in a database or on a platform, and so the biometric cryptosystem may offer better protection of the biometric data from offline attacks; (2) in the biometric cryptosystem the keys generated from the biometric data may be dynamic and revocable. If an end user uses biometric cryptosystem in multiple transactions, her transactions may be unlinkable; (3) a biometric cryptosystem may offer better privacy over conventional biometric schemes, as the service provider or the local platform may not keep the biometric of the end user. 
     Schemes to transform or to unlock a cryptographic key (also “key” herein) from biometric input are typically based on only one biometric. However, one type of biometric data (e.g., fingerprint, iris, face, palm print, voice) may not have enough entropy to provide an acceptable level of security, e.g., for a high security key. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of a system according to an embodiment of the present invention. 
         FIG. 2A  is a block diagram of an apparatus to transform a key, according to an embodiment of the present invention. 
         FIG. 2B  is a block diagram of another apparatus to generate a key, according to an embodiment of the present invention. 
         FIG. 3A  is a block diagram of another apparatus to transform a key, according to an embodiment of the present invention. 
         FIG. 3B  is a block diagram of another apparatus to generate a key, according to an embodiment of the present invention. 
         FIG. 4A  is a block diagram of another apparatus to transform a key, according to an embodiment of the present invention. 
         FIG. 4B  is a block diagram of an apparatus to recover a key, according to an embodiment of the present invention. 
         FIG. 5  is a block diagram that illustrates transformation of a cryptographic key k, according to an embodiment of the present invention. 
         FIG. 6  is a flow diagram of a method to transform a secret key and to generate the secret key, according to an embodiment of the present invention. 
         FIG. 7  is a flow diagram of a method to transform a secret key and to recover the secret key, according to an embodiment of the present invention. 
         FIG. 8  is a block diagram of a processor in accordance with an embodiment of the present invention. 
         FIG. 9  is a block diagram of an example system with which embodiments of the present invention can be used. 
         FIG. 10  is a block diagram of a system in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     According to embodiments of the present invention, a new biometric encryption scheme may allow key transformation from multiple biometrics in a threshold fashion, which may provide for a better user experience and better security/entropy than conventional biometric systems. 
     In an embodiment, during an initial setup phase, a key may be transformed by n distinct biometric data. The key can be unlocked only if the user presents t or more matched (“valid” herein) biometric input, where 2≦t≦n. 
     In an embodiment, n biometric input are received concurrently at a first time period and a transformed key (e.g., that includes n component keys k i ) may be computed on the fly when biometric data are determined based on the biometric input. As a result, it may be difficult for an attacker to spoof a sufficient number of biometrics to unlock the key from the component keys k i . 
     In an embodiment, there are two phases in biometric transformation: a setup phase and an unlock phase. In the setup phase, a key k is chosen and input, and n different biometric data (w 1 , W 2 , . . . w n ) are input, each w i  based on a corresponding biometric input M i  made at a first time period. The output is a transformation of the key k, including “helper data” h=h i =(h 1 , h 2 , . . . h n ), each helper data h i  corresponding to the biometric data w i . The helper data may be stored and retrieved for unlocking. In the unlock phase, biometric data w′=w i ′=(w 1 ′, w 2 ′, . . . w n ′) may be input, with each w i ′ based on a corresponding biometric input M i ′ received at a second time period subsequent to the first time period. When at least t of the n measured biometric data (w′ 1 , w′ 2 , . . . , w′ n ) are valid (“correct”), where t is a threshold value, and the helper data (h 1  , h 2 , . . . h n ) from the setup phase, the secret key k can be unlocked and output. 
     In an embodiment, a technique known as Shamir&#39;s secret sharing may be employed to divide the key k into a plurality of component keys k i , and may be used along with one or more cryptographic schemes, e.g., fuzzy commitment, fuzzy vault, and/or fuzzy extractor in order to transform and/or unlock the key k based on the biometric data w i  (or w i ′). 
     Different biometric cryptographic schemes may work well on specific biometrics. For example, a fuzzy commitment scheme is typically effective for an iris biometric. A fuzzy vault scheme is typically effective when applied to fingerprints and palm prints. Fuzzy extractors offer higher level of security than some other techniques, due at least in part to random extraction of the component keys. 
     In an embodiment, a specific cryptographic scheme may be used for each kind of biometric to transform a key, and the results may be combined to unlock the key. For example suppose an end user uses face, voice, fingerprint, and iris biometrics (n=4) for locking up a secret. Only if the end user presents at least t matched (e.g., valid) biometrics, where 2≦t≦4, can he/she unlock a secret. Thus, various biometric cryptographic schemes can be combined to achieve a high level of security. 
     Several transformation schemes are described below. 
     Fuzzy commitment has two phases: setup and unlocking. 
     Fuzzy commitment setup. In the setup phase, a secret key is chosen or provided as input. Let w i  be processed biometric template data derived from raw biometric image data, e.g., biometric input received from a biometric sensor that measures a particular biometric input. A key k may be divided into component keys (k i , i=1 to n) and each component key k i  may be encoded into a corresponding code c i . Helper data h i  may be calculated as h i =c i  XOR w i . 
     Fuzzy commitment unlocking. In the unlocking phase, the helper data h i  may be input. Each biometric input is received again at a second time period. Let w′ (=w i ′ i=1, n) be biometric data w i ′ that is based on the received biometric input M i .′ Each M i ′ that satisfies a validity criterion (e.g., predetermined Hamming distance between M i ′ and M i , or another measure of difference between M i ′ and M i ) is determined to be valid (e.g., correct), and so the corresponding w i ′ is deemed valid. Assuming that at least t values of w i ′ are valid, an unlocking process computes c i ′=h i  XOR w i ′=c i  XOR (w i  XOR w i ′). Each c i ′ is then transformed to a corresponding k i , from which k is obtained. 
     Fuzzy vault. The biometric input M i  (received at a first time period) may be a binary string or a set of values (e.g., fingerprint data). If a key k is locked using a biometric data w i  (determined based on the biometric input M i ), typically the key k can be unlocked by other biometric data w′ (determined based on biometric input M i ′ received at a second time period) if w and w′ have a large overlap. The key k may be selected prior to application of the fuzzy vault scheme. 
     Fuzzy vault setup phase. A polynomial p may be selected that encodes the secret key k, e.g., the coefficients of p may be formed from k. The input data w i  may be projected onto p, and p (w i ) is computed. Optionally, chaff points may be added (e.g., randomly selected) in order to obscure genuine points of the polynomial. The set of all points p (w i ) is the helper data h i . 
     Fuzzy vault unlock phase. The helper data h i  and second biometric data w i ′ are input. If w i ′ has large overlap with the biometric data w i , a sufficient number of points of h i  that lie on the polynomial p can be located. A transformation can be applied to reconstruct p, enabling k to be recovered. 
     Fuzzy extractor differs from fuzzy commitment and fuzzy vault in that the component keys k i  are generated from the biometric data w. 
     Fuzzy extractor setup phase. A key k is selected (e.g., by a user). Helper data h i  is computed based on input biometric data w i  (e.g., based on biometric input M i  received at a first time period) and component keys k i  are also computed from the selected key k and are based on the biometric data w i . 
     Fuzzy Extractor Recovery (key generation) phase. The original w i  is recovered from fuzzy biometric input w i ′ (e.g., based on biometric input M i ′ received at a second time period) and on the helper data h i . The key k is then extracted from w i . 
       FIG. 1  is a block diagram of a system according to an embodiment of the present invention. The system includes a processor  100 , a dynamic random access memory (DRAM)  130 , and non-volatile memory (NVM)  150 . 
     The processor  100  may include one or more cores  102   0 ,  102   1 , . . .  102   n . For example, a first core  102   0  may include an execution unit  104   0 , a cache  110   0 , multi-biometric logic  112   0 , setup logic  114   0 , and unlock logic  116   0 . 
     In operation, at a first time period, the multi-biometric logic  112   0  may receive a plurality of measured biometric input (M i , i=1 to n) corresponding to respective biometric variables. For example, the biometric variables may include any of facial, voice, fingerprint, iris biometrics, or other biometrics. The multi-biometric logic  112   0  may output biometric data w (=w 1 , w 2 , . . . w n ) based on the received raw biometric input M i  The biometric data w may be input to setup logic  114  that may output helper data h (=h 1 , h 2 , h n ) based on the biometric data w and based upon a cryptographic key k. For example, in some embodiments the setup logic  114   0  may divide the key k into a plurality of component keys (k 1 , k 2 , . . . k n ) and each of the component keys k i  may be processed according to a corresponding biometric cryptosystem (e.g., fuzzy commitment, fuzzy vault) using corresponding biometric data w i  to yield corresponding helper data h i . The helper data h may be stored in NVM  150 . In some embodiments, the key k and the biometric data w are not stored in the processor  100 . 
     At second time period that is subsequent to the first time period, if a threshold number of t out of n measured biometric input M i ′ is satisfied, (e.g., t of the biometric input M i ′ are deemed valid by a fuzzy logic test), the multi-biometric logic  112   0  may provide biometric data w′ (=w i ′) based on the biometric input M i ′ received at the second time. The unlock logic  116   0  may regenerate the key k based on biometric data w′ received from the multi-biometric logic  112   0  and the helper data stored at the NVM  150 , and may provide the key k to the execution unit  104   0 . 
     In another embodiment, the multi-biometric logic  112   0  may provide the biometric data w at the first time period to the setup logic  114   0 , which, through use of a fuzzy extractor scheme, may produce both the helper data h (e.g., via a sketch procedure) and the key k (e.g., via an entropy extractor). In an embodiment, the key k is not stored at the processor  100 . 
     At the second time period the unlock logic  116   0  may recover the key through a recover procedure of the fuzzy extractor scheme based on biometric data w′ (e.g., based on biometric input M i ′ received at the second time period) received from the multi-biometric logic  112   0 , and the helper data h that may be retrieved from, e.g. the NVM  150 . The biometric data w′ may be supplied responsive to a threshold number of biometric input M i ′ being valid (e.g., correct), where 2≦t≦n. In some embodiments, t is less than n. 
       FIGS. 2  A, B are block diagrams of an apparatus to perform transformation and recovery of a key, according to an embodiment of the present invention. Turning to  FIG. 2A , shown is a block diagram of a portion of a processor, such as the processor  100  of  FIG. 1 . Multi-biometric logic  212  includes multi-biometric input interface  202  and multi-biometric data generator  204 . The multi-biometric logic  212  may be coupled to setup logic  214 , which includes an encoder  220  and fuzzy commitment transformation logic  230 . 
     In operation, the multi-biometric input interface  202  may receive biometric input M i  from, e.g., a plurality of biometric sensors. The biometric data generator  204  may generate n biometric data w (w 1 , w n ) based upon the received biometric input M i . The generated biometric data w may be input to the setup logic  214 . A cryptographic key k may be randomly selected and may be divided into component keys k i , (e.g., via Shamir secret sharing or another technique). Each component key k i  may be input to the encoder logic  220 , which may output a c i  that is a representation of the component key k i . Each c i  may be input to fuzzy commitment transformation logic  230 , which may output helper data h i  that is based on c i  and w i . 
     In an embodiment,
 
 h =( c )XOR( w ), e.g.,  h   i =( c   i )XOR( w   i ) for  i= 1 to  n.  
 
     Turning to  FIG. 2B , a portion of a processor, such as the processor  100  of  FIG. 1 , is shown. In the unlock process, the helper data h i  is input to unlock logic  216 . The n biometric input M i ′ are received at a second time period via the multi-biometric input interface  202  to multi-biometric threshold logic  210 , and it is determined whether a threshold t (where t≧2) number of biometric input M i ′ are valid. In an embodiment, validity may be determined by, e.g., determination of a corresponding Hamming distance for each M i ′. In an embodiment, t is less than n. Provided the threshold t number of biometric input M i ′ are valid, the biometric data generator  204  may generate biometric data w′ based on the received biometric input M i ′. The fuzzy commitment inverse transformation logic  230  may compute c i ′=(h i ) XOR (w i ′)=(c i ) XOR (w i  XOR w i ′), and c i ′ may be input to decoder  240  to produce the component key k i , from which k may be obtained. 
       FIGS. 3  A, B are block diagrams of apparatus to perform transformation and generation (e.g., recovery) of a key, according to another embodiment of the present invention. Turning to  FIG. 3A , shown is a block diagram of a portion of a processor such as the processor  100  of  FIG. 1 . Multi-biometric logic  312  includes multi-biometric input interface  302  and biometric data generator  304 . The multi-biometric logic  312  is coupled to setup logic  314 , which includes an encoder  320  and fuzzy vault transformation logic  330 . 
     In operation, the multi-biometric input interface  302  may receive biometric input M i  (i=1 to n) from, e.g., a plurality of biometric sensors. The biometric data generator  304  may generate n biometric data w (e.g., w 1 , w n ) based upon the biometric input M i . The biometric data w may be input to the fuzzy vault transformation logic  330 . A cryptographic key k may be randomly selected and component keys k i  generated from the k via, e.g., Shamir Secret Sharing or another technique may be input to the encoder logic  320 , which may output an encoded value c i  that is a representation of the component key k i . The encoded value c i  may be input to the fuzzy commitment transformation logic  230 , which may output helper data h i . In an embodiment,
 
 h =( c )XOR( w ), e.g.,  h   i =( c   i )XOR( w   i ) for  i= 1,  n.  
 
     Turning to  FIG. 3B , a portion of a processor, such as the processor  100  of  FIG. 1 , is shown. In an unlock process, the helper data h i  is inputted to fuzzy vault reverse transformation logic  340 . Biometric input M i ′ (i=1 to n) may be received at the multi-biometric input interface  302  at a second time period and it may be determined by multi-biometric threshold logic  310  whether a threshold number t (where t≧2) of the received biometric input are valid. Provided the threshold t number of biometric input M i ′ are valid (e.g., close enough in value to M that there is deemed a match, the biometric data generator  312  may generate biometric data w′ based on the biometric input M i ′. In some embodiments, t is less than n. The fuzzy commitment inverse transformation logic  340  may compute c′=(h) XOR (w′)=(c) XOR (w XOR w′), which may be input to decoder  350  to produce the component keys k i . The key k may be determined from k i . 
       FIGS. 4  A, B are block diagrams of apparatus to perform transformation and recovery of a key, according to another embodiment of the present invention.  FIGS. 4A , B use fuzzy extractor methodology, which may be preferred when entropy associated with the biometric data is low. 
     Turning to  FIG. 4A , shown is a block diagram of a portion of a processor, such as the processor  100  of  FIG. 1 . Biometric logic  412  includes multi-biometric input interface  402  and biometric data generator  404 . The multi-biometric logic  412  may be coupled to fuzzy extractor setup logic  414 , which includes a fuzzy encoder  416  and a key extractor  418 . 
     In operation, the multi-biometric input interface  402  may receive biometric input M i  and the biometric data generator  404  may generate n biometric data w (=w 1 , . . . , w n ) based upon the biometric input M i . The biometric data w may be input to the fuzzy extractor setup logic  414 . The fuzzy encoder  416  may compute helper data h (=h 1 , . . . , h n ) based on the biometric data w. The key extractor  418  may generate component keys k i  from a key k (e.g., selected by a user) based on the biometric data w. In contrast to fuzzy commitment and fuzzy vault schemes, in embodiments that use the fuzzy extractor scheme, the component keys k i  are not selected initially, but instead are determined from the biometric data w and the key k. 
     Turning to  FIG. 4B , in a key recovery process, n biometric input M i ′ may be received e.g., at a time period subsequent to the generation of the helper data h, by the multi-biometric input interface  402 . Multi-biometric threshold logic  410  may determine whether a threshold t (where t≧2) number of the biometric input M i ′ are valid (e.g., correct). In an embodiment, t is less than n. Provided the threshold t number of M i ′ are valid, the biometric data generator  404  may generate biometric data w′ (=w i , i=1, n) based on the measured biometric values. 
     The biometric data w′ may be input to recovery logic  422  of fuzzy extraction key recovery logic  420 , along with helper data h i , to output the biometric data w i  that was produced by the biometric data generator  404  during setup. The biometric data w i  may be input to a key extractor  424  that may output the key k. 
       FIG. 5  is a block diagram that illustrates transformation of a cryptographic key k through use of a fuzzy commitment scheme and/or a fuzzy vault scheme, according to an embodiment of the present invention. Shamir secret sharing logic  502  may be used to divide a selected key k into a plurality of component keys k i . Blocks  504   1 - 504   n  may be either fuzzy commitment logic or fuzzy vault logic that may be applied to a component key k i  of the key k. A choice of whether to use fuzzy commitment logic or fuzzy vault logic may be dependent on a type of biometric measurement, e.g., fuzzy commitment logic for facial data, fuzzy vault logic for fingerprint data, etc. 
     In operation, a cryptographic key k may be input to the Shamir secret sharing logic  502 , which may divide the key k into n component keys k i , i=1 to n. A total of n distinct biometric data w i  may be received from, e.g., a biometric data generator, each w i  biometric data generated based on corresponding biometric input. 
     Each component key k i  may be input to a respective fuzzy logic  504   i . Also input to each fuzzy logic  504   i  is respective biometric data w i . For each biometric data w i , a fuzzy logic scheme, selected based on the type of biometric data, may be applied. 
     Each fuzzy logic  504   i  may process a respective component k i  with the respective w i  to output respective helper data h i . In an embodiment of the fuzzy logics  504  employed to produce the helper data h i , at least one of the fuzzy logics, (e.g.,  504   1 ) differs from one or more of the other fuzzy logics  504   i . 
     Turning to  FIG. 6 , shown is a method  600  of transforming a secret key and generating (e.g., recovering) the secret key, according to an embodiment of the present invention. 
     In a setup portion  602 - 610  of the method  600 , at block  602 , a secret key k is chosen. For example, k may be chosen from, F, a finite field where k is an element of F, e.g., F is Galois field GF (2 128 ) for 128-bit keys. 
     Continuing to block  604 , a (t−1) degree polynomial is chosen, where t is a threshold number of biometrics (out of n measured biometrics) to be satisfied, 2≦t≦n. The polynomial is p(x)=a 0 +a 1 x+ . . . +a t-1 x t-1 , where a 1 , . . . a t-1  are chosen randomly, and a 0  is assigned the value k. 
     Advancing to block  606 , ki are computed. For example, k 1 =p(1), k 2 =p(2), . . . k n =p(n). Note that (1, k 1 ) (2, k 2 ), . . . , (n, k n ) are points on the polynomial. Also note that any t out of n points can be used to reconstruct the polynomial p(x). 
     Proceeding to block  608 , using either fuzzy commitment or fuzzy vault with biometric input w i  (i=1, n), each k i  can be encrypted (also “wrapped” herein) as helper data h i . Characteristics of a biometric can influence whether to use fuzzy commitment or fuzzy vault. Continuing to block  610 , helper data h i  can be output, (1, h 1 ), . . . , (n, h n ). 
     In an unlock portion (e.g., blocks  612 - 618 ) of the method  600 , at decision diamond  612  it is determined whether the threshold t number of measured biometric inputs M i ′ are valid. If the threshold t of biometric inputs is not met, advancing to block  620 , unlock of the key k is aborted. If at least t measured biometrics are valid, moving to block  614 , k i  can be unlocked by inputting the corresponding biometric input w i ′ (w i ′ is based on the M i ′) and the helper data h i  to the fuzzy commitment/fuzzy vault scheme. A total of t points (1, k 1 ) to (t, k t ) may be obtained. Moving to block  616 , from these t points the polynomial p(x) may be reconstructed. Proceeding to block  618 , the coefficient a 0  of p(x) may be output, which is equal to the key k. 
     Turning to  FIG. 7 , a flow diagram of a method is presented, according another embodiment of the present invention. The method presented in  FIG. 7  may utilize any of fuzzy commitment, fuzzy vault, or fuzzy extractor schemes. 
     A setup process is depicted in blocks  702 - 716 . The setup process is based on n biometric inputs w 1 , . . . , w n  determined from biometric input M i  received at a first time period. 
     At block  702  a random secret key k is selected. Continuing to block  704 , k can be embedded into a polynomial of degree t−1, where t is a threshold number of valid biometric input needed in order to unlock the secret key k. The polynomial is p(x)=a 0 +a 1 x+ . . . +a t-1 x t-1 , where a 1 , . . . a t-1  are chosen randomly. 
     Advancing to decision diamond  706  the method branches to either block  710  (fuzzy commitment/fuzzy vault), or to block  708  (fuzzy extractor). For each w i , if either fuzzy commitment or fuzzy vault schemes are most efficient, then k i  are selected, e.g., by Shamir secret sharing or another technique. Moving to block  712 , helper data h i  may be determined using a fuzzy commitment setup process (e.g.,  FIG. 2A ) or a fuzzy vault setup process (e.g.,  FIG. 3A ). 
     If fuzzy extractor is selected, at block  708  each of the component keys k i  and helper data h i  may be extracted from w i  using a fuzzy extractor scheme such as is illustrated in  FIG. 4A . 
     Proceeding to block  714 , a polynomial p(k i ) is computed for each k i , (i=1 to n). Moving to block  716 , helper data is computed based on w i  and k i . Continuing to block  718 , overall helper data (h i , p i ), i=1, n is output. 
     To unlock the key k (blocks  720 - 722 ), beginning at block  720  biometric data w i ′ based on biometric input M i ′ received at a second time period, may be used to determine each k i , i=1 to t, via a corresponding unlock scheme, e.g.,  FIG. 2B , (fuzzy commitment),  FIG. 3B  (fuzzy vault), or  FIG. 4B  (fuzzy extractor). Advancing to block  722 , the polynomial p(x) may be reconstructed from t points (e.g., t values of k i ). Moving to block  724 , the coefficient a 0  may be extracted from the reconstructed polynomial, a 0 =k and may be output. 
     Referring now to  FIG. 8 , shown is a block diagram of a processor in accordance with an embodiment of the present invention. As shown in  FIG. 8 , processor  800  may be a multicore processor including a plurality of cores  810   a - 810   n  in a core domain  810 . One or more of the cores may include multi-biometric logic  811  (e.g.,  811   a ,  811   b , . . . ,  811   n ), setup logic  812  (e.g.,  812   a ,  812   b , . . . ,  812   n ), and unlock logic  814  (e.g.,  814   a ,  814   b , . . . ,  814   n ), in accordance with embodiments of the present invention. 
     The cores  810   a - 810   n  may be coupled via an interconnect  815  to a system agent or uncore  820  that includes various components. As seen, the uncore  820  may include a shared cache  830  which may be a last level cache and includes a cache controller  832 . In addition, the uncore may include an integrated memory controller  840  and various interfaces  850 . 
     With further reference to  FIG. 8 , processor  800  may communicate with a system memory  860 , e.g., via a memory bus. In addition, by interfaces  850 , connection can be made to various off-chip components such as peripheral devices, mass storage and so forth. While shown with this particular implementation in the embodiment of  FIG. 8 , the scope of the present invention is not limited in this regard. 
     Embodiments can be used in many different environments. Referring now to  FIG. 9 , shown is a block diagram of an example system  900  with which embodiments can be used. As seen, system  900  may be a smartphone or other wireless communicator. As shown in the block diagram of  FIG. 9 , system  900  may include a baseband processor  910 , which can include multi-biometric logic to receive biometric input from, e.g., sensors  920   0 - 920   n , setup logic to transform a cryptographic key k to helper data h and to store the helper data h at a non-volatile memory outside of the baseband processor  910  such as flash memory  930 , and unlock logic to recover (e.g., generate) the cryptographic key k from the stored helper data h, in accordance with embodiments of the present invention. 
     In general, the baseband processor  910  can perform various signal processing with regard to communications, as well as perform computing operations for the device. In addition, the baseband processor  910  may couple to a memory system including, in the embodiment of  FIG. 9 , a non-volatile memory (e.g., the flash memory  930 ) and a system memory, namely a dynamic random access memory (DRAM)  935 . As further seen, baseband processor  910  can couple to a capture device  940  such as an image capture device that can record video and/or still images. 
     To enable communications to be transmitted and received, various circuitry may be coupled between baseband processor  910  and an antenna  990 . Specifically, a radio frequency (RF) transceiver  970  and a wireless local area network (WLAN) transceiver  975  may be present. In general, RF transceiver  970  may be used to receive and transmit wireless data and calls according to a given wireless communication protocol such as 3G or 4G wireless communication protocol such as in accordance with a code division multiple access (CDMA), global system for mobile communication (GSM), long term evolution (LTE) or other protocol. In addition a GPS sensor  980  may be present. Other wireless communications such as receipt or transmission of radio signals, e.g., AM/FM and other signals may also be provided. In addition, via WLAN transceiver  975 , local wireless signals, such as according to a Bluetooth™ standard or an IEEE 802.11 standard such as IEEE 802.11a/b/g/n can also be realized. Although shown at this high level in the embodiment of  FIG. 9 , understand the scope of the present invention is not limited in this regard. 
     Embodiments may be implemented in many different system types. Referring now to  FIG. 10 , shown is a block diagram of a system in accordance with an embodiment of the present invention. As shown in  FIG. 10 , multiprocessor system  1000  is a point-to-point interconnect system, and includes a first processor  1070  and a second processor  1080  coupled via a point-to-point interconnect  1050 . As shown in  FIG. 10 , each of processors  1070  and  1080  may be multicore processors, including first and second processor cores (i.e., processor cores  1074   a  and  1074   b  and processor cores  1084   a  and  1084   b ), although potentially many more cores may be present in the processors. 
     Still referring to  FIG. 10 , first processor  1070  further includes a memory controller hub (MCH)  1072  and point-to-point (P-P) interfaces  1076  and  1078 . Similarly, second processor  1080  includes a MCH  1082  and P-P interfaces  1086  and  1088 . As shown in  FIG. 10 , MCH&#39;s  1072  and  1082  couple the processors to respective memories, namely a memory  1032  and a memory  1034 , which may be portions of system memory (e.g., DRAM) locally attached to the respective processors. Each of the processors  1070  and  1080  may include multi-biometric fuzzy encoding/decoding logic, according to embodiments of the present invention. 
     First processor  1070  and second processor  1080  may be coupled to a chipset  1090  via P-P interconnects  1062  and  1054 , respectively. As shown in  FIG. 10 , chipset  1090  includes P-P interfaces  1094  and  1098 . 
     Furthermore, chipset  1090  includes an interface  1092  to couple chipset  1090  with a high performance graphics engine  1038 , by a P-P interconnect  1039 . In turn, chipset  1090  may be coupled to a first bus  1016  via an interface  1096 . As shown in  FIG. 10 , various input/output (I/O) devices  1014  may be coupled to first bus  1016 , along with a bus bridge  1018  which couples first bus  1016  to a second bus  1020 . Various devices may be coupled to second bus  1020  including, for example, a keyboard/mouse  1022 , communication devices  1026  and a data storage unit  1028  such as a disk drive or other mass storage device which may include code  1030 , in one embodiment. Further, an audio I/O  1024  may be coupled to second bus  1020 . Embodiments can be incorporated into other types of systems including mobile devices such as a smart cellular telephone, Ultrabook™, tablet computer, netbook, and so forth. 
     Embodiments may be used in many different types of systems. For example, in one embodiment a communication device can be arranged to perform the various methods and techniques described herein. Of course, the scope of the present invention is not limited to a communication device, and instead other embodiments can be directed to other types of apparatus for processing instructions, or one or more machine readable media including instructions that in response to being executed on a computing device, cause the device to carry out one or more of the methods and techniques described herein. 
     The following examples pertain to further embodiments. 
     Example 1 is an apparatus that includes a processor, which includes a first core. The first core includes multi-biometric logic to output first biometric data w i  (i=1 to n, n≧2), each w i  determined based on a corresponding one of first biometric input M i  received during a first time period The first core also includes setup logic to transform a cryptographic key k via a transformation that uses the first biometric data w i . Transformation of the cryptographic key k results in output of helper data h i  (i=1 to n). The cryptographic key k may be transformed via a transformation that includes at least one of a fuzzy commitment transformation scheme, a fuzzy vault transformation scheme, and a fuzzy extractor transformation scheme. 
     Example 2 includes the subject matter of example 1. The multi-biometric logic is also to output second biometric data w i ′, each w i ′ determined based on a corresponding one of second biometric input M i ′ received during a second time period. The first core further includes unlock logic to recover the cryptographic key k responsive to t (t≧2) biometric conditions being satisfied during the second time period, each biometric condition corresponding to one of the biometric inputs M i ′. The cryptographic key k is recovered from the helper data h i  (i=1 to n), and the second biometric data w i ′. 
     Example 3 includes the subject matter of example 1, and may optionally include the subject matter of example 2. In example 3, transformation of the cryptographic key k includes division of the cryptographic key k into a plurality of component keys k i  (i=1 to n), assignment of each component key k i  to a corresponding w i , selection of a corresponding component transformation scheme for each w i , and determination of the helper data h i  for each k i  using the corresponding biometric data w i  and the corresponding component transformation scheme. In example 3, optionally, each corresponding component transformation scheme is one of a fuzzy commitment transformation scheme and a fuzzy vault transformation scheme. Optionally, at least one selected component transformation scheme differs from at least one other selected component transformation scheme. 
     Example 4 includes the subject matter of example 1. The apparatus is to further perform a determination of a plurality of component keys k i  (i=1 to n) via a fuzzy extractor transformation scheme, and each of the component keys k i  is to be determined from the cryptographic key k based on corresponding biometric data w i . The apparatus is further to perform a determination of the helper data h i  (i=1 to n) via the fuzzy extractor transformation scheme. Each of the h i  is to be determined based on corresponding biometric data w i . 
     Example 5 includes the subject matter of examples 1 and 2, and optionally includes the subject matter of example 3 or example 4. In example 5, the number t of conditions to be satisfied is less than the number n of biometric measurements w i ′. 
     Example 6 is a method that includes transforming, by a processor, a cryptographic key k into helper data h i  (i=1, n) including determining each h i  from the cryptographic key k using corresponding biometric data w i  and a corresponding component transformation scheme. Each w i  is based upon corresponding distinct biometric input M i  (i=1, n) received during a first time period. The method also includes storing the helper data h i  in a non-volatile memory. 
     Example 7 includes the subject matter of example 6. Optionally, at least one of the component transformation schemes is a fuzzy commitment transformation scheme. Optionally, at least one of the component transformation schemes is a fuzzy vault transformation scheme. 
     Example 8 includes the various features of example 6. Determining each h i  from the cryptographic key k further includes determining each of a plurality of component keys k i  (i=1 to n) based on the biometric data w i  via a fuzzy extractor transformation scheme, and determining the helper data h i  based on the biometric data w i  and the component key k i  via the fuzzy extractor transformation scheme. 
     Example 9 includes the subject matter of example 6 and optionally includes the subject matter of example 7. Transforming includes dividing the cryptographic key into n component keys k i , assigning corresponding biometric data w i  to each of the component keys k i , selecting, for each w i , the corresponding component transformation scheme, and performing a transformation on each of the component keys k i  using the corresponding biometric data w i  via the corresponding component transformation to produce the corresponding helper data h i . 
     Example 10 includes the subject matter of example 6 and either example 8 or examples 7 and 9. Example 10 further includes recovering the cryptographic key by receiving n biometric inputs M i ′ during a second time period subsequent to the first time period, determining that a threshold of at least t of the n biometric inputs M i ′ received at the second time are valid, where t is at least two, and where each of the biometric inputs M i ′ corresponds to one of the helper data h i , determining biometric data w i ′ (i=1, t), wherein each w i ′ is determined from a valid biometric input M i ′ corresponds to one of the helper data h i , determining t component keys k i  (i=1 to t) by performing a respective inverse transformation on the corresponding helper data h i  and the corresponding biometric data w i ′ (i=1, t), where each inverse transformation corresponds to the component transformation scheme used to determine the corresponding helper data h i , and determining the cryptographic key k from the component keys k i  (i=1 to t). Optionally, the threshold number t of biometric inputs M i ′ to be valid is less than the total number n of biometric inputs M i ′ received. 
     Example 11 is at least one computer-readable storage medium having instructions stored thereon for causing a system to perform the method of any one of examples 6-10. 
     Example 12 is an apparatus to perform the method of any one of examples 6-10. 
     Embodiments may be implemented in code and may be stored on a non-transitory storage medium having stored thereon instructions which can be used to program a system to perform the instructions. The storage medium may include, but is not limited to, any type of disk including floppy disks, optical disks, solid state drives (SSDs), compact disk read-only memories (CD-ROMs), compact disk rewritables (CD-RWs), and magneto-optical disks, semiconductor devices such as read-only memories (ROMs), random access memories (RAMs) such as dynamic random access memories (DRAMs), static random access memories (SRAMs), erasable programmable read-only memories (EPROMs), flash memories, electrically erasable programmable read-only memories (EEPROMs), magnetic or optical cards, or any other type of media suitable for storing electronic instructions. 
     While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.