Mis en place afin de déterminer si l’utilisateur est un humain et non un bot, les CAPTCHA ont le don d’agacer. Mais savez-vous comment ils fonctionnent et quelle en est leur réelle utilité ? Celle-ci risque bien de vous surprendre. Sélectionner une image représentant un vélo, choisir les cases dans lesquelles on retrouve un passage piéton ou encore réécrire des lettres qui ont été déformées, nous avons tous déjà eu, au moins une fois dans notre vie, affaire à l’un de ses tests sur le web. A priori d’une simplicité effarante, les CAPTCHA ou “Completely Automated Public Turing test to tell Computers and Humans Apart” (test de Turing public complètement automatisé permettant de différencier un utilisateur humain d’un ordinateur) ont été en réalité créés afin d’enrayer la problématique des bots sur le très jeune internet. Ce sont des tests simples, faciles à réaliser en moins d’une dizaine de secondes, et destinés à différencier un utilisateur humain d’un robot. Mais au-delà du calcul réalisé pour faire cette différenciation, les CAPTCHA ont, au fil des années, revêtu une toute autre utilité. Pour comprendre tout cela, il est nécessaire de revenir à ses débuts. Yahoo! et ses 500 courriels par jour Les plus anciens d’entre nous se rappelleront sûrement, non sans émotion, des heures de gloire de Yahoo! à la fin des années 1990 et au début du nouveau millénaire. Initialement créé comme un annuaire Web en 1994, la société s’est rapidement diversifiée en proposant divers nouveaux services, comme des jeux en ligne, une messagerie instantanée, ou encore Yahoo! Mail, l’application web permettant de communiquer par courriels. Crédit : AFP. Le service rencontrera très rapidement un immense succès malgré une limite d’envoi de mails imposée par les développeurs. En effet, les utilisateurs ne peuvent envoyer que 500 courriels par jour. Une limite convenable et difficilement atteignable pour le commun des mortels, mais bien trop restrictive pour les spammeurs, habitués à envoyer des milliers de mails par jour à monsieur et madame Tout-le-monde. Les spammeurs doivent alors trouver une astuce pour contourner cette limite. Ils écrivent ainsi des scripts capables de créer des milliers d’adresses mails gratuites chez Yahoo!. Ils sont alors capables d’envoyer bien plus que les 500 courriels par jour. L’entreprise américaine, pour faire face à ce fléau, se doit de trouver un moyen de différencier un utilisateur humain d’un utilisateur robot. Ils font alors appel à un tout récent algorithme développé par des étudiants de l’université Carnegie Mellon, à Pittsburgh (Pennsylvanie), en 2000. Très vite, le test se révèle payant pour Yahoo!, qui peut ainsi facilement empêcher cette prolifération des bots. L’utilisateur doit alors reconnaître un mot ou une suite de lettres déformée et la retranscrire dans la boîte de dialogue. Il est facile pour l’humain et, a priori, compliqué à résoudre pour un robot. Chaque jour, ce sont des millions de tests qui sont résolus sur Yahoo!. Un chiffre impressionnant qui donne des idées à Yahoo!. Le CAPTCHA pour créer des bases de données Si l’être humain est capable de reconnaître un texte artificiellement déformé, alors pourquoi ne pas lui demander de transcrire un mot difficilement reconnu par un système de reconnaissance optique de caractère ? C’est ainsi qu’est né, en 2005, le reCAPTCHA. Ce sont désormais deux mots qui sont présentés à l’utilisateur pour les reconnaître. L’objectif ?Différencier l’homme d’un bot mais, surtout, aider l’algorithme à reconnaître un mot issu d’un livre ou d’un article de journal et qui a été mal numérisé. L’ordinateur a alors du mal à reconnaître le mot scanné et c’est l’utilisateur qui lui dit de quel mot il s’agit. Inconsciemment et surtout, gratuitement, l’utilisateur fournit de la main d’œuvre pour analyser des termes issus de vieux bouquins ou articles de presse. C’est ainsi qu’une année du New York Times a pu être numérisée en seulement … quatre jours. Au-delà de la numérisation, une gigantesque base de données composée de caractères déformées était créée et allait servir au machine learning et au développement de l’IA. Si le test était, a priori, facile pour 33% des humains qui le réussissent du premier coup, le machine learning vient chambouler tout le concept du CAPTCHA. L’IA devint alors capable de résoudre ce petit test 99,8% du temps. Il fallut alors le revoir à nouveau, et c’est là que Google intervient. reCAPTCHA au service de l’IA En 2009, la firme de Mountain View rachète reCAPTCHA et développe, dès 2014, une sorte de reCAPTCHA 2.0. La filiale d’Alphabet mise à l’époque énormément sur l’IA et sur les véhicules autonomes, à tel point que tous les moyens sont bons pour améliorer l’algorithme de ses voitures d’un nouveau genre. Elle décide alors de se servir de la “main d’œuvre” fournie par les utilisateurs en répondant au CAPTCHA pour se créer une large base de données. Exit les mots à reconnaître, Google propose désormais des images de Google Street View à l’utilisateur qui doit par exemple reconnaître tous les feux rouges ou passages piétons présents dans cette image. On semble alors s’éloigner du but premier du CAPTCHA, consistant à reconnaître un humain d’un bot. De plus, le test se révèle particulièrement frustrant à compléter puisque long à résoudre. Si ce type de CAPTCHA existe encore de nos jours, Google tend à le remplacer par une simple case à cocher et à côté de laquelle est écrite la mention “I’m not a robot”. Mais là aussi, la vraie intention de Google est masquée et bien différente de ce qu’on pourrait penser, puisque ce n’est pas la coche de la case qui est analysée, mais le comportement avant et après celle-ci. Crédit : Google. Google vérifie ainsi si le comportement de l’utilisateur est celui d’un robot ou d’un humain. Est-ce qu’il déplace la souris comme un être humain ? Est-ce que le formulaire est rempli de façon naturelle ou est-il remplit beaucoup trop rapidement pour qu’un humain ne puisse le faire ? Tous ces petits détails sont analysés par Google, à tel point que l’entreprise frôle la limite de respect de la vie privée. En effet, l’historique et les cookies stockés par le navigateur sont également analysés par le reCAPTCHA. Aujourd’hui, la troisième version du reCAPTCHA ne nécessite même plus d’intervention de l’utilisateur et est totalement invisible. Là aussi, de sérieux doutes sur le respect de la vie privée sont émis quant au fonctionnement de ce nouveau système. Basé sur un système de notation de l’utilisateur allant de 0,0 à 1,0, le nouveau reCAPTCHA se base sur les interactions de l’utilisateur avec un site. 0,0 indique que le trafic est généré par un bot, tandis que 1,0 signifie que l’utilisateur a un comportement normal et humain. Ces interactions vont, comme précédemment, des mouvements de la souris, aux clics générés par l’utilisateur ou encore au temps qu’il reste dans l’une ou l’autre section d’un site. Si l’administrateur d’un site émet des doutes quant à l’authenticité d’un utilisateur, il peut lui demander de vérifier son identité avec un mail de vérification ou une authentification à deux facteurs. Un nom particulier Comme expliqué ci-dessus, l’origine du mot CAPTCHA provient directement du test de Turing, ce mathématicien britannique ayant permis de déchiffrer Enigma lors de la Seconde Guerre Mondiale. En 1950, l’homme s’intéresse de près à l’IA et au futur de l’informatique et conçoit le test de Turing, permettant de déterminer si un ordinateur agit comme un humain. Il dit d’ailleurs qu’au début du 21e siècle, “il n’y aurait plus moyen de distinguer les réponses données par un homme ou un ordinateur, et ce sur n’importe quel sujet”. L’ordinateur est donc soumis au test et il le réussit si ses performances ne se distinguent pas de celles d’un humain. On évalue ainsi s’il agit de la même manière qu’un humain agirait. Les réponses données par la machine à ce test ne doivent pas nécessairement être bonnes ou mauvaises, elles doivent être “humaines. Le CAPTCHA travaille dans l’autre sens. Il détermine si un utilisateur humain est en fait un programme informatique ou non, avec une tache brève et facile pour l’homme et complexe pour les ordinateurs. Le nom CAPTCHA, dans sa signification actuelle, est donc totalement incorrect.