How to become trusted keys
FIDO Alliance is an open industry association with a focus to set authentication standards to help reduce the world’s over-reliance on passwords. A new standard from the FIDO alliance, FIDO2, is an authentication method that is much safer than a password-based system. It is also faster and more user friendly than the 2nd-factor authentication (2FA) including OTP (One-Time Passcode). Therefore, FIDO2 becomes the technology of choice for passwordless login systems including hybrid cloud applications, such as, Microsoft Azure AD.
We have introduced multiple FIDO2 security keys for FIDO U2F and FIDO2 authentication. Our G310 and G320 share the same platform with different interfaces (USB-A and USB-C, respectively). They are all our own secure MCU (microprocessor), MS500.
If you look at the description of security levels from the FIDO Alliance, the main difference between L1 and L2 is the fact that L2 must support "Allowed Restricted Operation Environment (AROE)." L2 requires most of FIDO security functions to be done (1) inside secure hardware such as SE (secure element) or (2) software such as TEE (Trusted Execution Environment) as AROE. Therefore, the most critical aspect of L2 level security is about AROE, i.e., how well one designs the architecture of the authenticator AROE against client-side scalable attacks.
AROE is the boundary inside the security key, which the most of security operations associated with FIDO protocol should be protected from outside attacks. We know that if a security key should consider the following principles, then the authenticator satisfies the AROE requirement: (1) Design for only FIDO protocol purpose (2) A device without high-level OS (3) Not possible to modify the internal programs or data (4) The secure boot procedure protects AROE
The authenticators have fingerprint sensors (FP sensor) used to collect and store fingerprint information from users, and then to support the biometric user authentication afterward under the FIDO2 protocol. The authenticators store the Authenticator Security Parameter (ASP) information in internal secure storage, which is not to be accessible from the external world. The authenticators do not use OS, but they operate in the AROE environment where the device security functions protect user firmware from external modification attempted by hackers when the device power is OFF. The state data, register values, and memory data for operating the Hardware Crypto Accelerator can only be written, stored, and modified by the firmware but cannot be accessible from external ports. To support FIDO Authenticator's security requirements and security objectives, no one can enable security features of the operating environment or change the configuration of the settings other than the designated vendors and the authorized agents. The authenticators have a secure element (SE) environment where device manufacturers themselves develop and configure, but activate all the security functions before the device deployment.
There is no interface provided to users to change the authenticators settings. The client application program which takes inputs from users cannot change security settings. For example, the PC client program calls the fingerprint registration function ("FP_Enrolled ()") only without added features to modify the authenticator data. This is all possible due to MS500.
G310 and G320 are the world’s first FIDO L2 certified FIDO2 keys because of the firm security boundary defined by MS500, AROE for the keys. Even the user verification process (fingerprint recognition) happens inside AROE. It means that there is no way for side channel attacks, man-in-the-middle attacks or phishing is possible on our keys. This security architecture from ground up makes our keys unique and our trusted keys are secure, portable for any occasion, and easy to use in any environment with safety assurance like no other security keys in the world.