Article
· Mai 12, 2023 5m de lecture

Tokenisez vos données sensibles!

Selon le dictionnaire de Cambridge, tokéniser des données signifie "remplacer un élément de données privé par un jeton (= un élément de données différent qui représente le premier), afin d'empêcher que des renseignements privés soient vus par quelqu'un qui n'est pas autorisé à le faire" (https://dictionary.cambridge.org/pt/dicionario/ingles/tokenize). Aujourd'hui, plusieurs entreprises, en particulier dans les secteurs de la finance et de la santé, tokenisent leurs données, ce qui constitue une stratégie importante pour répondre aux exigences en matière de cybersécurité et de confidentialité des données ( RGPD, CCPA, HIPAA et LGPD). Mais pourquoi ne pas utiliser le chiffrement ? Le processus de tokenisation pour protéger les données sensibles est plus couramment utilisé que le chiffrement des données pour les raisons suivantes :

  1. Amélioration des performances : le cryptage et le décryptage des données à la volée dans le cadre d'un traitement opérationnel intensif entraînent des performances médiocres et nécessitent une plus grande puissance du processeur.
  2. Tests : il est possible de tokeniser une base de données de production et de la copier dans une base de données de test et de conserver les données de test adaptées à des tests unitaires et fonctionnels plus réels.
  3. Meilleure sécurité : si un pirate informatique craque ou obtient la clé secrète, toutes les données cryptées seront disponibles, car le cryptage est un processus réversible. Le processus de tokenisation n'est pas réversible. Si vous devez récupérer les données d'origine à partir des données tokenisées, vous devez maintenir une base de données sécurisée et séparée pour relier les données d'origine et les données tokenisées.

Architecture de tokenisation

L'architecture de tokenisation nécessite deux bases de données : l'App DB pour stocker les données tokenisées et d'autres données de l'entreprise et une base de données de jetons pour stocker les valeurs d'origine et tokenisées, de sorte que lorsque vous en avez besoin, votre application peut obtenir les valeurs d'origine à montrer à l'utilisateur. Il existe également une API REST Tonenizator qui permet de tokeniser les données sensibles, de les stocker dans la base de données de tokens et de renvoyer un ticket. L'application métier stocke le ticket, les données symbolisées et les autres données dans la base de données de l'application. Consultez le diagramme d'architecture :

 

Application Tokenizator

Découvrez comment cela fonctionne dans l'application Tokenization : https://openexchange.intersystems.com/package/Tokenizator.

Cette application est une API REST qui permet de créer des jetons :

  • Toute valeur est remplacée par les étoiles. Exemple : carte de crédit 4450 3456 1212 0050 par 4450 **** **** 0050.
  • N'importe quelle adresse IP réelle est remplacée par une fausse valeur. Exemple : 192.168.0.1 par 168.1.1.1.
  • Toute donnée personne est remplacée par une fausse personne. Exemple : Yuri Gomes avec l'adresse Brasilia, Brésil par Robert Plant avec l'adresse Londres, Royaume-Uni.
  • Toute valeur numéro est remplacée par une fausse valeur numérique. Exemple : 300,00 par 320,00.
  • Toute donnée de carte de crédit est remplacée par un faux numéro de carte de crédit. Exemple : 4450 3456 1212 0050 par 4250 2256 4512 5050.
  • N'importe quelle valeur est remplacée par une valeur hash. Exemple : Architecte système par dfgdgasdrrrdd123.
  • Toute valeur est remplacée par une expression regex. Exemple : EI-54105-tjfdk par AI-44102-ghdfg en utilisant la règle regex [A-Z]{2}-\d{5}-[a-z]{5}.

Si vous souhaitez une autre option, ouvrez une demande sur le projet github.

Pour tokeniser les valeurs et obtenir les valeurs d'origine par la suite, suivez les étapes suivantes :

  1. Ouvrez votre Postman ou consommez cette API à partir de votre application.

    1. Créez une demande de tokenisation en utilisant les méthodes STARS, PERSON, NUMBER, CREDITCARD, HASH, IPADDRESS et REGEX pour cet échantillon de données sensibles :
    • Méthode : POST
    • URL: http://localhost:8080/token/tokenize
    • Corps (JSON):
      [
      {
      "tokenType":"STARS",
      "originalValueString":"545049405679",
      "settings": {
      "starsPosition":"1",
      "starsQuantity":"4"
      }
      },
      {
      "tokenType":"IPADDRESS",
      "originalValueString":"192.168.0.1",
      "settings": {
      "classType":"CLASS_B",
      "ipSize":"4"
      }
      },
      {
      "tokenType":"PERSON",
      "originalValueString":"Yuri Marx Pereira Gomes",
      "settings": {
      "localeLanguage":"en",
      "localeCountry":"US",
      "withAddress":"true",
      "withEmail":"true"
      }
      },
      {
      "tokenType":"NUMBER",
      "originalValueNumber":300.0,
      "settings": {
      "minRange":"100.0",
      "maxRange":"400.0"
      }
      },
      {
      "tokenType":"CREDITCARD",
      "originalValueString":"4892879268763190",
      "settings": {
      "type":"VISA"
      }
      },
      {
      "tokenType":"HASH",
      "originalValueString":"Architecte système"
      },
      {
      "tokenType":"REGEX",
      "originalValueString":"EI-54105-tjfdk",
      "settings": {
      "regex":"[A-Z]{2}-\d{5}-[a-z]{5}"
      }
      }
      ]

    • Découvrez les résultats. Vous obtenez une valeur tokenizée (tokenizedValueString) à stocker dans votre base de données locale.

      1. Copiez le ticket de la réponse (stockez-le dans votre base de données locale avec la valeur tokenisée).
      2. Avec le ticket, vous pouvez maintenant obtenir la Valeur d'origine. Créez une demande pour obtenir la valeur d'origine en utilisant le ticket :
    • Méthode: GET
    • URL: http://localhost:8080/token/query-ticket/TICKET-VALUE-HERE
    • Découvrez vos valeurs d'origine

      Tous les tokens générés sont stockés dans SQL d'InterSystems IRIS Cloud pour vous permettre d'obtenir vos valeurs d'origine en toute performance et en toute confiance.

      Profitez-en !

Discussion (0)2
Connectez-vous ou inscrivez-vous pour continuer