
¿Qué es un Captcha?
Cuando se habla de captcha se hace referencia a un instrumento de protección contra el spam que tiene como objetivo defender de abusos a las páginas web interactivas filtrando entradas generadas automáticamente. Su nombre es en realidad un acrónimo de “Completely automated public Turing Test to tell computers and humans apart”, que podría traducirse al castellano como «Test de Turing público y completamente automatizado para diferenciar a los humanos de los ordenadores».
Ya en 1950, el informático Alan Turing propuso un procedimiento para poner a prueba el raciocinio de la inteligencia artificial. Según el pionero de la informática, una máquina estaría capacitada para imitar al intelecto humano si lograra conversar digitalmente con personas sin que estas pudieran detectar que su interlocutor es en realidad un ordenador.
El Test de Turing encontró su lugar en la historia de la investigación de la inteligencia artificial desde entonces y solo fue superado en 2014, cuando el superordenador Eugene Goostman consiguió “engañar” a más del 30 por ciento de un jurado independiente durante al menos cinco minutos, haciéndole creer que chateaban con un adolescente ucraniano con afición a los conejos de indias y a los textos políticamente incorrectos del rapero Eminem.
Esto, que podría sonar a ciencia ficción, constituye hoy uno de los problemas centrales de Internet. Para las páginas web interactivas es crucial poder diferenciar a los usuarios que visitan la web de los programas informáticos en un proceso de verificación (human verification) en el cual unos captchas cada vez más refinados han de contribuir a detener las entradas automáticas y las peticiones de los robots de spam y de clics, comúnmente denominados bots.
¿Cuál es la finalidad de los captchas?
El ámbito más común de actuación de los captchas es el de las aplicaciones web que solicitan datos a los usuarios. Imaginemos el caso de una tienda electrónica que permite a sus clientes evaluar sus compras con comentarios. La prioridad de la tienda probablemente es garantizar que las entradas han sido escritas realmente por sus clientes o, al menos, por usuarios humanos. Sin embargo, a menudo lo que se encuentra es lo contrario, comentarios generados automáticamente que en el peor de los casos incluyen un enlace a alguna tienda de la competencia.
Esto podría evitarse protegiendo los formularios online con un captcha que obligue a los usuarios a verificar su naturaleza humana antes de poder enviar su comentario. Estos captchas se encuentran hoy en casi todos los ámbitos en los cuales es necesario diferenciar a las personas de los bots, entre ellos formularios de registro para servicios de correo electrónico, boletines, foros y redes sociales, pero también encuestas online o servicios de buscadores web.
A lo largo de todo este tiempo se han ido desarrollando métodos diversos con los cuales llevar a cabo esta human verification. No obstante, se considera aceptado que ningún procedimiento garantiza una seguridad absoluta ante el spam y que, en cualquier caso, es la usabilidad la que sale peor parada.
Diferentes tipos de captcha para diferenciar humanos y bots
El concepto que sustenta al captcha se basa en la suposición de que a pesar del avance que caracteriza a la inteligencia artificial, aún sigue habiendo diferencias en cuanto a la capacidad racional del hombre frente a la de los programas informáticos. Por ello, cada captcha incluye al menos una tarea que mientras debería poder ser resuelta por una persona sin gran dificultad, sitúa a una máquina ante una barrera insalvable, al menos en teoría.
Los instrumentos de verificación basados en captchas pueden diferenciarse a grandes rasgos de los basados en texto, gráficos, auditivos, matemáticos, lógicos y lúdicos.
Captchas basados en texto
La forma más antigua de verificación online es el captcha de texto y es aquel en el cual se muestran palabras conocidas y combinaciones alfanuméricas distorsionadas de tal manera que resultan apenas reconocibles. Para superar esta prueba, el usuario ha de descifrar de qué palabra o secuencia se trata y escribirla con el teclado en el campo de respuesta. Los procedimientos más clásicos utilizados en la creación de captchas de texto son Gimpy, ez-Gimpy, Gimpy-r y Simard’s HIP.
Esta manipulación se lleva a cabo en varios pasos, en los cuales los caracteres que forman parte de la secuencia se deforman, se escalan, se giran o se encogen y se combinan con elementos gráficos como líneas, arcos, puntos, degradados de color o ruido de fondo. La siguiente imagen muestra una selección de distorsiones posibles de texto que pueden encontrarse en Internet.
Los captchas solo pueden representar una protección fiable contra spam cuando el enigma constituye un obstáculo insalvable para los programas de reconocimiento automático de textos, aunque en la práctica esto significa recurrir a una distorsión que también afecta a la comprensión lectora de las personas.
Para algunos usuarios, reconocer la secuencia SGPKDL podría resultar difícil si tenemos en cuenta que la D está distorsionada de tal forma que fácilmente puede confundirse con una O. Mientras que hay casos en que cabría preguntarse si la imagen supone realmente un obstáculo para un software de reconocimiento de texto, la transformación en esta imagen va tan lejos que incluso un usuario humano podría verse desafiado, especialmente si padece de algún tipo de discapacidad visual. Precisamente por este motivo un captcha bien implementado ofrece la posibilidad de omitir la imagen actual y saltar a una siguiente que quizá es menos ambigua. Es fácil imaginarse el “entusiasmo” que embarga a los internautas cuando se topan con estos captchas mientras navegan por la red de redes.
Esto ha propiciado el desarrollo y la consolidación de numerosas alternativas a la tecnología de captchas de texto. Entre ellas destaca especialmente la propuesta de Google reCAPTCHA: en lugar de generar secuencias aleatorias de caracteres, reCAPTCHA se sirve de la base de datos de proyectos de digitalización como Google Books o Google Street View. Así, los usuarios reciben en su monitor fragmentos de nombres de calles, de números de viviendas y de señales de tráfico, así como de textos digitalizados, que han de reconocer y escribir con el teclado. El software ofrece siempre dos elementos, uno conocido y ya confirmado, y otro aún sin confirmar. En principio, los usuarios solo han de reconocer el primero para superar el captcha con éxito, pero aquellos usuarios que también descifran el segundo entran a formar parte entonces del programa de digitalización de Google. Las respuestas se verifican sobre una base estadística: los elementos a descifrar se presentan siempre a varios usuarios y la respuesta más frecuente se considera la correcta.
Captchas gráficos
Los captchas basados en imágenes constituyen una alternativa a los captchas de texto: en lugar de presentar al usuario una secuencia alfanumérica alterada, los captchas visuales se apoyan en elementos gráficos comprensibles a primera vista. Suele recurrirse para ello a imágenes con motivos cotidianos colocadas en mosaico, donde el usuario tiene la misión de pinchar en un motivo específico, identificar motivos similares o descubrir una relación semántica entre ellos —como aquellos en que se trata de seleccionar todas las imágenes donde aparezca una taza de café.
Google también utiliza captchas compuestos por una imagen cuadriculada donde el usuario ha de hacer clic sobre áreas determinadas, por ejemplo, en los campos donde se visualiza una señal topográfica. A diferencia de como ocurre con los captchas de texto, aquí basta con hacer clic sobre los fragmentos correctos para superar la prueba.
La mayoría de usuarios son capaces de resolver este tipo de enigmas gráficos de un solo vistazo, pero la capacidad de los programas informáticos para reconocer un motivo, clasificarlo semánticamente y relacionarlo con motivos similares aún está hoy muy limitada. Esto hace que los captchas basados en imagen sean considerados mucho más eficaces que los métodos basados en texto.
Captchas auditivos
Los captchas de texto e imagen entran en la categoría de métodos gráficos de verificación. Para un usuario superar esta prueba depende de su habilidad para reconocer la información que se le presenta y aquellas personas con visión limitada o incluso con alguna minusvalía pueden verse enfrentadas a un completo desafío, razón por la cual aquellos captchas que únicamente apelan a uno de los cinco sentidos demuestran una escasa usabilidad y son considerados no accesibles. En consecuencia, al implementar captchas en una web es conveniente tener en cuenta la posibilidad de que el método escogido de verificación facilite encontrar la solución por diversas vías.
Con la intención de permitir el acceso a contenido protegido por captcha también a aquellos con peor vista, los métodos gráficos suelen ir acompañados de los denominados captchas de audio o captchas auditivos. Para ello, a menudo se implementa un botón con el cual el usuario puede alternar a la versión sonora de una secuencia de cifras que a continuación puede escribir en el campo para la respuesta.
Para garantizar un alto grado de usabilidad, la grabación debe ser comprensible y adaptada al idioma del usuario, algo que, aunque lógico a simple vista, no siempre sucede.
Problemas matemáticos y captchas de lógica
Otra alternativa que también tiene en cuenta las dificultades de aquellos menos avezados visualmente utiliza problemas de álgebra o adivinanzas intelectuales que deberían impedir la entrada de bots en el sistema. Una operación sencilla como la que se muestra a continuación se puede leer con un lector de pantallas de forma que no excluye a los internautas con dispositivos de salida no visuales.
Estas sencillas operaciones matemáticas presuponen una educación básica, pero no representan un obstáculo real para los bots, sabiendo que precisamente en matemáticas los ordenadores superan a las personas. Esto ha llevado a acompañar a este tipo de captchas de diferentes formas de distorsión gráfica, de forma que la accesibilidad de los lectores de pantalla se ha visto perjudicada. Para ponérselo aún más difícil a los programas, han aparecido captchas que exigen el resultado de la operación de cálculo en su forma numeral o en los cuales se ha de introducir una sola cifra en el campo de respuesta (“Multiplica 7 x 7 y escribe la primera cifra del resultado en el campo de respuesta”: el resultado de la operación es 49, pero la solución al captcha 4).
Otra variante la constituyen los captchas que utilizan tareas de lógica o preguntas de cultura general, a menudo con una cierta relación temática con la aplicación web en cuestión.
Las preguntas lógicas o que presuponen ciertos conocimientos pueden parecer triviales, pero ante ellas los bots clásicos a menudo se ven superados porque aún no tienen la capacidad de establecer conexiones de este tipo. Así, algunas preguntas podrían ser:
- ¿De qué color es el caballo blanco de Santiago?
- ¿En qué ciudad se encuentra este monumento (Coliseo, Torre Eiffel, Big Ben, etc.)?
En ocasiones, los captchas de este tipo se programan de tal forma que se aceptan varias variaciones, por ejemplo, en mayúsculas o minúsculas.
Captchas lúdicos
Los webmasters preocupados por no espantar a sus visitas con captchas crípticos o complicadas operaciones matemáticas pueden apuntarse a la tendencia actual a la gamificación: proveedores como SweetCaptcha o FunCaptcha ofrecen juegos entretenidos que pueden integrarse en captchas.
SweetCaptcha confía en la capacidad asociativa de las personas y plantea tareas de clasificación de gran sencillez a las visitas de una web, como en el siguiente ejemplo, en el cual basta con trasladar las baquetas al tambor para demostrar la calidad humana del usuario.
SweetCaptcha utiliza así una variación del clásico captcha con rompecabezas, que los usuarios han de resolver trasladando elementos de una imagen a su posición correcta.
En el caso de FunCaptcha, sin embargo, todo da vueltas en torno al círculo: solo cuando el perro de la imagen se encuentra en la posición correcta el software se considera satisfecho y deja pasar al usuario.
Si bien no es esto lo que llamaríamos “pasárselo en grande”, ciertamente se trata de una forma mucho más entretenida de resolver un enigma que descifrar un fragmento distorsionado de texto.
Cuando un usuario marca la casilla “No soy un robot”, el programa comprueba en un segundo plano qué probabilidad hay de que se trate de una entrada automática. Para ello Google utiliza un análisis avanzado de riesgos, aunque la empresa no revela cuáles son los pasos que sigue este algoritmo para realizar esta comprobación. En la red, sin embargo, se discuten los siguientes aspectos:
- Cookies
- Dirección IP
- Movimientos del ratón en la zona de la caja
- Duración de la estancia
Si el software concluye que efectivamente quien ha pinchado en la casilla es una persona, le deja pasar sin dilación. Solo cuando el resultado del análisis apunta a un elevado riesgo de spam entra en juego un captcha. El noCAPTCHA sería, de este modo, una especie de prueba precedente que evaluaría si la verificación de Turing es necesaria o puede omitirse. Esto, que satisface en cuanto a accesibilidad web, presenta problemas de privacidad, porque al utilizar el nuevo reCAPTCHA, los webmasters están enviando automáticamente a Google los datos de movimiento de sus usuarios. En consecuencia, estos deberían ser avisados explícitamente en la declaración de protección de datos del empleo de software de terceros como prevención antispam.
En este contexto resulta llamativo que para este nuevo reCAPTCHA Google haga referencia a las condiciones generales de uso y a una protección de datos global que también se aplican para el resto de servicios del buscador. Cabe pensar, por esto, que la empresa también utiliza todos los datos que recolecta de esta forma para mejorar sus prestaciones (en publicidad, por ejemplo) más allá de la prevención del spam. Si te interesa esta temática, en un artículo del magazín digital Business Insider se aborda esta problemática en profundidad.
En la guía para desarrolladores, Google facilita un manual detallado para integrar un reCaptcha invisible en una página web, la evolución más reciente del No CAPTCHA reCAPTCHA que no necesita una caja de verificación para ser efectivo contra el spam.