• Donate
  • Log In
Home
  • About
    • About
      • About Us
      • Our Board of Directors
      • Board Meeting Minutes
      • Board Elections
      • Updates & Announcements
      • Our Staff
      • Governance & Financials
      • Lifetime Achievement Award
  • Events
    • Events
      • Upcoming
      • Past
      • Conference FAQ
      • Conference Policies
      • Code of Conduct
      • Calls for Papers
      • Author Resources
      • Grant Opportunities
      • Best Papers
      • Test of Time Awards
  • Join & Support
    • Join & Support
      • Become a Member
      • Ways to Give
      • Our Supporters
      • Student Opportunities
      • Sponsorship Opportunities
  • Archive
    • Archive
      • Proceedings
      • Multimedia
      • ;login: Archive
      • Short Topics in System Administration Series
      • Journal of Education in System Administration (JESA)
      • Journal of Election Technology and Systems (JETS)
      • Computing Systems Journal
  • Search
Join the conversation
Back to ;login: Online

FIDO2 with Attributes in Zero-Knowledge

A method to authenticate users and their attributes digitally without sacrificing privacy
October 12, 2023
Research
Authors: 
Wei-Zhu Yeoh, Michal Kepkowski, Gunnar Heide, Dali Kaafar, Lucjan Hanzlik
Article shepherded by: 
Rik Farrow

Current authentication systems that verify user attributes either require an identity vetting process, eKnow-Your-Customer (eKYC) at the expense of user privacy, or simply prompt the user to claim that they meet the policy without providing proof. We extended the passwordless authentication standard, FIDO2, to provide a method of proving attributes without the need to disclose or store personal information on third-party servers. We explain how FIDO-AC works in this article.

Authentication and authorization are the main processes to secure user-centric digital systems. Usually implemented as loosely coupled algorithms utilizing user data (attributes) to make decisions (e.g., allow or deny), they are the frontlines of any identity and access management (IAM) system. Notably, attributes used for authentication and authorization typically are Personally Identifiable Information (PII), making the abovementioned processes a privacy concern. For example, an authorization policy allowing access only in close proximity to the office might require a precise collection of geolocation data. Similarly, the age verification policy usually requires a date of birth.

The privacy considerations highlighted above underscore the fact that privacy is often not the primary focus when designing identity and access management processes. Regrettably, the absence of the "privacy by design" principle in IAM systems leads to the creation of PII data repositories, thus increasing the risk of unauthorized data leaks. As shown in the recent instances of data breaches, such as the 2022 Optus case [1] and the 2023 Latitude hack [2], PII stores are lucrative targets for adversaries.

Notably, solutions aimed at constructing private, secure, and finely-tuned access control systems do exist. Collectively called Privacy Enhancing Technologies (PETs), they offer a range of mechanisms to safeguard private data. Unfortunately, despite the advancement of PETs, conventional IAM systems tend not to adopt privacy-enhancing technologies, thereby engendering privacy risks and potential data misuse. The 2023 OECD report "Emerging privacy-enhancing technologies" [5] states that PETs are usually not being integrated into production IAM systems due to outdated legislation, knowledge gaps, and technological difficulties. Therefore, despite extensive research into PETs, their adoption within the industry is marginal and often misaligned with commercial objectives. The result of this state of affairs is that systems either blindly trust user's input (e.g., prompts to confirm being above 18 years old) or require complete identity vetting (e.g., eKYC process).

To address these issues, we introduce the FIDO-AC system. We present a detailed proposal for this novel system, which combines the standardized passwordless authentication scheme, FIDO2 with the user's digital and non-shareable identity. FIDO-AC integrates privacy-enhancing technology to ensure that the verifying server solely gains the knowledge of its authorization policy output and no more. We achieve this feature by utilizing zero-knowledge proof (ZKP) technology [9], which makes it possible to prove a statement is true while preserving the confidentiality of secret information (PII in our case). Additionally, ZKP provides anonymity and unlinkability of the data holder, perfectly aligning with the FIDO-AC system requirements. 

Challenges

There are several significant challenges to be overcome in the existing approaches. The challenges arise naturally because the existing proposed anonymous credential systems have not found widespread application in practice due to the overwhelming effort required to bootstrap them. In contrast, existing credentials (such as ePassport, eID, and so on) that are already bootstrapped by the relevant credentials issuing authorities do not have a meaningful notion of unlinkability. Meanwhile, the existence of multiple formats of credentials means that the relying party server would have to separately support different credentials verification procedures. Moreover, we would like the attributes of the user to be non-shareable which means that an additional liveliness test is needed. 

The second type of challenge concerns the integration and compatibility with FIDO2. Meaningful integration with FIDO2 would require the FIDO authenticator to sign the additional credentials extension data. Although the notion of extension is present in the FIDO2 standard, most FIDO2 clients do not support any extension in practice. The ad hoc method of simply attaching the credentials without the authenticator's signature on it is not a satisfactory solution. 

Finally, we recognize that the introduction of privacy-enhancing technology into existing processes raises concerns about usability. As the success of any technology integration relies on how users and implementers perceive the system, we have identified the main challenges for integrating PETs with FIDO2. In particular, we have focused on addressing challenges related to easy and seamless integration, performance, and user experience. 

Design Principles

The main objective of FIDO-AC is to provide a practical solution incorporating FIDO and attributes while maximizing the privacy of the user. To this end, we have derived numerous critical design principles which are summarised below:

1. Privacy Preserving

The unlinkability guarantee of FIDO should be preserved while the attributes of the user should not be exposed directly to the relying party server.

2. Attributes Liveliness

We enforce that the user has a non-sharing credential for the presented user attributes at the time of authentication. 

3. Efficiency

Reasonable performance that is comparable to the regular FIDO2 is expected, and the system should also possess scaling capabilities.

4. Compatibility

The proposed solution should be fully compatible with the existing standardized FIDO2 protocol.

5. Pluggable Integration

Integration of the solution should be as effortless as possible and the system can be dropped into the existing system without making significant modification.

6. User-Centric Design

To ease the adoption of the system, the solution should impose minimal user friction.

FIDO-AC

We described the design of FIDO-AC with respect to the design principles in the following section while omitting technical details. Figure 1 shows the FIDO-AC system at a glance. The separable nature of the FIDO-AC extension component enables backward compatibility with the FIDO2 protocol and facilitates the pluggable integration of FIDO-AC to the existing FIDO system. Our FIDO-AC system consists of three distinct entities:

  1. User (Application, Authenticator, Client)
  2. Mediator
  3. Relying Party (FIDO RP Server)

In addition to the standard authenticator and client, we introduced a FIDO-AC application element that is responsible for facilitating the communication between eID and client. Furthermore, the application also computes the corresponding ZKP needed by FIDO-AC. The mediator is introduced to perform the liveliness test and attestation. Lastly, the relying party would enforce its attribute policy along with the standard FIDO authentication.

To achieve the first design principle of privacy preserving, we make use of zero-knowledge proof and randomization to transform credentials into anonymous credentials (AC) that are unlinkable. In particular, the ICAO eID (ePassport) that we used in the FIDO-AC is linkable across its static public key. The possibility of the server acting as the mediator is eliminated because of the linkability of ePassport credentials. We ensure that the mediator attests to an eID identifier that has already been randomized and the user would then prove the eID attributes satisfy the server policy.

The liveliness test by the mediator in FIDO-AC supports any electronic credentials that implement some form of a simple challenge-response protocol that asserts the knowledge of secrets. The mediator would then attest to the liveliness of the presented credentials. The user could then prove the attested credentials indeed satisfied the server policies in zero-knowledge. The eID-agnostic nature of the mediator also serves as a common interface for which different credentials could be used in the system.

To address the FIDO2 compatibility issue, we augmented the challenge used by the server to include the AC data. According to our experimental data, various major authenticators could easily handle the padded challenge with AC. This approach circumvents the not well-supported FIDO extension approach and allows the authenticator to sign the AC data along with the challenge.

As a whole, the FIDO-AC system only requires the user to additionally use the NFC function of their mobile phones to scan the eID to complete the FIDO-AC process. In the ePassport cases, some information about the ePassport needs to be entered into the application before scanning. It can be remedied by employing computer vision to quickly parse the necessary data from the ePassport, thus eliminating tedious manual entry by the user. Moreover, the input phase is only one-time, and the data could be cached and locked behind the enrolled user biometrics.

We proved FIDO-AC preserves the unlinkability and security guarantee of FIDO2 in the extended FIDO2 formal model based on Barbosa et al. [3] and Hanzlik et al. [4] that incorporate the notion of attribute and its privacy. In particular, we showed that FIDO-AC achieves attribute privacy because of the zero-knowledge proof. The server origin privacy is achieved due to the absence of server information in the request processed by the mediator. Attribute unforgeability depends on the security of the eID used for the attributes. The formal model, the proof of security and privacy, and detailed technical FIDO-AC design descriptions can be found in the FIDO-AC paper [6]. 

Figure 1: FIDO-AC Overview
Evaluation

We have implemented an end-to-end demonstration of FIDO-AC scheme and the implementation can be found along with a demo video [8] in the online repository [7]. The implementation is comprised of three components: 

  1. A user-facing mobile application that communicates with the eID and the FIDO authentication mechanism.
  2. A local mediator that verifies the presence of a live eID.
  3. An AC-verification program that verifies the ZKP and mediator signature. 

We tested the FIDO-AC implementation using a Google Pixel 6 Pro Android device and a standard D4s v3 Microsoft Azure cloud instance with 4 vcpus and 16 GB memory. We would like to emphasise that our implementation is not fully optimized and further optimization efforts may help to improve the running time. Table 1 summarised the performance result. Reading the eID for attribute information takes about one second. The reading could be performed offline and cached in storage to reduce the runtime of the online authentication phase. In contrast, performing the liveliness check with the eID takes less than a second and it is the only part where the strategies of preprocessing or caching cannot be applied. Proving predicates over attributes in zero-knowledge takes a couple of seconds. Fortunately, it can be preprocessed for the usual pools of potential predicates that the server is interested in. On the other hand, the verification of the additional AC component introduced by FIDO-AC is very fast and only takes about <10 ms.

From all the above points, it can be seen that FIDO-AC is efficient in practice. By employing offline preprocessing and caching on the user device, the online phase of the FIDO-AC for the user side could be completed within seconds while incurring a very small computational overhead of about 10 ms for the server.

Operation Platform Time (ms)
eID Reading Mobile 1059.40
Livelieness Check Mobile 740.92
ZK Verification PC 8.19
ZK Prove Mobile 3375.61
Table 1: FIDO-AC Performance Overview
Conclusion

Attributes verification should neither compromise the user's privacy nor should it be content with the user's assertion without any accompanying proof. We designed FIDO-AC which provides a streamlined process for combining user authentication with attribute verification. FIDO-AC scheme preserves the security and unlinkability guarantees of FIDO while simultaneously allowing the user to disclose attributes selectively. We showed the practicality of the proposed scheme with our implementation and its performance evaluation. We believe that FIDO-AC will contribute towards data minimization and thus mitigate the severity of future data leaks.

Appendix
References: 

[1] AUSTRAC. Optus Data Breach. https://www.austrac.gov.au/optus-data-breach-working-our-reporting-entities, 2022. [Online;accessed 7-Sept-2023].

[2] Australian Cyber Security Magazine. Latitude Financial Scrambles to Contain Large Data Breach. https://australiancybersecuritymagazine.com.au/latitude-financial-scramb..., 2022. [Online; accessed 7-Sept-2023].

[3] Manuel Barbosa, Alexandra Boldyreva, Shan Chen, and Bogdan Warinschi. Provable security analysis of FIDO2. In Advances in Cryptology – CRYPTO 2021, pages 125–156. Springer International Publishing, 2021.

[4] Lucjan Hanzlik, Julian Loss, and Benedikt Wagner. Token meets wallet: Formalizing privacy and revocation for FIDO2. In 2023 IEEE Symposium on Security and Privacy (SP). IEEE, May 2023.

[5] OECD. Emerging privacy-enhancing technologies. (351), 2023.

[6] Wei-Zhu Yeoh, Michal Kepkowski, Gunnar Heide, Dali Kaafar, and Lucjan Hanzlik. Fast IDentity online with anonymous credentials (FIDO-AC). In 32nd USENIX Security Symposium (USENIX Security 23), pages 3029–3046, Anaheim, CA, August 2023. USENIX Association.

[7] Wei-Zhu Yeoh, Michal Kepkowski, Gunnar Heide, Dali Kaafar, and Lucjan Hanzlik. FIDO-AC. https://github.com/FIDO-AC/fidoac, 2023.

[8] Wei-Zhu Yeoh, Michal Kepkowski, Gunnar Heide, Dali Kaafar, and Lucjan Hanzlik. FIDO-AC demo video. https://github.com/FIDO-AC/fidoac/blob/main/img/usenix_fidoac_demo.mp4, 2023.

[9] ZKProof. ZKProof Community Reference. https://docs.zkproof.org/reference.pdf, 2022. [Online; accessed 7-Sept-2023].

Article Categories: 
Security
Last updated October 12, 2023
Authors: 
Wei-Zhu Yeoh is currently a PhD student at the CISPA Helmholtz Center for Information Security, Saarland University. His research interests include applied cryptography, machine learning applications in cryptography, parallel computing, and mobile computing.
[email protected]

Michal Kepkowski is a dedicated researcher and privacy advocate whose work focuses on examining the privacy implications of contemporary authentication techniques, including FIDO2. He holds a Ph.D. from Macquarie University and draws upon his substantial industrial experience to educate and consult on IAM projects, offering direction to development teams.

[email protected]

Gunnar Heide is a graduate Cybersecurity student pursuing a master's degree at Saarland University, actively contributing to research as a member of the Applied Cryptography Research group at the CISPA Helmholtz Center for Information Security. His research focus includes FIDO2 and hardware tokens. Passionate about enhancing digital security, Gunnar seeks innovative ways to protect privacy and advance the field of cybersecurity.

[email protected]

Dali Kaafar is a Professor of Cyber Technologies and the Executive Director of the Macquarie University Cyber Security Hub. He is the founder of the Information Security and Privacy Group and leads the Networks group at CSIRO Data61. His primary research interests encompass data privacy, network security, and performance modeling. He has authored over 300 scientific, peer-reviewed papers, with multiple publications in prestigious venues such as IEEE S&P, NDSS, ACM SIGCOMM, and IEEE INFOCOM.

[email protected]

Dr. Lucjan Hanzlik is a faculty at CISPA Helmholtz Center for Information Security. Previously, he was a visiting assistant professor at Stanford University and a research group leader at CISPA Helmholtz Center for Information Security. He obtained his Ph.D. at the Institute for Computer Science Polish Academy of Sciences in Warsaw in 2016 under the supervision of Prof. Mirosław Kutyłowski. His research focuses mainly on applied and privacy-preserving cryptography. He has published papers at top venues in cryptography and security, including Eurocrypt, Crypto, Asiacrypt, USENIX Security, S&P, and CCS. Lucjan Hanzlik also served on the CCS, Crypto, Asiacrypt, and PETS program committees.

[email protected]
  • Log in to post comments
USENIX logo
  • Contact USENIX
  • Privacy Policy

© USENIX 2025
EIN 13-3055038

Website designed and built by Giant Rabbit LLC
Powered by Backdrop CMS

We need contributions from individuals like you.

USENIX conferences directly influence the development of computing systems and products used worldwide. Contribute today to support this vital work for the next 50 years.

Secure the Future of USENIX

Donate
Close