CTAP: protocolo para incrementar la seguridad y comodidad en la Web

Durante décadas cualquier inicio de sesión “seguro” se ha llevado a cabo usando una combinación de contraseña y nombre de usuario. Ya sea en una tienda web, una red social o un sistema de pago, basta con introducir estos datos para acceder. Sin embargo, se ha constatado que esta tecnología no es perfecta. Dado que se recurre a menudo a contraseñas poco elaboradas que se utilizan, a su vez, en diferentes perfiles y cuentas, las claves se convierten en un blanco fácil para los atacantes. Es por este motivo por el que la FIDO Alliance ha unido fuerzas con el World Wide Web Consortium (W3C) para desarrollar un sistema más seguro y cómodo que la protección habitual mediante claves.

El resultado de esta colaboración lo representan FIDO2 y WebAuthn. Sin embargo, hay otro mecanismo a menudo relacionado con el nuevo sistema de protección que resulta menos conocido. Se trata del Client to Authenticator Protocol (CTAP). ¿Sabes a qué se refiere?

¿Qué es el CTAP?

FIDO2 y WebAuthn están destinados a reemplazar el sistema de contraseñas común. Con ellos, en lugar de las claves de acceso habituales pueden usarse datos biométricos, como las huellas dactilares, para proteger las cuentas online. También se puede recurrir a lo que en el contexto FIDO se conocen como autenticadores, estos son, tokens de hardware como las memorias USB. En este mismo contexto, CTAP se constituye como el protocolo encargado de controlar la comunicación entre el token y el sistema del usuario. De este modo, el protocolo determina cómo deben comunicarse entre sí los dos componentes para que se lleve a cabo la autenticación y, en consecuencia, se pueda iniciar sesión.

CTAP está disponible en dos versiones diferentes. La primera versión del protocolo también se conoce como Universal 2nd Factor (U2F) y hace referencia principalmente a la autenticación de dos factores. Por su parte, CTAP2 se utiliza junto a WebAuthn para permitir el funcionamiento de FIDO2. Mientras WebAuthn regula la conexión entre el sistema del usuario y el sitio web, el protocolo CTAP, por su parte, se encarga de regular la conexión entre el autenticador y el PC o portátil del usuario (o navegador, ya que este último es el responsable de la autenticación).

Cómo funciona el protocolo CTAP

Para garantizar que solo las personas autorizadas puedan iniciar sesión en una cuenta online, debe de implementarse un sistema de autenticación. Con FIDO2, se recurre a un dispositivo adicional (token) para que el usuario se identifique en la plataforma de acceso, que sustituye al método habitual y menos seguro de las contraseñas. El autenticador se conecta a través de USB, NFC o Bluetooth al dispositivo utilizado en la navegación. Para que CTAP, WebAuthn y FIDO2 puedan aplicarse en la práctica, es necesario que el navegador soporte los nuevos estándares (las versiones actuales de los líderes del mercado ya han implementado FIDO2).

Nota

Existen también otros autenticadores que ya están integrados en el PC, portátil o smartphone. Se trata de herramientas como FaceID o TouchID, estas son, escáneres de huellas dactilares o cámaras con reconocimiento facial. En estos casos, dado que el hardware no es externo, los componentes de hardware no requieren un protocolo de comunicación separado.

La comunicación a través del CTAP sigue un patrón determinado. En primer lugar, el navegador (u otro software responsable) se conecta al autenticador y le solicita la información necesaria. El sistema verifica la opción de autenticación que ofrece el dispositivo externo. Basándose en esta información, el sistema envía una orden al autenticador. Este devuelve una respuesta o un mensaje de error dependiendo de la orden recibida.

Con este método, los datos de autenticación (como la huella dactilar) nunca salen del área de acceso del usuario y los datos sensibles permanecen en el sistema. El navegador solo envía a través de WebAuthn la confirmación de que el acceso es legítimo, transmisión que a su vez funciona mediante un procedimiento de clave pública. Gracias a CTAP, WebAuthn y FIDO2 se eliminan los ataques man‑in-the-middle y los de phishing, dado que los usuarios ya no tienen que proporcionar contraseñas y nombres de usuario.

Nota

Un autenticador puede ser implementado como FIDO2 Security Key. Se trata de una pequeña memoria USB que funciona como si fuese una llave. Al poseer la clave de seguridad, el usuario demuestra que tiene permiso de acceso a la cuenta online. En este caso, la clave y el sistema se comunican entre sí con el protocolo CTAP.