Trusted Codes
BlogOctobre 20264 min de lectureENDEESFRITNL

Ce n’est qu’une application d’authentification ? Même algorithme, autre mission

Même algorithme, autre mission : six différences, et une réponse honnête à la question des 30 secondes.

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.

Sources

  • TOTP : Time-Based One-Time Password Algorithm, RFC 6238
  • HOTP : An HMAC-Based One-Time Password Algorithm, RFC 4226

Vérifiez la personne, pas le canal

Trusted Codes vous donne, à vous et à vos contacts, trois mots partagés qui changent à un intervalle défini. Cela fonctionne sur tous les canaux et ne demande qu’une question.