Biometrics-Based Authenticated Key Exchange with Multi-Factor Fuzzy Extractor
<|reference_start|>Biometrics-Based Authenticated Key Exchange with Multi-Factor Fuzzy Extractor: Existing fuzzy extractors and similar methods provide an effective way for extracting a secret key from a user's biometric data, but are susceptible to impersonation attack: once a valid biometric sample is captured, the scheme is no longer secure. We propose a novel multi-factor fuzzy extractor that integrates both a user's secret (e.g., a password) and a user's biometrics in the generation and reconstruction process of a cryptographic key. We then employ this multi-factor fuzzy extractor to construct personal identity credentials which can be used in a new multi-factor authenticated key exchange protocol that possesses multiple important features. First, the protocol provides mutual authentication. Second, the user and service provider can authenticate each other without the involvement of the identity authority. Third, the protocol can prevent user impersonation from a compromised identity authority. Finally, even when both a biometric sample and the secret are captured, the user can re-register to create a new credential using a new secret (reusable/reissued identity credentials). Most existing works on multi-factor authenticated key exchange only have a subset of these features. We formally prove that the proposed protocol is semantically secure. Our experiments carried out on the finger vein dataset SDUMLA achieved a low equal error rate (EER) of 0.04%, a reasonable averaged computation time of 0.93 seconds for the user and service provider to authenticate and establish a shared session key, and a small communication overhead of only 448 bytes.<|reference_end|>
@article{tran2024biometrics-based,
    title={Biometrics-Based Authenticated Key Exchange with Multi-Factor Fuzzy
  Extractor},
    author={Hong Yen Tran and Jiankun Hu and Wen Hu},
    journal={arXiv preprint arXiv:2405.11456},
    year={2024},
    archivePrefix={arXiv},
    eprint={2405.11456},
    primaryClass={cs.CR}
}