Explorer Transparent Data Encryption
Le chiffrement transparent des données (TDE) de Microsoft SQL Server chiffre toutes les données d’une base de données cible au niveau de la page. Les données sont chiffrées, car elles sont écrites dans la page de données sur le disque et déchiffrées lors de la lecture en mémoire, ce qui entraîne le chiffrement de toutes les pages de données sur le disque.
TDE ne chiffre pas les données au niveau de la table ou de la colonne. Toute personne disposant des autorisations appropriées peut lire, copier et partager les données. Le chiffrement au repos protège contre la restauration d’une sauvegarde sur un serveur non sécurisé ou la copie de fichiers journaux de base de données et de transactions vers un autre serveur non sécurisé. Aucun déchiffrement ne se produit pendant l’opération de sauvegarde.
TDE protège les données au repos et est conforme aux diverses lois, réglementations et directives du secteur. Il permet aux développeurs de logiciels de chiffrer des données à l’aide d’algorithmes de chiffrement AES et 3DES sans modifier les applications existantes.
Les bases de données créées dans Azure SQL Database après mai 2017 ont activé TDE automatiquement. Les bases de données créées avant mai 2017 nécessitent que TDE soit activé manuellement. Pour Azure SQL Managed Instance, TDE est activé par défaut pour les bases de données créées après février 2019. Les bases de données créées avant février 2019 nécessitent que le TDE soit activé manuellement.
Pour activer TDE dans azure SQL Database, modifiez la base de données dans le portail Azure. Dans le volet Chiffrement transparent des données , sélectionnez cette option pour activer le chiffrement des données.
Par défaut, les bases de données dans Azure SQL Database sont chiffrées à l’aide d’un certificat fourni par Microsoft (clé gérée par le service). Azure offre également une option BYOK (Bring Your Own Key), ce qui vous permet d’utiliser une clé gérée par le client créée par votre entreprise et chargée dans Azure Key Vault. Si la clé gérée par le client est supprimée d’Azure, les connexions de base de données sont fermées et l’accès à la base de données est refusé.
L’activation de TDE dans une base de données Microsoft SQL Server est un processus facile, car seules quelques commandes T-SQL sont requises. Le processus implique les étapes suivantes :
- Définissez une clé principale dans la base de données MASTER à l’aide de la commande
CREATE MASTER KEY ENCRYPTION. - Créez un certificat dans la base de données master à l’aide de la
CREATE CERTIFICATEcommande. - Créez une clé de chiffrement de base de données dans la base de données à l’aide de la
CREATE DATABASE ENCRYPTION KEYcommande. - Activez la clé de chiffrement à l’aide de la
ALTER DATABASEcommande.
USE master;
GO
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<your-pwd>';
GO
CREATE CERTIFICATE MyServerCert
WITH SUBJECT = 'TDEDemo_Certificate';
GO
USE [TDE_Demo];
GO
CREATE DATABASE ENCRYPTION KEY
WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerCert;
GO
ALTER DATABASE TDE_Demo SET ENCRYPTION ON;
GO
Une fois que TDE est activé, il faut du temps pour chiffrer la base de données, car chaque page doit être lue, chiffrée et réécrite sur le disque. Plus la base de données est grande, plus ce processus prend de temps. Ce processus en arrière-plan s’exécute en basse priorité pour éviter de surcharger les E/S ou le processeur du système.
Le certificat utilisé par TDE doit être sauvegardé manuellement et stocké en toute sécurité. SQL Server s’intègre à Enterprise Key Managers (EKMs) comme Azure Key Vault pour gérer les clés de chiffrement. La gestion du certificat est cruciale, car s’il est perdu et que la base de données doit être restaurée à partir d’une sauvegarde, la restauration échoue car la base de données ne peut pas être lue.
Notes
Pour utiliser le TDE avec des bases de données dans un groupe de disponibilité Always On, le certificat utilisé pour chiffrer la base de données doit être sauvegardé et restauré sur les autres serveurs au sein du groupe de disponibilité qui hébergera des copies de la base de données.
Clés gérées par le client
Vous pouvez également utiliser BYOK et tirer parti d’un coffre de clés Azure. Les avantages de l’utilisation de clés gérées par le client sont les suivants :
- Contrôle complet et précis de l’utilisation et de la gestion du protecteur TDE
- Transparence de l’utilisation du protecteur TDE
- Possibilité d’implémenter la séparation des tâches dans la gestion des clés et des données au sein de l’organisation
- L’administrateur de coffre de clés peut révoquer les autorisations d’accès à la clé pour rendre la base de données chiffrée inaccessible
- Gestion centralisée des clés dans Azure Key Vault (AKV)
- Vous bénéficiez d’une confiance accrue de vos clients finaux, car Azure Key Vault (AKV) est conçu de telle sorte que Microsoft ne peut pas voir ni extraire les clés de chiffrement
Vous pouvez également tirer parti de l’utilisation d’une identité managée affectée par l’utilisateur (UMI) avec des clés gérées par le client pour TDE, qui :
- Permet de préauthoriser l’accès au coffre de clés pour les serveurs logiques Azure SQL en créant une identité managée affectée par l’utilisateur et en lui accordant l’accès au coffre de clés, même avant la création du serveur ou de la base de données.
- Permet de créer un serveur logique Azure SQL avec Transparent Data Encryption (TDE) et la clé gérée par le client (CMK) activés.
- Permet d’attribuer la même identité managée affectée par l’utilisateur à plusieurs serveurs, ce qui élimine le besoin d’activer individuellement l’identité managée affectée par le système pour chaque serveur logique Azure SQL et lui permet d’accéder au coffre de clés.
- Fournit la possibilité d’appliquer la CMK au moment de la création du serveur avec une stratégie Azure intégrée disponible.
La rotation automatique des clés est introduite pour les clés gérées par le client à l’aide de TDE. Une fois appliquée, le serveur recherche continuellement dans le coffre de clés des versions de la clé utilisée en tant que protecteur TDE. En cas de détection d’une nouvelle version de la clé, le protecteur TDE sur le serveur fait l’objet d’une rotation automatique vers la dernière version de la clé dans les 60 minutes qui suivent.
Azure Disk Encryption
Outre ces fonctionnalités de sécurité SQL Server, les machines virtuelles Azure incluent une autre couche de sécurité, Azure Disk Encryption, une fonctionnalité qui permet de protéger les données et de respecter les engagements de l’organisation et de la conformité. Si vous utilisez TDE, vos données sont protégées par plusieurs couches de chiffrement avec Azure Disk Encryption.