Sorry, you need to enable JavaScript to visit this website.

Image CAPTCHA
Saisir les caractères affichés dans l'image.

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

Les 5 minutes du Professeur Audenard – Episode 23 – la tokenization
2015-03-022015-03-02sériesfr
Quels sont les principes de fonctionnement de la tokenization ? Quels sont ses atouts et ses contraintes ? Le professeur Audenard vous explique.
Publié le 2 Mars 2015 par Jean-François Audenard dans séries

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)

3 Commentaires

  • 23 Mars 2015
    2015-03-23
    par
    PHIL
    Que pensez-vous de la technologie de Login People qui permet à un utilisateur d'utiliser ses propres tokens (Téléphone, PC, clé USB,...) pour s'authentifier ?
  • 23 Mars 2015
    2015-03-23
    par
    Clément
    Bonjour je découvre le concept de Tokenisation.
    Mais une GROSSE remarque: avec le projet de loi de surveillance en préparation les opérateurs ont l'obligation de fournir les clefs de chiffrement et probablement les bases de token.
    Il n'y aura même plus besoin de casser la tête, d'autant plus que de ne nombreux équipements implémentent déjà des portes dérobées dès la fabrication.
    Aujourd'hui dans le monde numérique la confiance est mise à mal.
    La sécurité numérique n'est plus qu'une illusion.
  • 23 Mars 2015
    2015-03-23
    par
    Phil
    Que pensez-vous de la techno de Login People qui consiste à utiliser l'un de ses propres appareils (téléphone, clé USB, PC,...) comme token ?

Ajouter un commentaire

comments

  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd> <br>

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Email HTML

  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et de courriels sont transformées en liens automatiquement.
Image CAPTCHA
Saisir les caractères affichés dans l'image.
Changer d'affichage