FIDO UAF: a technical overview

This documentation will help you better understand what the FIDO UAF components are. Through some architectural schemes you can get an overview of our solution.

Download datasheet Get the SDK

How does
FIDO UAF work

Egomet FIDO UAF

Authenticator setup

The mobile device is certified through the detection of the user's biometric data. Simultaneously, a private and a public key are enabled. The private key is always kept exclusively

Online authorisation

During the authentication procedure on an online service (RP - relying party) the client sends, towards a FIDO server, a request containing the details of the transaction that the user wishes to complete. The server verifies the identity of the device and authorises the client through the challenge process, based on a public key infrastructure (PKI).

FIDO UAF high-level architecture

The FIDO UAF Architecture is designed to meet the FIDO goals and yield the desired ecosystem benefits. It accomplishes this by filling in the status-quo's gaps using standardized protocols and APIs. The following diagram summarizes the reference architecture and how its components relate to typical user devices and Relying Parties.

Movenda Mercurius Function img

FIDO UAF Components

Client

A FIDO UAF Client implements the client side of the FIDO UAF protocols, and is responsible for:

  • Interacting with specific FIDO UAF Authenticators using the FIDO UAF Authenticator Abstraction layer via the FIDO UAF Authenticator API.
  • Interacting with a user agent on the device (e.g. a mobile app, browser) using user agent-specific interfaces to communicate with the FIDO UAF Server. For example, a FIDO-specific browser plugin would use existing browser plugin interfaces or a mobile app may use a FIDO-specific SDK. The user agent is then responsible for communicating FIDO UAF messages to a FIDO UAF Server at a Relying Party.

The FIDO UAF architecture ensures that FIDO client software can be implemented across a range of system types, operating systems, and Web browsers. While FIDO client software is typically platform-specific, the interactions between the components should ensure a consistent user experience from platform to platform.

Egomet FIDO UAF client

Check out the FIDO UAF SDK integration guide

Authenticator

A FIDO UAF Authenticator is a secure entity, connected to or housed within FIDO user devices, that can create key material associated to a Relying Party. The key can then be used to participate in FIDO UAF strong authentication protocols.

For example, the FIDO UAF Authenticator can provide a response to a cryptographic challenge using the key material thus authenticating itself to the Relying Party. In order to meet the goal of simplifying integration of trusted authentication capabilities, a FIDO UAF Authenticator will be able to attest to its particular type (e.g., biometric) and capabilities (e.g., supported crypto algorithms), as well as to its provenance. This provides a Relying Party with a high degree of confidence that the user being authenticated is indeed the user that originally registered with the site.

Egomet FIDO UAF authenticator

Server

A FIDO UAF Server implements the server side of the FIDO UAF protocols and is responsible for:

  • Interacting with the Relying Party web server to communicate FIDO UAF protocol messages to a FIDO UAF Client via a device user agent.
  • Validating FIDO UAF authenticator attestations against the configured authenticator metadata to ensure only trusted authenticators are registered for use.
  • Manage the association of registered FIDO UAF Authenticators to user accounts at the Relying Party.
  • Evaluating user authentication and transaction confirmation responses to determine their validity.
Egomet FIDO UAF server

Check out the FIDO UAF SDK integration guide

The overview is enough for you?

Get ready to use FIDO. Download FIDO SDK for free.

Egomet FIDO UAF - Download SDK

FIDO UAF usage scenarios and protocol message flows

FIDO UAF authenticator acquisition and user enrollment

It is expected that users will acquire FIDO UAF Authenticators in various ways: they purchase a new system that comes with embedded FIDO UAF Authenticator capability; they purchase a device with an embedded FIDO UAF Authenticator, or they are given a FIDO Authenticator by their employer or some other institution such as their bank. After receiving a FIDO UAF Authenticator, the user must go through an authenticator-specific enrollment process, which is outside the scope of the FIDO UAF protocols.

For example, in the case of a fingerprint sensing authenticator, the user must register their fingerprint(s) with the authenticator. Once enrollment is complete, the FIDO UAF Authenticator is ready for registration with FIDO UAF enabled online services and websites.

Registration

Given the FIDO UAF architecture, a Relying Party is able to transparently detect when a user begins interacting with them while possessing an initialized FIDO UAF Authenticator.

In this initial introduction phase, the website will prompt the user regarding any detected FIDO UAF Authenticator(s), giving the user options regarding registering it with the website or not.

Egomet FIDO UAF registration architecture

Authentication

Following registration, the FIDO UAF Authenticator will be subsequently employed whenever the user authenticates with the website (and the authenticator is present).

The website can implement various fallback strategies for those occasions when the FIDO Authenticator is not present. These might range from allowing conventional login with diminished privileges to disallowing login.

This overall scenario will vary slightly depending upon the type of FIDO UAF Authenticator being employed. Some authenticators may sample biometric data such as a face image, fingerprint, or voice print. Others will require a PIN or local authenticator-specific passphrase entry. Still others may simply be a hardware bearer authenticator.

Note that it is permissible for a FIDO Client to interact with external services as part of the authentication of the user to the authenticator as long as the FIDO Privacy Principles are adhered to.

Egomet FIDO UAF authentication architecture

Transaction

There are various innovative use cases possible given FIDO UAF-enabled Relying Parties with end-users wielding FIDO UAF Authenticators.

Website login and step-up authentication are relatively simple examples. A somewhat more advanced use case is secure transaction processing.

Imagine a situation in which a Relying Party wants the end-user to confirm a transaction (e.g. financial operation, privileged operation, etc) so that any tampering of a transaction message during its route to the end device display and back can be detected.

FIDO architecture has a concept of "secure transaction" which provides this capability. Basically if a FIDO UAF Authenticator has a transaction confirmation display capability, FIDO UAF architecture makes sure that the system supports What You See is What You Sign mode (WYSIWYS). A number of different use cases can derive from this capability -- mainly related to authorization of transactions (send money, perform a context specific privileged action, confirmation of email/address, etc).

Egomet FIDO UAF transaction architecture

Deregistration

There are some situations where a Relying Party may need to remove the UAF credentials associated with a specific user account in FIDO Authenticator.

For example, the user’s account is cancelled or deleted, the user’s FIDO Authenticator is lost or stolen, etc. In these situations, the RP may request the FIDO Authenticator to delete authentication keys that are bound to user account.

Egomet FIDO UAF deregistration architecture

Adoption of new types of FIDO UAF authenticators

Authenticators will evolve and new types are expected to appear in the future. Their adoption on the part of both users and Relying Parties is facilitated by the FIDO architecture. In order to support a new FIDO UAF Authenticator type, Relying Parties need only to add a new entry to their configuration describing the new authenticator, along with its FIDO Attestation Certificate. Afterwards, end users will be able to use the new FIDO UAF Authenticator type with those Relying Parties.

The right solution for you

Try our Egomet FIDO UAF SDK for free or request a demo to try other software solutions.

Download FIDO SDK Request a demo