viernes, febrero 24, 2006

Diseñando una Web para todos parte I - Test de Turing para la validación de identidades

Bueno antes de entrar en detalles sobre que es esto del Test de Turing, y como se relaciona con el diseño de la Web, habría que partir explicando qué es la Web. Para ello, que mejor que recurrir a palabras de su creador Tim Berners Lee.

Pero para explicar que es la Web, permítanme partir explicando que es Internet. Para ello me basaré en la FAQ de la W3C.

Internet

Internet es una red de redes, formada por computadores conectados entre si, los cuales se comunican enviando paquetes de información.

Existen diversas aplicaciones (software, programas de computadora), que usan Internet para poder funcionar. Por ejemplo para enviar un email desde cfuenzal@example.com hacia timbernerslee@web.com, la aplicación necesita que el mensaje que le envía CristiAn Fuenzalida a Tim Berners Lee, llegue a destino, para lo cual la red de redes de computadoras, usa sus interconexiones para el envío de este paquete. Es decir, el email necesita de Internet para poder funcionar.

Por otro lado, tal como existe el email, existe otra aplicación llamada la Web.

La Web

La Web, es "un espacio abstracto (imaginario) de información", formada por toda clase de información (documentos, imágenes, videos, etc), la cual está relacionada o conectada entre si. Estas conexiones hacen tan poderoso el concepto de la Web, ya que es posible saltar de un espacio de información a otro, relacionar información, y lo más increíble de todo, es que ello ocurre libremente, es decir, yo no controlo si tu creas un enlace a mi página Web, yo puedo o no crear diferentes enlaces, y "todos podemos acceder a todo el contenido de la Web". (bueno, casi...).

Y tal como en el caso del email, la Web necesita de Internet para poder funcionar, ya que si quiero seguir un enlace, debo acceder a computadores remotos, para lo cual necesito una red de redes de computadores que se comuniquen.

Bueno, ahora que estoy más tranquilo con mi consciencia por haber aclarado puntos claves, vamos a ver que es esto del Test de Turing para la validación. Este documento está basado en una nota de un Grupo de la W3C.

Test de Turing

En pocas palabras, el Test de Turing es un conjunto de "pruebas" diseñadas para diferenciar a un humano de una máquina, y poder saber si una determinada acción fue generada por una persona o un computador.

Dado esto, sería interesante que al validar las identidades de quienes interactúan con algún sistema, pudiéramos saber si es una máquina o una persona la contraparte, para lo que podríamos usar el Test de Turing. ¿Para qué exactamente?.

Existen varias razones, veamos algunas. Cuando hoy en día quieres sacar una cuenta de correo por ejemplo en Yahoo!, notarás que aparte de rellenar tus datos, debes escribir en un casillero el texto que aparece en una imagen (llamado CAPTCHA), en la cual las letras o números están rotados o con rayas encima. La idea de esto, es evitar que programas automatizados también llamados "robots" hagan un mal uso de estos servicios, por ejemplo intentando crear automáticamente miles o millones de cuentas de correo ficticias.

¿Podemos Todos acceder al contenido de la Web?

Un problema de esta técnica para tratar de evitar que individuos malintencionados abusen de los servicios que alguien brinda, es que limita un principio fundamental de la Web. "todos podemos acceder a todo el contenido de la Web".


¿Pero por qué el uso del llamado CAPTCHA resulta en un problema?

Por que tanto para personas ciegas, con problemas severos a la vista, e incluso disléxicos resulta muy difícil o imposible resolver este tema. Lo cual según la encuesta CASEN del año 2000, en Chile representa a más de 230.000 personas, lo que corresponde a la discapacidad más numerosa en nuestro país !!. Así, estamos transformando la Web de todos, a la Web de algunos :-(

Además por otro lado, el usar CAPTCHA puede ser fácilmente burlado o sobrepasado por ejemplo por los spammers, lo que lleva a pensar si realmente es el mejor sistema de protección. Es más aún, proyectos como BREAKING, AICAPTCHA y PWNTCHA han mostrado metodologías donde se puede burlar estos sistemas con un 88% hasta un 100% de aciertos !!.

¿Y que hacer ante esto?

Al menos 2 cosas.

La primera, y la más importante a mi parecer, es tomar conciencia que existimos muchos tipos distintos de personas que accedemos a la Web, y sean cuales sean nuestras capacidades, no deberían existir mecanismos para acceder de manera adecuada a todos los recursos.


Para solucionar el problema particular de la validación de identidad, de manera de verificar que quien accede a un recurso de la Web es una persona y no una máquina, la W3C propone varios caminos, como el uso de puzzles, uso de sonidos, limitar el uso de las cuentas, filtros de spam, sistemas centralizados de administración de identidad, entre otros.