Weaknesses of traditional multifactor authentication
Although traditional MFA is a critical component of online security, it is far from perfect, and, in recent years, cracks in its protection have revealed themselves. Common forms of traditional MFA include one-time passwords (OTPs) via tokens and apps, app-based push notifications, and short messaging service (SMS) or voice codes.
One issue with OTPs is the susceptibility to phishing and man-in-the-middle attacks. Neither token nor app-based implementations provide any resistance to entering their codes into attacker-owned websites. These sites can merely relay user-entered passwords and codes to the true websites and compromise the account. This weakness is one reason why many organizations instead use app-based push notifications.
Although more resistant to phishing, app-based push notifications suffer from the issue of MFA fatigue, also known as push fatigue. Since users receive an interactive prompt to approve login for every successful password entry, an attacker can repeatedly trigger the prompt until the user is fatigued or annoyed enough to simply approve the login. One method of mitigating fatigue is to increase security education. However, this approach is not foolproof because, of course, users retain free will. Another mitigation technique is to include a number that must be matched on the login screen and on the approval device. While a more concrete solution than increasing security education, it can still be circumvented through more advanced phishing sites that relay the number or through additional social engineering. It also adds another step to the login process, which can hinder user satisfaction.
A downside of all MFA solutions that rely purely on apps is the susceptibility to malware and general device compromise. While a token can only be directly stolen, a smartphone could be remotely compromised by an attacker to approve incoming malicious download requests. Even worse, if an MFA app is based on OTPs, seeds used to generate codes can be fully extracted and used without continued connection to the victim device.
SIM swapping
The most common forms of MFA are codes sent over SMS. Many services even use SMS to reset passwords or as a sole authentication factor. This has given rise to the prolific SIM swapping attack that exploits the trust placed in mobile networks. The attack is relatively straightforward and relies on changing the subscriber identity module (SIM) or embedded SIM associated with a phone number. This method redirects all calls and texts from the victim’s phone to the attacker’s phone and effectively locks out the real user. Although this attack could be performed by physically stealing a SIM card or by an insider threat, it is typically executed through social engineering directed at an end user or a mobile network carrier. All an attacker needs prior is the victim’s phone number and a few personal details.
This type of attack is so simple that it could be performed by a 15-year-old – and has been. SIM-swapping attacks also entered the public eye in 2019 through a high-profile hack of the Twitter chief executive officer’s account, yielding 20 minutes of offensive tweets until access was wrestled back. In a 2022 report, the Federal Bureau of Investigation’s Internet Crime Complaint Center noted that 2,026 people fell victim to SIM swapping, resulting in nearly $73 million in losses. Clearly, SMS services should not be given the trust and roles they are afforded for securing the online world.
FIDO protocols
Given the weaknesses of traditional MFA, the Cybersecurity and Infrastructure Security Agency is urging implementation of a more secure protocol: FIDO. FIDO is an open standard of authentication protocols that can replace and complement traditional password-based login. The standard is defined by the FIDO Alliance, which was founded in 2012 and comprises hundreds of companies, including Microsoft, Google, Amazon, and Visa. The alliance documents the technical specifications of the standard and operates industry certification programs to ensure interoperability. It has contributed to broad industry adoption in enterprise web environments including Microsoft Azure™, Microsoft Active Directory, and Google Workspace™, as well as everyday consumer websites such as the Amazon™ e-commerce store.
The FIDO standard is composed of three separate specifications: Universal Authentication Framework (UAF), Universal 2nd Factor (U2F), and FIDO2. UAF was released in 2014 with the aim of providing passwordless authentication. Few services and browsers implemented the feature, possibly because of lower perceived demand time and the requirement of physical security hardware. Released at the same time, U2F aimed to provide MFA to complement traditional passwords and saw modest adoption in browsers and services over time.
Although less relevant, the two standards established the core architecture shared by FIDO2. Asymmetric cryptography is the heart of every FIDO standard. Each FIDO-compatible device uses challenge-response techniques and contains private keys that are never transported in unencrypted form. At a basic level, these techniques operate by the server sending a challenge that the client signs (encrypts) using the private key associated with the credentials. The server then verifies the signed challenge by checking if it can be decrypted using the known associated public key.
CTAP and WebAuthn
FIDO2 was created as a joint effort between the FIDO Alliance and the World Wide Web Consortium (W3C) in 2019. It is composed of two substandards, FIDO Client to Authenticator Protocol (CTAP) and Web Authentication API (WebAuthn). The CTAP standard includes the previous U2F standard under the name CTAP1 and a new standard for FIDO2 named CTAP2.
Unlike CTAP1, CTAP2 can provide either passwordless or multifactor functionality. WebAuthn defines the API for using FIDO devices implementing CTAP. It represents the interface that browsers and websites use for creating, managing, and checking credentials. This standardized API led to widespread browser and website support and the internal adoption of security keys by high-value targets including Google and Microsoft.
FIDO standard specification