Captcha et numérique responsable : quelles solutions ?

Tandis que le web premier du nom n’était « que » consultatif, le web 2.0 quant à lui, est devenu participatif : espace de commentaires, inscription à des newsletters, envoi de formulaires pour des prises de contact… Les interactions se multiplient et foisonnent sur la toile. Hélas, ces échanges sont perturbés par le spam.

« Completely Automated Public Turing test to tell Computers and Humans Apart ». Derrière l’acronyme Captcha se cache un test de Turing, mis en place pour différencier automatiquement l’homme de la machine.  L’objectif : éviter les spams par les machines sur les formulaires ou lors de la création de comptes et confirmer que l’utilisateur n’est pas une machine.

Généralisés aujourd’hui sur le web, les Captchas présentent bien souvent des problèmes importants en termes de numérique responsable. En passant les Captchas à travers le prisme de la protection des données, de l’écoconception et de l’accessibilité numérique, nous vous proposons d’en étudier les difficultés et de vous proposer des alternatives. 

Captcha & sécurité 

Spam & Captcha : définitions 

Le spam est une communication électronique non-sollicitée, généralement envoyé à un très grand nombre de personnes ou de plateformes. Parmi les principales finalités du spam on trouve des communications publicitaires, commerciales, ou malveillantes (vente de produits ou services, publicité virale, propagande, diffusion de programmes malveillants, etc.).

Sont également considérés comme du spam les envois de formulaires ou les tentatives d’accès à des comptes d’utilisateurs, réalisés par des programmes, de manière automatisée, répétée, continue.

Les Captchas sont des tests générés et interprétés par des machines, dans le but de différencier de manière automatisée un utilisateur humain d’une autre machine. Ils ont vu le jour en réponse à la nécessité de filtrer les communications entrantes, afin d’éliminer les nuisances causées par le spam.

Efficacité & sécurité des Captchas

Comme pour chaque mesure qui voit le jour, des contre-mesures font rapidement leur apparition. D’abord « sous-traitées » à d’autres humains, les méthodes de résolution de Captchas se sont tournées au fil du temps vers l’automatisation, puis l’interprétation via notamment la reconnaissance optique de caractères (OCR), avant de connaître un second souffle grâce à l’essor de l’intelligence artificielle.

S’engage alors une « course à l’armement » entre les spammeurs et les anti-spammeurs, dont la très grande majorité des Captchas n’est pas sortie vainqueur à ce jour. Même pour les grands éditeurs de solutions du secteur, la lutte est âpre : déjà en 2017, les robots de spam parvenaient à traverser 66,6% des reCAPTCHA de Google par exemple.

A ce jour, l’efficacité des captchas est très variable. Certains nécessitent plusieurs heures de travail et du machine learning (classification d’images, reconnaissance optique des caractères) pour être brisés, tandis que d’autres sont traversés pratiquement sans efforts :

  • Bien que nécessitant la divulgation de données personnelles, le filtrage sur la base d’une identité attestée (double authentification sur la base d’un code SMS ou mail par exemple) reste aujourd’hui une des plus efficaces, et est spécialement recommandée pour les applications nécessitant de la sécurité (accès aux comptes, paiements).
  • Les Captchas visuels (images, textes) peuvent généralement être brisés via des scripts spécialisés ne nécessitant que quelques heures de développement pour une personne compétente dans ce domaine.
  • Les solutions plus simples (Honeypot, tests logiques et/ou mathématiques) quant à elles, sont peu efficaces d’un point de vue sécurité tant il est facile de les traverser.

Captcha et données personnelles

La première chose évidente lors de l’étude de solutions Captcha à travers le prisme de la protection des données est d’identifier si des données personnelles sont collectées ou non. A ce titre, l’utilisation d’un Honeypot ou de tests logiques sera par nature conforme dans la mesure où aucune donnée personnelle n’est utilisée. A l’inverse, une solution telle que la demande de confirmation par SMS ou mail sera gourmande en donnée personnelle : pour que le principe de proportionnalité du RGPD soit respecté, une telle solution ne devrait être réservée qu’à des cas où une sécurité maximale est attendue (accès à des données sensibles ou bancaires, par exemple).

L’étude du reCaptcha de Google nous donne ensuite un bon exemple des non-conformités majeures pouvant être rencontrées sur ce type de mécanismes : la réutilisation illicite de données personnelles, ainsi que leur transfert non-encadré hors de l’Union Européenne.

La réutilisation des données personnelles

Le principe de finalité est le principe central du RGPD selon lequel les données personnelles « sont collectées pour des finalités déterminées, explicites et légitimes et ne sont pas traitées ultérieurement de manière incompatible avec ces finalités » (article 5 du RGPD). Concrètement, lorsque nos données personnelles sont collectées sur un site web, nous devons être avertis de l’objectif de cette collecte, et cet objectif doit ensuite être respecté par les destinataires des données personnelles, qui ne doivent pas les réutiliser à d’autres fins.

Le problème avec la solution reCaptcha vient du fait que Google ne collecte pas seulement les données pour différencier humains et robots, mais également dans d’autres buts : hier aider Google Books et Google Street View à identifier respectivement des mots et des numéros de rues, aujourd’hui renforcer les intelligences artificielles de Google. De la sorte, Google peut ainsi utiliser à large échelle le travail des internautes, sans prendre la peine d’obtenir leur consentement ou même de les en informer. On se trouve alors dans un cas de détournement de finalité interdit.

Exemple du reCaptcha de Google
Le reCaptcha de Google n’est pas conforme au RGPD

La CNIL a déjà alerté à deux reprises sur cette non-conformité : le ministère des Solidarités et de la Santé, lors de l’audit de l’application StopCovid (décision MED-2020-015 du 15 juillet 2020) et le ministère de l’intérieur à l’occasion d’une plainte d’un usager, ayant rendu publique la réponse de la CNIL.

Dans sa mise en demeure, la CNIL prenait toutefois acte que la nouvelle version de l’application Stop Covid avait remplacé reCaptcha par « la technologie Captcha développée par la société ORANGE ». Cette dernière est un bon exemple de solution n’opérant pas de détournement de finalité et pouvant être considérée comme conforme.

Remarque : la réutilisation de données personnelles sera considérée conforme si l’éditeur du site en informe correctement les personnes et leur demande leur consentement (en prévoyant une solution alternative en cas de refus). Dans ce cas, néanmoins complexe à mettre en œuvre, préférez une alternative à Google, par exemple avec la solution OCAPI, dans laquelle les données sont utilisées pour préserver et valoriser les archives et le patrimoine français.

Exemple de Captcha Ocapi
Le Captcha OCAPI fourni par Teklia

Les transferts internationaux de données

Suite à la décision d’adéquation de la Commission prise le 10 juillet 2023, les transferts vers les États-Unis sont autorisés. Toutefois, cette décision pourrait bien être annulée par la CJUE, comme l’ont été les deux précédents accords. Le CEPD, le Parlement européen et les associations de défense de la vie privée ont déjà émis de nombreuses réserves.

Le reCaptcha pose un second problème. Nous l’avons vu récemment avec l’utilisation de Google Analytics, la CNIL est très vigilante sur les transferts de données hors Union Européenne existant sur les sites et applications. Concrètement, depuis 2020 et l’arrêt Schrems 2, le transfert de données vers les Etats-Unis est interdit, à moins que des mesures permettent de s’assurer que l’entité américaine n’ait pas accès aux données (chiffrement sans clé de déchiffrement côté américain).

Toujours dans l’exemple du reCaptcha, de nombreuses informations sont transférées à Google lors de son activation :

  • L’adresse IP de l’internaute,
  • La liste de plugins
  • Les cookies implantés par Google au cours des 6 derniers mois,
  • Le nombre de clics effectués,
  • Les objets Javascript de la page,
  • La date, la langue du navigateur, etc.

De la même manière que pour le cas Google Analytics, aucun moyen ne permettra d’encadrer ce transfert. L’utilisation du reCaptcha ne pourra donc pas être conforme, cette solution étant donc à bannir.

Plus généralement, pensez à vérifier si des données sont collectées par le mécanisme Captcha choisi et le cas échéant, où elles sont hébergées.

Captcha et éco-conception

Pour intégrer un Captcha au sein d’un formulaire, il est nécessaire de télécharger des ressources tierces telles que du Javascript, du CSS, mais aussi des images. Les captchas nécessitent également de s’interfacer avec des web services  pour valider ou non la résolution de celui-ci, synonyme de requêtes HTTPs plus ou moins nombreuses selon la solution retenue. 

En outre, du fait de la relative complexité pour résoudre un Captcha, l’utilisateur peut se retrouver ralenti ou bloqué, voire même dans l’incapacité de terminer sa démarche. L’impact de sa navigation est donc augmentée de manière significative, d’autant plus quand elle n’a servi à rien !

Au regard de ces éléments et si l’on travaille sous le prisme de l’éco-conception, les Captchas ne sont clairement pas la solution à privilégier. Alors vers quel système se tourner ? Le honeypot – un simple champ caché de formulaire destiné à tromper les robots –  semble être une alternative intéressante. Coût de l’opération : quelques octets tout au plus contre plusieurs centaines de Ko pour un Captcha !

Vous pourrez trouver plus d’informations sur cet article de Greenspector : Captcha et sobriété numérique.

Captcha et accessibilité numérique

Les Captchas sont souvent pour les utilisateurs en situation de handicap une source de difficulté, c’est d’ailleurs le témoignage que nous livre notre collègue Raphaël, utilisateur pourtant aguerri aux outils informatiques (voir ci-dessous).

Très souvent présents sur des formulaires de contact (comme ici sur le site de Danone) ou de création de compte (comme ici sur le site d’AXA), les Captchas entravent l’accès à la partie connectée d’un site pour de nombreux utilisateurs.  

Ces deux exemples issus de grands groupes français présents au CAC40 illustrent bien les problèmes rencontrés par les utilisateurs handicapés. C’était d’ailleurs un des constats de l’étude menée par l’association WebAIM en 2017 où les Captchas étaient cités comme la première source de difficultés pour les utilisateurs malvoyants ou aveugles.

Témoignage de Raphaël, collaborateur d’Empreinte Digitale et aveugle

Lorsque j’ai commencé à naviguer sur le web, vers la fin des années 90, celui-ci était relativement statique et donc, facilement abordable avec des navigateurs texte tel que Lynx sous DOS. Puis il est devenu de plus en plus interactif ; parallèlement le DOS était laissé à l’abandon au profit de Windows, mauvaise nouvelle pour les personnes déficientes visuelles. L’appréhension des interfaces graphiques et de la représentation du web sous des navigateurs modernes comme Internet Explorer n’était pas aisée, cependant, cela restait relativement manipulable, même pour remplir des formulaires.

Puis sont apparus les Captchas, sans aucune alternative, me causant paradoxalement une grande perte d’autonomie alors qu’au contraire, l’informatique devait m’en apporter. Impossible de créer seul des comptes chez différents fournisseurs, impossible de laisser des commentaires durant une émission de radio par exemple, impossible de porter réclamation pour signaler qu’un site était inaccessible.

Ce qu’exige le RGAA du point de vue des captchas

Pour chaque image utilisée comme Captcha, une alternative textuelle doit permettre d’identifier la nature et la fonction de l’image . Par exemple : “image de test Captcha”. En parallèle, une solution d’accès alternatif au contenu ou à la fonction du Captcha doit-être présente.  Par exemple :

  • Une alternative sonore.
  • Une alternative textuelle sous forme de question simple ou mathématique.

Cette solution permet d’être conforme au RGAA. Toutefois, rend-elle réellement le service accessible ? 

Des captchas audio, bonne ou mauvaise idée ?

Nous l’avons vu ci-avant, de très nombreux  sites font appel à la solution reCAPTCHA de Google, qui consiste à déchiffrer des caractères sous forme visuelle ou audio. Cependant, l’audio diffusé est bien souvent inaudible (tout comme pour les Captchas graphiques, le son est détérioré pour que seul un humain puisse en comprendre la signification), ou dans une langue inconnue de l’utilisateur, voire parfois un bruit blanc. Il faut essayer plusieurs propositions avant d’avoir la chance d’en trouver une exploitable. Il peut également y avoir confusion dans la compréhension du fait qu’un nombre doit être entré sous forme de valeur numérique ou sous forme de mot, par exemple, « 7 » ou « sept ».

Malheureusement, il arrive qu’un grand nombre de tentatives infructueuses amène à un bannissement temporaire et qu’il faille attendre avant de recommencer.

Comme le recommande le W3C, si l’alternative au Captcha graphique est un Captcha audio, il faut que l’utilisateur puisse rejouer le son autant de fois que nécessaire et également contrôler son volume. Si ce choix est fait, il faut donc ajouter un lecteur audio lorsque le son du Captcha est joué, ce qui exclut de fait une solution telle que reCAPTCHA.

D’autres solutions existent

Les Captchas de liste blanche/grise

Des solutions existent via des mécanismes de listes blanches/grises comme HCaptcha ou via un mécanisme s’assurant que les personnes qui consultent le contenu sont bien humaines (une authentification tiers comme Facebook connect par exemple).

En dehors des considérations relatives aux données personnelles, vous êtes dépendant de l’accessibilité de ces plateformes, ce qui n’est pas toujours gagné !

Captchas à gestes

Pour être validés, certains Captchas nécessitent de réaliser un geste, comme déplacer une pièce de puzzle à un emplacement précis. Outre le fait que cela est totalement inutilisable pour les utilisateurs non voyants, ces solutions ne peuvent être manipulées par les personnes naviguant uniquement au clavier ou même ayant simplement des soucis quant à la manipulation précise d’une souris.

Exemple de Captcha puzzle

Ces solutions ne doivent être envisagées en aucun cas.

Les alternatives accessibles

La meilleure alternative aux Captchas, c’est donc de s’en passer ! Si cela n’est pas possible, mieux vaut privilégier une solution totalement transparente pour l’utilisateur comme :

  • Un champ de formulaire caché à laisser vide (technique du Honeypot)
  • Une confirmation via l’envoi d’un code par email ou SMS à recopier dans l’interface
  • Un test sur le temps de remplissage du formulaire (mécanisme de jeton temporaire)
  • Un système de filtrage antispam côté serveur

Conclusion : quelle solution pour un Captcha (ou équivalent) responsable ?

Le tableau ci-dessous présente un récapitulatif des différentes solutions évoquées dans cet article. Chaque critère (sécurité, accessibilité, RGPD, éco-conception) a été noté de 1 à 3 (3 étant la meilleure note).

Récapitulatif des différentes solutions évoquées dans cet article. Chaque critère (sécurité, accessibilité, RGPD, éco-conception) a été noté de 1 à 3 (3 étant la meilleure note).
Type de solution reCaptcha (captcha multimédia) Orange (Live Identity Captcha) Hcaptcha (Liste blanche / grise) Honeypot Confirmation tiers (code SMS ou mail) Test logique (2 + 4)
Sécurité 2 3 2 1 3 1
Accessibilité 1 1 2 3 3 3
Données personnelles 1 3 2 3 2 3
Éco-conception 1 1 1 3 2 3

Évitez d’exiger une preuve d’humanité sans raison valable

Tout d’abord, déterminez si un Captcha est réellement nécessaire. Cela peut sembler une question évidente, mais de nombreux sites utilisent les tests de Turing sans raison valable. « Ne rien faire » est toujours une alternative ! Beaucoup de sites ont fait le choix de supprimer leurs Captchas ou ne les afficher que de manière sélective (par exemple, lorsqu’une adresse IP est suspecte). 

Si j’ai besoin d’un Captcha, quelles solutions implémenter ?

Malheureusement, il n’existe pas de solution « miracle » qui réponde à tous les enjeux (par exemple la solution du Honeypot qui est perfectible niveau sécurité), cependant on pourrait choisir deux solutions :

  • Dans les cas où il n’y a pas de données sensibles, la solution du Honeypot est indiquée car elle est cohérente vis à vis des thématiques suivantes : données personnelles, accessibilité et écoconception. 
  • Dans les cas où il faut plus de sécurité (données de santé ou bancaires par exemple), la mise en place d’une solution via la saisie d’un code reçu par mail ou SMS nous semble la plus appropriée.

Bibliographie