A la hora de trabajar con servicios «online» que manejen datos sensibles como puede ser el correo electrónico, el almacenamiento en la nube o cualquier «exchange», es fundamental el utilizar una contraseña lo suficientemente compleja para evitar cualquier posible «hackeo». Pero esto no garantiza una posible intrusión y es ahí cuando entra en juego el añadir un segundo factor de autenticación que amplíe la seguridad de acceso.
Si Veracrypt nos permite cifrar la información de manera muy segura en entornos frágiles, el 2FA nos permite ampliar la seguridad en los accesos.
Tabla de contenidos
¿Que es la autenticación de dos factores (2FA)?
Es una clave adicional para la validación en cuentas o programas que tengan una autenticación habitual de usuario/contraseña, otorgando una seguridad adicional que es muy importante.
2FA lo tenemos en los sistemas habituales como el correo, redes sociales, exchanges, almacenamiento en la nube, etc. Su método de funcionamiento suele estar dentro de los siguientes:
- SMS.
- EMAIL.
- Códigos TOTP (autentificador de Google o Authy).
- Códigos HOTP (Llaves como Yubikey).
De los cuatro métodos habituales, la llave física (HOTP) es el método más seguro al estar involucrado una unidad de hardware y que requiere su robo físico para realizar la intrusión. El resto de métodos pueden realizarse de manera remota.
NOTA: Existe una excepción con el protocolo TOTP, y es que si se utiliza con un móvil fuera de línea y sin acceso a internet, sería un equivalente mucho más accesible y con la misma seguridad que las llaves físicas de HOTP.
FIDO2
Varias entidades privadas (Google, Paypal, Microsoft…) se unen para crear en 2009 la «FIDO Aliance» y establecer un protocolo estándar para la identificación segura y ampliar la seguridad en las autenticaciones con usuario/contraseña. Para ello crean FIDO1, pero a los pocos años mejoran con la versión 2 que utiliza WebAuthn de W3C para la conectividad con el cliente y a CTAP para la conexión entre el generador de claves y el cliente.
En la actualidad esta prácticamente implementada para utilizarse con cualquier navegador o cualquier sistema operativo, ya sea móvil o de escritorio. Aquí una tabla sobre como esta actualmente la situación a fecha de 29/06/2020.
Llaves FIDO2
Existen multitud de llaves que son compatibles con FIDO2 y aquí vamos a examinar algunos de ellos.
Yubikey (Security Key Series)
Yo dispongo de la Yubikey versión NFC, que es la que voy a comentar. El funcionamiento es simple, es compatible con todas las webs que permiten identificación FIDO2 o U2F, además funciona con NFC en el móvil si este lo trae y el navegador es compatible.
Es muy sencillo de utilizar y la calidad del producto es buena. El acceso es muy rápido cuando quiero identificarme con el ordenador o el móvil.
- Precio: 30€-40€
- Protocolos: FIDO2 y U2f.
- Conectividad: USB y NFC.
- Activación: Pulsando el botón metálico con la llave.
- Otros usos: No
HYPERFIDO Pro MINI
Otra llave similar a la yubico pero de un precio más asequible y con casi la misma funcionalidad. Únicamente tiene conexión USB y es compatible FIDO2 y U2F.
En la web oficial existe un software que permite resetear la clave que trae y limpiar lo que trae. Una opción recomendable por funcionar bien y ser muy asequible.
Otra llave similar a la yubico pero de un precio más asequible y con casi la misma funcionalidad. Únicamente tiene conexión USB y es compatible FIDO2 y U2F.
- Precio: 10€
- Protocolos: FIDO2 y U2f.
- Conectividad: USB.
- Activación: Pulsando el botón de la carcasa.
- Otros usos: No
Trezor ONE y Trezor T
Tanto la versión ONE como la versión T permiten utilizarse como autenticadores de FIDO2, lo cual añade una funcionalidad extra al uso de la billetera. No necesita instalarse nada adicional y lo trae instalado por defecto.
NOTA: El trezor One es el único de los evaluados que no permite la introducción del PIN desde el propio dispositivo y es necesario ir primero a la página de trezor.io para hacerlo. Hasta que se haga esto, no se puede utilizar para autenticar ni para añadir a una cuenta.
- Precio Trezor ONE: ~60€
- Precio Trezor T: ~180€
- Protocolos: FIDO2 y U2f.
- Conectividad: Sin conexión directa, necesita de cable USB.
- Activación Trezor One: Aceptando en botón.
- Activación Trezor T: Aceptando en la pantalla
- Otros usos: Billeteras de criptoactivos (bitcoin, ethereum, litecoin).
Ledger S y Ledger X
Las versiones S y X también permiten usarse como autenticadores de FIDO2, pero en este caso es necesario instalar una aplicación en los dispositivos para su uso, ocupando espacio del propio dispositivo.
- Precio Ledger S: ~60€
- Precio Ledger X: ~120€
- Protocolos: FIDO2 y U2f.
- Conectividad: Sin conexión directa, necesita de cable USB. BT en la versión X.
- Activación Ledger S/X: Aceptando con botones.
- Otros usos: Billeteras de criptoactivos (bitcoin, ethereum, litecoin).
Para instalar U2F en Ledger S y Ledger X es necesario utilizar la suite de Ledger y añadir la aplicación de manera manual.
Soporte Ledger: https://support.ledger.com/hc/en-us/articles/115005198545-FIDO-U2F
Webs compatibles con FIDO2
Podría hacer un listado de las webs más habituales, pero existe una web Open Source con actualizaciones de webs de manera constantes y de los distintos 2FA que utilizan. También permite añadir una web que no aparezca en ella desde su Github. Muy interesante:
https://twofactorauth.org
https://github.com/2factorauth/twofactorauth
Como activar FIDO2 en nuestras cuentas
No todas las webs permiten el uso de llaves de seguridad FIDO2, pero con la web comentada anteriormente es muy sencillo encontrar la que nos interese y añadir nuestro dispositivo. Las opciones de 2FA suelen aparecer en la zona de seguridad y allí en alguna sección de añadir un nuevo autenticador de dos pasos.
Siguiendo los pasos, aparecerá una ventana que pide que se introduzca la llave USB y se permita el enlace. En las llaves USB Yubico y HYPERFIDO basta con pulsar el botón y se añadirá a la web. En las billeteras Trezor/ledger se debe hacer como se indica a continuación:
- Trezor T: Conectar por USB > introducir el PIN > un mensaje preguntará si añadimos la llave.
- Trezor One: Conectar por USB > Ir a web wallet.trezor.io > introducir PIN > volver a la web donde se añade la llave > un mensaje pedirá confirmar enlace.
- Ledger X/S: Conectar por USB > introducir el PIN > seleccionar la aplicación U2F > un mensaje pedirá confirmar enlace.
Ejemplo de como añadir una llave en GMAIL
- Ir a: Gestionar tu cuenta Google > Seguridad.
- En el Panel: Iniciar sesión en Google > Verificación en dos pasos.
- Pulsar en «Añadir llave de seguridad» y seguir los pasos que se indiquen.
Ejemplo de como añadir una llave en DROPBOX
- Ir a: Configuración > Seguridad.
- En Seguridad: Activar Verificación en dos pasos.
- En llaves de seguridad, pulsar en «Añadir» si no hay o en «Editar» si existen.
Aparecerá una ventana para añadir la llave y posteriormente una como la siguiente imagen. Basta seguir los pasos y una vez introducida la llave comprobarla con otro navegador.
Finalizando
Las llaves FIDO2 son una muy buena opción para añadir seguridad a nuestros accesos, pero como toda buena seguridad, añade dificultad por la necesidad de disponer de el cuando se requiera esta autenticación, y no siempre es posible disponer de ella.
Mi consejo es tenerla junto con otras llaves o con el método TOTP si esto no es posible, pero manteniendo una buena seguridad en los códigos HOTP (autenticador Google o el Authy).
En cuanto a recomendación de compra, si dispones de una de estas billeteras te ahorras los costes de compra. En cuanto a consejo de compra, el HYPERFIDO Pro MINI se puede encontrar de manera online a algo menos de 10€ y su funcionamiento es francamente bueno, llevo usándolo meses sin problema.
Enlaces
- FIDO Alliance: https://fidoalliance.org/fido2
- Yubico: https://www.yubico.com
- Hypersecu: https://www.hypersecu.com
- Trezor: https://trezor.io
- Ledger: https://www.ledger.com
- Twofactorauth: https://twofactorauth.org