Cryptographic Binding Should Not Be Optional: A Formal-Methods Analysis of FIDO UAF Channel Binding
Enis Golaszewski, Alan T. Sherman, Edward Zieglar, Jonathan D. Fuchs, Sophia Hamer
TL;DR
The paper applies formal-methods analysis (CPSA) to FIDO UAF 1.2 channel binding, showing that several binding variants fail to prevent protocol interactions that enable MITM attacks. It demonstrates a practical attack against eBay's open-source UAF server and formalizes security goals as session-context injective agreements, revealing which bindings preserve these goals under a DY adversary. The authors propose and formally verify improvements, including TLS1.3 exporter binding and a dual-binding approach, to robustly tie challenges to TLS sessions. They argue for mandatory, properly verified cryptographic bindings and highlight the value of formal methods in protocol design to avert historical vulnerabilities like those seen in NS. The work emphasizes adopting stronger bindings and proactive verification to improve the security of broad, password-replacing authentication standards.
Abstract
As a case study in cryptographic binding, we present a formal-methods analysis of the cryptographic channel binding mechanisms in the Fast IDentity Online (FIDO) Universal Authentication Framework (UAF) authentication protocol, which seeks to reduce the use of traditional passwords in favor of authentication devices. First, we show that UAF's channel bindings fail to mitigate protocol interaction by a Dolev-Yao adversary, enabling the adversary to transfer the server's authentication challenge to alternate sessions of the protocol. As a result, in some contexts, the adversary can masquerade as a client and establish an authenticated session with a server (e.g., possibly a bank server). Second, we implement a proof-of-concept man-in-the-middle attack against eBay's open source FIDO UAF implementation. Third, we propose and formally verify improvements to UAF. The weakness we analyze is similar to the vulnerability discovered in the Needham-Schroeder protocol over 25 years ago. That this vulnerability appears in the FIDO UAF standard highlights the strong need for protocol designers to bind messages properly and to analyze their designs with formal-methods tools. To our knowledge, we are first to carry out a formal-methods analysis of channel binding in UAF and first to exhibit details of an attack on UAF that exploits the weaknesses of UAF's channel binding. Our case study illustrates the importance of cryptographically binding context to protocol messages to prevent an adversary from misusing messages out of context.
