WebAuthn
WebAuthn es la API del navegador para acceder con claves públicas. El servidor debe verificar la respuesta antes de aceptar la autenticación.
Utilizar claves públicas en el navegador
WebAuthn es una API del navegador para registrar y utilizar credenciales criptográficas de clave pública. Las passkeys emplean esta interfaz en la web. El registro utiliza navigator.credentials.create(); un acceso posterior utiliza navigator.credentials.get(). La API requiere un contexto seguro, normalmente HTTPS durante el funcionamiento web habitual.
La verificación del servidor forma parte del acceso
Un portal ficticio de proyectos genera un challenge nuevo y aleatorio para un intento de acceso. El navegador hace que se produzca una respuesta firmada. El identificador rpId vincula la operación al servicio previsto. Entre otras comprobaciones, el servidor del portal verifica la firma con la clave pública guardada, el challenge esperado y la vinculación al servicio. También verifica el origen esperado, formado por el protocolo, el nombre de host y el puerto del sitio.
El objeto devuelto por el navegador no constituye por sí solo un acceso correcto al portal. La aplicación acepta la autenticación únicamente tras la verificación del servidor. En este portal, cancelar el diálogo no genera un acceso confirmado; la interfaz debe mostrar ese estado de forma comprensible.
WebAuthn no organiza la sincronización entre dispositivos ni la recuperación de un acceso perdido. Esos flujos requieren decisiones propias. Después de acceder, el servidor sigue comprobando qué proyectos puede abrir o modificar la cuenta.
Fuentes
Términos relacionados
- PasskeyUna passkey permite acceder con un par de claves vinculado al servicio. Los cambios de dispositivo, la recuperación y los permisos requieren decisiones propias.
- Cookie HttpOnlyHttpOnly impide el acceso directo de los scripts a la cookie. Las solicitudes adecuadas aún pueden enviarla; deben comprobarse la sesión y los permisos.
- Política del mismo origen (SOP)La política del mismo origen limita el acceso del navegador entre orígenes distintos. Cambiar solo la ruta no crea un origen nuevo.
- Principio de mínimo privilegioEl mínimo privilegio limita los permisos a la tarea necesaria y a su alcance. El trabajo requerido sigue siendo posible y se retiran los permisos innecesarios.
- Control de acceso basado en atributosABAC evalúa accesos mediante propiedades y reglas definidas. El origen y la vigencia de esas propiedades forman parte del diseño.
- Control de acceso basado en rolesRBAC vincula permisos a roles y asigna personas a esos roles. El alcance de los datos también debe quedar definido.
Su proyecto con ASES
Descríbanos su proyecto. Le responderemos con una primera valoración.