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 para la Web o la API de Credential Manager en 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 funciones:

  1. Registro de 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 utilices una biblioteca.

Un servidor que admite la creación y autenticación de llaves de acceso se denomina servidor FIDO2, también conocido como servidor FIDO. Por extensión, haremos referencia 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 actualizada la implementación.
  • Seguridad y cumplimiento. Tu implementación de la llave de acceso debe cumplir 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 las especificaciones. En función del producto y la industria, tu implementación también puede estar sujeta a reglamentaciones que te exijan usar 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