Introducción a la implementación de llaves de acceso del servidor

Descripción general

Cuando se usan llaves de acceso sincronizadas, las personas se autentican con un proveedor de llaves de acceso.

Para crear y autenticar con llaves de acceso, usarás la API de WebAuthn en la Web o la API de Credential Manager en el caso de las apps para Android. Estas APIs controlan la comunicación entre el cliente y el proveedor de llaves de acceso.

Si bien se llama a estas APIs desde un cliente, como una página web o una app para Android, debes implementar el resto de la funcionalidad en el servidor para completar tus casos de uso de autenticación.

Una implementación de llaves de acceso consta de dos funcionalidades:

  1. Registro con la llave de acceso. Usa la API de WebAuthn o la API de Credential Manager para permitir que el usuario cree una llave de acceso. Almacena la clave pública asociada en el servidor.
  2. Autenticación con una llave de acceso. Obtén un desafío de autenticación del servidor y usa la API de WebAuthn o la API de Credential Manager para permitir que el usuario firme este desafío con su llave de acceso. Verifica la firma en el servidor. Si la firma es válida, autentica al usuario.

Bibliotecas del servidor

Si bien es posible implementar la funcionalidad de llaves de acceso del servidor desde cero, te recomendamos que uses una biblioteca.

Un servidor que admite la creación y autenticación de llaves de acceso se denomina servidor FIDO2, o servidor FIDO. Por extensión, nos referiremos aquí a las bibliotecas del servidor que implementan la compatibilidad con llaves de acceso como bibliotecas del servidor FIDO.

¿Por qué usar una biblioteca?

Usar una biblioteca del servidor FIDO tiene varias ventajas:

  • Tiempo y experiencia del desarrollador. La especificación de WebAuthn es compleja. Las bibliotecas del servidor FIDO pueden proporcionar APIs simples para implementar llaves de acceso, lo que puede ahorrarte tiempo y recursos de desarrollo.
  • Capacidad de mantenimiento. La especificación de WebAuthn aún está sujeta a cambios. Usar la versión más reciente de una biblioteca que se mantiene de forma activa ayuda a mantener tu implementación actualizada.
  • Seguridad y cumplimiento. Quieres que tu implementación de llaves de acceso cumpla con la especificación de WebAuthn y sus requisitos de seguridad. Las bibliotecas del servidor FIDO pueden ayudarte a mantener tu implementación segura y cumplir con la especificación. Según el producto y la industria, la implementación también puede estar sujeta a reglamentaciones que requieren el uso de estándares de seguridad específicos para la autenticación.

Si es posible, considera apoyar financieramente los proyectos de código abierto en los que se basa tu producto.

Bibliotecas

Cuál es el próximo paso