Un CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) est un mécanisme de sécurité destiné à distinguer un utilisateur humain d’un programme automatisé, notamment lors de la soumission de formulaires, de la création de comptes ou de l’accès à des services en ligne.
Il repose sur des tests explicites ou implicites visant à vérifier qu’une action a été réalisée par un humain et non par un robot automatisé.
Principe de fonctionnement
Un CAPTCHA peut s’appuyer sur :
- des défis perceptifs (texte déformé, images, sons)
- des défis logiques simples
- une analyse comportementale et contextuelle (navigation, interaction, signaux techniques)
Les CAPTCHA peuvent être :
- visibles (interaction demandée à l’utilisateur)
- invisibles ou passifs (évaluation en arrière-plan sans action explicite)
Exemples de CAPTCHA visibles
- Reconnaître du texte déformé
- Identifier des objets dans des images
- Séparer des lettres ou des formes
- Résoudre une énigme simple
Types de CAPTCHA
- CAPTCHA textuels
- CAPTCHA picturaux
- CAPTCHA audio
- CAPTCHA invisibles ou adaptatifs
- CAPTCHA logiques textuels accessibles
Implémentations connues
- reCAPTCHA (solution propriétaire de Google)
- FunCaptcha (Arkose Labs)
- CAPTCHA propriétaires intégrés à des CDN ou pare-feux applicatifs
Limites et enjeux
Les CAPTCHA traditionnels posent plusieurs problèmes :
- Accessibilité (lecteurs d’écran, troubles cognitifs ou moteurs)
- Expérience utilisateur (friction, abandon)
- Efficacité limitée face aux bots modernes
- Contournement par des services automatisés ou semi-humains
Contournement des CAPTCHA
Les CAPTCHA peuvent être contournés par :
- des outils de reconnaissance automatisée
- des services de résolution humaine externalisée (ex. 2Captcha)
- des scripts exploitant des failles de conception ou d’implémentation
Évolution des CAPTCHA
Face à ces limites, les CAPTCHA tendent à évoluer vers :
- des solutions passives
- des mécanismes adaptatifs
- des approches combinées (comportement, contexte, limitation de débit)
| Solution | Accessible | Friction | Efficacité bots |
|---|---|---|---|
| CAPTCHA image | ❌ | ❌❌❌ | ❌ |
| CAPTCHA audio | ❌ | ❌❌ | ❌ |
| CAPTCHA logique texte | ⚠️ | ⚠️ | ⚠️ |
| Invisible CAPTCHA | ✅ | ✅ | ⚠️ |
| Turnstile / passif | ✅ | ✅✅ | ✅ |
| MFA / lien magique | ⚠️ | ⚠️ | ✅ |