Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
Gautam, Yadav, Smith et al.
Password managers provide significant security benefits to users. However, malicious client-side scripts and browser extensions can steal passwords after the manager has autofilled them into the web page. In this paper, we extend prior work by Stock and Johns, showing how password autofill can be hardened to prevent these local attacks. We implement our design in the Firefox browser and conduct experiments demonstrating that our defense successfully protects passwords from XSS attacks and malicious extensions. We also show that our implementation is compatible with 97% of the Alexa top 1000 websites. Next, we generalize our design, creating a second defense that prevents recently discovered local attacks against the FIDO2 protocols. We implement this second defense into Firefox, demonstrating that it protects the FIDO2 protocol against XSS attacks and malicious extensions. This defense is compatible with all websites, though it does require a small change (2-3 lines) to web servers implementing FIDO2.
academic
Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
Title: Passwords and FIDO2 Are Meant To Be Secret: A Practical Secure Authentication Channel for Web Browsers
Authors: Anuj Gautam (University of Tennessee), Tarun Yadav (Brigham Young University), Garrett Smith (Brigham Young University), Kent Seamons (Brigham Young University), Scott Ruoti (University of Tennessee)
Classification: cs.CR (Cryptography and Security)
Publication Venue: CCS '25 (ACM SIGSAC Conference on Computer and Communications Security)
Password managers provide significant security advantages to users, but malicious client-side scripts and browser extensions can steal passwords after password managers autofill them into web pages. This paper extends prior work by Stock and Johns, demonstrating how to harden password autofill to prevent these local attacks. The authors implement their design in the Firefox browser and conduct experiments proving that the defense successfully protects passwords against XSS attacks and malicious extensions. The research also demonstrates that the implementation maintains compatibility with 97% of the top 1000 Alexa websites. Furthermore, the authors generalize their design to create a second defense mechanism preventing recently discovered local attacks against the FIDO2 protocol.
Password managers have a significant security vulnerability: passwords are susceptible to theft during the time window between autofill into the browser and transmission to the website. This includes theft from the following threats:
Web Trackers: May inadvertently collect password information
Injection Attacks (e.g., XSS): Malicious scripts can directly read passwords from the DOM
Malicious Browser Extensions: Extensions with appropriate permissions can access web page content and network requests
These attacks are relatively prevalent; research shows that at least 2-3% of popular websites contain web trackers that leak passwords
XSS attacks continue to be listed by OWASP as among the top 10 web application security risks
The malicious browser extension problem is growing increasingly severe, with thousands of extensions possessing sufficient permissions to conduct such attacks existing in the Chrome Web Store
Stock and Johns proposed a nonce-based password protection protocol a decade ago, but this protocol is incompatible with modern browser designs. Even Firefox, where the protocol worked at the time, quickly removed the relevant functionality, preventing protocol adoption and hindering subsequent research development.
Implementation of a Practical Nonce-Based Password Replacement API: Modified modern browsers to support a working implementation of the Stock and Johns protocol
Extended Threat Model: Identified and addressed malicious browser extension threats not considered in the original protocol
FIDO2 Secure Channel: Generalized the design to the FIDO2 protocol, protecting against recently discovered local attacks
Practical Deployment Verification: Implemented and evaluated in Firefox, demonstrating 97% compatibility with mainstream websites
Design a secure browser channel enabling password managers to safely transmit passwords to websites without allowing DOM scripts or browser extensions to access the actual password content.
This paper provides the first working implementation of the Stock and Johns protocol, filling a decade-long research gap in this area, and extends protection to the FIDO2 protocol.
This paper cites 47 related references, primarily including:
The original nonce replacement protocol paper by Stock and Johns
Related research on password manager security analysis
Empirical research on browser extension security threats
FIDO2 protocol security analysis literature
Current research on web trackers and XSS attacks
Overall Assessment: This is a systems security paper with significant practical value that successfully transforms theoretical design into a working prototype system and validates its effectiveness through comprehensive experiments. The paper not only addresses important real-world security problems but also opens new directions for future research. Despite challenges in deployment and compatibility, its technical contributions and practical value make it an important advance in browser security.