Google récemment libéré nouvelles fonctionnalités pour son entrepôt de données SaaS BigQuery qui comprennent des fonctions de cryptage au niveau des colonnes et le masquage dynamique des informations. Ces fonctionnalités ajoutent une deuxième couche de défense en plus du contrôle d’accès pour aider à sécuriser et à gérer les données sensibles.
Plus précisément, le masquage dynamique des informations peut être utilisé pour les transactions en temps réel, tandis que le cryptage au niveau des colonnes offre une sécurité supplémentaire pour les données au repos ou en mouvement lorsque la convivialité en temps réel n’est pas requise.
Ces nouvelles fonctionnalités pourraient être utiles pour les entreprises qui stockent des informations personnellement identifiables (PII) et d’autres données sensibles telles que les données de carte de crédit et les informations biométriques. Les entreprises qui stockent et analysent des données dans des pays où la réglementation des données et les mandats en matière de confidentialité évoluent, sont confrontées à des risques continus de violations de données et de fuites de données et doivent contrôler l’accès aux données, et ces entreprises peuvent également bénéficier des nouvelles fonctionnalités.
Le chiffrement au niveau des colonnes permet le chiffrement et le déchiffrement des informations au niveau des colonnes, ce qui signifie que l’administrateur peut sélectionner quelle colonne est chiffrée et laquelle ne l’est pas. Il soutient l’ AES-GCM (non déterministe) et AES-SIV algorithmes de chiffrement (déterministes). Les fonctions prennent en charge AES-SIV pour permettre le regroupement, l’agrégation et les jointures sur des données chiffrées. Cette nouvelle fonctionnalité permet de nouveaux cas d’utilisation : lorsque les données sont chiffrées nativement dans BigQuery et doivent être déchiffrées lors de l’accès, ou lorsque les données sont chiffrées en externe, stockées dans BigQuery, puis déchiffrées lors de l’accès.
Le chiffrement au niveau des colonnes est intégré au système de gestion des clés Cloud (Cloud KMS) pour fournir à l’administrateur plus de contrôle, pour permettre la gestion des clés de chiffrement dans KMS et pour permettre la récupération sécurisée des clés à l’accès ainsi que la journalisation détaillée. Cloud KMS peut être utilisé pour générer la KEK (clé de chiffrement de clé) qui chiffre la DEK (clé de chiffrement de données) qui chiffre les données dans les colonnes BigQuery. Cloud KMS utilise IAM (gestion des identités et des accès) pour définir les rôles et les autorisations. KEK est un jeu de clés de chiffrement symétrique stocké dans Cloud KMS, et le référencement d’un jeu de clés chiffré dans BigQuery réduit le risque d’exposition de clé.
La documentation de BigQuery explique :
Au moment de l’exécution de la requête, vous fournissez le chemin de ressource KmS Cloud de la KEK et le texte chiffré de la DEK encapsulée. BigQuery appelle Cloud KMS pour déballer le DEK, puis utilise cette clé pour déchiffrer les données de votre requête. La version non encapsulée de la dek n’est stockée en mémoire que pendant la durée de la requête, puis détruite.
Dans un exemple de cas d’utilisation, le code postal est les données à chiffrer et une fonction non déterministe déchiffre les données lorsqu’on y accède à l’aide de la fonction de la requête en cours d’exécution sur la table.
Dans un deuxième exemple, la fonction déterministe AEAD peut déchiffrer les données lorsqu’elle est accessible à l’aide de la fonction de la requête en cours d’exécution sur la table et prend en charge l’agrégation et les jointures à l’aide des données chiffrées.
De cette façon, même un utilisateur qui n’est pas autorisé à accéder aux données cryptées peut effectuer une jointure.
Avant la publication de la fonctionnalité de chiffrement au niveau des colonnes, les administrateurs doivent effectuer des copies des jeux de données avec des données obscurcies afin de gérer les accès appropriés aux groupes. Cela crée une approche incohérente de la protection des données, qui peut être coûteuse à gérer. Le chiffrement au niveau de la colonne augmente le niveau de sécurité car chaque colonne peut avoir sa propre clé de chiffrement au lieu d’une seule clé pour l’ensemble de la base de données. L’utilisation du chiffrement au niveau des colonnes permet un accès plus rapide aux données car il y a moins de données de chiffrement.
Le masquage dynamique des informations, publié en préversion, permet plus de contrôle aux administrateurs qui peuvent choisir, combiné avec le contrôle d’accès au niveau des colonnes, d’accorder un accès complet, aucun accès aux données ou des données masquées étendant la sécurité au niveau des colonnes. Cette fonctionnalité masque sélectivement les données au niveau de la colonne au moment de la requête en fonction des règles de masquage, des rôles d’utilisateur et des privilèges définis. Cette fonctionnalité permet aux administrateurs d’obscurcir les données sensibles et de contrôler l’accès des utilisateurs tout en atténuant le risque de fuite de données.
Grâce à cette nouvelle fonctionnalité, le partage des données est plus facile, car les administrateurs peuvent masquer les informations de manière sélective et les tables peuvent être partagées avec de grands groupes d’utilisateurs. Au niveau de l’application, les développeurs n’ont pas besoin de modifier la requête pour masquer les données sensibles, une fois que le masquage des données est configuré sur BigAu niveau de la requête, la requête existante masque automatiquement les données en fonction des rôles accordés à l’utilisateur. Enfin, l’application de la sécurité est plus facile, car l’administrateur peut écrire la règle de sécurité une fois, puis l’appliquer à n’importe quel nombre de colonnes avec des balises.
Toutes les stratégies de masquage ou le chiffrement appliqué sur les tables sous-jacentes sont transférés aux vues autorisées et aux vues matérialisées, et le masquage ou le chiffrement est compatible avec d’autres fonctionnalités de sécurité telles que la sécurité au niveau des lignes.
Les deux nouvelles fonctionnalités peuvent être utilisées pour renforcer la sécurité, gérer le contrôle d’accès, se conformer à la loi sur la confidentialité et créer des environnements de test sécurisés. Permettant une façon plus cohérente de gérer les tables avec des données sensibles, les administrateurs n’ont pas besoin de créer plusieurs jeux de données avec des données chiffrées (ou non) et de partager ces copies avec les bons utilisateurs.