vignette|Ce CAPTCHA de « smwm » rend difficile son interprétation par un ordinateur, en modifiant la forme des lettres et en ajoutant un dégradé de couleur en fond. Ces procédés peuvent cependant compromettre la reconnaissance des caractères par un humain.

vignette|Un autre moyen de rendre la segmentation difficile est d'imbriquer les lettres les unes dans les autres, comme dans le format de CAPTCHA de Yahoo!.

CAPTCHA (acronyme anglais de ) est une famille de test de Turing permettant de différencier de manière automatisée un utilisateur humain d'un ordinateur. Ce test d'authentification de type défi-réponse est utilisé en informatique pour vérifier que l'utilisateur n'est pas un robot..

La vérification utilise généralement la capacité d'analyse d' ou de son de l'être humain. Un CAPTCHA usuel requiert ainsi que l'utilisateur saisisse au clavier une courte séquence improbable d'une demi-douzaine de lettres et/ou de chiffres visibles sur une distordue (voir illustration) qui apparaît à l'écran. Certains sites web préfèrent afficher une image qui contient une question mathématique. À l'inverse des tests de Turing standards réalisés par des humains, un CAPTCHA est généré et interprété par un ordinateur, et est donc souvent décrit comme étant un .. Ce terme est néanmoins ambigu, dans la mesure où il qualifie aussi, dans un autre contexte, les participants humains qui essaient de se faire passer pour des ordinateurs.

Des contournements du système, notamment par des programmes de reconnaissance optique de caractères (OCR), sont progressivement apparus. Leur faillibilité ainsi que l'obstacle qu'ils représentent, en particulier pour les malvoyants, ont conduit à des évolutions des CAPTCHA qui ne font plus appel à la seule reconnaissance par lecture.

CAPTCHA est une marque commerciale déposée par l'université Carnegie-Mellon.

Origine du mot « CAPTCHA » est un rétroacronyme : le mot se prononce comme capture () en anglais américain et est censé être composé des initiales de , soit en français, « Test public de Turing complètement automatique ayant pour but de différencier les humains des ordinateurs ». Ce terme, qui est une marque déposée par l'université Carnegie-Mellon, a été inventé en 2000 par Luis von Ahn, Manuel Blum et Nicholas J. Hopper de cette université, et par d'IBM. Le nom « captcha » peut également être interprété par (caractères de capture).

Histoire Dès les débuts d'Internet, les utilisateurs ont voulu produire des textes que les ordinateurs ne puissent pas déchiffrer. Les premiers ont été les hackers, qui postaient sur des sujets sensibles dans des forums en ligne, surveillés automatiquement grâce à des mots clefs. Pour contourner ces filtres, ils ont commencé à remplacer les mots par des caractères visuellement ressemblants. Par exemple, HELLO pouvait être remplacé par |-|3|_|_() ou )-(3££0, ainsi qu'une multitude de variantes numériques. Ainsi les filtres à mots-clefs étaient-ils dupés. Ce procédé a plus tard été connu sous le nom de « 13375p34k » (leet speak)..

La première réflexion sur la création de tests automatiques qui pourraient discriminer les humains des ordinateurs dans le but de contrôler l'accès aux services web est apparue dans un manuscrit de Moni Naor de l'institut de science de Weizmann, daté de 1996 et intitulé Verification of a human in the loop, or Identification via the Turing Test. Des CAPTCHA primitifs semblent avoir été développés plus tard, en 1997 chez AltaVista par Andrei Broder et ses collègues, dans le but d'empêcher des bots d'ajouter des sites à leur moteur de recherche.

En recherchant un moyen de rendre leurs images résistantes à des attaques de logiciels de reconnaissance de caractères, l'équipe prend le contre-pied du manuel de son numériseur de marque Brother, qui donnait des recommandations pour améliorer les performances de la reconnaissance de caractères (types d'écritures similaires, fond homogène…). L'équipe a donc conçu des casse-têtes en essayant de simuler ce qui pourrait causer une mauvaise reconnaissance automatique de caractères. En 2000, von Ahn et Blum développent et publient la notion de CAPTCHA, qui comprend tout programme qui peut différencier un humain d'un ordinateur.. Ils en inventent de multiples exemples, dont les premiers ont largement été utilisés (par Yahoo! notamment). Une compétition commence alors entre l'amélioration des robots lecteurs de CAPTCHA et le brouillage des CAPTCHA. Ainsi sont apparus des caractères de plus en plus déformés, l'usage de couleurs et des CAPTCHA animés (dont les caractères se déforment avec le temps). Ces procédés posent néanmoins des problèmes d'accessibilités aux personnes ayant une vision déficiente. Pour remédier à ce problème, certains systèmes proposent de choisir entre identification graphique et sonore.

Afin de contourner les CAPTCHA, certaines sociétés engagent des humains pour décoder les tests. D'autres renvoient le CAPTCHA dans des logiciels permettant d'accéder par exemple à des images pornographiques, annulant ce faisant les coûts de main-d’œuvre et permettant à des robots, grâce à ces réponses, d'envoyer des spams à peu de fraisLes attaques contre le CAPTCHA.

Dans les années 2010, de nouvelles formes de CAPTCHA sont apparues, comme des puzzles (images découpées à rassembler dans le bon ordre). Elles sont par exemple utilisées dans le système de vérification de WeChat. Différents plugin de type puzzle sont disponibles pour les systèmes de gestion de contenu à l'instar de Captcha-garb pour WordPressCaptcha Garb, image puzzle captcha.

Avec le renforcement des législations nationales et internationales en matière d'accessibilité web, les fournisseurs de solutions CAPTCHA ont développé des alternatives aux CAPTCHA traditionnels. Ces générations de CAPTCHA, généralement invisibles à l'utilisateur, utilisent de nouvelles méthodes de vérification telles que la preuve de travail (proof-of-work) ou les challenges JavaScript. Elles fonctionnent sans intervention directe de l'utilisateur, ce qui les rend compatibles avec les technologies d'assistance et les normes d'accessibilité web. Par conséquent, le CAPTCHA n'est plus systématiquement associé à une entrave à l'accessibilité web.

Caractéristiques vignette|Image de texte déformé probablement trop simple à déchiffrer pour les robots actuels. vignette|reCaptcha animé de l'entreprise Google, n'utilisant qu'une case à cocher.

CAPTCHA désigne non seulement une boîte de dialogue, mais aussi l'ensemble du protocole de génération des images et de routage réseau associé à la résolution du test de Turing. Les CAPTCHA sont entièrement automatisés, ne nécessitant que quelques secondes du temps de l'utilisateur.. Le but est de diminuer le coût associé à la détection manuelle de l'identité des utilisateurs et d'augmenter les performances, c'est-à-dire le nombre de formulaires soumis par de vrais humains traités par le site web par unité de temps.

L'algorithme utilisé pour créer un CAPTCHA est souvent public, bien qu'il puisse être breveté comme c'est le cas par exemple pour reCAPTCHA. Ceci a pour but de démontrer que casser ce type de test nécessite la résolution d'un problème difficile en faisant appel à des notions d'intelligence artificielle, plutôt que la découverte des secrets de l'algorithme, qui pourraient être obtenus par décompilation ou un autre moyen.. Le CAPTCHA désigne plus communément la boîte de dialogue située juste avant l'envoi d'un formulaire, constituée le plus souvent d'un fichier image censé être à la fois facilement reconnaissable par un humain et difficilement identifiable par un algorithme ; et d'une méthode de saisie pour que l'utilisateur puisse entrer son résultat. Et moins souvent d'une méthode de renouvellement du fichier, lorsque celui-ci n'est pas même identifiable pour l'homme ; ou d'une méthode d'accessibilité, par exemple une version audio pour personne ayant une déficience visuelle.

Avant même d'envoyer le formulaire au site web, la requête est rejetée si le CAPTCHA n'est pas correctement saisi, ce qui évite aux serveurs hébergeurs d'être victimes d'une attaque par inondation de requêtes comme la DoSÀ quoi servent les CAPTCHA ?.. Cette procédure visuelle est dépassée, en 2017, lorsque Google introduit un CAPTCHA n'utilisant qu'une simple case à cocher. Son fonctionnement est plus complexe que les tests exécutés à partir des fichiers susmentionnés. L'algorithme est gardé plus ou moins secret, mais Google explique analyser l'ensemble du comportement de l'utilisateur précédant le clic. On peut supposer que cela comprend notamment des techniques de suivi de la souris...

La prochaine génération de CAPTCHA ne devrait plus même nécessiter de participation humaine, qui analyserait directement le comportement de l'utilisateur sur la page web consultée..

vignette|centré|Reconnaissance d'image|upright=4

Applications vignette|Le test de Turing utilisé sur Wikipédia est une séquence de lettres brouillées et déformées ; ici l'utilisateur doit reconnaître la séquence de lettres captcha.

Le CAPTCHA est utilisé sur Internet pour prémunir les formulaires contre les soumissions automatisées et répétées réalisées par des robots malveillants. Ils sont utilisés contre le spam lors de l'inscription à des webmails gratuits (dont les comptes pourraient être utilisés par la suite pour l'envoi de courriers non sollicités) et lors de la soumission de messages dans des forums de discussion et des blogs (qui pourraient permettre de faire du référencement abusif). Ils sont aussi utilisés contre l'extraction automatisée de bases de données, contre les tentatives d'attaque par force brute, ainsi que pour la participation à des sondages (dont les résultats pourraient être faussés par des votes automatisés).

Problèmes d'accessibilité avec les CAPTCHA traditionnels Les tests de CAPTCHA basés sur une lecture de texte — ou toute autre tâche de perception visuelle — rendent impossible l'accès aux ressources protégées pour des personnes déficientes visuelles (aveugles ou ayant des difficultés à percevoir des couleurs).. Les outils courants d'aide, comme les lecteurs d'écran, ne peuvent en effet pas les interpréter. Des solutions alternatives sont parfois apportées par les sites web :

certains CAPTCHA font appel à un message audio suivi d'une reconnaissance vocale, autre branche de l'intelligence artificielle qui peut être utilisé comme base pour un test de CAPTCHA. Le développement des CAPTCHA audio semble être en retard par rapport aux tests visuels ; certains nécessitent une compréhension de texte (par exemple, un puzzle logique, des questions ou des instructions pour créer un mot de passe). Peu d'études concernent leur résistance face aux contre-mesures ; quelques tests s’appuient sur la reconnaissance d'images. KittenAuthKittenAuth. est de ce type, qui demande à l'utilisateur de reconnaître un animal (des chatons) dans une série de photographies de différentes espèces (dauphins, chiots, renards, etc.)

Ces procédés excluent toujours les personnes souffrant à la fois d’un déficit visuel et auditifD'après sense.org.uk, environ 4 % des gens au Royaume-Uni ont de sérieuses déficiences visuelles et auditives. D'après le Consortium national d'assistance technique pour les enfants et jeunes adultes aveugles, sourds et muets (NTAC), il y avait aveugles, sourds et muets aux États-Unis en 2004. L'université Gallaudet cite une estimation de 1993 qui donne entièrement aveugles, sourds et muets aux États-Unis. L'estimation de la population aveugle, sourde et muette dépend du degré de handicap retenu dans les définitions.. L'utilisation d'un CAPTCHA empêche ainsi plusieurs individus d'utiliser tous les services basés sur Internet comme PayPal, Gmail, Orkut, Yahoo!, ainsi que de nombreux forums et blogs.