An Overview of WebAuthn | Curity (2024)

On this page

What is Webauthn?

WebAuthn or Web Authentication API is a specification of a JavaScript API that allows applications to perform secure authentication for both multi-factor and single-factor scenarios. The API, exposed by a compliant browser, enables applications to talk to authenticators such as key fobs or fingerprint readers. Using WebAuthn, applications can increase security to prevent phishing attacks and improve user experiences.

Moving Towards a Passwordless Web with Webauthn Protocol

An Overview of WebAuthn | Curity (1)

Passwords are vulnerable. Since users must remember so many of them, they often reuse the same password across different applications or use weak passwords they can easily remember. Either way, such behavior means that it's fairly easy to break into somebody's account if it's guarded only by a password. Databases containing password lists are breached regularly, which worsens the problem.

Multi-factor authentication (MFA) was created as a response to password issues. With multi-factor authentication, in addition to checking the user's password, you may confirm possession of the account by entering a code sent through an SMS or generated by a specialized authenticator app. Accounts secured with multi-factor authentication are much better protected if somebody manages to steal your password. With MFA, an attacker would need to have access to your other factor to perform full authentication.

However, multi-factor authentication is vulnerable to a different attack vector: phishing. Even if you use a strong password and a second factor, you can still fall into the trap of entering your credentials on an attacker's website. According to Google Transparency Report, since 2016, phishing has been much more common on the web than using malware to steal passwords.

These problems have caused the industry to seek out new solutions to authenticate users securely — solutions that don't rely on passwords and are immune to phishing attacks. One such solution is FIDO2. Overseen by FIDO Alliance, FIDO2 is a set of standards that enable external authenticators, like key fobs, to perform user authentication. This standard was then adapted to the web through WebAuthn.

How Does WebAuthn Work?

To better understand WebAuthn ceremonies (authentication flows are called ceremonies in this standard), let's first look at the actors involved. If you're familiar with OAuth and OpenID Connect, you may find some familiar names, yet they have slightly different meanings.

An Overview of WebAuthn | Curity (2)

A Relying Party is the application that performs the authentication of the user. In WebAuthn, the Relying Party is the whole application, consisting of a frontend part (e.g., a Single Page Application) and a backend (e.g., a web server). If you use an Authorization Server (or OpenID Connect Provider) to perform authentication, and you enable WebAuthn as a means of authenticating users, then your Authorization Server is the Relying Party.

A Client (or WebAuthn client) is the software that implements the Web Authentication API. In most cases, this will be a compliant web browser that exposes the API to a JavaScript application.

An Authenticator is a device that creates and stores user credentials. In a password-based authentication, the credentials (the passwords) are stored in the user's brain. In a WebAuthn scenario, the credentials are stored on a device. An authenticator can be a separate physical device, like a key fob connected to your computer via USB, Bluetooth, or NFC. It can also be embedded into the operating system, e.g., Windows Hello, or into a user agent. An authenticator can use interfaces to fingerprint readers or facial recognition sensors to confirm user credentials.

Previously, the only authenticators compatible with this specification were dedicated key fobs, which users had to acquire themselves. Such a solution was sufficient for the needs of corporations and security-savvy individuals. However, it definitely wasn't enough to reach a wider audience. Nowadays, FIDO2-compatible Authenticators are built into operating systems and mobile phones. Thus, you can use your mobile phone as a WebAuthn authenticator. The phone will use security features available on the device to protect your credentials. This could be a PIN to unlock the phone, or data from the fingerprint reader. Also, many browsers are now compatible with WebAuthn and offer built-in authenticators that can communicate with the operating system to authorize a user.

Are FIDO2, CTAP and WebAuthn the same?

Three acronyms appear quite often when discussing Web Authentication: FIDO2, CTAP, and WebAuthn. FIDO2 is an overarching term for specifications created by the FIDO Alliance, a group of industry experts working on specifications to enhance security by reducing the world's over-reliance on passwords. The two FIDO2 specifications are: WebAuthn (Web Authentication), created by World Wide Web Consortium, described in this article, and CTAP (Client-to-Authenticator Protocol), created by the FIDO Alliance; a specification of a protocol used by browsers or platforms to communicate with FIDO2 authenticators (e.g., key fobs or fingerprint readers).

An important feature of an authenticator is that it connects with the client without using the Internet. You can use your mobile phone as an authenticator to log in to a website opened on your laptop, but the phone has to connect to your computer via Bluetooth (Bluetooth Low Energy, to be exact). This prevents any man-in-the-middle attacks on the data exchanged between the client and an authenticator. Thanks to this, the client can be sure it really communicates with the authenticator and that the data has not been tampered with.

Web Authentication Ceremonies

Web Authentication specifies two similar flows that the Relying Party can use for a secure authentication experience. First, the user must register new credentials. Once registration is complete, the verification of authentication assertion ceremony can be performed in a subsequent authentication request.

Registering New Credentials

To be able to use WebAuthn to authenticate, a user must first register their credentials with the Relying Party. The registration ceremony looks as follows:

An Overview of WebAuthn | Curity (3)
  1. First, the Relying Party (RP) makes a create request to the WebAuthn client, passing several options: among others, information about the Relying Party, ID of the authenticating user, and a challenge, which will be later used to verify the response from the authenticator. If the user already has an account registered with the Relying Party, the RP should first authenticate the user with a legacy method before it allows them to register new credentials for WebAuthn.

  2. The request is proxied through the client to an authenticator. If more than one authenticator is available, the client will present a list to the user. An essential role of the client is to enrich the request with information about the origin of the creation request.

  3. The user consents to create new credentials for the given Relying Party in the chosen authenticator.

  4. The authenticator now creates a new set of credentials — a pair of private and public cryptographic keys. The public key is embedded in the response, together with other data (notably the origin that came in the request), and the whole response is signed. The authenticator sends the response back to the Relying Party. Again, the client is used as a proxy.

  5. The Relying Party verifies the response from the authenticator. It can validate the authenticity of the authenticator and whether the response has been tampered with. The Relying Party also verifies the origin returned by the authenticator. It checks whether the value of the origin is one that it expects. This vital part of the ceremony is used to prevent phishing attacks. A request initiated from a forged website will have a different origin and thus will be rejected by the Relying Party.

  6. Once the Relying Party deems the response valid, it saves the user data together with the public key returned by the authenticator. The registration is now complete.

Verification of Authentication Assertion Ceremony

Once the user registers their credentials with a Relying Party, they can use it in subsequent authentication attempts. The WebAuthn method can be used as a strong second factor, complementary to traditional password logins, or it can be used as a standalone method, where no password is needed. The authentication ceremony is similar to registration and looks as follows:

An Overview of WebAuthn | Curity (4)
  1. Again, the ceremony is initiated by the Relying Party, but this time by performing a GET request to the Web Authentication API. The Relying Party passes an options object containing information identifying the Relying Party, among other fields.

  2. As in the registration ceremony, the client adds information about the request's origin, which can be later verified to prevent phishing.

  3. The authenticator asks the user if they want to authenticate to the requesting Relying Party.

  4. Upon confirmation, the authenticator sends back a response signed with the private key created during the registration ceremony. Here is the main difference between registration and authentication: this response does not contain any information about the previously generated public key.

  5. The Relying Party receives the response and validates it. It uses the public key it stores to verify the signature of the response, which eventually verifies the authenticating user. Again, an essential role for the Relying Party is to verify the origin contained in the response. It should match an expected source to thwart any phishing attempts.

Examples of WebAuthn

Although the concept of WebAuthn ceremonies may sound a bit complicated at first, if you look at concrete scenarios, you'll realize that the solution creates an excellent user experience and retains a high level of security.

A common scenario for WebAuthn involves a user browsing websites on their phone. Once they create an account on a website (or log in with a legacy method, if they already have an account), the phone will prompt the user, "Do you want to register your device with this website?". If the user agrees, the phone will ask the user to confirm with a previously configured authorization gesture (e.g., fingerprint, faceID, or PIN). Once this is done, the website will respond with a "Registration complete" message. The user will be able to log in to the website from their phone without having to enter a password.

Another scenario is using a registered device to authenticate to a website on the user's laptop or desktop computer. To do so, the user will have to pair their phone with their computer via Bluetooth. Then they navigate to the website from their laptop and initiate login. The user will see a message, "Please complete login on your phone". On their phone, they will see a message prompting them to sign in to the website. When the user selects the prompt, they will see a list of available entities, e.g., "Sign in as Jane Doe." When the user picks an identity, they will be asked to verify their identity with a previously configured gesture (like fingerprint or PIN). Once this is done, the computer will display a message that they are logged in as the chosen identity.

When browsing from computers equipped with a fingerprint reader, the user will be able to register the given computer as an authenticator. Thanks to this, they won't have to use their phone or any other external device to authenticate to the given website.

The use of platform authenticators (authenticators embedded into the device or operating system) and cross-platform authenticators (authenticators used with different devices, like key fobs) can be combined to create high-security scenarios with excellent user experiences. For example, you may want to require your users to use a cross-platform authenticator to register. Perhaps you're presenting employees with a key fob, and you want to ensure that only your employees register on the system. But once they're registered with your company key fob, you might let them add a platform authenticator. Subsequently, they can use their laptop's fingerprint reader to have a frictionless login experience.

A different example is using WebAuthn functionality for authorization of some concrete event. For instance, you could use Web Authentication to allow the user to authorize a single transaction using a security gesture on their device.

Conclusion

Web Authentication is a relatively new specification but is quickly gathering momentum. Since WebAuthn has support (though sometimes limited) on all major browsers, Android, and iOS, it can be adopted safely on production websites.

Apart from allowing users to move away from a password-driven Web, using WebAuthn will also make your systems immune to phishing, a threat that has become a dominant method to steal user credentials.

If you want to try it out using the Curity Identity Server, have a look at this WebAuthn How-to.

An Overview of WebAuthn | Curity (5)

Michal Trojanowski

Product Marketing Engineer at Curity

Join our Newsletter

Get the latest on identity management, API Security and authentication straight to your inbox.

Start Free Trial

Try the Curity Identity Server for Free. Get up and running in 10 minutes.

Start Free Trial

  1. Home
  2. Resources
  3. Multi-Factor Authentication
  4. An Overview of WebAuthn

Was this helpful?

An Overview of WebAuthn | Curity (2024)

FAQs

What is WebAuthn used for? ›

Meet the new global standard of web authentication. WebAuthn is a browser-based API that allows for web applications to simplify and secure user authentication by using registered devices (phones, laptops, etc) as factors.

What is the difference between Apple passkey and WebAuthn? ›

The most important difference is that passkeys can be used as first-factor authentication whereas WebAuthn MFA can only be used as a second-factor after user registration with a password.

What is the difference between WebAuthn and authenticator? ›

Even though they're not part of the actual protocol, authenticators are needed because WebAuthn requires an authenticator instead of a password. Authenticators are located on the user's device and are either biometric (fingerprints or facial recognition) or part of an external hardware device (such as a Yubi key).

What are the limitations of WebAuthn? ›

Challenges and Limitations of WebAuthn

Managing user credentials, especially in cross-device scenarios, can be complex. The recovery process for lost or stolen authenticator devices remains a significant concern.

What websites use WebAuthn? ›

Download a list of all 1,095,443 Current WebAuthn Customers
WebsiteLocationTraffic
app.nomorobo.comUnited StatesMedium
pay.citizensbank.comUnited StatesHigh
chownow.comUnited StatesHigh
nyandcompany.comUnited StatesMedium
37 more rows

What is the difference between WebAuthn and password? ›

At its core, WebAuthn relies on public-key cryptography to authenticate users. Instead of relying on a shared secret like a password, WebAuthn uses a public-private key pair. The private key is securely stored on the user's device, while the public key is registered with the website or application.

Does WebAuthn work across devices? ›

This configuration enables the use of cross-platform authenticators (formerly called roaming authenticators), which are authenticators that can be moved around and used across multiple devices.

Is FIDO2 and WebAuthn the same? ›

FIDO2 and WebAuthn are not interchangeable terms. WebAuthn is the main component of FIDO2. The set of standards and APIs allows the browser to communicate with the operating system and deal with using cryptographic keys. WebAuthn falls under FIDO2 standards, but it was developed by the W3C.

What is difference between keychain access and iCloud Keychain? ›

You can also use Keychain Access to manage certificates, which are issued by trusted organizations to validate websites, digital documents, and other web-based materials. Keychain Access works in collaboration with iCloud Keychain, which lets you share keychains with your other Apple devices.

Is WebAuthn a multifactor? ›

Authentication Factors.

U2F only supports two-factor authentication (2FA), which means users need to use a device and a password. WebAuthn supports multi-factor authentication (MFA), which means users can use more than one factor to authenticate themselves, such as a device and a biometric factor.

Where are WebAuthn keys stored? ›

The private key is stored securely on the user's device; a public key and randomly generated credential ID is sent to the server for storage. The server can then use that public key to prove the user's identity.

Who supports WebAuthn? ›

WebAuthn is supported by Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari and Opera. The desktop version of Google Chrome has supported WebAuthn since version 67.

What are the benefits of WebAuthn? ›

WebAuthn is a powerful new authentication standard that offers several advantages over traditional password-based methods. It is more secure, more convenient and more resistant to phishing, credential stuffing and other cyberattacks.

Which browsers support WebAuthn? ›

HTML element: textarea: autocomplete: webauthn value
  • Chrome. 4 - 107 supported. 108 - 127 Supported. ...
  • Edge * 12 - 107 supported. 108 - 127 Supported. ...
  • Safari. 3.1 - 17.4 supported. ...
  • Firefox. 2 - 129 supported. ...
  • Opera. 10 - 93 supported. ...
  • IE ⚠️ * 6 - 10 supported. ...
  • Chrome for Android. 128 Supported.
  • Safari on iOS * 3.2 - 17.4 supported.

Is WebAuthn phishing resistant? ›

User experience

Authentication with Okta FastPass or WebAuthn is phishing resistant on all supported operating systems when users access their apps directly or from a supported browser. There are some restrictions: Some apps don't support Okta phishing-resistant authentication due to their WebView implementation.

What is the purpose of web authentication? ›

Many types of web authentication methods exist that can help you keep your users' data safe. These methods protect against phishing attacks and data breaches by verifying the user's identity, ensuring that they are who they claim to be.

Is WebAuthn safe? ›

Better security

WebAuthn significantly increases resistance to a variety of common cybersecurity threats like phishing, credential theft, and man-in-the-middle attacks by ensuring that the private key remains on the user's device. This cryptographic approach makes stolen or intercepted data useless to attackers.

Which devices support WebAuthn? ›

Web Authentication API
  • Chrome. 4 - 66 supported. 67 - 127 Supported. ...
  • Edge * 12 supported. 13 - 17. ...
  • Safari. 3.1 - 12 supported. See notes: ...
  • Firefox. 2 - 59 supported. 60 - 113. ...
  • Opera. 10 - 53 supported. 54 - 110 Supported. ...
  • IE. 6 - 10 supported. 11 supported.
  • Chrome for Android. 128 Supported.
  • Safari on iOS * 3.2 - 13.1 supported. 13.2.

What is the difference between OpenID connect and WebAuthn? ›

In summary, WebAuthn is focused on providing a secure and convenient way to authenticate users to a single website or application, while OpenID Connect is focused on enabling users to authenticate themselves to multiple online services using a single set of credentials.

Top Articles
How Much Is a Down Payment on a Car? Your Guide to Down Payments
American Bulldog Dog Breed Information | Purina
Katie Pavlich Bikini Photos
Gamevault Agent
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
Free Atm For Emerald Card Near Me
Craigslist Mexico Cancun
Hendersonville (Tennessee) – Travel guide at Wikivoyage
Doby's Funeral Home Obituaries
Vardis Olive Garden (Georgioupolis, Kreta) ✈️ inkl. Flug buchen
Select Truck Greensboro
How To Cut Eelgrass Grounded
Craigslist In Flagstaff
Shasta County Most Wanted 2022
Energy Healing Conference Utah
Testberichte zu E-Bikes & Fahrrädern von PROPHETE.
Aaa Saugus Ma Appointment
Geometry Review Quiz 5 Answer Key
Walgreens Alma School And Dynamite
Bible Gateway passage: Revelation 3 - New Living Translation
Yisd Home Access Center
Home
Shadbase Get Out Of Jail
Gina Wilson Angle Addition Postulate
Celina Powell Lil Meech Video: A Controversial Encounter Shakes Social Media - Video Reddit Trend
Walmart Pharmacy Near Me Open
Dmv In Anoka
A Christmas Horse - Alison Senxation
Ou Football Brainiacs
Access a Shared Resource | Computing for Arts + Sciences
Pixel Combat Unblocked
Umn Biology
Cvs Sport Physicals
Mercedes W204 Belt Diagram
Rogold Extension
'Conan Exiles' 3.0 Guide: How To Unlock Spells And Sorcery
Colin Donnell Lpsg
Teenbeautyfitness
Weekly Math Review Q4 3
Facebook Marketplace Marrero La
Nobodyhome.tv Reddit
Topos De Bolos Engraçados
Gregory (Five Nights at Freddy's)
Grand Valley State University Library Hours
Holzer Athena Portal
Hampton In And Suites Near Me
Stoughton Commuter Rail Schedule
Bedbathandbeyond Flemington Nj
Free Carnival-themed Google Slides & PowerPoint templates
Otter Bustr
San Pedro Sula To Miami Google Flights
Selly Medaline
Latest Posts
Article information

Author: Allyn Kozey

Last Updated:

Views: 5857

Rating: 4.2 / 5 (63 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.