Quand ils découvrent Trusted Codes, les lecteurs techniques disent souvent : « C’est donc une application d’authentification. » Ils ont à moitié raison. Au fond, les deux utilisent le même algorithme. Mais un couteau et une fourchette sont tous deux en métal, et personne ne s’en sert pour la même chose.
Ce qui est identique
Les applications d’authentification comme Google Authenticator utilisent TOTP, l’algorithme de mot de passe à usage unique basé sur le temps, publié comme norme ouverte RFC 6238. Un secret partagé et l’heure actuelle entrent, un code court sort. Trusted Codes utilise exactement cette norme, avec la même fonction HMAC. Nous n’avons pas inventé notre propre cryptographie, et c’est voulu : TOTP est étudié et utilisé depuis plus de dix ans.
La différence, c’est tout ce qui l’entoure.
1. Il fonctionne entre personnes, sur tous les canaux
Une application d’authentification protège une seule porte : l’accès à un site web. Le code passe de votre téléphone dans un formulaire, et un serveur le vérifie.
Trusted Codes fonctionne entre deux personnes. Le code passe de l’une à l’autre : prononcé au téléphone, dit en visioconférence, tapé dans une messagerie, écrit dans un e-mail, ou demandé à la porte d’entrée. Imaginez un mot de passe valable dans toutes les situations, là où l’application d’authentification n’ouvre qu’une seule porte.
2. Des mots plutôt que des chiffres
Une application d’authentification affiche « 482 913 ». Trusted Codes affiche trois mots, par exemple « rivière bougie objection ».
Les chiffres sont faits pour les machines. Lisez « 482 913 » sur une mauvaise ligne téléphonique, sous pression, et comptez combien de fois votre interlocuteur note « 482 930 ». Les mots sont plus faciles à dire, plus faciles à bien entendre et plus faciles à garder en tête les quelques secondes qu’il faut pour les comparer. C’est pour cela que les sentinelles demandent un mot de passe, pas un code PIN.
Les mots sont aussi plus robustes que les chiffres. Six chiffres permettent 1 000 000 de combinaisons. Trusted Codes prélève 33 bits du même algorithme et les fait correspondre à trois mots tirés d’une liste de 2 048. Cela donne 8 589 934 592 combinaisons. Une seule tentative a environ une chance sur 8,6 milliards de tomber juste.
Les listes de mots existent en neuf langues : anglais, allemand, français, espagnol, italien, néerlandais, portugais, latin et espéranto. Les deux dernières servent aux équipes qui ne veulent dépendre d’aucune langue nationale. La langue change les mots que vous voyez, pas la difficulté à les deviner.
3. Le code vous dit qui parle
Avec une application d’authentification, vous devez savoir à l’avance à quel compte appartient un code. Le code lui-même ne dit rien.
Avec Trusted Codes, cela fonctionne aussi dans l’autre sens. Chaque membre d’une connexion a ses propres mots, et ils sont différents dans chaque connexion. Si quelqu’un vous donne trois mots, vous les tapez ou les dictez, et l’application vous montre de qui il s’agit : « Anna, projet M&A ». La recherche se fait sur votre téléphone. C’est comme l’affichage du numéro appelant, mais qu’aucune personne extérieure ne peut falsifier.
4. Aucune connaissance technique requise
Pour partager un code d’application d’authentification avec une équipe, il faudrait générer un secret, le transformer en QR code, le distribuer de façon sûre à chacun et recommencer pour chaque nouvelle personne. Seul un développeur ferait cela, et presque personne ne le fait.
Avec Trusted Codes, vous créez une connexion, par exemple pour une opération, pour votre équipe financière ou pour tous les paiements de plus de 50 000 €, et vous invitez les personnes. L’application fait le reste. Une application d’authentification vous donne les pièces d’une serrure, pour l’accès à un seul site web. Trusted Codes vous donne la serrure montée, et vous n’avez plus qu’à distribuer les clés.
5. Conçu pour les groupes
Un code d’application d’authentification appartient à une personne et à un compte. Une connexion Trusted Codes peut réunir deux personnes ou toute une équipe. Par défaut, chaque membre voit ses propres mots pour cette connexion, et chacun peut vérifier n’importe quel autre membre. Le conseil d’administration, l’équipe financière et l’avocat externe peuvent former une seule connexion, et une demande de paiement au sein de ce groupe se vérifie en quelques secondes.
6. Les mots sont calculés sur votre appareil
Comme une application d’authentification, Trusted Codes calcule les mots sur le téléphone. Il ne demande pas à un serveur les mots du jour : la vérification fonctionne donc aussi sans réseau, dans un ascenseur, à l’étranger ou dans un bâtiment sans couverture.
« Mais un code d’authentification change toutes les 30 secondes »
C’est l’objection la plus fréquente, et elle mérite une réponse directe.
Un code d’accès change toutes les 30 secondes parce qu’un formulaire d’accès peut être attaqué par une machine : un script peut essayer des milliers de codes, et un code hameçonné peut être réutilisé immédiatement. Une fenêtre courte limite ce risque.
Une conversation entre personnes est une autre situation. Personne ne peut essayer des milliers de codes pendant un appel. L’attaquant a une seule tentative, et une mauvaise réponse met fin à l’appel. Pour réussir, il devrait connaître les mots actuels de cette connexion précise, de cette personne précise, avant qu’ils ne changent. Et un code de 30 secondes serait inutilisable entre personnes : le temps de demander « quel est notre code ? » et que l’autre ouvre l’application, il aurait déjà changé.
L’intervalle de Trusted Codes se mesure donc en heures, pas en secondes. Pour les connexions, il peut être réglé avec les offres Business de six heures à 30 jours, selon la sensibilité de la relation. Les Beacons, que le personnel active pendant un appel avec un client, changent en quelques minutes. Et une tentative au hasard n’a toujours qu’une chance sur 8,6 milliards.
En bref
L’algorithme est le même ; la mission est différente. Une application d’authentification prouve à un serveur que vous ouvrez une session. Trusted Codes prouve à une personne que vous êtes bien vous, sur n’importe quel canal, avec des mots que vous pouvez dire à voix haute.