Las contraseñas son un problema. Si bien siguen siendo la principal forma de proteger aplicaciones, servicios y sistemas, son cada vez más vulnerables. La computación en la nube hace que sea económico forzar contraseñas valiosas por fuerza bruta, mientras que las políticas de contraseñas mal pensadas llevan a los usuarios a comportamientos inherentemente riesgosos. Y si bien los administradores de contraseñas hacen que sea más fácil tener contraseñas complejas separadas para todos los lugares donde las necesitamos, otras políticas de “seguridad” nos impiden usar esas contraseñas. Lo que estaba destinado a ser una Internet segura es cada vez más insegura, con nuestros archivos, datos y finanzas. en riesgo. Todavía hay un Salvaje Oeste y la pregunta es: ¿quién ganará esa frontera? ¿Los buenos o una infinidad de malos actores? Una opción es alejarnos de las contraseñas y pasar a un mundo sin contraseñas donde la biometría y la criptografía sólida brinden mayor seguridad, trabajando con nuestro hardware para agregar nuevas capas de protección. Al alejarnos de contraseñas cada vez más complejas y difíciles de recordar y aprender a confiar en hardware seguro, podemos aprovechar claves criptográficamente complejas que son difíciles de robar y de romper. Windows como plataforma segura Microsoft ha puesto la seguridad en el corazón de Windows 11, que requiere procesadores que admitan estándares criptográficos clave, así como hardware construido alrededor de TPM (módulos de plataforma confiable). Ahora la compañía está aprovechando ese esfuerzo para llevar la autenticación sin contraseña a sus plataformas y alentando a los desarrolladores a utilizar esas mismas herramientas y API en su propio código. En el centro del enfoque de Microsoft se encuentran dos tecnologías clave: Windows Hello y el protocolo WebAuthn. Windows Hello es un conjunto de API que funcionan con los sensores biométricos certificados de Windows, ya sean cámaras faciales 3D o sensores de huellas dactilares, para proporcionar una identidad verificada al usuario de un dispositivo. Los datos biométricos iniciales se capturan durante la inscripción y se guarda un hash en el almacenamiento seguro de un TPM. Esos datos se utilizan para crear una credencial vinculada a un dispositivo. La combinación de usuario y dispositivo crea un identificador único que se puede utilizar para desbloquear la autenticación, funcionando como identificación primaria o secundaria. Claves de acceso FIDO2 y Windows HelloWindows Hello ha evolucionado de ser parte de la experiencia de inicio de sesión de Windows a ser un componente de la implementación de Windows. del protocolo de autenticación FIDO2, junto con WebAuthn. Ahora Windows Hello se puede vincular a claves de acceso, el nombre común de las credenciales reconocibles de FIDO2. Las claves de acceso se utilizan tanto para autenticar como para dar fe del usuario, proporcionando tanto identificación como verificación, automatizando las complejidades de un proceso de autorización moderno. Las claves de acceso administradas por Windows Hello son «claves de acceso vinculadas al dispositivo» vinculadas a su PC. Windows puede admitir otras claves de acceso, por ejemplo, claves de acceso almacenadas en un teléfono inteligente cercano o en un token de seguridad moderno. Incluso existe la opción de utilizar terceros para proporcionar y administrar claves de acceso, por ejemplo, a través de una aplicación bancaria o un servicio web. La compatibilidad con claves de acceso de Windows le permite guardar claves en dispositivos de terceros. Puede usar un código QR para transferir los datos de la clave de acceso al dispositivo o, si es un teléfono inteligente Android vinculado, puede transferirlo a través de una conexión inalámbrica local. En ambos casos, los dispositivos necesitan un sensor de identidad biométrico y un almacenamiento seguro. Como alternativa, Windows funcionará con claves de seguridad listas para FIDO2, almacenando claves de acceso en una YubiKey o dispositivo similar. Un cuadro de diálogo de Seguridad de Windows le ayuda a elegir dónde guardar sus claves y cómo. Si está guardando la clave en Windows, se le pedirá que verifique su identidad usando Windows Hello antes de guardar el dispositivo localmente. Si está utilizando Windows 11 22H2 o posterior, puede administrar claves de acceso a través de la configuración de Windows. Agregar FIDO2 a sus aplicaciones .NET Puede aprovechar la compatibilidad de Windows con FIDO2 y las API de WebAuthn para trabajar con credenciales sólidas en su código. Gran parte de la funcionalidad necesaria está integrada en el navegador Edge, con API de JavaScript para aplicaciones web. Un conjunto de API de Win32 brinda soporte para C y C++, que se pueden usar como base para las bibliotecas .NET. Para comenzar a agregar funciones sin contraseña a sus aplicaciones rápidamente, puede usar la biblioteca .NET FIDO2, disponible en GitHub y administrada por la Fundación .NET. Como la mayoría de las bibliotecas .NET, la biblioteca FIDO2 se puede agregar a su código a través de NuGet. La biblioteca funciona con todas las aplicaciones .NET, incluido el código web ASP.NET Core. La biblioteca FIDO2 .NET contiene todo lo que necesita para integrar la compatibilidad con FIDO2 en las aplicaciones, desde el registro de usuarios hasta su verificación, con soporte para todas las clases de autenticadores, incluido Windows Hello. Se puede utilizar para la autenticación multifactor básica (MFA), así como para escenarios sin contraseña más complejos. Es posible que desee considerar su uso para MFA como un primer enfoque para trasladar a los usuarios a técnicas de autenticación más seguras, permitiéndoles acostumbrarse a usar un segundo dispositivo como parte del proceso de inicio de sesión. Autenticación sin contraseña en .NET Una vez que haya implementado una solución MFA, puede desarrollarla con funciones sin contraseña. Éste es quizás uno de los aspectos más importantes de FIDO2: está diseñado para respaldar el paso de la autenticación tradicional a técnicas más modernas y, eventualmente, al uso de claves de acceso. No es difícil utilizar la biblioteca .NET de FIDO2 como parte de un servidor. Primero crea un nuevo usuario con un nombre de usuario y un nombre para mostrar. La biblioteca puede verificar que un usuario no tenga credenciales almacenadas en su máquina o en un almacén externo. Las opciones de certificación de servicios se entregan al cliente solicitante, que se procesan mediante su implementación FIDO2. El cliente crea y almacena la clave de acceso, guardando las credenciales. Una vez que el cliente solicitante devuelve los datos de certificación requeridos, puede crear los datos del usuario agregando las credenciales al almacén del servidor, junto con una identificación de usuario. Iniciar sesión en el servicio es el proceso inverso. El servidor recibe la ID de usuario del cliente, comprueba si existe y solicita una afirmación. El cliente utiliza datos biométricos para desbloquear la clave de acceso y envía datos de afirmación al servidor, donde se verifican utilizando las funciones de criptografía de clave pública de FIDO2. Finalmente, después de la verificación, el usuario puede utilizar el servicio. No han necesitado ingresar una contraseña; todo lo necesario para el acceso lo maneja una tienda de claves de acceso local en su PC o teléfono. La implementación FIDO2 del cliente proporciona esas credenciales al servidor después de pasar la biometría. API sin contraseña de Bitwarden Otra buena opción son las API Passwordless.dev de Bitwarden. Estos ofrecen una forma rápida de agregar compatibilidad con claves de acceso a las aplicaciones existentes, junto con un marco de gestión de credenciales basado en la nube y el marco criptográfico necesario. Bitwarden tampoco es demasiado caro. Una cuenta gratuita le brinda soporte para una sola aplicación y 10,000 usuarios. Las implementaciones más grandes podrían utilizar una cuenta profesional, que ofrece soporte para aplicaciones ilimitadas por $0,05 por usuario al mes para los primeros 10.000 usuarios, bajando a $0,01 por usuario al mes para usuarios adicionales. Si prefiere vincularse a una infraestructura de autenticación existente, como Microsoft Entra ID, un plan empresarial cuesta $3 por usuario al mes. FIDO2 y sus patrones sin contraseña asociados son una forma mucho más segura de controlar el acceso a aplicaciones y servicios. Ahora que Windows brinda soporte para crear y administrar claves de acceso, es hora de comenzar a pensar en usar estas herramientas en su código, usando las herramientas biométricas de Windows para controlar el acceso y TPM y hardware de autenticación listo para FIDO2 para administrar claves. Cuanto más confiamos en estas tecnologías, más reducimos el riesgo para todos. Copyright © 2024 IDG Communications, Inc.

Source link