Chez Proton, nous travaillons toujours sur des moyens nouveaux et innovants pour protéger la vie privée et les données de la communauté Proton. Parfois, cela signifie développer des services entièrement nouveaux, comme notre programme Proton Sentinel, qui combine l’IA et des analystes de sécurité humains pour accroître la sécurité des comptes des utilisateurs de haut niveau. D’autres fois, cela signifie prendre une vieille idée et lui donner un nouveau tournant, comme notre nouveau CAPTCHA sur mesure.
Dans notre article Qu’est-ce qu’un CAPTCHA ?, nous avons présenté ce que sont les CAPTCHA, comment ils fonctionnent et une feuille de route pour le développement futur afin de garder les CAPTCHA à la pointe en tant que première ligne de défense contre les bots et les spammeurs sur internet.
Chez Proton, nous devons également défendre notre site internet contre les bots et les spammeurs. Cependant, en examinant les options de CAPTCHA disponibles, nous n’étions pas satisfaits, nous avons donc décidé de développer notre propre solution. Notre objectif principal était de fournir un système qui ne compromet pas la vie privée, l’utilisabilité et l’accessibilité, ou la sécurité. Si vous traçiez ces trois priorités sur un graphique, nous voulions que notre CAPTCHA se trouve fermement au centre.
De plus, en construisant notre propre solution, nous pouvions résoudre les problèmes de disponibilité des CAPTCHA pour les membres de la communauté Proton dans les pays avec des restrictions sur Internet (par exemple, l’Iran et la Russie). En raison de nos besoins uniques, Proton CAPTCHA est le premier CAPTCHA au monde avec des technologies résistantes à la censure intégrées.
Notre système offre les fonctionnalités suivantes :
- Conçu avec une approche axée sur la vie privée, entièrement conforme au RGPD
- Optimisé pour les mobiles
- Pas de services tiers
- Prise en charge de l’acheminement alternatif, permettant d’accéder à ceux situés dans des pays restreints
- Défenses multiples :
- Preuve de travail : défis computationnels avec difficulté réglable.
- Défis visuels : plusieurs défis visuels, y compris notre défi de collision de particules inspiré du CERN.
- Détection de bots préservant la vie privée
- Prise en charge des malvoyants
Le différenciateur de Proton CAPTCHA réside dans sa stratégie de défense multicouche, combinant défis visuels et preuve de travail computationnelle. Pourquoi les deux ? Bien que la preuve de travail computationnelle rende plus “coûteux” pour les attaquants de cibler un site internet, cela ne les empêche pas de le faire. Les défis visuels, en revanche, restent efficaces pour stopper la plupart des attaques.
Une stratégie de défense multicouche
Combiner des défis visuels avec preuve de travail computationnelle (PoW) dans les systèmes CAPTCHA crée une barrière multicouche qui offre les avantages suivants :
- Défense en profondeur : Combiner deux types de défis différents fournit une stratégie de “défense en profondeur”. Même si une couche est compromise, l’autre couche continue de fournir un niveau de sécurité.
- Difficulté adaptative : La difficulté de la tâche computationnelle peut être ajustée en fonction des comportements suspects. Par exemple, si un utilisateur échoue plusieurs fois à un CAPTCHA visuel, le PoW suivant peut être rendu plus difficile, ralentissant ainsi les bots potentiels.
- Accessibilité améliorée : Pour les utilisateurs ayant des déficiences visuelles qui trouvent les CAPTCHA traditionnels difficiles, la preuve de travail offre une alternative pour se vérifier tout en assurant un niveau de protection contre les bots.
Preuve de travail
L’initialisation d’un CAPTCHA peut elle-même être un processus serveur lourd en raison de la nécessité de générer le défi visuel impliquant le traitement d’images. Pour se protéger contre les attaques sur ce point d’accès, nous ajoutons également une preuve de travail en tant que ligne de défense pour dissuader les bots qui tentent d’utiliser notre propre système CAPTCHA contre nous.
La preuve de travail devient en général de plus en plus populaire avec mCaptcha(nouvelle fenêtre) et Friendly Captcha(nouvelle fenêtre) émergeant dans cet espace. Cependant, compter uniquement sur des défis computationnels comme stratégie de défense est risqué. Bien que ces défis soient peu intrusifs, ils dépendent fortement de l’appareil de l’utilisateur et de ses capacités (vitesse du processeur ou mémoire). Si un appareil est trop lent, l’expérience utilisateur peut être sous-optimale, car vous pourriez devoir attendre plusieurs secondes que les défis soient terminés. D’un autre côté, des serveurs puissants utilisés par un spammeur n’auraient aucune difficulté à résoudre ces défis relativement rapidement.
Pour résoudre ce problème, nous avons mené des tests approfondis sur une variété d’appareils en interne tout en développant notre système. Cela nous a aidés à calibrer les paramètres de difficulté appropriés pour tous les types d’appareils. Si notre CAPTCHA observe un nombre élevé d’échecs lors des défis visuels, il est conçu pour augmenter le niveau de difficulté du défi de preuve de travail en conséquence.
Ainsi, un botnet qui peut contourner la preuve de travail initiale mais rencontre des difficultés avec les défis visuels sera confronté à des calculs de plus en plus complexes. Cette difficulté croissante rend le processus plus coûteux pour le botnet, mais les personnes normales pourront passer rapidement.
Défis visuels
Le CAPTCHA typique est un défi visuel (ou défi audio pour les malvoyants). Avec Proton CAPTCHA, nous avons construit un système modulaire qui prend en charge plusieurs types de défis. Nous avons cherché à rendre le CAPTCHA au moins un peu plus amusant que les CAPTCHA traditionnels et avons même créé notre propre jeu inspiré du CERN. Pour l’instant, nous en avons deux :
- Un défi d’alignement de faisceau : Inspiré par nos origines de collision de particules au CERN(nouvelle fenêtre), l’objectif est d’aligner deux rectangles représentant une ligne de faisceau (d’où les particules sont tirées) afin qu’ils puissent entrer en collision. L’animation à la fin vaut l’effort, nous vous le promettons.
- Un puzzle intuitif en 2D : Nos puzzles sont construits dynamiquement sur le serveur à partir de nombreuses photographies de base, certaines provenant d’employés de Proton, le reste provenant de Unsplash(nouvelle fenêtre). Cela signifie qu’il est peu probable que vous voyiez le même puzzle deux fois.
Résumé
Proton CAPTCHA a déjà été proposé à des millions d’utilisateurs au cours des derniers mois, avec 100 % des CAPTCHAs d’inscription et de connexion utilisant désormais notre solution interne.
Cependant, ce n’est que le début du voyage. Notre objectif est de fournir un CAPTCHA accessible, utilisable, préservant la vie privée et sécurisé contre même les menaces les plus avancées. Ainsi, vous pouvez vous attendre à voir plus d’innovation dans ce domaine, avec comme objectif de réduire le fardeau du CAPTCHA pour les vrais utilisateurs tout en rendant difficile pour les attaquants d’abuser de nos services.
Nous avons hâte d’entendre vos retours et suggestions ! À l’avenir, nous pourrions également envisager de le rendre disponible pour des tiers qui se soucient de la vie privée via une API. Pour en savoir plus, vous pouvez nous contacter à enterprise@proton.me.