CTAP : protocole pour plus de sécurité et de confort sur Internet
Depuis des décennies, nous utilisons le système de sécurité classique qui est composé d’une combinaison d’un mot de passe et d’un nom d’utilisateur. Si vous souhaitez vous connecter n’importe où sur Internet - que ce soit sur le portail d’un réseau social ou sur une boutique en ligne, vous devez saisir le nom de votre compte ou identifiant, puis un mot de passe secret. Mais il s’est avéré que cette technologie n’est pas aussi parfaite qu’on le supposait : les utilisateurs choisissent en effet souvent des mots de passe pas assez sécurisés, utilisent aussi les mêmes mots de passe pour de nombreux comptes et se rendent ainsi vulnérables face aux attaques et tentatives de piratage. C’est pourquoi l’Alliance FIDO s’est associée au World Wide Web Consortium (W3C) pour développer un système à la fois plus sûr et plus pratique que la traditionnelle protection par mot de passe.
Le résultat de cette coopération est FIDO2 et WebAuthn. Un autre mécanisme souvent mentionné en rapport avec la nouvelle sécurité en ligne est le protocole CTAP ou Client to Authenticator Protocol. Mais que signifie exactement ce terme ?
Qu’est-ce que le CTAP ?
FIDO2 et WebAuthn sont destinés à remplacer l’habituel mot de passe. À la place, les données biométriques comme par exemple une empreinte digitale vont en effet sécuriser les comptes en ligne. Mais un token (jeton) matériel - par exemple sous la forme d’une clé USB - peut également être utilisé pour l’authentification. De tels dispositifs sont appelés des « authentificateurs » dans le contexte du système de la FIDO. La communication entre ce jeton (token) et le système de l’utilisateur est contrôlée par CTAP. Le protocole détermine donc comment les deux composants doivent communiquer entre eux afin d’obtenir une authentification et une connexion réussie sur le Web.
CTAP est disponible en deux versions différentes. La première version du protocole était aussi connue sous le nom d’Universal 2nd Factor (U2F) et se réfère principalement à l’authentification à deux facteurs. CTAP2 sert à la mise en œuvre de l’innovation autour de FIDO2. Le nouveau protocole en combinaison avec WebAuthn garantit le bon fonctionnement de FIDO2. WebAuthn règle la connexion entre le système de l’utilisateur et le site Web sur lequel la personne doit s’identifier. Le CTAP, quant à lui, règle la connexion entre l’authentificateur et le PC ou l’ordinateur portable de l’utilisateur – ou bien le navigateur sur la plateforme, ce dernier étant responsable de l’authentification.
Fonctionnement du CTAP (Client to Authenticator Protocol)
Pour s’assurer que seules les personnes autorisées peuvent bien se connecter à un compte en ligne, il doit exister une forme ou autre d’authentification. Avec FIDO2, un dispositif supplémentaire doit être utilisé à cet effet, avec lequel on peut s’identifier en tant qu’utilisateur d’une plateforme en ligne. Ces jetons ou tokens devraient remplacer les mots de passe peu pratiques et qui sont souvent peu sûrs. Il est prévu que l’authentificateur se connecte à l’appareil réel sur lequel l’utilisateur navigue via USB, NFC ou Bluetooth. Pour que CTAP, WebAuthn et FIDO2 fonctionnent, le navigateur utilisé doit également prendre en charge les nouvelles normes. Par ailleurs, les leaders du marché ont d’ores et déjà implémenté FIDO2 dans les versions actuelles des navigateurs.
Il existe aussi d’autre types d’authentificateurs qui sont directement intégrés dans le PC, ordinateur portable ou smartphone. Il s’agit principalement d’outils de capture de FaceID ou TouchID, scanners d’empreintes digitales ou appareils photo avec reconnaissance faciale. Comme ce matériel n’est pas externe, les composants matériels ne nécessitent alors pas de protocole de communication séparé.
La communication via CTAP suit un certain modèle. Tout d’abord, le navigateur (ou tout autre logiciel responsable) se connecte à l’authentificateur et lui demande des informations. Le système détermine l’option d’authentification proposée par le périphérique externe. Sur la base de ces informations, le système peut alors envoyer une requête à l’authentificateur. L’authentificateur envoie alors une réponse ou un message d’erreur si la requête ne correspond pas aux capacités du périphérique.
Avec cette méthode, les données d’authentification, comme par exemple une empreinte digitale, ne quittent jamais la zone d’accès de l’utilisateur. Les données sensibles restent donc dans le système. Le navigateur n’envoie qu’une confirmation par WebAuthn que l’accès est bien conforme et règlementaire. Cette transmission s’effectue à son tour par le biais d’une procédure à clé publique. Les attaques de l’homme au milieu ne sont donc ici pas possibles. Les attaques de phishing (hameçonnage) deviennent également inutiles avec CTAP, WebAuthn et FIDO2. En effet, si les internautes n’ont plus à fournir de mots de passe et de noms d’utilisateur, ces derniers ne peuvent pas être interceptés et piratés par des hackers.
Un authentificateur peut être implémenté comme clé de sécurité FIDO2. C’est un petit support de stockage amovible (USB) qui fonctionne comme clé. En possédant la clé de sécurité, l’utilisateur prouve qu’il a l’autorisation d’accéder au compte en ligne. Dans ce cas, la clef et le système communiquent entre eux via le protocole CTAP.