Généralement, le masquage des données statiques est effectué sur les données de production au repos afin qu'elles soient stockées en toute sécurité, ou lorsqu'elles sont répliquées dans des environnements hors production à des fins de test ou de développement. Le masquage dynamique des données (DDM) est effectué sur les données des tables de production pendant les requêtes, de sorte que ceux qui ne sont pas autorisés à voir les valeurs de colonne d'origine verront à la place des vues masquées des valeurs dans leur application.
Il est bien connu qu'IRI FieldShield est un produit de masquage de données statiques. Mais il peut également être utilisé pour masquer et démasquer des données dans des bases de données et des fichiers plats de manière plus dynamique. Nous avons vu des cas d'utilisation nécessitant l'un ou l'autre, ou les deux, lorsque les données à risque sont au repos (statiques) ou en mouvement (dynamiques) et doivent être protégées.
DDM via "redaction in flight" est disponible auprès de l'IRI via :des bibliothèques de masquage appelables par API que vous pouvez créer sur une base authentifiée et personnalisée à partir d'applications C, C++, Java ou .NET (voir SDK ici) ; Appels SQL (procédure) ; et bientôt, un pilote JDBC spécial géré via un serveur proxy. Cet article traite de la première méthode pour un dynamique masquage en conjonction avec le masquage des données statiques.
Pour démontrer à la fois le masquage des données statiques et dynamiques, nous avons utilisé IRI Workbench, l'interface graphique gratuite pour FieldShield et d'autres logiciels IRI, basée sur Eclipse™. Dans les scénarios de sécurité des données, de conformité et de test des données, les utilisateurs de Workbench se connectent à leurs sources, effectuent la découverte et la classification, puis créent et exécutent des fonctions de masquage des données statiques.
Plus précisément, ils définissent leurs classes de données et leurs critères de recherche, puis appliquent des règles de masquage cohérentes pour les protéger. Cela les aide à mieux gouverner leurs données et à préserver l'intégrité référentielle de leurs sources. Et cela les aide à se conformer aux lois sur la confidentialité des données et aux besoins de l'entreprise.
Workbench prend également en charge la notation des risques de réidentification, les sous-ensembles de bases de données, la génération et le remplissage des données de test, ainsi que de nombreuses autres fonctionnalités de gestion des données activées dans la plate-forme IRI Voracity, qui inclut FieldShield.
Être dans Eclipse signifie également que Workbench prend en charge le développement d'applications Java, et donc vos programmes qui peuvent masquer ou démasquer dynamiquement des données à l'aide de fonctions de bibliothèque compatibles avec les fonctions statiques. Encore une fois, l'API est documentée dans le SDK FieldShield.
Cet article fournit un exemple rapide d'utilisation de FieldShield dans Workbench pour le masquage des données statiques d'une table de base de données, puis le démasquage dynamique de ces données dans un programme Java. Tout est configuré dans IRI Workbench.
Configuration
Tout d'abord, nous avons créé et rempli un exemple de table dans MySQL à l'aide de l'album SQL du plug-in Data Tools Platform (DTP). Nous avons défini des colonnes pour :nom d'utilisateur, e-mail, heure et commentaires :
Masquage des données statiques
Nous avons utilisé l'assistant « Nouvelle tâche de masquage de données… » dans le menu de la barre d'outils supérieure de Workbench pour acquérir rapidement cette table et ses métadonnées, et créer une tâche pour masquer statiquement la colonne de courrier électronique à l'aide de l'une des fonctions de chiffrement AES 256 de FieldShield, enc_aes256. Dans le script FieldShield créé par l'assistant, nous pouvons voir la fonction à appliquer une fois à la colonne, puis sur les nouvelles lignes du tableau lorsque la même tâche est déclenchée ou planifiée pour s'exécuter à nouveau.
Une fois exécuté, la table de la base de données MySQL aura la colonne email cryptée.
Masquage dynamique des données (Un)
Pour démontrer le démasquage dynamique des données, ou le déchiffrement dans ce cas, nous avons appelé la fonction de déchiffrement correspondante, dec_aes256, dans la bibliothèque d'API FieldShield pour Java :
Des appels similaires sont possibles à partir des langages .NET. Cette application de base montre comment se connecter à la table MySQL, valider l'utilisateur et afficher à la fois la valeur de texte chiffré statiquement cryptée à partir de la table et la valeur de l'e-mail en clair d'origine déchiffrée dynamiquement dans la console :
Bien entendu, vous auriez également pu effectuer le déchiffrement dans Workbench de manière statique avec une tâche FieldShield similaire et autonome comme celle-ci :
Le script ci-dessus déchiffre les valeurs d'e-mail chiffrées en leur texte brut d'origine dans chaque ligne de la base de données. La sortie peut être la table source elle-même (pour la restaurer), d'autres cibles (par exemple, pour les tests), ou les deux. Plusieurs scripts de tâches traitant du masquage ou du démasquage de plusieurs tables peuvent être créés automatiquement via les assistants FieldShield dans Workbench (et préserver l'intégrité référentielle) avec ou sans classes de données définies.
Dans ce cas, vous pouvez vérifier que les valeurs ont été déchiffrées dans leur forme d'origine en vous connectant à votre base de données MySQL et en sélectionnant les champs que vous souhaitez voir, ou en affichant simplement le tableau dans Workbench. La vue décryptée est la table d'origine :
L'essentiel est que vous pouvez masquer et démasquer les données de manière statique ou dynamique à l'aide d'IRI FieldShield. Utilisez le mode autonome pour les opérations statiques et le mode API pour les opérations dynamiques. Les fonctions de masquage sont compatibles et chaque solution est activée dans la même vitre.
- Plus de fonctions d'annulation/de masquage, ainsi que de nombreuses autres fonctions de transformation et de reformatage (via une licence IRI CoSort ou Voracity), peuvent s'exécuter sur ces données dans le même script de travail et la même passe d'E/S .