PublicidadU2F (Universal Second Factor) es un estándar industrial para la autenticación de dos factores de uso general, basado en la autenticación de desafío-respuesta adaptada. Además de una contraseña de acceso, se utiliza para demostrar la autorización de acceso, por ejemplo, a servicios basados ​​en web, y también se puede utilizar en combinación con documentos personales digitales para establecer la identidad. Las especificaciones U2F fueron desarrolladas por Google con la participación de Yubico. y semiconductores NXP. Para un mayor desarrollo y cooperación de los proveedores U2F, se fundó la Alianza no comercial FIDO. El 9 de diciembre de 2014 se publicó el primer estándar correspondiente FIDO v1.0. Al año siguiente, se lanzó la iniciativa FIDO2, en la que posteriormente se fusionó U2F bajo el nombre cambiado de Client to Authenticator Protocol (CTAP1). A diferencia de la iniciativa industrial “Open Authentication” (OATH), que también busca establecer soluciones para dos -autenticación de factor como estándar de la industria, las descripciones de procesos U2F no están sujetas a ninguna regulación de confidencialidad de las empresas involucradas. Características de U2F Como característica esencial, el estándar U2F no tiene un identificador externo único de un dispositivo U2F específico y, por lo tanto, permite la protección de la privacidad. Por lo tanto, un proveedor de servicios (servidor) en el que un cliente inicia sesión para identificarse con su dispositivo U2F no puede determinar con qué otros servicios este dispositivo U2F todavía está registrado. Esto se aplica incluso si un proveedor de servicios en particular también tiene acceso o ha tenido conocimiento de las credenciales de inicio de sesión de otros proveedores de servicios. Esta característica del procedimiento U2F contribuye significativamente a una mayor protección si se leen los datos de inicio de sesión almacenados con el proveedor de servicios durante el registro. por terceros en el contexto de fugas de datos y luego pueden propagarse incontrolablemente. Esta protección también se proporciona cuando un dispositivo U2F es utilizado por diferentes personas con un proveedor o por una persona para iniciar sesión en varias cuentas. Incluso en estos casos, el proveedor de servicios respectivo no puede determinar que las credenciales U2F almacenadas en el servidor sean el mismo dispositivo U2F y que los mismos o diferentes usuarios estén usando este dispositivo U2F. Esto es posible gracias al hecho de que una clave El par (que depende de las características del proveedor de servicios, como la dirección del servidor, el certificado TLS y otros datos, como los identificadores de sesión (tokens) generados aleatoriamente) se genera individualmente en el dispositivo U2F a partir de una clave pública y privada. Las claves públicas y privadas se calculan en el marco de un criptosistema asimétrico. Como parte del procedimiento U2F, la clave pública generada de esta manera, junto con el llamado identificador de clave que el dispositivo U2F puede diseñar libremente, se transmite al proveedor de servicios para su registro. Cuando inicia sesión en un proveedor de servicios Por primera vez, este par de datos de clave pública y de identificador de clave se almacena en el servidor. En el caso de una autenticación posterior, el servidor transmite el identificador de clave que pertenece al usuario, junto con datos adicionales como la dirección del servidor, un identificador de sesión único y otros datos. De esta manera, el dispositivo U2F puede determinar la clave privada correspondiente a partir del identificador de clave transmitido y utilizarla para firmar los datos de la respuesta de devolución al servidor. El servidor utiliza la respuesta de devolución firmada junto con la clave pública asociada para autenticar al cliente. Este método permite un cierto nivel de protección contra ataques de intermediario. La falta de una identificación pública única de un dispositivo U2F contrasta con la autenticación de desafío-respuesta clásica con claves asimétricas, como la autenticación en Secure Shell (SSH) para el acceso a la línea de comandos. Con la autenticación SSH, la clave pública se almacena en todos los servidores exactamente donde se permite el acceso público. Así, incluso sin conocer la clave privada secreta, es posible determinar a qué servidor se accede con esta clave SSH, si solo se accede a los datos de la clave pública. Procedimiento utilizado por U2F Para la autenticación, el proveedor de servicios solicita el nombre de usuario como primer factor y, si es necesario, la contraseña normal, verifica estos datos y, si está bien, inicia el segundo factor en forma de U2F. En el primer paso , el proveedor de servicios envía un paquete de datos al ordenador del cliente (navegador web). Esto consiste en un desafío, se trata de unos dígitos elegidos al azar. Además, una identificación de la aplicación y el identificador de la clave, que se almacenó durante el inicio de sesión inicial. La computadora del cliente verifica la identificación de la aplicación, agrega datos adicionales, como una identificación del canal, y envía estos datos al dispositivo U2F. El dispositivo U2F utiliza el identificador de clave para determinar la clave privada adecuada para esta sesión y la utiliza para firmar el identificador de la aplicación y desafiar a formar la respuesta firmada. Además, opcionalmente se puede integrar un contador en la respuesta firmada para detectar dispositivos U2F duplicados. El ordenador del cliente, como por ejemplo el navegador web, envía estos datos al proveedor de servicios, que utiliza la clave de sesión pública para comprobar las firmas y los datos contenidos en ellas y, si está bien, concede el acceso. Características especiales de U2F Para que el dispositivo U2F proporcione una respuesta, es obligatorio en el estándar que se requiera una acción del usuario directamente en el dispositivo U2F. En el caso más sencillo, todo lo que necesitas hacer es presionar un botón en el dispositivo U2F. Sin embargo, también son posibles otras iniciaciones: por ejemplo, desde enero de 2015, la empresa EyeLock ofrece el escáner de iris Myris con conexión USB, que es compatible con el protocolo U2F. Esta política tiene como objetivo garantizar el consentimiento del usuario a una solicitud de autenticación independientemente de la PC y su software; si el usuario no da este consentimiento, no habrá respuesta del dispositivo U2F después de un período de tiempo. Este requisito tiene como objetivo evitar que el software de la computadora solicite y posteriormente evalúe respuestas del dispositivo U2F en grandes cantidades sin el conocimiento del usuario. El dispositivo U2F puede o no estar diseñado como un token de seguridad en hardware con el correspondiente almacenamiento seguro. En principio, también es posible una aplicación U2F puramente basada en software, pero con el problema fundamental de que los datos secretos, como el identificador primario U2F único y utilizado internamente, se pueden leer y comprometer más fácilmente. En dispositivos U2F basados ​​en dispositivos, como dongles USB, el proceso está diseñado de tal manera que no es necesario almacenar en el dispositivo U2F datos mutables, como las claves privadas basadas en sesiones generadas. El procedimiento deja abierto cómo y dónde se almacenan los datos de la clave privada secreta para un proveedor de servicios. Por un lado, el almacenamiento puede tener lugar en una memoria del dispositivo U2F, lo que encarece el dispositivo U2F y limita el número de inicios de sesión. debido al tamaño de la memoria. Sin embargo, también es posible cifrar las claves privadas basadas en sesiones generadas utilizando un método específico del dispositivo y almacenarlas en el servidor como parte del identificador de claves. Esto se debe a que con cada inicio de sesión posterior, este identificador de clave se transmite desde el servidor al dispositivo U2F, lo que permite que este dispositivo U2F recupere su clave privada. Por ejemplo, el dispositivo U2F se puede utilizar con cualquier cantidad de servicios porque el dispositivo U2F no almacena ningún dato clave dependiente de la conexión y no hay límite en el espacio de almacenamiento. Para poder distinguir entre diferentes tipos de dispositivos U2F y Debido a la diferente confiabilidad por parte de los proveedores de servicios (por ejemplo, los dispositivos U2F basados ​​en hardware tienen un mayor nivel de seguridad contra lectura que las soluciones de software basadas en PC), U2F también añade una firma de respuesta con una clave privada dependiente del fabricante. La clave privada se almacena permanentemente en el dispositivo U2F y es idéntica para todos los dispositivos U2F de este fabricante, lo que impide la identificación de un dispositivo U2F específico. La clave pública correspondiente es de conocimiento común y los proveedores de servicios pueden utilizarla para requerir el uso de ciertos dispositivos U2F para el acceso. Soporte de software de U2F Google Chrome se convirtió en el primer navegador web compatible con U2F en octubre de 2014. Desde enero de 2018, U2F también se ha integrado en Mozilla Firefox. Apple Safari admite U2F desde septiembre de 2019. Varios servicios de Internet admiten el inicio de sesión a través de U2F, principalmente desde el entorno de Google, como Gmail, Dropbox, GitHub. Hay un módulo de autenticación conectable disponible para iniciar sesión en una computadora que ejecuta Linux y macOS. Los sistemas operativos Windows 10 y Windows 11 de Microsoft admiten funciones U2F a través de tokens de hardware, así como “Windows Hello”.