miércoles, 29 de abril de 2026

Construye una llave U2F segura en USB guía DIY para autenticación física

Construye una llave U2F segura en USB guía DIY para autenticación física

Si te preocupa cada vez más la seguridad de tus cuentas online, quizá ha llegado el momento de plantearte usar una llave de seguridad USB como segundo factor de autenticación. Este pequeño dispositivo físico puede marcar la diferencia entre que un atacante entre en tus perfiles o se quede fuera, aunque ya conozca tu contraseña.

Lo interesante es que no estás limitado a comprar dispositivos caros: también puedes montar tu propia llave U2F/FIDO2 usando un USB o un microcontrolador barato, o incluso aprovechar funciones ocultas de Windows para usar un pendrive como llave de inicio de sesión del sistema. Vamos a ver, paso a paso y con todo lujo de detalles, qué tipos de llaves existen y cómo crear varias de ellas.

Qué es exactamente una llave de seguridad USB

Una llave de seguridad USB es, en esencia, un dispositivo físico que actúa como segundo factor de autenticación, normalmente bajo los estándares U2F o FIDO2. Funciona como un DNI digital que llevas en el llavero: cuando un servicio te la pide, la conectas (o la acercas, si es NFC) y el sistema valida que eres tú.

En la práctica, estas llaves se integran dentro del esquema de verificación en dos pasos (2FA). En lugar de introducir un código recibido por SMS o por correo electrónico, o de abrir una app de autenticación, basta con usar la llave. De ese modo, aunque alguien robe o adivine tu contraseña, seguirá necesitando tener físicamente tu llave para poder entrar en tus cuentas.

El estándar más extendido es U2F (Universal 2nd Factor), desarrollado inicialmente por Google y Yubico y evolucionado después hacia FIDO2 y WebAuthn. Muchos servicios populares lo soportan: Google, Dropbox, GitHub, Facebook, Nextcloud, navegadores como Chrome y Opera, e incluso sistemas de inicio de sesión en Windows, Android o iOS.

Este enfoque tiene dos grandes ventajas: por un lado, aumenta enormemente la seguridad frente a ataques de phishing, robo de contraseñas o interceptación de SMS; por otro, hace la autenticación mucho más cómoda, porque reduces el proceso a «conectar la llave y, si tiene botón, pulsarlo» en lugar de andar copiando códigos.

Conviene distinguir este uso de las llaves U2F/FIDO2 del de otros sistemas que simplemente usan un USB como «llave de desbloqueo» del ordenador. En estos últimos, el pendrive sirve para bloquear o desbloquear el inicio de sesión de Windows, pero no es una llave estándar compatible con webs y servicios online.

La verificación en dos pasos y por qué una llave física es más segura

En casi todos los grandes servicios online puedes activar algún tipo de autenticación en dos pasos. Lo habitual es que, cada vez que inicias sesión desde un dispositivo nuevo, el sistema te pida un código adicional, normalmente enviado por SMS, correo electrónico o generado por una app tipo Google Authenticator o Authy.

Esta capa extra marca una diferencia enorme: aunque un atacante consiga tu usuario y contraseña, seguirá necesitando ese segundo factor para completar el acceso. hasta aquí todo bien; el problema es que los SMS y, en menor medida, el correo electrónico, son vulnerables a varios tipos de ataque.

Hoy en día existen técnicas como el SIM swapping (robar tu número de teléfono en la operadora), el clonado de SIM o incluso la interceptación de mensajes a través de malware o ingeniería social. Todo eso permite a un atacante recibir también tus códigos de inicio de sesión, por lo que la protección basada en SMS deja de ser tan sólida como parece.

Con una llave de seguridad U2F/FIDO2, el juego cambia: el segundo factor ya no viaja como un mensaje que alguien pueda interceptar, sino que se basa en criptografía de clave pública almacenada en el propio dispositivo. Los servidores nunca guardan tu clave privada y, además, las llaves suelen estar protegidas contra extracción física de datos.

Por si fuera poco, muchas implementaciones modernas basadas en passkeys o FIDO2 están diseñadas para vincular la autenticación con el dominio concreto con el que hablas. Esto complica muchísimo los ataques de phishing, porque aunque te engañen para ir a una web falsa, la llave no autenticará frente a un dominio diferente al legítimo.

Tipos de llaves de seguridad: comerciales y caseras

Cuando hablamos de llaves de seguridad, podemos separar en dos grandes grupos: las llaves comerciales «listas para usar» y las «llaves caseras» que tú mismo montas sobre un USB o una placa de bajo coste. Cada enfoque tiene sus ventajas y sus limitaciones.

Entre las llaves comerciales más conocidas tenemos las YubiKey de Yubico, las llaves Titan de Google o multitud de dispositivos certificados FIDO de terceros. Se venden en formatos USB-A, USB-C, con versiones que añaden NFC para móviles, e incluso modelos con Bluetooth para dispositivos sin puerto físico.

Estas llaves suelen ser plug & play: funcionan con Windows, macOS, Linux, Android, iOS y navegadores modernos casi sin configuración, y se integran con un montón de servicios. El inconveniente es el precio: lo normal es moverse por encima de los 25-30 euros por unidad, y las recomendaciones de seguridad hablan de tener al menos dos (principal y copia de respaldo).

En el otro extremo están las soluciones caseras, donde utilizas un pendrive normal o un pequeño microcontrolador barato para emular el comportamiento de una llave estándar. Aquí entran tanto los programas para usar un USB como llave de inicio de sesión en Windows como proyectos más avanzados del tipo FIDO2 con Raspberry Pi Pico.

Estas llaves «DIY» son mucho más económicas y flexibles, y permiten trastear con la tecnología, pero requieren configuración, mantenimiento y aceptar ciertas limitaciones o riesgos (por ejemplo, que no tengan certificación oficial FIDO o que dependan de software adicional que actúe como intermediario).

Programas para convertir un USB en llave de seguridad en Windows

Construir una llave U2F segura en USB

Si lo que quieres es que tu ordenador se bloquee automáticamente cuando no esté tu USB conectado, o que se requiera un pendrive concreto para entrar en tu sesión, puedes recurrir a aplicaciones que convierten cualquier memoria USB en una llave de acceso para Windows. No son llaves U2F como tal, pero sí añaden una capa interesante de protección local.

En este campo, una de las herramientas más populares es USB Raptor, un software de código abierto que ha acabado convirtiéndose en referencia. Su funcionamiento se basa en crear un archivo cifrado (la «llave») dentro del pendrive, y en un servicio que, en tu PC, comprueba su presencia; si la llave no está, el sistema se bloquea.

Además de USB Raptor, existen otras opciones para Windows, como KeyLock o Predator, que siguen una filosofía similar: un programa en el ordenador vigila la presencia del USB configurado, y si lo quitas, el equipo se bloquea o se cierra la sesión. En macOS hay alternativas como Logon Key o USB Lock, que aplican el mismo concepto en el ecosistema de Apple.

Conviene tener claro que este tipo de soluciones funcionan muy bien para proteger el acceso a tu propio equipo, por ejemplo en una oficina o en casa compartida, pero no sirven como llaves U2F genéricas para Google, Dropbox o GitHub. Para eso, necesitas que el dispositivo implemente de verdad el estándar FIDO2/U2F.

Cómo crear una llave de seguridad USB en Windows con USB Raptor

Si quieres empezar por algo sencillo y tienes un PC con Windows, una buena idea es usar USB Raptor para convertir un pendrive normal en una llave de acceso al sistema. Así, aunque alguien encienda tu ordenador y conozca tu contraseña, no podrá entrar si no tiene también ese USB.

El primer paso es descargar USB Raptor desde su página oficial. No requiere instalación: te bajas un archivo comprimido y lo descomprimes en una carpeta a tu gusto. Antes de abrir el programa, conecta al equipo el pendrive que quieras usar como llave y déjalo montado.

Una vez descomprimido el paquete, haz doble clic sobre USB Raptor.exe. La primera ejecución suele mostrar varias ventanas a la vez: es normal. Windows te lanzará un aviso del Firewall preguntando si permites el acceso; tienes que autorizarlo, porque si bloqueas la comunicación, la aplicación no funcionará correctamente.

También verás una ventana con bastante texto legal y explicativo de USB Raptor. Debes marcar que has leído esa información y aceptarla; en la misma pantalla puedes cambiar el idioma y escoger español para trabajar más cómodo. Hecho esto, el programa se abrirá con su interfaz principal, organizada en varios pasos.

En el primer paso tendrás que definir una contraseña para el cifrado de la llave. Esta clave es la que protegerá el archivo k3y que se generará en tu USB, así que elige algo robusto y evita contraseñas obvias. Si quieres comprobar lo que escribes, puedes marcar la opción de mostrar la contraseña en texto claro.

Después, en el segundo paso, toca seleccionar la letra de unidad de tu pendrive en el desplegable y pulsar en Crear archivo k3y. Con esto, USB Raptor genera en la memoria un archivo cifrado que identifica esa unidad como llave válida. Es importante no borrar ese archivo más adelante o la llave dejará de funcionar.

Una vez creado el archivo, solo queda activar la protección marcando la casilla Activar USB Raptor. Desde ese momento, el programa empezará a gestionar el bloqueo y desbloqueo del equipo en función de la presencia de la llave USB. Si quitas la memoria (según la configuración), el PC se bloqueará; si la conectas y se detecta el archivo k3y correcto, se desbloqueará.

En la esquina superior derecha de la ventana de USB Raptor puedes desplegar la configuración avanzada. Allí merece la pena activar la opción para que el programa se ejecute automáticamente al iniciar Windows, y que además arranque directamente en modo activado. De esta forma, tu ordenador estará protegido con la llave USB desde el momento en que lo enciendes.

Usar una llave U2F física con Dropbox

Muchos servicios en la nube ya permiten utilizar llaves de seguridad U2F/FIDO2 en lugar de, o junto a, los códigos de verificación por SMS. Uno de ellos es Dropbox, que integró hace tiempo esta función para añadir una capa adicional de protección a sus cuentas, y que ahora está disponible para todos los usuarios, no solo empresas.

Para poder usar una llave USB en Dropbox hay que cumplir dos condiciones. La primera, tener activada la verificación en dos pasos en tu cuenta. Si aún no la tienes, desde la web de Dropbox, entra en las preferencias, sección «Seguridad», y activa el 2FA para que, siempre que te conectes desde un dispositivo nuevo, se te pida un código (normalmente enviado al móvil).

La segunda condición es que la llave que vas a usar sea compatible con el estándar FIDO U2F. No sirve cualquier pendrive; tiene que ser una llave de seguridad específica, como una YubiKey, una Titan o cualquier llave U2F/FIDO2 reconocida. Muchas de ellas tienen un botón físico visible que hay que pulsar durante el proceso de autenticación.

Una vez cumplidos estos requisitos, inicia sesión en la web de Dropbox y ve a tus preferencias de seguridad. En la parte de verificación en dos pasos verás un apartado llamado «Llaves de seguridad». Haz clic en «Añadir» para empezar el asistente de configuración; por seguridad, el sistema te pedirá de nuevo tu contraseña de Dropbox.

En la ventana que se abre, se te invitará a iniciar la configuración de la llave. Conecta la memoria USB U2F al ordenador y, cuando Dropbox te lo indique, pulsa la opción que indica que la llave ya está insertada. El navegador empezará a comunicarse con el dispositivo siguiendo el protocolo estándar.

Según el modelo de llave que uses, puede que debas pulsar el botón físico que trae incorporado para confirmar la operación. A partir de ahí, el asistente terminará el proceso y tu llave quedará vinculada a tu cuenta de Dropbox. Desde entonces podrás usarla para autenticarte desde nuevos dispositivos de forma rápida y muy segura.

Eso sí, hay algo que no debes perder de vista: si pierdes la llave, puedes perder también el acceso si no tienes métodos alternativos configurados (códigos de recuperación, segunda llave de respaldo, app de autenticación, etc.). Lo más sensato es llevar la llave en tu llavero habitual y, cuando sea posible, registrar al menos dos llaves en tu cuenta.

¿Se puede usar un USB barato como sustituto de una YubiKey?

Mucha gente se plantea si no sería posible transformar un pendrive USB genérico en una llave U2F «de verdad», del estilo de una YubiKey, evitando así pagar los 25-30 euros que suelen costar estos dispositivos. Sobre el papel, la idea es tentadora: un pack de 10 memorias USB es mucho más barato y permitiría proteger las cuentas de toda una familia.

Sin embargo, un pendrive convencional está diseñado simplemente como almacenamiento masivo, no como un dispositivo criptográfico seguro. No suele contar con elementos dedicados de seguridad, hardware anti-manipulación ni firmware específico para FIDO2/U2F. Por eso, no basta con «copiar el código» de una YubiKey y meterlo en un USB normal.

Lo que sí se puede hacer es usar software que, como USB Raptor u otros, emule una especie de llave local para el sistema operativo, o recurrir a microcontroladores específicos de muy bajo coste que sí pueden flashearse con firmware FIDO2 (como veremos más adelante con Raspberry Pi Pico o ESP32).

La filosofía detrás de productos como YubiKey es que la ciberseguridad debería ser accesible para todo el mundo, pero sin renunciar a garantías de diseño, auditorías de seguridad y certificaciones. Por eso muchas implementaciones son de código abierto o publican especificaciones, pero la pieza de hardware lleva detrás un trabajo importante en diseño y validación.

Si decides comprar una llave comercial, es buena idea pensar en ello como una inversión en seguridad a medio y largo plazo. Aun así, si te gusta cacharrear, los proyectos de bajo coste con placas tipo Pico Fido son una alternativa muy interesante para aprender y, correctamente configurados, pueden ofrecer un nivel de seguridad notable.

Usar un pendrive como llave de inicio de sesión con SYSKEY en Windows

Antes de que existieran tantas opciones modernas de autenticación, algunas versiones de Windows incluían herramientas para proteger el arranque del sistema con una clave adicional. En entornos como Windows 8 Pro se podía usar la utilidad SYSKEY para exigir una clave al inicio, que podía almacenarse en un USB.

La idea era sencillo: elegir una memoria USB que actuaría como llave imprescindible para que Windows cargase el sistema. Primero había que conectar la unidad, formatearla si se quería empezar desde cero y, muy recomendable, asignarle una letra concreta para estandarizar el procedimiento y evitar líos más adelante.

Para cambiar la letra, en Windows 8 Pro bastaba con ir al menú de inicio, botón derecho sobre «Equipo» y entrar en «Administrar». Dentro, en «Administración de discos», se localizaba la unidad USB, se hacía clic derecho sobre ella y se usaba la opción de «Cambiar la letra y rutas de acceso». Tras elegir una letra fija y confirmar, la memoria quedaba lista.

Sin extraer el pendrive, el siguiente paso era abrir el menú de inicio y escribir SYSKEY. Esta utilidad permitía habilitar una protección adicional de la base de datos de cuentas de Windows (el SAM) y escoger que se requiriera una clave almacenada en un disquete o unidad externa al arrancar.

Al activar la opción correspondiente, se configuraba el sistema para que, en el próximo inicio, no bastara con la contraseña de usuario, sino que Windows pidiera esa clave extra que residía en la memoria USB. En la práctica, el pendrive se convertía en una llave sin la cual el sistema no podía arrancar correctamente.

Una vez hecha la configuración, era tan fácil como retirar el USB, reiniciar el ordenador y comprobar que, efectivamente, sin la llave no se podía completar el arranque. Si se volvía a conectar la memoria correcta, el proceso continuaba. Aunque SYSKEY ha quedado obsoleto y ha sido retirado en versiones modernas de Windows, la idea ilustra bien cómo usar un USB como llave de sistema.

Passkeys, FIDO2 y dispositivos físicos tipo YubiKey

El panorama actual de la autenticación está evolucionando hacia un modelo sin contraseñas tradicionales. Las llamadas passkeys son la parte visible de esta revolución: se trata de credenciales cifradas, únicas para cada servicio, que engloban todo lo necesario para que te identifiques sin recordar ni teclear nada.

Estas passkeys se almacenan en llaveros digitales gestionados por Android, iOS, Windows, navegadores o gestores de contraseñas. Cuando accedes a una web compatible, el sistema usa la passkey asociada al dominio para autenticarte de forma segura, normalmente con una huella, un PIN del dispositivo o reconocimiento facial.

Sin embargo, guardar las passkeys en el propio sistema operativo o en un programa de terceros puede diluir parte de su valor añadida como «algo que tienes» separado del dispositivo principal. Aquí entran en juego las llaves físicas tipo YubiKey o Google Titan, que funcionan como almacén ultraseguro de estas claves.

Una llave FIDO2 de este tipo incorpora hardware especializado y un firmware certificado que se encarga de generar, guardar y usar las claves privadas sin que éstas salgan nunca del dispositivo. Cuando la conectas al ordenador o la acercas al móvil vía NFC, y la web te pide autenticarte, la llave firma el reto criptográfico y devuelve la respuesta, pero nunca revela la clave interna.

El principal inconveniente de estos aparatos es su coste: incluso los modelos básicos suelen pasar de los 30 euros, y se recomienda tener al menos dos unidades (una de uso diario y otra guardada como copia de seguridad por si pierdes la primera). Aun así, ofrecen un nivel de seguridad y confort muy difícil de igualar con otros métodos.

Construir una llave FIDO2 estilo YubiKey por menos de 3 euros con Pico Fido

Si te encanta trastear con hardware y quieres una alternativa más barata a las llaves comerciales, puedes aprovechar proyectos de código abierto como Pico Fido, que permiten convertir un microcontrolador muy económico en una llave de seguridad FIDO2 funcional.

La idea es usar placas como Raspberry Pi Pico o ESP32. Estos microcontroladores se usan habitualmente en domótica, automatización y proyectos de electrónica, pero con el firmware adecuado pueden comportarse como un dispositivo FIDO2 estándar. Como su precio ronda los 2-3 euros en tiendas como AliExpress, el ahorro frente a una llave comercial es enorme.

Una opción especialmente atractiva es el modelo USB RP2040 Dual Core con 4 MB, basado también en la familia Raspberry Pi, que integra el conector USB en la propia placa y tiene una forma muy parecida a la de un pendrive. Para quien quiera ir un paso más allá, existen variantes como el Raspberry Pi Pico 2 RP2350 de Waveshare, con mejoras de seguridad y un diseño más pulido.

El flujo general para montar tu propia llave con Pico Fido es relativamente sencillo. Primero, descargas desde la web del desarrollador el firmware FIDO2 específico para tu placa. En el caso de Raspberry Pi Pico, para ponerla en modo de flasheo, debes mantener pulsado el botón de «BOOTSEL» mientras la conectas al USB del PC; así se monta como una unidad de almacenamiento donde puedes copiar el archivo de firmware.

Una vez que la placa está en modo flash, basta con arrastrar y soltar el fichero de firmware proporcionado por el proyecto Pico Fido a la unidad correspondiente. Tras copiarlo, la placa se reiniciará y adoptará el comportamiento definido por ese firmware, que en este caso es el de una llave FIDO2.

Si usas un ESP32 en lugar de un Pico, el proceso cambia un poco: normalmente tendrás que utilizar una herramienta de flasheo en la propia web del proyecto, que, desde el navegador, se comunica con el puerto serie del microcontrolador y graba el firmware adecuado sin que tengas que pelearte con comandos complicados.

Cuando la unidad tiene el firmware instalado, queda un último paso clave: pasar por el llamado Commissioner, una herramienta que sirve para ajustar parámetros como la identidad del dispositivo, de forma que Windows, Android, iOS y las webs lo reconozcan igual que si fuera una YubiKey real u otra marca certificada.

El Commissioner se ejecuta directamente desde el navegador, lo que simplifica mucho las cosas porque no hay que instalar software adicional. Desde ahí se puede configurar el ID del dispositivo, activar opciones como Secure Boot o Secure Lock, y ajustar elementos como los LEDs o el comportamiento del botón, si lo hubiera.

Tras completar esta fase, tu microcontrolador se comportará, a efectos prácticos, como una llave FIDO2 completamente funcional. Podrás registrar la llave en servicios y sistemas que soporten passkeys, WebAuthn o U2F/FIDO2, del mismo modo que harías con una YubiKey comercial, pero habiendo gastado apenas unos pocos euros.

El resultado es una solución muy potente para quien tenga un mínimo de soltura técnica y quiera exprimir al máximo su presupuesto de seguridad. Bien configurada y manteniendo buenas prácticas (tener respaldo, guardar bien las claves de recuperación, etc.), una llave basada en Pico Fido puede convertirse en el centro de tu estrategia de autenticación segura.

Todo este ecosistema de llaves comerciales, soluciones caseras con USB y proyectos de firmware abierto demuestra que hoy es mucho más fácil y barato reforzar la seguridad que hace unos años, y que cualquier persona con un poco de interés puede disponer de una capa adicional de protección contra robos de cuenta, phishing y ataques a contraseñas adaptada a sus necesidades y bolsillo.



from Actualidad Gadget https://ift.tt/NefqtKZ
via IFTTT

No hay comentarios:

Publicar un comentario