les 5 minutes du Professeur Audenard – Episode 23 – la tokenization

Partager

La tokenization est une technique de sécurisation des données sensibles. Elle est communément utilisée dans le domaine bancaire, notamment les systèmes de paiement mobile comme ApplePay, afin de contrer les attaques visant à voler les numéros de cartes bancaires. Quels sont les principes de fonctionnement de la tokenization ? Quels sont ses atouts et ses contraintes ? Le professeur Audenard vous explique.
 


 Voir la vidéo sur Dailymotion


chiffrer ses données, un classique

Le chiffrement est communément utilisé afin de sécuriser des informations sensibles et d’en assurer la confidentialité. Les données en clair sont chiffrées via un algorithme de chiffrement (AES, …) et d’une clef de chiffrement. Voir « les 5 minutes du professeur Audenard - épisode 1 : chiffrement à clefs symétriques » pour les rappels.
 

Comme la clef de chiffrement permet d’accéder aux données, celle-ci doit être parfaitement sécurisée, par exemple en la stockant au sein d’un HSM (Hardware Security Module). Une fois la donnée chiffrée, elle peut être envoyée à l’extérieur, par exemple dans le Cloud.

Malheureusement, avec le chiffrement, si la clef utilisée est découverte, ou si la clef (dite « faible ») n’est pas suffisamment aléatoire, c’est toutes les données qu’elle protège qui pourraient être déchiffrées. Un autre risque est lié à l’algorithme de chiffrement utilisé : cet algorithme doit être robuste, c'est-à-dire exempt de failles et résistant aux attaques.

tokenizer ou remplacer la donnée par un jeton

Tokenizer, c’est remplacer une donnée par une autre donnée sans qu’il n’y ait aucune relation entre les deux. On utilise le toke (ou jeton) en lieu et place de la donnée sensible, c’est donc ce jeton qui est exposé aux menaces, jamais la donnée sensible (ni une version dérivée de celle-ci) qui reste, en quelque sorte, « au chaud ». Parallèlement, une base est mise en place pour stocker les correspondances entre les données et leurs jetons correspondants : c'est la « base de tokenization". En accédant à cette base, il est possible de retrouver les données correspondantes à un token donné.

tokenization vs chiffrement

L'intérêt de la tokenization, c’est qu'il n'y a absolument aucune relation entre la donnée sensible et le token. L’approche est radicalement différente, car dans le cas du chiffrement il y a une « relation » entre les données chiffrées et les données en clair établie via l’algorithme de chiffrement et la clef de chiffrement. En l'absence de relation entre la donnée et le token, il sera donc impossible de remonter à la donnée à partir du token. Cela ne sera possible que grâce au contenu de la base de tokenization, base qui est bien au chaud et très sécurisée.

Autre propriété intéressante, si un attaquant a connaissance de la donnée correspondant à un token, les autres données tokenizées ne seront pas en danger. En revanche, si cet attaquant accède à une donnée chiffrée et à sa version en clair, et s’il connait l'algorithme de chiffrement, il pourra monter une attaque pour découvrir la clef de chiffrement utilisée... et accéder à toutes les informations qui ont été chiffrées avec cette clef. En cas de compromission d'une donnée, l'impact est donc clairement atténué dans le cas d’une tokenization.

principe avec un numéro de carte bancaire

Prenons le cas de sécurisation d’un numéro de carte bancaire. Tout d’abord, il y a une phase dite d'enrôlement (ou enregistrement ou inscription). L’utilisateur soumet de façon sécurisée (via un tunnel chiffré de type SSL/TLS) son numéro de carte bancaire à un système central qui, une fois le numéro de carte bancaire vérifié, lui attribue un numéro de token.

Ce numéro de token et le numéro de carte bancaire vont être stockés dans la base de tokenization (dans un datacenter sécurisé en central). Un numéro de token est renvoyé à l’utilisateur. Ce numéro de token est ensuite sauvegardé en local au sein de l’application de paiement présente sur le smartphone de l’utilisateur.

Lors d'un achat en ligne, l’application intégrée de paiement va envoyer le token à la place du numéro de carte bancaire. Ce token permettra à la boutique, via un appel à un intermédiaire de traitement, de vérifier si le système central connait ce numéro de token et valider ou non la transaction.

Grâce à ce système, le numéro de la carte bancaire n’est transmis ni sur le smartphone, ni sur Internet ni à la boutique en ligne. Pas mal non ?

contraintes de la tokenization

La base de tokenization doit être sécurisée avec une très grande attention car elle contient toutes les données en clair. Outre la sécurisation des accès à la base, il faut s’assurer que les données présentes sont bien intègres (absence de corruption) et que les sauvegardes en quasi-temps réel sont bien en place (voire via une réplication synchrone).

Comme tout repose sur une base de tokenization sollicitée très fréquemment, il est important que les accès soient particulièrement rapides. Les technologies de base de données de type "NoSQL" [5] ou "In-memory Database", voire de solutions spécialisées comme le « Tokenization Manager de SafeNet » permettent des accès performants.

une technologie utilisée par les banques…

La tokenization n'est pas une technique nouvelle. Elle est recommandée par le consortium PCI (PCI DSS - Information Supplement: – Tokenization Guidelines – PDF) pour sécuriser les numéros de cartes bancaires. Elle est en passe de devenir la norme depuis sa prise en compte dans le standard EMVCo.

La tokenization est au cœur des systèmes de paiement mobile comme ApplePay. Le géant du paiement Visa va sécuriser les paiements mobiles en Australie  par tokenization. Par ailleurs, Visa a aussi annoncé l’arrivée du support de la tokenization sur la zone Europe, signe annonciateur du support prochain d’ApplePay pour les pays Européens.

… mais aussi pour les données sensibles envoyées dans le Cloud

Au-delà du monde bancaire, la tokenization est aussi utilisée pour la sécurisation des données destinées au Cloud. Avec le chiffrement, on retrouve cette technique dans les systèmes connus sous l’acronyme de CASBs (Cloud Access Security Brokers).

Et voilà ! Vous avez tout compris ! La tokenization n’a plus de secrets pour vous (ou presque) !

des questions ! des idées ? des propositions ? n’hésitez pas !

vous avez des questions ? N’hésitez pas à les poser ! Une idée de sujet pour un futur épisode des 5 minutes du Professeur Audenard ? Je vous écoute !

A très bientôt,

Jean-François Audenard (Aka Jeff -  @jeffman78  - @ProfAudenard)

Jean-François Audenard

Au sein de la direction sécurité du Groupe Orange, je suis en charge de la veille sécurité et de la prise en compte de la sécurité dans le cycle de vie des produits et services. Je suis passionné par la sécurité informatique et prends énormément de plaisir à partager cette passion via des vidéos, présentations et articles. Franchise, optimisme et bonne-humeur sont mes moteurs quotidiens. Vous avez des questions, des idées, des propositions : vous savez où me trouver ! :-)