Exploring FIDO2 and 1Kosmos

This paper will discuss the FIDO Alliance and provide detail on the user journey, implementation, and security considerations of the FIDO Alliance specifications for user authentication. In a future paper, we will discuss additional technical details of FIDO and the 1Kosmos implementation of FIDO authenticators.
In the early 1970’s Robert Morris developed a system of storing login passwords for Unix. Shortly after that users began selling their passwords so others could access the systems. The issues with passwords began. A case can certainly be made to crown the password the Achilles heel of security. Despite the ever-growing discussion that they need to be replaced if not eliminated, passwords continue.
There are very few approaches to eliminating passwords worth investigating. However, one such approach to eliminating passwords has been agreed upon by a consortium of market leaders. FIDO (“Fast IDentity Online”) Alliance is an open industry association, of which 1Komos is a member, whose goal is to set an agreed-upon set of standards to reduce the password reliance impacting the security and usability of applications, data, and services.
The FIDO Alliance developed an agreed-upon way to handle cryptographic authentication through public and private key pairs. The FIDO specifications standardized an authentication capability that enabled users to prove they are in possession of the private key. The combination of the private key and public key stored in a small form factor provided a high level of security to transactions and was easy to use.
Launched in February 2013 by leading tech companies, the new FIDO Alliance set out to standardize the interoperability of strong authentication and reduce the user experience problems when creating credentials (usernames and passwords) and remembering them across multiple instances. Ultimately the difference with the FIDO approach to authentication is that it recognized that security, implementation, and usability are equally important:
The original FIDO specifications were FIDO UAF (Universal Authentication Framework) and FIDO U2F (Universal Second Factor) for simpler, stronger user authentication. The difference between the two is based on the use case needed. UAF is a single-factor authentication standard whereas U2F is a second-factor authentication standard.
Recently, in 2018 the FIDO Alliance released a new set of specifications, FIDO2. This new specification encapsulates three elements:
The FIDO Alliance has quickly become an industry standard with authentication providers leveraging the specifications to deliver secure access with a user experience that doesn’t treat a user like a criminal. This is highlighted by the FIDO Alliance mission:
Recently the three big technology leaders – Apple, Google, and Microsoft – announced plans to expand support for FIDO authentication on their platforms. Relying on passwords as the primary authentication is one of the biggest security problems on the web. The issue remains that organizations place all of the responsibility for securing a service on the user. With these three leaders pushing toward a passwordless future, users could securely access web-based services without a password.
Considering passwords are cumbersome for users to manage (and remember), this will eliminate users reusing and/or creating poor passwords and provide a superior user experience across multiple devices overall. By providing FIDO2 functionality, organizations will be able to deliver websites and apps with consistent, secure, and easy passwordless experiences. Not to mention this will make the web more secure and usable for everyone.
There are many FIDO authentication form factors for organizations (and end-users) to choose from. The most common of those are:
To register and begin using a FIDO authentication, users follow a few simple steps. Again back to the user experience, the FIDO specifications require little input from the end-user. There are two steps.
The impact of using the FIDO specifications is minimal to the end-users. Once registered the user can authenticate from anywhere. For instance the FIDO authenticator on compatible hardware like the fingerprint available on today’s Apple and Windows laptops. These types of FIDO authenticators are limited to the device as the private key is stored on the local TPM and therefore are not “portable” like other FIDO authentication methods (keys, mobile devices, cards). However, this could change with the expanded support mentioned above.
Administration of a FIDO deployment and day-to-day management can vary wildly; this can be dependent on the vendor selected to provide the FIDO solution. While the FIDO capabilities are certainly easy to use, building one is not something organizations will take on often.
In most cases, the solution is delivered via a cloud service. This means that all of the benefits of moving to a SaaS environment apply. Lower operational cost, scalability, and accessibility are all natively part of the solution. For organizations of any size, the benefits of a hosted FIDO service makes sense. For comparison, the benefit to organizations implementing a FIDO approach, as opposed to code generating tokens, is that organizations do not need to deploy a huge infrastructure and issue and validate the authenticity of a token. This is because public and private keys are stored on the FIDO authenticator and sign the authentication request and therefore require a very small overhead when deploying.
Deployment starts with the connection of the target application or server to the FIDO server. The connection is most often made through the use of REST endpoints to communicate with clients. Because the FIDO server is cloud-based, proper firewall configurations will be required to ensure secure communication. And due to the security requirements of the standards, https communication is required and therefore will need a valid TLS certificate for https.
Also for consideration is a connection to a user data store and policy configurations. If there are policies to determine how, when, and potentially where users can authenticate, this will need to be integrated into the FIDO deployment. Typically this is managed through the FIDO Metadata service (MDS). As for the user data store, the server will need to be configured for an LDAP, ActiveDirectory, MySQL, MongoDB, etc. data store all of which are easily configurable.
The choice of authenticator will determine the vendor selection and will either be included when negotiating the contract or purchased on an as-need basis. Authenticators can always be purchased through an e-commerce site or through the selected vendor. However, organizations like 1Kosmos have moved to an app-based FIDO approach which eliminates the need to purchase an authenticator. Optionally, devices ship with built-in FIDO authentication, like a fingerprint reader on modern desktops, to handle the FIDO authentication.
Typically a proof-of-concept (POC) can be deployed and tested for usability in a few days depending on the complexity of the environment (at least that is what we see here at 1Kosmos). It is recommended that a test be run to ensure the usability, security, deployment, and maintenance are acceptable. This will require input from key stakeholders like – DevOps, Admins, Security Officers, End-Users, Support Teams, etc. Feedback and lessons learned while setting up the test will ensure a successful deployment.
The final consideration for deployment is the experience that will be provided to the end-users. The authentication method and the user experience should be where organizations start. The consideration of the two will ensure adoption and, as a result, increase security.
Deploying a FIDO method is most often dependent on the FIDO protocol used. Considerations are scale and usability based on the risk factors organizations need to secure.
FIDO has provided a guideline for the user experience that provides detailed recommendations. A summary of those recommendations shows that there are 4 core areas to consider when building the UX:
Setting up a FIDO authentication service has very little overhead compared to traditional authentication services. It’s lightweight and scalable, due to the small data footprint. Not to mention, the FIDO Alliance has provided ample details on how to successfully implement the technology.
Security is ultimately the reason the FIDO Alliance exists. The goal was to make passwords more secure and to even eliminate them altogether. There are many security advantages of moving to a FIDO authentication environment.
FIDO is based upon an asymmetric cryptography protocol that uses separate keys to encrypt and decrypt data (public and private key). In comparison, symmetric cryptography uses a single key to decrypt data. The additional key in asymmetric protocol obviously makes a more secure form of cryptography.
The asymmetric encryption protocol is the foundation of public key infrastructure (PKI). As mentioned above when a user registers their FIDO authenticator a public and private key pair are generated. By leveraging a FIDO-centric platform, the traditional management challenges of a PKI platform can be mitigated. The public key is stored with the service provider and used to verify users’ identities and encrypt their information. The private key is stored in the TPM of the users’ FIDO authenticator and used to sign the authentication challenge the service provider imposes to then validate users’ identities and decrypt their information. The benefit of the PKI platform is that it prevents hackers from accessing user accounts or accessing the sensitive information they store because they would need both keys to do so.
To gauge the requirements for a FIDO authenticator, FIDO authenticators are certified on different levels, which specifies their level of security:
Biometric authentication is not called out in the FIDO authentication certification. However, biometrics can be part of the authentication of the FIDO method in place. The need to call out biometrics on its own is simple – biometric authentication is more prevalent and easier to use as users authenticate daily into their mobile device with their face or fingerprint. Not to mention, biometrics are becoming a convenient, secure, and affordable option on many devices, therefore vendors are taking advantage of the proliferation of biometric compatible devices. The benefit of biometrics is that authentication goes beyond something users know or have and now accounts for who users are and therefore is a more secure means of authentication.
1Kosmos has been supporting a multi-device, omni-channel experience for years. We are a FIDO alliance member and are working to further their passwordless objectives. 1Kosmos is FIDO certified and provides a combination of strong identity (government-certified biometric and document verification) and an easy-to-use, easy-to-develop platform.
1Kosmos adds tremendous value to FIDO authentication by adding the immutable identity layer on top of authenticating FIDO tokens. 1Kosmos provides identity-based authentication to FIDO by proofing a user identity and reaching IAL2 per the NIST 800-63-3 guidelines. This makes credential sharing and identity impersonation impossible. The cost of deploying 2FA and MFA solutions that require hardware is also eliminated. The 1Kosmos app installed on the user’s smartphone will be the primary means for physical and logical access to whoever authenticates successfully.
The 1Kosmos platform can be easily extended by partners to quickly add leading-edge identity and authentication capabilities to their products and offerings in a fraction of the time it would take to natively develop these capabilities. By integrating 1Kosmos FIDO2 identity and authentication capabilities, partners can provide differentiated levels of identity verification, ease of use, feature security, and conditional access, leveraging both identity proofing and FIDO2 authentication.