HomeBlogCode OTP: qu'est-ce que c'est, comment ça marche et pourquoi c'est sûr
Aperçus de l'API

Code OTP: qu'est-ce que c'est, comment ça marche et pourquoi c'est sûr

Mot de passe à usage unique (OTP): qu'est-ce que c'est, comment est-il généré et pourquoi est-il crucial pour la sécurité en ligne

OTP

Le code OTP est un mot de passe à usage unique généré de manière aléatoire, utilisé en association avec un autre mot de passe dans l’authentification à deux facteurs pour renforcer la sécurité des services en ligne.

L’OTP peut apparaître sur un écran qui se met à jour régulièrement ou être partagé avec l’utilisateur via SMS, email ou applications dédiées. Dans tous les cas, le code OTP ne peut être utilisé qu’une seule fois, après quoi il devient inutilisable.

Qu’est-ce que le code OTP?

L’OTP (one-time password) est un mot de passe à usage unique permettant d’accéder à des plateformes informatiques, de vérifier son identité et d’autoriser diverses opérations en ligne, de la création d’un nouveau compte à la réalisation d’un virement bancaire via home banking.

Aussi connu sous le nom d’OTAC (one-time authorization code), le code OTP est une combinaison aléatoire de chiffres qui permet de dépasser les limites des mots de passe «statiques», traditionnellement exposés à différents types d’attaques informatiques.

Le code OTP est souvent utilisé avec un autre mot de passe comme composant fondamental de la soi-disant authentification à deux facteurs (2FA). L’exemple le plus classique est l’accès à un service en ligne où, après avoir saisi nom d’utilisateur et mot de passe, l’utilisateur doit entrer un OTP reçu par SMS, email ou application sur son smartphone.

L’OTP, qui ne peut être utilisé qu’une seule fois et dont la validité est souvent limitée dans le temps, garantit que l’opération est effectuée par la personne possédant un certain dispositif (le token physique ou le smartphone où l’OTP est reçu) ou connaissant certaines informations, comme un code PIN.

Comment fonctionne le code OTP?

Pour être sûr, le code OTP doit être impossible à deviner ou à déduire, c’est pourquoi il s’agit toujours d’une séquence aléatoire, généralement numérique, transmise par des canaux sécurisés comme SMS ou tokens.

Comment est généré un code à usage unique? En termes simples, le code OTP est le «résumé» d’une longue série de calculs basés essentiellement sur deux données d’entrée: la première est toujours une clé secrète partagée entre le serveur et l’utilisateur (identifiants, code PIN, etc.), la seconde peut varier.

Les algorithmes de génération de l’OTP peuvent se baser sur le mot de passe précédent, sur la synchronisation entre le serveur d’authentification et l’appareil de l’utilisateur (et donc sur l’heure), ou simplement sur un nombre aléatoire.

Dans tous les cas, les mots de passe à usage unique résultent d’algorithmes complexes et non réversibles, c’est-à-dire qu’il est impossible de retrouver l’entrée initiale à partir de la sortie. Lorsqu’on utilise un code OTP pour confirmer une opération ou accéder à un service nécessitant une authentification à deux facteurs, on ajoute donc un niveau de sécurité supplémentaire grâce à deux éléments: l’aléa du résultat et la complexité des calculs nécessaires pour l’obtenir.

TOTP et HOTP: définitions et différences

Comme mentionné, l’OTP est généré à partir de deux données : une clé secrète partagée et un second facteur variable. Ce second facteur peut être basé sur la synchronisation temporelle de deux dispositifs, un compteur suivant le nombre d’itérations ou une valeur aléatoire générée de différentes manières.

Les approches les plus courantes pour générer des OTP sont:

  • TOTP (Time-based One-Time Password): cet algorithme nécessite la synchronisation entre le serveur d’authentification et l’appareil de l’utilisateur, car il génère constamment des OTP valables pour une très courte durée, typiquement 30 ou 60 secondes. Il peut être utilisé avec des tokens physiques ou des applications propriétaires (soft tokens)

  • Challenge-response: le serveur génère une donnée aléatoire («challenge») et l’envoie à l’utilisateur, qui, à l’aide de la clé secrète partagée et d’un algorithme spécifique, produit une réponse unique. Si l’utilisateur répond correctement, il est authentifié. Ce mécanisme, invisible pour l’utilisateur final, est très répandu car flexible et adaptable à différents tokens OTP

  • HOTP (Hash-based Message Authentication Code One-Time Password): ici, les mots de passe sont basés sur une chaîne aléatoire mappée en une chaîne de longueur fixe via une fonction de hachage cryptographique non réversible. L’algorithme utilise une clé secrète partagée et un compteur d’événements. Il est déclenché par des actions utilisateur et reste valable jusqu’à la génération d’un nouveau code. Un nouvel OTP peut être généré après chaque utilisation ou sur demande de l’utilisateur

OTP via SMS, email ou token physique: quelles différences?

L’OTP ainsi généré peut être transmis à l’utilisateur final via différents canaux. Les TOTP, qui dépendent de la synchronisation des dispositifs, peuvent être affichés sur des dispositifs matériels dédiés ou via des applications syncables comme Google Authenticator.

Pour les HOTP, il suffit que l’appareil de l’utilisateur soit synchronisé avec le compteur du serveur, qui s’incrémente à chaque nouveau code. Les OTP générés par hash peuvent aussi être envoyés par SMS, mais les tokens physiques et les applications smartphone sont préférés.

Pour les OTP basés sur un nombre aléatoire, la synchronisation repose sur le challenge spécifique (qui change à chaque tentative). La sécurité repose sur le secret partagé entre serveur et utilisateur, permettant d’envoyer les mots de passe par SMS, email ou autre, sans grandes limitations.

OTP: pourquoi c’est crucial pour la sécurité en ligne

Même légèrement exposés à certains cyberattaques, les mots de passe à usage unique se répandent de plus en plus. Les OTP réduisent significativement le risque lié aux mots de passe compromis, rendant les opérations en ligne plus sûres.

Comme ils peuvent être transmis en temps réel via des canaux très accessibles, ils sont aussi simples à intégrer dans les systèmes existants.

De plus, ils sont essentiels pour la conformité: le GDPR et autres réglementations de protection des données exigent des mécanismes d’authentification robustes pour protéger les données sensibles. Les OTP peuvent ainsi garantir la conformité lors d’opérations sensibles comme la signature numérique d’un document.

Code OTP: qu'est-ce que c'est, comment ça marche et pourquoi c'est sûr
Partager sur