SKFS only exposes web services: Representational state transfer (REST) and Simple Object Access Protocol (SOAP). The server does not have to be built into web applications, and can run as an independent instance enabling all applications—regardless of the language/framework with which they're built—to use FIDO2 capabilities.
While the Tellaro appliance's cryptographic hardware module provides a tamper-evident key management device and enjoys all the benefits therefrom, the FIDO2 Server demo running in a Virtual Machine (VM) is not guaranteed to have the same level of security. When deployed on a VM, the secure element is simulated by software, which is by default not as secure as the hardware equivalent. For this reason StrongKey recommends not deploying the FIDO2 Server for a production environment in a VM, but instead only as a proof of concept for demonstration purposes.
When considering FIDO2 server deployment options, one can use a FIDO2 library and add it to the web application or deploy an independent server, as available on the StrongKey Tellaro. The independent server in the Tellaro has many advantages over libraries:
StrongKey Tellaro appliances are always installed in a clustered configuration for HA in a production environment. All the servers function in a master-master configuration where any server can receive transactions and will asynchronously replicate data records between all other nodes in the cluster without human intervention.
In the event a cluster node fails for any reason—network failure, power loss, hard disk crash—some “in-flight” transactions might fail, causing the registration or authentication transaction to be started over again.
While the failed node is not within the cluster, other nodes within the cluster hold all necessary transactions—such as newly registered keys—in a queue for the missing node. When the missing node rejoins the cluster, the remaining nodes in the cluster recognize its arrival and replay transactions from the replication queue to bring the missing node up to date.
When multiple Tellaro nodes are deployed across a wide area network (WAN) with a reasonable geographical distance between them, they also provide business continuity (BC) in the event of a disaster affecting a location where the services of one (set of) FIDO2 server(s) may be affected.
The diagrams in the next sections demonstrate different configurations to consider when deploying Tellaro appliances containing the FIDO2 Server.
In an ideal scenario, the replication is instantaneous and the application does not even notice if the web services go to a different data center.