Partie 1 : Introduction et sauvegarde chiffrée
Nous avons le plaisir de vous proposer un résumé, divisé en trois parties, d’une étude interne sur le chiffrement SQL Server. Nous vous laissons découvrir sans plus attendre la première partie du résumé de cette étude.
Pourquoi cette étude ?
Dans le cadre d’un projet visant à profiter de la fonctionnalité de chiffrement SQL Server sur certains applicatifs, les objectifs étaient les suivants :
- Chiffrer les données
- Étudier l’impact sur les performances
- Étudier l’impact sur la partie applicative
Sans oublier certains éléments impératifs pour la mise en place d’un serveur SQL 2019, à savoir la taille des bases de données ainsi que la sauvegarde et la restauration des données.
Pour répondre au mieux à ces exigences, tout en considérant que SQL Server propose plusieurs modes de chiffrement pour ses bases de données, nous avons détaillé et résumé les procédures de chacune des méthodes, ainsi que les éventuels impacts sur les ressources du serveur ou l’application source.
Les différentes méthodes de chiffrement
Pour SQL Server 2019 (version 15.x), il existe 5 méthodes de chiffrement :
- Chiffrement du backup
- Chiffrement SSL au niveau de la connexion SQL Server
- Chiffrement transparent des données (TDE : Transparent Data Encryption)
- Chiffrement au niveau d’une colonne de table
- Chiffrement Global (Always Encrypted)
Il existe également une méthode qui, à proprement parlé, n’est pas du chiffrement mais du masquage :
- Dynamic Data Masking
Afin de vous simplifier la compréhension de la comptabilité de ces différentes méthodes en fonction des éditions SQL Server 2019, voici un petit tableau récapitulatif. Vous constaterez que, à l’exception de la sauvegarde chiffrée, chaque méthode est disponible à partir de SQL Server Wed Edition :

Sauvegarde chiffrée
La sauvegarde chiffrée offre plusieurs avantages. Elle permet tout d’abord de sécuriser les données sauvegardées, mais surtout de ne restaurer les sauvegardes chiffrées que sur un serveur ou une instance disposant du certificat ou de la clé de chiffrement asymétrique utilisée. Ces éléments contribuent à s’assurer que les informations du système informatique ne puissent pas être volées et lues par quelqu’un qui souhaite les utiliser à des fins malveillantes.
En pratique, voici les différentes étapes nécessaires à la mise en place du backup et à la restauration des données, ainsi que le Tips T-SQL :
Mise en place du backup :
- Création de la Master Key dans « master ».
- Création d’un certificat protégé par la Master Key.
- Sauvegarde du certificat et de la clé privée (hors site).
- Vérification que le compte SQL allant effectuer le Backup « db_backupoperator »
- Mise en place des Plans de maintenance de sauvegarde et/ou Veeam.
Restauration :
- Si serveur différent : Création d’une nouvelle Master Key dans « master ».
- Si serveur différent : Restauration du certificat et de la clé privée (fichiers hors site).
- Vérification que le compte SQL allant effectuer le Restore possède l’autorisation de voir le certificat présent dans « master ».
Tips T-SQL :
- Création de Master Key :
CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘MasterKeyPassword’;
GO - Restauration d’un certificat et de la clé privée :
CREATE CERTIFICATE [Backup_Certificate] AUTHORIZATION [dbo]
FROM FILE = ‘D:\Backup-Keys\Backup_Certificate.cer’
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = ‘myDecryptPassword’, FILE = ‘D:\Backup-Keys\Backup_Certificate.key’);
GO - Création d’un certificat et de la clé privée et sauvegarde :
CREATE CERTIFICATE Backup_Certificate WITH Subject = ‘mySSLSubject’;
GO
BACKUP CERTIFICATE Backup_Certificate TO FILE = ‘D:\Backup-Keys\Backup_Certificate.cer’
WITH PRIVATE KEY
( FILE = ‘D:\Backup-Keys\Backup_Certificate.key’,
ENCRYPTION BY PASSWORD = ‘myBackupPasword’);
GO - Lancer un Backup Chiffré :
BACKUP DATABASE myDB
TO DISK = ‘D:\Backup-Keys\myDB_BackupEncrypted.bak’
WITH COMPRESSION, STATS = 10, ENCRYPTION (ALGORITHM = AES_256,SERVER CERTIFICATE = ‘mySSLSubject’);
En attendant la suite
C’est ici que se termine la première partie de ce résumé consacré à l’étude sur le chiffrement SQL Server. Dans la parte suivante, nous détaillerons les différentes méthodes de chiffrement, énumérées ci-dessus. En attendant, n’hésitez pas à consulter le reste du contenu de notre blog, ou à nous contacter pour en savoir plus sur ce sujet.