Cerno es una solución innovadora para la verificación humana que elimina la necesidad de hardware especializado, como capturas de pantalla o audio. En un mundo donde los bots y el fraude online son un problema creciente, Cerno ofrece una alternativa más segura y discreta a los métodos tradicionales como CAPTCHAs, que suelen ser frustrantes para los usuarios y fácilmente eludidos por los atacantes sofisticados. Su objetivo es distinguir entre humanos reales y automatizaciones sin comprometer la experiencia del usuario.
¿Cómo funciona? Cerno utiliza una combinación de técnicas para analizar el comportamiento del usuario mientras interactúa con un laberinto virtual generado dinámicamente. El proceso se divide en varias etapas:
- Prueba de Trabajo (Proof of Work) Adaptativa: Se solicita al cliente que realice un cálculo simple de hash SHA-256 con un prefijo específico (14-24 bits). La dificultad de este cálculo se ajusta dinámicamente basándose en las capacidades del dispositivo del cliente, evitando sobrecargar dispositivos más lentos.
- Generación de Laberintos: Se crea un laberinto único utilizando el algoritmo Growing Tree, con una semilla (seed) que permite al servidor regenerarlo para verificar la validez de la solución del usuario de forma descentralizada. Esto evita la manipulación del laberinto por parte del cliente.
- Análisis del Control del Ratón (Motor-Control Analysis): Cerno extrae 12 características de comportamiento del usuario a partir de los eventos del ratón (pointer events). Algunas de estas características son públicas (como la desviación estándar de la velocidad, la eficiencia del camino, el número de pausas, el tiempo de inicio del movimiento, la desviación estándar del 'jerk' y la entropía de la velocidad angular) mientras que otras son secretas y solo se utilizan en el servidor para evitar que los bots las imiten. Estas características se comparan con líneas base predefinidas para cada laberinto.
- Pruebas Stroop: Se incorporan pruebas Stroop, que miden la interferencia entre el color de una palabra y su significado, en puntos clave de la toma de decisiones dentro del laberinto. El servidor analiza el tiempo de respuesta del usuario a estas pruebas a partir del flujo de eventos.
- Vinculación de Firmas (Signature Binding): Se utiliza criptografía ECDSA para generar un par de claves efímeras. La clave pública se vincula al momento de la emisión del desafío, y la clave privada se utiliza para firmar la solución del usuario, garantizando la integridad de la respuesta.
- Reputación: Cerno construye un sistema de reputación basado en la consistencia del comportamiento del usuario a lo largo de múltiples sesiones, utilizando un identificador de dispositivo estable para asociar las sesiones. Esto ayuda a detectar y penalizar a los usuarios que intentan eludir el sistema.
Casos de Uso: Cerno es ideal para proteger formularios online, cuentas de usuario, transacciones financieras y cualquier escenario donde se requiera una verificación humana robusta. Es especialmente útil para empresas de comercio electrónico, plataformas de redes sociales y proveedores de servicios financieros.
Consideraciones: Aunque Cerno es una solución avanzada, tiene algunas limitaciones. Requiere una conexión a internet para funcionar y su efectividad depende de la calidad de los datos de comportamiento del usuario. Además, los atacantes podrían intentar imitar el comportamiento humano, aunque Cerno está diseñado para dificultar esto. Alternativas incluyen CAPTCHAs más avanzados o sistemas de autenticación multifactorial (MFA), pero Cerno ofrece una experiencia de usuario más fluida y una mayor seguridad.
