Next Article in Journal
Quinoa Sourdough Fermented with Lactobacillus plantarum ATCC 8014 Designed for Gluten-Free Muffins—A Powerful Tool to Enhance Bioactive Compounds
Next Article in Special Issue
Fast Implementation of NIST P-256 Elliptic Curve Cryptography on 8-Bit AVR Processor
Previous Article in Journal
Design and Fabrication of Complex-Shaped Ceramic Bone Implants via 3D Printing Based on Laser Stereolithography
Previous Article in Special Issue
On the Performance Analysis for CSIDH-Based Cryptosystems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Improved Fuzzy Vector Signature with Reusability

1
Graduate School of Information Security, Korea University, Seoul 02841, Korea
2
Department of Cyber Security, Duksung Women’s University, Seoul 01369, Korea
3
Department of Computer Science, Sangmyung University, Seoul 03016, Korea
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(20), 7141; https://doi.org/10.3390/app10207141
Submission received: 24 July 2020 / Revised: 25 September 2020 / Accepted: 1 October 2020 / Published: 14 October 2020
(This article belongs to the Special Issue Design and Security Analysis of Cryptosystems)

Abstract

:
Fuzzy vector signature (FVS) is a new primitive where a fuzzy (biometric) data w is used to generate a verification key ( VK w ) , and, later, a distinct fuzzy (biometric) data w (as well as a message) is used to generate a signature ( σ w ) . The primary feature of FVS is that the signature ( σ w ) can be verified under the verification key ( VK w ) only if w is close to w in a certain predefined distance. Recently, Seo et al. proposed an FVS scheme that was constructed (loosely) using a subset-based sampling method to reduce the size of helper data. However, their construction fails to provide the reusability property that requires that no adversary gains the information on fuzzy (biometric) data even if multiple verification keys and relevant signatures of a single user, which are all generated with correlated fuzzy (biometric) data, are exposed to the adversary. In this paper, we propose an improved FVS scheme which is proven to be reusable with respect to arbitrary correlated fuzzy (biometric) inputs. Our efficiency improvement is achieved by strictly applying the subset-based sampling method used before to build a fuzzy extractor by Canetti et al. and by slightly modifying the structure of the verification key. Our FVS scheme can still tolerate sub-linear error rates of input sources and also reduce the signing cost of a user by about half of the original FVS scheme. Finally, we present authentication protocols based on fuzzy extractor and FVS scheme and give performance comparison between them in terms of computation and transmission costs.

1. Introduction

Biometric information (e.g., fingerprint, iris, face, vein) has been used for user authentication [1,2,3,4,5] because of its uniqueness and immutability. Due to these properties, such biometric information can be used in place of a user secret key in an authentication system. When using biometric information as a security key, the user is not required to memorize or securely store anything to authenticate, which makes the process much more convenient and user-friendly. However, since biometric information is noisy and non-uniformly distributed, it differs greatly from what is known about cryptographic secret keys. In general, a secret key of an authentication system is largely set to be a uniformly random string of fixed length. Until now, a large body of research has been conducted to bridge this gap and enable biometric information to be used as a secret key in a cryptographic way.
To overcome the problem of noisy secret keys, researchers proposed the fuzzy extractor and fuzzy signature as two types of biometric cryptosystems. Comprised of two algorithms, Gen and Rep, a fuzzy extractor [6] is able to generate a uniformly random string of fixed length (i.e., a secret key) from fuzzy (biometric) data. The generation algorithm Gen takes as input sample f fuzzy (biometric) data w to generate a secret key r together with helper data p. The reproduction algorithm Rep takes as input another sample of fuzzy (biometric) data w close to w and p to reproduce r. If the difference between w and w is less than a minimal threshold value, Rep can generate the same secret key r. On the other hand, consisting of three algorithms, KG, Sign, and Vrfy, the fuzzy signature [7] generates a signature by using fuzzy (biometric) data itself as a signing key. The key generation algorithm KG takes as input sample of fuzzy (biometric) data w to generate a verification key v k . The signing algorithm Sign takes as input another sample of biometric information w to generate a signature σ . The verification algorithm Vrfy takes as input v k and σ and succeeds in verification if w and w are close to within a fixed threshold.
Biometric cryptosystems are generally considered secure when each sample of fuzzy (biometric) data is used only once. However, in reality, a user may use the same biometric source (e.g., right index fingerprint) to authenticate their accounts for several applications as a matter of expediency. Since similar biometric information is used multiple times, a new security notion is required to guarantee both the privacy of the fuzzy (biometric) data at hand and the reusable security of biometric cryptosystems in this situation. In 2004, Boyen [8] introduced the reusability of a fuzzy extractor, which ensures no entropy loss to the secret key or biometric source even when relevant pairs of helper data or keys from similar forms of biometric information are revealed. Since then, many researchers have focused on studying this fuzzy extractor with reusability (a.k.a. reusable fuzzy extractor).
In order for a reusable fuzzy extractor to be widely used in practice, it should be able to tolerate more than a certain level of errors inherent in fuzzy (biometric) data. For example, iris readings have the average error rate of 20–30% [9,10,11]. A number of studies have proposed constructions that tolerate linear fraction of errors [8,12,13,14,15], but these schemes impose a strong requirement on the distribution of fuzzy (biometric) data, namely: (1) the distribution must have sufficiently high min-entropy (“Y” in High min-entropy in Table 1), or (2) any difference between two distinct biometric readings cannot significantly decrease the min-entropy of the fuzzy (biometric) data (“ H [ w i | w i w j ] > m ” in Source Distribution in Table 1). Unfortunately, both of these expectations are somewhat unrealistic.
Canetti et al. [17] relaxed these conditions, only requiring a subset of samples to have sufficient average min-entropy for given subset indices, and proposed a reusable fuzzy extractor that would tolerate a sub-linear fraction of errors. The construction is contingent on the existence of a powerful tool called digital locker, which is a non-standard assumption. Other reusable biometric cryptosystems [16,19] did not require either unrealistic requirements on the biometric distribution or contain non-standard assumptions, but they only tolerated a logarithmic fraction of errors.
Recently, a new primitive called fuzzy vector signature (FVS) [20] was proposed based on bilinear maps (i.e., pairings), which improved the error tolerance rate without any additional requirements on the distribution of biometric information. This scheme tolerates a sub-linear fraction of errors and also is based on standard assumptions, like the external Diffie-Hellman (XDH). It is also claimed to be reusable, but no formal proof for reusability was provided in Reference [20]. In this paper, we introduce the formal security model for reusability of fuzzy vector signature (FVS) and prove that our proposed scheme is reusable in the reusability model. By more strictly applying the subset-based sampling method [17], our scheme is also more efficient than Reference [20] from the perspective of the user and the authentication server. Specifically, it reduces not only the size of the signature and verification key but also the number of pairing operations required for verification. Section 5 outlines a detailed performance comparison.

1.1. Related Work

Reusable Fuzzy Extractor. The concept of a fuzzy extractor and secure sketch was first proposed by Dodis et al. [6]. Following this, Boyen et al. [8] introduced the notion of reusability, meaning that additional keys could be securely generated for any helper data, which is required to regenerate the key, even if the helper data or key pairs were exposed. Wen et al. [14] subsequently proposed a reusable fuzzy extractor based on the Decisional Diffie-Hellman (DDH) problem, which can tolerate a linear size of errors. However, their scheme requires that, for any two distinct readings of the same source, the differences between them should not leak significant information about the source—a requirement that is too strict, as each component of fuzzy (biometric) data is non-uniformly distributed. In response to this, Wen et al. [15] proposed a DDH-based reusable fuzzy extractor to remove the requirement [14] by changing the source distribution. Apart from these studies, Wen et al. [13] also proposed a reusable fuzzy extractor that allowed a linear fraction of errors based on the Learning with Errors (LWE) assumption [22]. However, their schemes [13,14,15] used a secure sketch as a method for controlling noise of data. A secure sketch is used for recovering w from w if w and w are close to within a fixed distance, but it nevertheless causes a small leakage of biometric information. Therefore, when considering reusability scenarios, it is noted that these schemes require an input source to have sufficiently high min-entropy to avoid brute-force attack even after security loss.
On the other side of the spectrum are reusable fuzzy extractors that did not suggest using secure sketches. Canetti et al. [17] proposed a reusable fuzzy extractor that is constructed using the subset-based sampling technique instead of a secure sketch to control a noisy data source. This scheme relied on the use of a digital locker to generate helper data. However, even if a digital locker was simply instantiated with a hash function, the size of helper data would increase significantly (e.g., about 0.8 GB to achieve an error tolerance rate of 20 % ). Cheon et al. [18] modified this scheme [17] to reduce the size of the helper data, but in turn, the computational cost for Rep increased significantly. Alamélou et al. [12] also improved [17] and suggested a fuzzy extractor that achieved a linear fraction of errors. However, they also used a digital locker and this scheme had an unrealistic requirement that each component of a fuzzy (biometric) source had to have significant min-entropy. Apon et al. [16] modified a non-reusable fuzzy extractor [23] based on the LWE assumption into a reusable one. However, their scheme can tolerate only a logarithmic fraction of errors due to the time-consuming process of reproducing a key even with a small number of errors.
Fuzzy Signature. The concept of a fuzzy signature was proposed by Takahashi et al. [7]. The fuzzy signature does not need helper data, unlike the fuzzy extractor, because it only requires a valid correlation between two input fuzzy (biometric) data relevant to a verification key and a signature, which can be achieved using a linear sketch. However, in Reference [7], a strong assumption was required that input fuzzy (biometric) data should be uniformly distributed, which is then relaxed in Reference [24]. Afterwards, Yasuda et al. announced that a linear sketch of fuzzy extractors [7,24] is vulnerable to recovery attacks [25]. In Reference [26], the merge of Reference [7,24], Takahashi et al. proposed two instantiations of a fuzzy signature secure against recovery attacks. In 2019, Tian et al. first introduced the notion of reusability in a fuzzy signature [19]. To construct a reusable fuzzy signature, they adopted a reusable fuzzy extractor in Reference [16]. Consequently, the reusability is limited only to the generation of verification keys, ignoring the privacy of signatures.
Fuzzy Vector Signature. Seo et al. first proposed a fuzzy vector signature [20] following the subset-based sampling method of Reference [17]. The fuzzy vector signature requires the signing parameter like helper data in fuzzy extractor, to be reusable, but the size of the signing parameter is much smaller than that of helper data in Reference [17]. In addition, a fuzzy vector signature can tolerate sub-linear errors, while a reusable fuzzy signature [19] can only tolerate logarithmic errors. However, the size of verification key in Reference [20] is still huge, which results in high computational costs for verification. In addition, security models for reusability are incomplete as in Reference [19], and, as a result, no formal proof of reusability is provided.

1.2. Source Distributions

A source distribution of reusable biometric cryptosystems can be categorized into four types, according to correlation between two repeating readings, as in Table 1.
w i = w + δ i ” implies that the hamming distance between w W and w + δ i is less than a threshold value t, where W is an input source. Since δ i is randomly chosen by an adversary, w + δ i may not be included in W, which is a little far from reality. Especially in Reference [16,19], additional assumptions were made that W should be a small error distribution χ of Learning with Errors (LWE) problem and both w and w + δ i should be in W to tolerate logarithmic errors.
H [ w i | w i w j ] > m ” implies that, for any two distinct readings w i and w j in W, H [ w i | w i w j ] > m holds where m is a minimum level of security. In other words, the difference between w i and w j (i.e., w i w j ) should not leak too much information of w i even if w i w j is correlated to w i , which is a strong requirement for the input source.
( w , w i ) ” implies that any two distinct readings are arbitrarily correlated, which would be the most realistic assumption. However, as a trade-off, schemes based on this distribution require additional assumptions on the input source. For example, in Reference [17,18], any subset of W = ( W [ 1 ] , , W [ n ] ) should have high min-entropy even if indices are exposed, and, in Reference [12], each component W [ j ] should have a high min-entropy even if other components are exposed.
Unlike the above three types, a previous fuzzy vector signature [20] used a ( T , k ) -block source in Reference [21], although following the subset concept in Reference [17] for construction. ( T , k ) -block source means that for input sources W 1 , , W T , i-th source has a high min-entropy even though i 1 readings are set to w 1 , , w i 1 , i.e., H [ W i | W 1 = w 1 , , W i 1 = w i 1 ] > k for all i [ 1 , T ] where k is a minimum level of security. Namely, W 1 , , W T are not correlated. However, since fuzzy (biometric) data from the same source must be correlated, it is inappropriate to use the ( T , k ) -block source when considering reusability.

1.3. Contribution

In this paper, we propose a new fuzzy vector signature (FVS) scheme based on a subset concept in Reference [17] to deal with noise in fuzzy (biometric) data. In consequence, our scheme is reusable and can tolerate sub-linear errors without any additional requirements, such as sufficiently high min-entropy of the input source. Compared to the previous fuzzy vector signature [20], we eliminated redundant parts in both verification key and signature by trying a new approach to security proofs, which in turn improved the efficiency of the scheme. For instance, for 80-bit security with 20 % error tolerance rates, we reduce the size of the signing parameter by 33 % , from 48 KB to 32 KB, the signature by 50 % , from 32 KB to 16 KB, and a verification key by 22 % , from 1.61 GB to 1.25 GB, where the length of the fuzzy (biometric) data is n = 512 bits. Additionally, we reduce the number of pairing operations in verification by up to 33 % from 18.5 × 10 6 to 12.3 × 10 6 .
We also provide the formal security models to reflect reusability of the privacy of the verifier and signer (i.e., VK-privacy and SIG-privacy, respectively) and the unforgeability of the signature (i.e., Reusability). And we prove these properties on the assumption that the repeating readings of fuzzy (biometric) data are arbitrarily correlated, which is more realistic than the ( T , k ) -block source used in Reference [20]. In addition, we analyze the performance of our FVS scheme in terms of transmission and computational costs by comparing it with previous reusable biometric cryptosystems [17,18,20]. In particular, a signature can be generated in 155 ms on the signer’s side, which is almost twice as fast as in Reference [20] (for more details, see Section 5).

2. Preliminaries

2.1. Notation

Let λ be the security parameter and poly ( λ ) denote a polynomial in variable λ . We use the acronym “PPT“ to indicate probabilistic polynomial-time. Let W be a fuzzy (biometric) space with metric space M and Z be a set of arbitrary alphabet. We denote w W as the process of sampling w according to a random variable W such that W W . Let w = { w [ 1 ] , , w [ n ] } be a fuzzy vector of length n. We denote string concatenation with the symbol “ | | ,” and U represents an arbitrary random distribution.

2.2. Hamming Distance Metric

A metric space is a set M with a non-negative integer distance function dis: M 2 Z { 0 } . The elements of M are vectors in Z n for some alphabet sets Z . For any w , w M , the hamming distance dis ( w , w ) = | { i | w i w i } | is defined as the number of components in which w and w differ.

2.3. Min-Entropy

Let X and Y be random variables. The min-entropy of X is defined as H [ X ] = log 2 max x X P [ X = x ] . For conditional distributions, the average min-entropy of X given Y is defined by H ˜ [ X | Y ] = log 2 ( E y Y [ max x X P [ X = x | Y = y ] ] ) . For a given source X = ( X [ 1 ] , , X [ n ] ) , we say that X is a source with α -entropy -samples if
H ˜ [ X [ j 1 ] , , X [ j ] | j 1 , , j ] α ,
where α and are determined by the security parameter λ .

2.4. Statistical Distance

The statistical distance between random variables X and Y with the same domain is defined by
Δ ( X , Y ) = 1 2 x | Pr [ X = x ] Pr [ Y = x ] | .

2.5. Universal Hash Function

A collection H of hash functions H : U V is 1 / | V | -universal if for any x 1 , x 2 U such that x 1 x 2 , it holds that Pr H H [ H ( x 1 ) = H ( x 2 ) ] = 1 | V | .
Lemma 1.
(Reference [6]) Let A , B , C be random variables. Then,
(a) 
For any ξ > 0 , the conditional entropy H [ A | B = b ] is at least H ˜ [ A | B ] log ( 1 / ξ ) with a probability of at least 1 ξ over the choice of b.
(b) 
If B has at most 2 λ possible values, then H ˜ [ A | ( B , C ) ] H ˜ [ ( A , B ) | C ] λ H ˜ [ A | C ] λ . In particular, H ˜ [ A | B ] H [ ( A , B ) ] λ H [ A ] λ .
Lemma 2.
(Reference [27]) Let ( X , Z ) be any two jointly distributed random variables and Z has at most 2 v possible values. Then, for any ϵ > 0 it holds that Pr [ H [ X | Z = z ] H [ X ] v log ( 1 / ϵ ) ] 1 ϵ .
Lemma 3.
Let H be a family of universal hash functions H : U V , and let ( X 1 , , X q ) be a joint distribution such that H [ X i ] α for i = 1 , . . . , q and α q · log | V | + 3 log ( 1 / ϵ ) + Θ ( 1 ) . Then, the distribution ( H 1 , H 1 ( X 1 ) , , H q , H 1 ( X q ) ) , where ( H 1 , . . . , H q ) H q , is 2 ϵ q -close to the uniform distribution over ( H × V ) q .
Proof. 
Proof of Lemma 3 is in Appendix A. □

2.6. Discrete Logarithm Assumption

Let G be a group of prime order q, and let g be a generator of G . For any PPT algorithm A , we define the advantage of A , denoted by Adv A DL ( λ ) , in solving the discrete logarithm (DL) problem as follows:
Adv A DL = Pr a A ( G , q , g , g a ) ; a R Z q
We say that the DL assumption holds in G if, for all PPT algorithms A and any security parameter λ , Adv A DL ( λ ) < ϵ ( λ ) for some negligible function ϵ .

2.7. Bilinear Maps

Let G 1 , G 2 , G T be groups of some prime order q and a bilinear map (or pairing) e : G 1 × G 2 G T over ( G 1 , G 2 ) be admissible if it satisfies the following properties:
  • Bilinear: The map is bilinear if e ( g a , h b ) = e ( g , h ) a b for all g G 1 , h G 2 .
  • Non-degenerate: e ( g , h ) 1 .
  • Computable: There is an efficient algorithm to compute e ( g , h ) for all g G 1 , h G 2 .
Our fuzzy vector signature is constructed using a Type-3 pairing where G 1 G 2 and there is no known efficiently computable isomorphism between G 1 and G 2 .

2.8. External Diffie-Hellman (XDH) Assumption

Let G 1 , G 2 be groups with prime order q and g , h be generators of G 1 , G 2 , respectively. The XDH problem in G 1 is defined as follows: given D = ( g , g a , g b , h ) G 1 3 × G 2 and T G 1 with a Type-3 pairing, the goal of an adversary A is to distinguish whether T is either g a b or random R. For any PPT algorithm A , the advantage in solving the XDH problem in G 1 is defined as
Adv A XDH ( λ ) = | Pr A ( D , g a b ) 1 Pr A ( D , T ) 1 | .
We say that an XDH assumption holds in G 1 if, for any PPT algorithm A , the advantage Adv A XDH ( λ ) is negligible for λ .

3. Definitions

3.1. Syntax of Fuzzy Vector Signature

Let W be a fuzzy (biometric) space with the Hamming distance metric M and w is a sample of random variable W W . A fuzzy vector signature (FVS) scheme [20] is defined by three algorithms (Setup, Sign, Verify) as follows:
  • Setup ( 1 λ , w , n , d , , t ) : The setup algorithm takes as input the security parameter 1 λ , a sample of fuzzy (biometric) data w W , the length n of w, the number d of subsets, the number of elements included into each subset, and the maximum number t of errors that can be tolerated. It generates a signing parameter SP and verification key VK w corresponding to w. Here, t / n is said to be the error tolerance rate.
  • Sign SP , w , m : The signature generation algorithm takes as input a signing parameter SP , a sample of fuzzy (biometric) data w W of length n, and a message m. It generates a signature σ w corresponding to w .
  • Verify VK w , σ w , m : The verification algorithm takes as input a verification key VK w , a signature σ w , and a message m. If a signature σ w is valid under the condition that dis ( w , w ) t , it outputs 1; otherwise 0.
Correctness. Let δ be the probability that the Verify algorithm outputs 0, and let dis ( w , w ) t for two sample of fuzzy (biometric) data w , w M . For the signing parameter SP and the verification key VK w , if σ w Sign SP , w , m , then Pr [ Verify VK w , σ w , m = 1 ] 1 δ .

3.2. Security Models

We considered three security notions for FVS security: VK-privacy, SIG-privacy, and reusability.

3.2.1. VK-Privacy

VK-privacy blocks an adversary from obtaining any information about fuzzy input data w from a verification key VK w . In other words, the adversary cannot distinguish between a real VK w and a random R. We say that an FVS scheme is VK-private if the advantage that any PPT adversary A wins against the challenger C in the following game for any j = 1 , , q is negligible in λ :
  • Setup: A selects target correlated random variables W = ( W 1 , , W q ) W q and gives these to C .
  • Generation: C samples ( w 1 , , w q ) ( W 1 , , W q ) . C runs Setup ( 1 λ , w k , n , d , , t ) for k = 1 , , q , and chooses random R. C chooses one of the modes, real or random experiment. For any k [ 1 , q ] , if the mode is real, C gives ( VK w 1 , , VK w k , , VK w q , SP 1 , , SP q ) ; otherwise ( VK w 1 , , R , , VK w q , SP 1 , , SP q ) .
  • Distinguishing: For k, A outputs a bit b { 0 , 1 } that, respectively, represents a real or random experiment.
Definition 1 (VK-privacy.).
An FVS scheme Π f is VK-private if, for any PPT adversary A against VK-privacy, there exists a negligible function ν ( λ ) such that Adv Π f , A V K ( λ )
| Pr A ( VK w 1 , . . . , VK w k , . . . , VK w q , SP 1 , . . . , SP q ) = 1 Pr A ( VK w 1 , . . . , R , . . . , VK w q , SP 1 , . . . , SP q ) = 1 | ν ( λ ) .

3.2.2. SIG-Privacy

SIG-privacy means that an adversary cannot ascertain any information on fuzzy input data w from a signature σ w . The adversary cannot distinguish between a valid signature σ w and a signature corresponding to a uniformly random fuzzy data u without a corresponding verification key. We say that an FVS scheme is SIG-private if the advantage that any PPT adversary A wins against the challenger C in the following game for j = 1 , , q is negligible in λ :
  • Setup: A selects target correlated random variables W = ( W * , W 1 , , W q ) W and gives it to C . C chooses ( w * , w 1 , , w q ) ( W * , W 1 , , W q ) . Then, C runs Setup ( 1 λ , w j , n , d , , t ) for j [ 1 , q ] and Setup ( 1 λ , w * , n , d , , t ) . C sends { VK w j , SP j } j = 1 q and SP * to A .
  • Query: A issues a random variable W correlated with ( W * , W 1 , , W q ) , a message m k , and an index j [ 1 , q ] of the signing parameter SP j . C chooses w W correlated with ( w * , w 1 , , w q ) , runs Sign SP j , w , m k , and gives the resulting signature to A .
  • Challenge: A issues a message m * . C obtains σ * Sign ( SP * , w * , m * ) and selects a bit b { 0 , 1 } at random. If b = 0 , C sends σ * to A . Otherwise, C selects a random input u from a uniformly random distribution U, obtains σ * Sign ( SP * , u , m * ) , and gives σ * to A .
  • Guess: A outputs its guess b { 0 , 1 } . If b = b , A wins the game.
Definition 2 (SIG-privacy.).
An FVS scheme Π f is SIG-private if, for any PPT adversary A against SIG-privacy, there exists a negligible function ν ( λ ) such that
Adv Π f , A S I G ( λ ) | Pr b = b 1 2 | ν ( λ ) .

3.2.3. Reusability

Reusability means that an adversary cannot generate a valid signature without knowing the target input source of data, even if the adversary is given verification keys and signing parameters correlated with the target input data. In addition, the adversary can get valid signatures that are verified with the target verification key or other (correlated) verification keys via signing oracles. We say that an FVS scheme is reusable if the advantage that any PPT adversary A wins against the challenger C in the following game is negligible in λ :
  • Setup: A selects correlated random variables ( W 1 , , W q ) W q and gives it to C . C chooses ( w 1 , , w q ) ( W 1 , , W q ) and runs Setup ( 1 λ , w j , n , d , , t ) for j = 1 , , q . Then, C gives { VK w j , SP j } j = 1 q to A .
  • Signing query: A issues a random variable W correlated with ( W 1 , , W q ) , a message m k , and an index j [ 1 , q ] of the signing parameter SP j . C chooses w W correlated with ( w 1 , , w q ) , and runs Sign SP j , w , m k . C sends the resulting signature to A .
  • Output: A outputs ( m * , σ * ) such that σ * was not the output of m * queried. If Verify VK w j , σ * , m * = 1 for some j { 1 , , q } , A wins the game.
Definition 3 (Reusability).
An FVS scheme Π f is reusable in chosen message attacks if, for any PPT adversary A making at most q s signature queries, there is a negligible function ν ( λ ) such that
Adv Π f , A R E U ( λ ) Pr A wins ν ( λ ) .

4. Fuzzy Vector Signature

4.1. Construction

Let G = ( p , g , h , G 1 , G 2 , G T , e ) be a bilinear group, where g G 1 and h G 2 are generators. Let W be a (biometric) space with the Hamming distance metric, and let W W be a random variable that is the user source. Given W, we consider two fuzzy (biometric) samples such that w , w W . In this section, we present our FVS scheme that consists of the following three algorithms: Setup, Sign, and Verify.
  • Setup ( 1 λ , w , n , d , , t ) For a security parameter λ , the setup algorithm generates a bilinear group G , and picks a hash function H : { 0 , 1 } * Z p . The setup algorithm generates a signing parameter ( SP ) as follows:
    • Pick random elements x i , y i Z p for i [ 1 , n ] and set X i = g x i , Y i = g y i G 1 for i [ 1 , n ] .
    • Generate a random element g 1 G 1 .
    • Output SP = g , g 1 , H , { X i , Y i } i [ 1 , n ] .
    Let n be the length of a fuzzy (biometric) data w, and d be the number of entire subsets, be the number of elements included in each subset, and t be the maximum number of errors among n elements, indicating an error tolerance rate. Given a fuzzy (biometric) data w = ( w [ 1 ] , , w [ n ] ) W , the setup algorithm generates a verification key VK w as follows:
    • Randomly select a set I j { 1 , , n } where | I j | = for j [ 1 , d ] .
    • Set a subset v j = { w [ i ] | i I j } of a vector w for j [ 1 , d ] .
    • Select random elements r j Z p for j [ 1 , d ] .
    • Set v k j = ( i I j h x i + w [ i ] y i r j , h r j ) G 2 2 for j [ 1 , d ] .
    The verification key VK w is given by
    • VK w = { v k 1 , , v k d } , { I 1 , , I d } .
  • Sign SP , w , m . To sign a message m under fuzzy (biometric) data w = ( w [ 1 ] , , w [ n ] ) W , the signing algorithm generates a signature σ w as follows:
    • Choose random elements s , k Z p * .
    • Set σ ( 1 , i ) = X i Y i w [ i ] s for i [ 1 , n ] .
    • Set σ 2 = g s G 1 .
    • Set σ 3 = g 1 s G 1 .
    • Set σ 4 = H ( g k , g 1 k , σ 2 , σ 3 , { σ ( 1 , i ) } i [ 1 , n ] , m )
    • Set σ 5 = k + σ 4 · s Z p .
    • Output σ w = ( { σ ( 1 , i ) } i [ 1 , n ] , σ 2 , σ 3 , σ 4 , σ 5 ) .
  • Verify VK w , σ w , m . To verify a signature σ w = ( { σ ( 1 , i ) } i [ 1 , n ] , σ 2 , σ 3 , σ 4 , σ 5 ) on a message m under the verification key VK w = ( { v k 1 , , v k d } , { I 1 , , I d } ) , the verification algorithm proceeds as follows:
    • Set v k j = ( v k 1 , j , v k 2 , j ) for j [ 1 , d ] .
    • Set c n t = 0 .
    • While c n t = 0 for j = 1 , , d :
      (1)
      Compute A = i I j σ ( 1 , i ) .
      (2)
      If e ( σ 2 , v k 1 , j ) = e ( A , v k 2 , j ) , c n t = 1 .
      If c n t = 0 , output 0.
    • Otherwise, set B = g σ 5 σ 2 σ 4 and B 1 = g 1 σ 5 σ 3 σ 4 .
    • If σ 4 = H B , B 1 , σ 2 , σ 3 , { σ ( 1 , i ) } i [ 1 , n ] , m , output 1; otherwise 0.

4.2. Setting the Number of Subsets

Let δ be the probability that the Verify algorithm outputs 0, meaning that it fails to verify a signature σ w using VK w . Thus, if δ = 1 / 2 is set, then a signer would produce a signature two times with overwhelming probability of generating a valid signature. Following [17], we show that the number d of subsets is determined by setting the value δ . Given ( n , ) , we assume that our FVS scheme wants to tolerate at most t errors among n elements. During verification, the probability that e ( σ 2 , v k 1 , j ) = e ( A , v k 2 , j ) is at least ( 1 t n ) for each j = 1 , , d . Thus, the probability that the Verify algorithm outputs 0 is at most 1 ( 1 t n ) d , meaning that no (biometric) vector v j matches the vector corresponding with w . If we set the failure probability δ as
1 1 t n d δ ,
the approximation e x x + 1 gives the relations, such as 1 1 t n d 1 e t n d exp d e t n . Consequently, we obtain the relation
d e t n · ln 1 δ ,
as required to determine the number d of subsets.

4.3. Correctness

Assume that dis ( w , w ) = γ t . Then, the probability that e ( σ 2 , v k 1 , j ) = e ( A , v k 2 , j ) for any j [ 1 , d ] is at least ( 1 γ n ) . In this case, since ( 1 γ n ) ( 1 t n ) because of γ t , we can derive the probability that the Verify algorithm outputs 0 as
1 1 γ n d 1 1 t n d δ ,
by the above approximation. As a result, if dis ( w , w ) = γ t , Pr [ Verify VK w , σ w , m = 1 ] 1 δ .

4.4. Security

Theorem 1.
If W is a family of sources over Z n with α-entropy ℓ-samples, then the FVS scheme is VK-private for such a W .
Proof. 
Before proving the VK-privacy, we first prove that a family H of functions { f SP : Z G 2 } generating the partial verification key is a 1 / p -universal hash function for a fixed SP . In our FVS scheme, given a vector v j = { w [ i ] | i I j } as input, the function f SP ( v j ) is defined as follows:
f SP ( v j ) = i I j h x i + w [ i ] y i r j ,
where r j is a randomly chosen exponent Z p . Since r j is raised for each input, it is easy to see that two outputs of the function could be equal with probability 1 / p . Thus, it holds that for two distinct inputs v i and v j , Pr f SP ( v i ) = f SP ( v j ) = 1 p = 1 | G 2 | ; thus, H = { f SP } is 1 / p -universal.
Next, we prove that a verification key VK w corresponding with w W is almost close to uniform distribution based on Lemma 3. After that, we extend the result to the case of a polynomial number of verification keys. Let W = ( W [ 1 ] , . . . , W [ n ] ) be a random variable of a source with α -entropy -samples. If V j = { W [ i ] | i I j } , we see that ( V 1 , . . . , V d ) is a joint distribution of d subsets of W W such that H ˜ [ V j | I j ] α for random sets of indices ( I 1 , . . . , I d ) . In addition, as mentioned above, each function f SP is a 1 / p -universal hash function with respect to a distinct j [ 1 , d ] .
By Lemma 2(a), if a random set of indices I j is set to be I i , then H [ V j | I j = I j ] H ˜ [ V j | I j ] log ( 1 / ξ ) with a probability of at least 1 ξ . Let f SP ( V j ) be a random variable for a set V j of indices for j [ 1 , d ] and let ( y j + 1 , , y d ) be a sample of ( f SP ( V j + 1 ) , , f SP ( V d ) ) . By a similar proof A1 (proof of Lemma 3), we obtain the following result:
H ˜ [ V j | I j , f SP , , f SP , { f SP ( V k ) = y k } k = j + 1 d ] H ˜ [ V j | I j , f SP , , f SP ] ( d j ) log | G 2 | log ( 1 / ϵ ) = H ˜ [ V j | I j ] ( d j ) log | G 2 | log ( 1 / ϵ ) α ( d j ) log | G 2 | log ( 1 / ϵ ) ,
where ϵ shows negligible probability determined by a security parameter. As a result, if α d · log | G 2 | + 3 log ( 1 / ϵ ) + log ( 1 / ξ ) + Θ ( 1 ) , we have
H [ V j | I j = I j ] α ( d j ) log | G 2 | log ( 1 / ϵ ) log ( 1 / ξ ) = j log | G 2 | + 2 log ( 1 / ϵ ) + Θ ( 1 ) log | G 2 | + 2 log ( 1 / ϵ ) + Θ ( 1 ) .
For j [ 1 , d ] , we can show that H [ V j | I j = I j ] log | G 2 | + 2 log ( 1 / ϵ ) + Θ ( 1 ) , similarly as in the above process.
Let E X P . r e a l = ( f SP ( v 1 ) , , f SP ( v d ) ) for some samples ( V 1 = v 1 , , V d = v d ), and let E X P . r a n d = ( u 1 , , u d ) be random samples chosen from G 2 d . Because of the above inequality, under the assumption that α d · log | G 2 | + 3 log ( 1 / ϵ ) + log ( 1 / ξ ) + Θ ( 1 ) , we see via Lemma 2.3 that, for any ( V 1 , , V d ) and ( f SP , , f SP ) , the statistical distance between E X P . r e a l and E X P . r a n d is less than 2 ϵ d .
We can extend the above result of a single verification key to correlated random variables W = ( W 1 , , W q ) . Let ( V i 1 , , V i d ) be a joint distribution of d subsets ( I i 1 , , I i d ) for i [ 1 , q ] . If α d · q · log | G 2 | + 3 log ( 1 / ϵ ) + log ( 1 / ξ ) + Θ ( 1 ) , the statistical distance between E X P . r e a l = ( VK w 1 , , VK w k , , VK w q ) and E X P . r a n d = ( VK w 1 , , R k , , VK w q ) is less than 2 ϵ ( q · d ( q · d d + 1 ) + 1 ) = 2 ϵ d for any k [ 1 , q ] where VK w i = ( f SP i ( v i 1 ) , , f SP i ( v i d ) ) and R k = ( u 1 , , u d ) for uniformly random u i G 2 d . □
Theorem 2.
If the FVS scheme is VK-private and the XDH assumption holds in G 1 , the FVS scheme is SIG-private in the random oracle model.
In reality, if verification keys and signatures were to become revealed to an adversary, we would have to prove that it is infeasible for the adversary to glean any information on the fuzzy (biometric) data from the signatures. As mentioned above, however, we prove from Theorem 4.1 that the VK-privacy holds, meaning that it is difficult for the adversary to get some information on the fuzzy data from verification keys. In addition, the setup algorithm chooses a new signing parameter SP each time a verification key is generated for each fuzzy data. Thus, it is sufficient to show that a signature generated under a fixed SP does not reveal any information about a challenged fuzzy data.
To do this, a simulator chooses a challenge sample w * along with other correlated samples. For the length n of w * , we create the following sequence of games where w * is used for generating a challenge signature:
Game 0 : w * = ( w * [ 1 ] , w * [ 2 ] , , w * [ n ] ) Game 1 : w * = ( R 1 , w * [ 2 ] , , w * [ n ] ) Game α : w * = ( R 1 , , R α , w * [ α + 1 ] , , w * [ n ] ) Game n : w * = ( R 1 , , R n ) .
In Game 0, the challenge signature is generated for the original w * as in a real game, whereas in Game n the challenge signature is generated for a random vector and thus does not have any information on the original w * . For proving the SIG-privacy, it is sufficient to show that it is infeasible for the adversary to distinguish between Game ( α 1 ) and Game α under the DDH problem.
Lemma 4.
Under the XDH assumption in G 1 , it is infeasible to distinguish between Game ( α -1) and Game α.
Proof. 
Given an XDH instance ( g , h , g a , g b , T ) G 1 × G 2 × G 1 3 , a challenger C interacts with an adversary A who tries to break the the SIG-privacy of our FVS scheme.
  • Setup. C chooses samples ( w * , w 1 , , w q ) ( W * , W 1 , , W q ) , where those q + 1 correlated distributions are from A . In particular, for a sample w * = ( w * [ 1 ] , , w * [ n ] ) corresponding to W * , C sets w * [ 1 ] = R 1 , , w * [ α 1 ] = R α 1 for randomly chosen values R 1 , , R α 1 Z p . For each w j , C generates ( VK w j , SP j ) for j = 1 , , q as follows:
    -
    Choose random values ϕ and { x j i , y j i } i = 1 n in Z q .
    -
    Set SP j = { g , g ϕ , g x j i , g y j i } i = 1 n .
    -
    Select d sets of random indices I m such that | I m | = .
    -
    Set a subset v j m = { w j [ i ] | i I m } for m [ 1 , d ] .
    -
    Choose { r j m } m = 1 d at random in Z p .
    -
    Set v k j m = ( h r j m i I m x j i + y j i w j [ i ] , h r j m ) .
    For the target w * , C chooses { x i * , y i * } i = 1 n in Z p , and sets { X i * = g x i * , Y i * = g y i * } i = 1 , i α n and X α * = g a g x α * , Y α * = g y α * , under the implicit setting of x ˜ α * = a + x α * . C then sets SP * = ( g , g ϕ , { X i * , Y i * } i = 1 n ) and gives SP * along with ( VK w j , SP j ) for j = 1 , , q to A .
  • Signing queries. A issues a pair of a correlated distribution W with ( W * , W 1 , , W q ) , an index j [ 1 , q ] of signing parameter SP j , and a message m. Then, C chooses a sample w = ( w [ 1 ] , , w [ n ] ) W correlated with ( w * , w 1 , . . . , w q ) . C performs the ordinary signature generation algorithm by taking ( SP j , w , m ) as inputs.
  • Challenge. A sends a message m * to C . In particular, we use a non-interactive zero-knowledge (NIZK) simulator to generate two elements ( σ 4 * , σ 5 * ) without knowing the witness. C generates a challenge signature as follows:
    -
    Set σ ( 1 , i ) * = ( g b ) ( x i * + y i * · w * [ i ] ) for i [ 1 , n ] and i α .
    -
    Set σ ( 1 , α ) * = T ( g b ) ( x α * + y α * · w * [ α ] ) .
    -
    Set σ 2 * = g b .
    -
    Set σ 3 * = ( g b ) ϕ .
    -
    Obtain ( σ 4 * , σ 5 * ) using the NIZK simulator.
    C sends σ w * * = ( { σ ( 1 , i ) * } i = 1 n , σ 2 * , σ 3 * , σ 4 * , σ 5 * ) to A .
  • Guess. A outputs a guess b 0 , 1 in response to the challenge signature.
If T = g a b , then A interacts with B in Game ( α 1 ) , because σ ( 1 , α ) * = T ( g b ) ( x α * + y α * · w * [ α ] ) = g a + x α * ( g y α * ) w * [ α ] b = X α * ( Y α * ) w * [ α ] b . Otherwise, σ ( 1 , α ) * becomes a random element, in which case A is in Game α . Therefore, depending on the ability of A , C is able to solve the given XDH problem. □
Theorem 3.
If the FVS is VK-private and SIG-private and the DL assumption holds in G 1 , the FVS scheme is reusable in random oracle model.
The proof for Theorem 4.3 is almost the same as the proof for unforgeability in Reference [20], but the difference resides in the fact that an adversary in our reusability proof is given verification keys and signatures that correspond to correlated fuzzy (biometric) data. In other words, even if such correlated fuzzy data is reused, our proof shows that it is difficult for the adversary to generate a valid signature with (unknown) target fuzzy data. To prove reusability, we need the VK-privacy and SIG-privacy to guarantee that the verification keys and signatures exposed to the adversary do not reveal any information about the fuzzy data. At this point, there are two strategies we anticipate that the adversary might take in their forgery. The first is that the adversary would guess w from a certain distribution W and then generate a signature on the input ( SP , w , m ) . However, as long as W is assumed to be a distribution with α -entropy -samples and α is sufficiently large with respect to the security parameter, such a strategy can be successful with negligible probability only.
The other strategy is to reuse a previous signature without changing the fuzzy data w embedded into it. More specifically, there are two prongs to this strategy. One is to re-randomize the previous signature by raising a new random exponent s into the elements { σ ( 1 , i } i = 1 n , σ 2 , and σ 3 . Thus, the discrete logarithm of such elements becomes s · s , where s was chosen by a signer and s is now selected by an adversary. The important point is that the adversary still cannot know the exact discrete logarithm s · s , which is then the witness necessary for generating the other signature elements ( σ 4 , σ 5 ) as an NIZK proof as it relates to s · s . However, generating such an NIZK proof equates to breaking the statistical soundness of proving the equality of discrete logarithms [28] in regard to the unknown witness. Thus, the probability that the adversary would succeed is at most q h / p , where q h is the number of H-oracle queries, which is also negligible. Now, the remaining case is to reuse the previous signature as it is and simply reconstruct a new proof ( σ 4 , σ 5 ) . Fortunately, this case can be reduced to the forgery of a one-time multi-user Schnorr signature [29], which is provably secure under the DL assumption. In our proof, a slight variant of the one-time multi-user Schnorr signature proves the equality of discrete logarithms rather than proving knowledge. In line with this, the variant is also provably unforgeable [30,31] against chosen-message attacks in a multi-user setting (MU-SUF-CMA). Based on the variant we use, we show that, under the DL assumption, it is difficult for the adversary to succeed in the remaining case.
Proof. 
A simulator B uses an adversary A (which breaks the reusability of the FVS scheme) as a subroutine to forge a signature in the one-time multi-user Schnorr signature scheme. Let q s ρ for the number q s of signature queries. Given ρ independent public keys g , g 1 , { ( g s 1 , g 1 s 1 ) , , ( g s ρ , g 1 s ρ ) } of the one-time multi-user Schnorr signature scheme, B interacts with A as follows:
  • Setup. A gives correlated random variables ( W 1 , , W q ) W q , of which each is in Z n . B samples ( w 1 , , w q ) ( W 1 , , W q ) and runs Setup ( 1 λ , n , d , , w j , t ) to obtain a signing parameter SP j and a verification key VK w j for j = 1 , , q . In the setup algorithm, ( x j 1 , , x j n ) and ( y j 1 , , y j n ) are selected uniformly at random in Z p . B gives { ( SP j , VK w j ) } j = 1 q to A .
  • Signing queries. For j [ 1 , q ] , A issues signing queries with input, namely a random variable W correlated with ( W 1 , , W q ) , an index of signing parameter SP j , and a message m k . B responds to the query as follows:
    -
    Choose a sample w = ( w [ 1 ] , , w [ n ] ) correlated with ( w 1 , , w q ) from W .
    -
    Generate σ 1 , i = ( g s k ) x j i + y j i w [ i ] for i [ 1 , n ] , and set M k = g s k , g 1 s k , { σ 1 , i } i [ 1 , n ] , m k .
    -
    Query ( j , M k ) to the signing oracle of the one-time multi-user Schnorr signature scheme, meaning a signing query on a message M k under the j-th public key, and receive ( h k , c k ) .
    -
    Set σ k = σ 1 , i i [ 1 , n ] , g s k , g 1 s k , h k , c k and give σ k to A .
  • Output. A outputs ( m * , σ * ) = ( m * , ( σ 1 , i * i [ 1 , n ] , σ 2 * , σ 3 * , σ 4 * , σ 5 * ) ) . B checks if ( m * , σ * ) ( m k , σ k ) for any k [ 1 , q s ] , and finds k * such that σ 2 * = g s k * , σ 3 * = g 1 s k * . After finding the index j corresponding with the k * -th query, B checks if Verify ( VK w j , σ * , m * ) outputs 1. If it does, B outputs a forgery of the one-time multi-user Schnorr signature scheme as follows:
    -
    Set M * = σ 2 * , σ 3 * , σ 1 , i * i [ 1 , n ] , m * .
    -
    Output k * , M * , ( σ 4 * , σ 5 * ) .
It follows that, as longs as A breaks the reusability of the FVS scheme, then B can break the MU-SUF-CMA security of the Schnorr signature scheme. Indeed, if Verify ( VK w j , σ * , m * ) = 1, this means that ( σ 4 * , σ 5 * ) is the valid signature of the message σ 2 * , σ 3 * , { σ 1 , i * } i [ 1 , n ] , m * under the k * -th public key ( σ 2 * , σ 3 * ) .
Since it is clearly proven that the variant of the one-time multi-user Schnorr signature scheme is MU-SUF-CMA secure under the DL assumption in the random oracle model [29], the reusability of our FVS scheme can also be proven in the random oracle model under the DL problem. □

5. Performance Analysis

Our FVS scheme is constructed using the subset-based sampling method of the re-usable fuzzy extractor [17], which does not require fuzzy (biometric) input data to have sufficiently high min-entropy and can still tolerate a sub-linear fraction of errors. Generally, biometric data sources are non-uniformly and uniquely distributed from person to person; thus, it is not easy to expect that such biometric data will have high min-entropy. Nevertheless, most reusable fuzzy extractors [8,13,14,15] based on secure sketches require source data with high min-entropy because a secure sketch is known to cause an entropy loss of a biometric input data. For comparison, we focus on fuzzy extractors [17,18] that do not rely on secure sketches, and therefore not require a high min-entropy source. A reusable fuzzy extractor suggested by Reference [12] is not based on a secure sketch and tolerates a linear fraction of errors, but it uses a so-called pseudoentropic isometry that requires each biometric input data component to have high min-entropy. This requirement is also far from realistic biometric information. A reusable fuzzy extractor suggested by Apon et al. [16] is constructed based on the hardness of Learning with Errors (LWE) problems, where biometric data is injected into the part with LWE errors. In that case, such biometric data must follow a certain error distribution (e.g., Gaussian) in order to ensure the security of LWE problems. This reveals a limitation in its real-world application potential. Furthermore, the LWE-based fuzzy extractor [16] requires a time-consuming reproducing algorithm, where another sample of biometric data is subtracted from an LWE instance that was previously created per each component, and then a randomly chosen linear system is expected to be solved. A problem arises if any error components in the chosen linear system are not 0, at which point a new linear system must be randomly reselected until achieving success. The same problem is found in the reusable fuzzy signature [19] that follows the LWE-based fuzzy extractor technique. To mitigate the reproducing problem, [16,19] should be limited to dealing with only a logarithmic size of errors.
Eventually, we compare our FVS scheme with previous fuzzy extractors [17,18] and the original FVS scheme [20], which all follow the subset-based sampling technique [17]. We specifically consider authentication protocols where a fuzzy extractor or an FVS scheme is instantiated to authenticate a user using biometric data. During protocol executions, we compare our proposed scheme with existing schemes in terms of storage or transmission costs and computational costs on the part of the user. In regards to the fuzzy extractor, we assume that a digital signature scheme S = ( KeyGen , Sign , Verify ) is additionally provided. As usual, an authentication protocol consists of two phases; enrollment and authentication. In the enrollment phase, a user is registered with an authentication server by sending an identity I D , a verification key v k I D , and helper data P I D . In each authentication phase, a user receives helper data P I D from the server, recovers a secret key for signature generation using their biometric data, and returns a signature σ I D in response to a challenge message R sent by the server. Figure 1 and Figure 2 present two authentication protocols in more detail.

5.1. Storage or Transmission Costs

In the authentication phase, helper data P I D is needed to generate a signing key from user biometric data. There are two options through which the user obtains an P I D . The first way is to store it in their own personal device, and the other is to receive it from the server for each instance of authentication. The first method can reduce the amount of transmission, while carrying a personal storage device. Conversely, the second one does not require a personal device, while the server sends out a huge amount of transmission, and it has the advantage in that the user authentication can work on secure devices that are shared by multiple users. For comparison purposes, we present the size of P I D as the storage or transmission cost in Table 2.
Let n be the dimension of biometric data, d be the number of subsets, be the number of elements in each subset, and t be the maximum number of errors among n elements. With fuzzy extractors [17,18], helper data P I D consists of an information set, a nonce, and an output of a hash function per subset. To begin, the number d of subsets is obtained via d ln ( 1 / δ ) · e t n in Reference [17], whereas d is computed as d m / 2 q in Reference [18], where q = τ m τ n t η = τ m ( 1 ) η τ · m τ η τ × n τ τ t for ( τ , m ) -threshold scheme [32]. In this case, the information set per subset has indices which are represented by log n bits. When using SHA-256 as the hash function, we set the size of a nonce to be sufficient at 176 ( = 256 80 ) bits. As a result, the whole size of P I D is about d · ( log n + 256 + 176 ) for n = 512, 1024, and 2048 cases, which, as shown in Table 2, becomes huge when setting t / n = 0.20 as an error tolerance rate and = 80 . On the other hand, with FVS schemes, the number of subsets is determined by d ln ( 1 / δ ) · e t n following [17], but helper data P I D consists of only a signing parameter SP , regardless of the number of subsets. Indeed, in Figure 3, SP in Reference [20] is 3 n + 1 elements in G 1 , whereas SP in ours is 2 n + 2 elements in G 1 . When taking the Type-3 pairing [33] at the 100-bit security level, the size of elements in G 1 and Z p is 256 bits. For n = 512 , 1024, and 2048 cases, Table 2 shows that the P I D size of the FVS schemes are overwhelmingly smaller than that of the fuzzy extractors. Compared to Reference [20], our FVS scheme obtains a slightly shorter size of SP with the same parametrization. Regarding the signature size, the σ I D in our scheme consists of n + 2 elements in G 1 plus 2 elements in Z p that are transmitted to the server. When taking the Type-3 paring and n = 512 again, the amount of σ I D transmission is about ( 512 + 4 ) × 256 / 2 13 = 16 KB. δ = 1 / 2 is the the probability that verification fails, and we expect the user to run step [A2] of the authentication protocols twice, during which the transmission cost of σ I D becomes about 32 KB.

5.2. Computation Cost

For the fuzzy extractor, we considered the computational cost required for obtaining a signing key K I D by running the FE . Rep algorithm that takes as input helper data P I D and a biometric data b i o . This is the step for [A2] in Figure 1. We assume that a reproduced value from FE . Rep is straightforwardly used as the singing key corresponding with the verification key v k I D . If a hash function H, such as SHA-256, is used as a digital locker [17], K I D is locked with ( nonce i , H ( nonce i , { b i o } i ) ( K I D | | 0 s ) ) for a positive integer s, where { b i o } i is the set of biometric data corresponding to a subset i among n components. Therefore, with a new b i o , the unlocking algorithm needs to perform a hash computation | H | plus an XOR operation | X | per each subset i until K I D is obtained. Consequently, the FE . Rep algorithm in Reference [17] must compute d · ( | H | + | X | ) operations as a worst case scenario. Since [18] also requires solving a ( τ , m ) -secret sharing scheme, the FE . Rep algorithm chooses a set of τ shares among m unlocked values and then solves a secret-sharing scheme, leading to performing additional d m m τ · τ m ( m 1 ) | X | operations. In contrast, the FVS scheme needs to run the FVS . Sign algorithm to generate a signature σ I D by taking ( b i o , SP , R ) . This is the step for [A2] in Figure 2. In our FVS scheme, the FVS . Sign algorithm needs ( n + 4 ) exponentiations in G 1 for the dimension n of biometric data. Compared to Reference [20], the signing operation is reduced by about half, which is shown in Table 3.
In order to measure the actual amount of calculation, we considered how much computation the user should perform by substituting the numbers in Table 2 directly. For instance, let n = 512 and = 80 . The fuzzy extractor by Canetti et al. [17] must complete ( 61.6 × 10 5 ) ( | H | + | X | ) operations, and when setting ( τ , m ) = ( 5 , 32 ) , the fuzzy extractor by Cheon et al. [18] needs to compute approximately ( 53.6 × 10 3 ) | H | + ( 16.7 × 10 11 ) | X | operations—which still seems to be a burdensome amount of calculation to perform on a personal device. To compare, when considering 0.3 ms for an exponentiation in G 1 [34], the FVS . Sign algorithm in ours takes about ( 512 + 4 ) · 0.3 155 ms. Since δ = 1 / 2 , the user is required to run the step [A2] of the authentication protocols twice, such that the FVS . Sign algorithm, which is computed by the user, takes about 310 ms.

5.3. Implementation

We implemented our fuzzy vector signature as a C program to measure actual time consumption. All implementations are performed on an Intel Core i7-8700k with 8GB RAM running Ubuntu 18.04 LTS, and GNU GCC version 7.5.0 is used for the compilation. For implementation, we selected the BLS12381 curve that offer around a 128-bit security level and a SHA-256 for a hash function. In a BLS12381 curve, the size of a element of G 1 and G 2 are 192 bit and 384 bit, respectively. Our implementation codes are available to https://github.com/Ilhwan123/FVS.
For each error rate 5% and 10%, we measured the time consumption required for running our scheme several times. Table 4 presents parameter setting, storage size, and time required for each algorithm, which is the results of our implementation. Compared with Table 2, the size of the G 1 group element is 192 bits, which is less than 256 bits. Therefore, the size of a signing parameter is smaller. However, this depends on the curve type, so it can be different depending on which curve is selected.
Note that, if signature verification fails in the parameter setting in Table 4, the total verification time takes about 56 s.

6. Conclusions

In this paper, we presented an FVS scheme improved upon across all aspects of efficiency and security that is, more strictly speaking, based on the subset-based sampling method [17]. Compared to the original FVS scheme [20], we reduced the size of the signing parameter and the verification key to approximately two-thirds their original sizes and cut the signature size by about half. In addition, we reduced the number of pairings necessary for signature verification to about two-thirds the original number.
We prove that our FVS scheme is VK-private and SIG-private, meaning that the verification key and signatures generated using user correlated fuzzy (biometric) data do not reveal any information about the fuzzy input data. Additionally, instead of the unforgeability of Reference [20], we define the reusuability property which guarantees that a user is able to reuse their fuzzy correlated (biometric) data to generate polynomially-many verification keys, all while still making it infeasible for an adversary to forge a signature without any fuzzy (biometric) data. Under the reusability notion, we can prove that our FVS scheme is reusable, assuming that our FVS scheme is {VK, SIG}-private and the DL assumption holds.
In the remote authentication protocol of our FVS scheme, a user must receive the signing parameter and transmit a signature in response to a random challenge message. The primary advantage of FVS-based (biometric) authentication is that the transmission cost, including the signing parameter and signature, is determined only by the number of dimensions with respect to the fuzzy (biometric) data, not by the number of entire subsets. Thus, unlike the authentication protocol with a fuzzy extractor, the transmission cost between the user and the authentication server becomes remarkably smaller. However, the disadvantage of our FVS-based authentication scheme is that the server is required to perform pairing operations by the number of entire subsets, which is the worst case scenario. Such a burden may be somewhat alleviated by utilizing the computing power of the server in parallel, but it could be more desirable to build a new FVS scheme that supports efficient batch verification operations in the future.

Author Contributions

Conceptualization, J.H.P.; Formal analysis, I.L., and D.H.L.; methodology, I.L., and M.S.; validation, M.S., and J.H.P.; writing—original draft preparation, I.L.; writing—review and editing, M.S., and J.H.P.; supervision, D.H.L.; project administration, D.H.L.; All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Institute for Information & communications Technology Promotion (IITP) grant funded by the Korea government (MSIT) (No.2016-6-00600, A Study on Functional Encryption: Construction, Security Analysis, and Implementation).

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proof of Lemma 3

Proof. 
Let ( H 1 , , H q ) H q and ( U 1 , , U q ) be q independent and uniform distributions over V. Let D = ( H 1 , H 1 ( X 1 ) , ⋯, H q , H q ( X q ) ) and D i = ( H 1 , U 1 , ⋯, H i , U i , H i + 1 , H i + 1 ( X i + 1 ) , ⋯, H q , H q ( X q ) ) be two distributions for i [ 1 , q ] . By mathematical induction, we prove that D and D i are 2 ϵ i -close for i [ 1 , q ] .
For i = 1 , Lemma 2 shows that with a probability of at least 1 ϵ over the sample of ( y 2 , , y q ) ( H 2 ( X 2 ) , , H q ( X q ) ) , it holds that
H [ X 1 | H 2 , , H q , { H i ( X i ) = y i } i = 2 q ] H [ X 1 | H 2 , , H q ] ( q 1 ) log | V | log ( 1 / ϵ ) = H [ X 1 ] ( q 1 ) log | V | log ( 1 / ϵ ) α ( q 1 ) log | V | log ( 1 / ϵ ) = log | V | + 2 log ( 1 / ϵ ) + Θ ( 1 ) .
In this case, the leftover hash lemma [35] implies that the two distributions D and D 1 are 2 ϵ -close.
Next, assuming that the above lemma holds for i 1 < q , we show that the case for i also holds. Lemma 2 shows that, with a probability of at least 1 ϵ over the sample of ( y i + 1 , , y q ) ( H i + 1 ( X i + 1 ) , , H q ( X q ) ) , it holds that
H [ X i | H i + 1 , , H q , { H j ( X j ) = y j } j = i + 1 q ] H [ X i | H i + 1 , , H q ] ( q i ) log | V | log ( 1 / ϵ ) = H [ X i ] ( q i ) log | V | log ( 1 / ϵ ) α ( q i ) log | V | log ( 1 / ϵ ) = i log | V | + 2 log ( 1 / ϵ ) + Θ ( 1 ) log | V | + 2 log ( 1 / ϵ ) + Θ ( 1 ) .
Similarly, the leftover hash lemma [35] shows that the two distributions D i 1 and D i are 2 ϵ -close. It follows that Δ ( D , D i ) Δ ( D , D i 1 ) + Δ ( D i 1 , D i ) 2 ϵ ( i 1 ) + 2 ϵ = 2 ϵ i , which concludes the proof of Lemma 3. □

References

  1. Bruce, V.; Young, A. Understanding face recognition. Br. J. Psychol. 1986, 77, 305–327. [Google Scholar] [CrossRef] [PubMed]
  2. Daugman, J. How iris recognition works. IEEE Trans. Circuits Syst. Video Technol. 2004, 14, 21–30. [Google Scholar] [CrossRef]
  3. Ding, Y.; Zhuang, D.; Wang, K. A study of hand vein recognition method. In Proceedings of the IEEE International Conference Mechatronics and Automation; 2005; Volume 4, pp. 2106–2110. [Google Scholar] [CrossRef]
  4. Jain, A.; Ross, A.; Prabhakar, S. An Introduction to Biometric Recognition. IEEE Trans. Circuits Syst. Video Technol. 2004, 14, 4–20. [Google Scholar] [CrossRef] [Green Version]
  5. Maltoni, D.; Maio, D.; Jain, A.K.; Prabhakar, S. Handbook of Fingerprint Recognition; Springer: London, UK, 2009; ISBN 978-1-84882-254-2. [Google Scholar]
  6. Dodis, Y.; Reyzin, L.; Smith, A. Fuzzy extractors: How to generate strong keys from biometrics and other noisy data. In Proceedings of the Advances in Cryptology (EUROCRYPT 2004), Interlaken, Switzerland, 2–6 May 2004; pp. 523–540. [Google Scholar] [CrossRef] [Green Version]
  7. Takahashi, K.; Matsuda, T.; Murakami, T.; Hanaoka, G.; Nishigaki, M. A signature scheme with a fuzzy private key. In Proceedings of the 13th International Conference on Applied Cryptography and Network Security, New York, NY, USA, 2–5 June 2015; pp. 105–126. [Google Scholar] [CrossRef]
  8. Boyen, X. Reusable Cryptographic Fuzzy Extractors. In Proceedings of the 11th ACM Conference on Computer and Communications Security, Washington, DC, USA, 25–29 October 2004; pp. 82–91. [Google Scholar] [CrossRef] [Green Version]
  9. Daugman, J. Probing the Uniqueness and Randomness of IrisCodes: Results From 200 Billion Iris Pair Comparisons. Proc. IEEE 2006, 94, 1927–1935. [Google Scholar] [CrossRef]
  10. Desoky, A.I.; Ali, H.A.; Abdel-Hamid, N.B. Enhancing iris recognition system performance using templates fusion. Ain Shams Eng. J. 2012, 3, 133–140. [Google Scholar] [CrossRef] [Green Version]
  11. Hollingsworth, K.P.; Bowyer, K.W.; Flynn, P.J. Improved Iris Recognition through Fusion of Hamming Distance and Fragile Bit Distance. IEEE Trans. Pattern Anal. Mach. Intell. 2011, 33, 2465–2476. [Google Scholar] [CrossRef] [PubMed]
  12. Alamélou, Q.; Berthier, P.E.; Cachet, C.; Cauchie, S.; Fuller, B.; Gaborit, P.; Simhadri, S. Pseudoentropic Isometries: A New Framework for Fuzzy Extractor Reusability. In Proceedings of the 2018 on Asia Conference on Computer and Communications Security, Incheon, Korea, 4–8 June 2018; pp. 673–684. [Google Scholar] [CrossRef]
  13. Wen, Y.; Liu, S. Reusable Fuzzy Extractor from LWE. In Proceedings of the Australasian Conference on Information Security and Privacy 2018, Wollongong, Australia, 11–13 July 2018; pp. 13–27. [Google Scholar] [CrossRef]
  14. Wen, Y.; Liu, S.; Han, S. Reusable Fuzzy Extractor from the Decisional Diffie—Hellman Assumption. Des. Codes Cryptogr. 2018, 86, 2495–2512. [Google Scholar] [CrossRef]
  15. Wen, Y.; Liu, S. Robustly Reusable Fuzzy Extractor from Standard Assumptions. In Proceedings of the Advances in Cryptology (ASIACRYPT 20180, Brisbane, Australia, 2–6 December 2018; pp. 459–489. [Google Scholar] [CrossRef]
  16. Apon, D.; Cho, C.; Eldefrawy, K.; Katz, J. Efficient, Reusable Fuzzy Extractors from LWE. In Proceedings of the International Conference on Cyber Security Cryptography and Machine Learning, Be’er Sheva, Israel, 29–30 June 2017; pp. 1–18. [Google Scholar] [CrossRef]
  17. Canetti, R.; Fuller, B.; Paneth, O.; Reyzin, L.; Smith, A. Reusable fuzzy extractors for low-entropy distributions. In Proceedings of the Advances in Cryptology (EUROCRYPT 2016), Vienna, Austria, 8–12 May 2016; pp. 117–146. [Google Scholar] [CrossRef]
  18. Cheon, J.; Jeong, J.; Kim, D.; Lee, J. A Reusable Fuzzy Extractor with Practical Storage Size: Modifying Canetti et al.’s Construction. In Proceedings of the Australasian Conference on Information Security and Privacy 2018, Wollongong, Australia, 11–13 July 2018; pp. 28–44. [Google Scholar] [CrossRef]
  19. Tian, Y.; Li, Y.; Deng, R.H.; Sengupta, B.; Yang, G. Lattice-Based Remote User Authentication from Reusable Fuzzy Signature. Cryptology ePrint Archive: Report 2019/743. Available online: https://eprint.iacr.org/2019/743 (accessed on 24 June 2019).
  20. Seo, M.; Hwang, J.Y.; Lee, D.H.; Kim, S.; Kim, S.; Park, J.H. Fuzzy Vector Signature and Its Application to Privacy-Preserving Authentication. IEEE Access 2019, 7, 69892–69906. [Google Scholar] [CrossRef]
  21. Boneh, D.; Raghunathan, A.; Segev, G. Function-Private Identity-Based Encryption: Hiding the Function in Functional Encryption. In Proceedings of the Advances in Cryptology (CRYPTO 2013), Santa Barbara, CA, USA, 18–22 August 2013; pp. 461–478. [Google Scholar] [CrossRef] [Green Version]
  22. Regev, O. On Lattices, Learning with Errors, Random Linear Codes, and Cryptography. In Proceedings of the Thirty-Seventh Annual ACM Symposium on Theory of Computing (STOC 2005), Baltimore, MA, USA, 22–24 May 2005; pp. 84–93. [Google Scholar] [CrossRef]
  23. Fuller, B.; Meng, X.; Reyzin, L. Computational Fuzzy Extractors. In Proceedings of the advances in Cryptology (ASIACRYPT 2013), Bangalore, India, 1–5 December 2013; pp. 174–193. [Google Scholar] [CrossRef] [Green Version]
  24. Matsuda, T.; Takahashi, K.; Murakami, T.; Hanaoka, G. Fuzzy Signatures: Relaxing Requirements and a New Construction. In Proceedings of the Applied Cryptography and Network Security (ACNS 2016), London, UK, 19–22 June 2016; pp. 97–116. [Google Scholar] [CrossRef]
  25. Yasuda, M.; Shimoyama, T.; Takenaka, M.; Abe, N.; Yamada, S.; Yamaguchi, J. Recovering Attacks Against Linear Sketch in Fuzzy Signature Schemes of ACNS 2015 and 2016. In Proceedings of the Information Security Practice and Experience, Melbourne, Australia, 13–15 December 2017; pp. 409–421. [Google Scholar] [CrossRef]
  26. Takahashi, K.; Matsuda, T.; Murakami, T.; Hanaoka, G.; Nishigaki, M. Signature schemes with a fuzzy private key. In Int. J. Inf. Secur. 2019, 18, 581–617. [Google Scholar] [CrossRef] [Green Version]
  27. Vadhan, S.P. Pseudorandomness. Found. Trends Theor. Comput. Sci. 2012, 7, 1–336. [Google Scholar] [CrossRef]
  28. Bernhard, D.; Pereira, O.; Warinschi, B. How Not to Prove Yourself: Pitfalls of the Fiat-Shamir Heuristic and Applications to Helios. In Proceedings of the Advances in Cryptology (ASIACRYPT 2012), Beijing, China, 2–6 December 2012; pp. 626–643. [Google Scholar] [CrossRef] [Green Version]
  29. Kiltz, E.; Masny, D.; Pan, J. Optimal security proofs for signatures from identification schemes. In Proceedings of the Advances in Cryptology (CRYPTO 2016), Santa Barbara, CA, USA, 14–18 August 2016; pp. 33–61. [Google Scholar] [CrossRef]
  30. Boneh, D.; Boyen, X. Short Signatures Without Random Oracles. In Proceedings of the Advances in Cryptology (EUROCRYPT 2004), Interlaken, Switzerland, 2–6 May 2004; pp. 56–73. [Google Scholar] [CrossRef] [Green Version]
  31. Boneh, D.; Shen, E.; Waters, B. Strongly Unforgeable Signatures Based on Computational Diffie-Hellman. In Proceedings of the Public Key Cryptography (PKC 2006), New York, NY, USA, 24–26 April 2006; pp. 229–240. [Google Scholar] [CrossRef] [Green Version]
  32. Kurihara, J.; Kiyomoto, S.; Fukushima, K.; Tanaka, T. A New (k,n)-Threshold Secret Sharing Scheme and Its Extension. In Proceedings of the Information Security 2008, Taipei, Taiwan, 15–18 September 2008; pp. 455–470. [Google Scholar] [CrossRef] [Green Version]
  33. ISO/IEC 15946-5:2017. Information Technology-Security Techniques-Cryptographic Techniques Based on Elliptic Curves—Part 5: Elliptic Curve Generation; International Organization for Standardization: Geneva, Switzerland, 2017. [Google Scholar]
  34. Bos, J.W.; Costello, C.; Naehrig, M. Exponentiating in Pairing Groups. In Proceedings of the Selected Areas in Cryptography (SAC 2013), Coimbra, Portugal, 18–22 March 2013; pp. 438–455. [Google Scholar] [CrossRef] [Green Version]
  35. HÅstad, J.; Impagliazzo, R.; Levin, L.A.; Luby, M. A Pseudorandom Generator from Any One-Way Function. SIAM J. Comput. 1999, 28, 1364–1396. [Google Scholar] [CrossRef]
Figure 1. Authentication with a fuzzy extractor.
Figure 1. Authentication with a fuzzy extractor.
Applsci 10 07141 g001
Figure 2. Authentication with our fuzzy vector signature (FVS).
Figure 2. Authentication with our fuzzy vector signature (FVS).
Applsci 10 07141 g002
Figure 3. Comparison between previous and our construction.
Figure 3. Comparison between previous and our construction.
Applsci 10 07141 g003
Table 1. Comparison with reusable biometric cryptosystems.
Table 1. Comparison with reusable biometric cryptosystems.
SchemesSecure
Sketch
High
Min-Entropy
Security
Assumption
Error
Tolerance Rate
ReusabilitySource
Distribution
[8]OY+linearweak w i = w + δ i
[16]XNLWElogStrong w i = w + δ i
[13]OYLWElinearStrong w i = w + δ i
FE[15]OYDDHlinearStrong w i = w + δ i
[14]OYDDHlinearStrong H [ w i | w i w j ] > m
[17]XNXsub-linStrong ( w , w i )
[18]XNXsub-linStrong ( w , w i )
[12]XYXlinearStrong ( w , w i )
FS[19]XNLWElogStrong w i = w + δ i
FVS[20]XNXDHsub-lin ( T , k )
OursXNXDHsub-linStrong ( w , w i )
• In Secure Sketch, If the scheme used the secure sketch, “O”. Otherwise, “X”. • In Reusability, “weak” means that the scheme is proven in the weak reusability model; • “∆” means that the scheme does not provide a formal proof; • In Source Distribution, “ w i = w + δ i ” means that, for a fuzzy (biometric) source w, the error δ i is controlled by an adversary; • “ ( w , w i ) ” means that the biomteric readings w and w i are arbitrary correlated; • “ ( T , k ) ” means the ( T , k ) -block source in Reference [21]; • High Min-entropy means that min-entropy is higher than some value secure against brute-force attack. In High Min-entropy, “Y” is indicated if the scheme requires sufficiently high min-entropy of the input (biometric) data, and “N“ otherwise; • In Security Assumption, “+” means that the scheme is information-theoretically secure.
Table 2. Comparison of storage or transmission costs with helper data.
Table 2. Comparison of storage or transmission costs with helper data.
nError Tolerance
Rate ( t / n )
# of Components
In Each Subset ( )
# of Subsets
( d )
Helper Data
( P ID , SP )
[17]512 80 61.6 × 10 5 0.83 GB
102420%80 61.6 × 10 5 0.90 GB
2048 80 61.6 × 10 5 0.96 GB
[18]512 16 ( × 5 ) 53.6 × 10 3 3.76 MB
102420%20 ( × 4 ) 26.3 × 10 3 2.01 MB
2048 27 ( × 3 ) 11.6 × 10 4 10.16 MB
[20]512 80 61.6 × 10 5 0.05 MB
102420%80 61.6 × 10 5 0.09 MB
2048 80 61.6 × 10 5 0.19 MB
Ours512 80 61.6 × 10 5 0.03 MB
102420%80 61.6 × 10 5 0.06 MB
2048 80 61.6 × 10 5 0.13 MB
Table 3. Comparison of computational costs necessary for signature generation.
Table 3. Comparison of computational costs necessary for signature generation.
Operation
[17] d · ( | H | + | X | ) + Sign
[18] d m m τ · τ m ( m 1 ) | X | + d · ( | H | + | X | ) + Sign
[20] ( 2 n + 2 ) | E |
Ours ( n + 4 ) | E |
| H | : Hash, | X | : XOR, | E | : Exponentiation.
Table 4. Implementation results of FVS using BLS12381 curve in case of error tolerance rate ( t / n ) : 12.5%, the number of components in each subset ( ) : 80, and the number of subsets ( d ) : 15,268 with δ = 1 / 2 .
Table 4. Implementation results of FVS using BLS12381 curve in case of error tolerance rate ( t / n ) : 12.5%, the number of components in each subset ( ) : 80, and the number of subsets ( d ) : 15,268 with δ = 1 / 2 .
nSigning
Parameter
Verification
Key
SignatureSetup
(s)
Sign
(ms)
Verify
(s)
Error Rate
bio
51224.04 KB1.95 MB12.10 KB23.97133.860.3025%
17.95410%
102448.04 KB1.95 MB24.11 KB24.47264.880.2545%
21.83010%
204896.04 KB1.95 MB48.10 KB25.92532.010.3775%
21.36410%
• Signing Parameter, Verification Key, and Signature means the size of them, respectively, for each fuzzy (biometric) data length n. •Setup, Sign, and Verify means the average time required for each algorithm. • Error rate b i o means a percent of difference between a input data of Setup b i o and a input data of Sign b i o .
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Lim, I.; Seo, M.; Lee, D.H.; Park, J.H. An Improved Fuzzy Vector Signature with Reusability. Appl. Sci. 2020, 10, 7141. https://doi.org/10.3390/app10207141

AMA Style

Lim I, Seo M, Lee DH, Park JH. An Improved Fuzzy Vector Signature with Reusability. Applied Sciences. 2020; 10(20):7141. https://doi.org/10.3390/app10207141

Chicago/Turabian Style

Lim, Ilhwan, Minhye Seo, Dong Hoon Lee, and Jong Hwan Park. 2020. "An Improved Fuzzy Vector Signature with Reusability" Applied Sciences 10, no. 20: 7141. https://doi.org/10.3390/app10207141

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop