Chiffrement de sauvegarde

S’applique à :SQL Server

Cette article fournit une présentation des options de chiffrement pour les sauvegardes SQL Server. Elle contient des informations détaillées sur l'utilisation, les avantages et les méthodes recommandées de chiffrement pendant la sauvegarde.

Vue d’ensemble

À partir de SQL Server 2014 (12.x), SQL Server peut chiffrer les données lors de la création d’une sauvegarde. En spécifiant l'algorithme de chiffrement et le chiffreur (un certificat ou une clé asymétrique) lors de la création d'une sauvegarde, vous créez un fichier de sauvegarde chiffré. Toutes les destinations de stockage : sur site et Azure sont prises en charge. En outre, les options de chiffrement peuvent être configurées pour la sauvegarde managée SQL Server sur les opérations Microsoft Azure, une nouvelle fonctionnalité introduite dans SQL Server 2014 (12.x).

Pour chiffrer pendant la sauvegarde, vous devez spécifier un algorithme de chiffrement, et un chiffreur pour sécuriser la clé de chiffrement. Les options de chiffrement suivantes sont prises en charge :

  • Algorithme de chiffrement : Les algorithmes de chiffrement pris en charge sont : AES 128, AES 192, AES 256 et Triple DES

  • Encryptor : certificat ou clé asymétrique.

Attention

Il est très important de sauvegarder le certificat ou la clé asymétrique, et de préférence dans un emplacement autre que le fichier de sauvegarde pour lequel il a été utilisé pour le chiffrement. Sans certificat ou clé asymétrique, vous ne pouvez pas restaurer la sauvegarde, ce qui rend le fichier de sauvegarde inutilisable. Les certificats stockés dans une base de données système autonome doivent également être sauvegardés.

Restauration de la sauvegarde chiffrée : la restauration de SQL Server ne nécessite pas de spécifier des paramètres de chiffrement lors des restaurations. Elle nécessite que le certificat ou la clé asymétrique qui a servi à chiffrer le fichier de sauvegarde soit disponible sur l'instance sur laquelle vous effectuez la restauration. Le compte d'utilisateur qui effectue la restauration doit avoir l'autorisation VIEW DEFINITION sur le certificat ou la clé. Si vous restaurez la sauvegarde chiffrée dans une autre instance, vous devez vous assurer que le certificat est disponible sur cette instance.
La séquence de restauration d’une base de données chiffrée vers un nouvel emplacement est la suivante :

  1. BACKUP CERTIFICATE (Transact-SQL) dans l’ancienne base de données
  2. CRÉER UNE CLÉ PRINCIPALE (Transact-SQL) dans le nouvel emplacement de la base de données master
  3. CREATE CERTIFICATE (Transact-SQL) à partir du certificat de sauvegarde de l’ancienne base de données importée vers un emplacement sur le nouveau serveur
  4. Restaurer une base de données à un nouvel emplacement (SQL Server)

Si vous restaurez une sauvegarde d'une base de données chiffrée par chiffrement transparent des données (TDE), le certificat de chiffrement transparent des données doit être disponible sur l'instance sur laquelle vous effectuez la restauration. Pour plus d’informations, consultez Déplacer une base de données protégée par le chiffrement transparent des données vers un autre serveur SQL Server.

Avantages

  1. Le chiffrement des sauvegardes de base de données vous aide à protéger les données : SQL Server fournit l'option permettant de chiffrer les données de sauvegarde lors de la création d'une sauvegarde.

  2. Le chiffrement sert également pour les bases de données qui sont chiffrées à l'aide du chiffrement transparent des données.

  3. Le chiffrement est pris en charge pour les sauvegardes effectuées par la sauvegarde gérée de SQL Server vers Microsoft Azure, qui procure une sécurité supplémentaire pour les sauvegardes hors site.

  4. Cette fonctionnalité prend en charge plusieurs algorithmes de chiffrement jusqu'à AES 256 bits. Cela vous permet de sélectionner un algorithme qui s'aligne avec vos besoins.

  5. Vous pouvez intégrer des clés de chiffrement avec les fournisseurs de gestion de clés extensibles (EKM).

Prérequis

Voici les conditions requises pour chiffrer une sauvegarde :

  1. Créez une clé principale de base de données pour la base de données master : la clé principale de base de données est une clé symétrique qui permet de protéger les clés privées des certificats et des clés asymétriques présentes dans la base de données. Pour plus d’informations, consultez SQL Server et clés de chiffrement de base de données (moteur de base de données).

  2. Créez un certificat ou une clé asymétrique à utiliser pour le chiffrement de sauvegarde. Pour plus d’informations sur la création d’un certificat, consultez CRÉER UN CERTIFICAT (Transact-SQL). Pour plus d’informations sur la création d’une clé asymétrique, consultez CRÉER UNE CLÉ ASYMÉTRIQUE (Transact-SQL).

    Important

    Seules les clés asymétriques résidant dans la gestion de clés extensible (EKM) sont prises en charge.

Limites

Les restrictions suivantes s'appliquent aux options de chiffrement :

  • Si vous utilisez une clé asymétrique pour chiffrer les données de sauvegarde, seules les clés asymétriques résidant dans le fournisseur EKM sont prises en charge.

  • SQL Server Express et SQL Server Web ne prennent pas en charge le chiffrement pendant la sauvegarde. Cependant la restauration d'une sauvegarde chiffrée sur une instance de SQL Server Express ou SQL Server Web est prise en charge.

  • Les versions précédentes de SQL Server ne peuvent pas lire les sauvegardes chiffrées.

  • L'option Ajouter au jeu de sauvegarde existant n'est pas prise en charge pour les sauvegardes chiffrées.

Autorisations

Le compte qui effectue les opérations de sauvegarde sur une base de données chiffrée requiert des autorisations spécifiques.

  • Rôle de niveau base de données db_backupoperator sur la base de données en cours de sauvegarde. Cela est nécessaire, indépendamment du chiffrement.

  • Autorisation VIEW DEFINITION sur la base de données master.

    L’exemple suivant octroie les autorisations appropriées pour le certificat.

    USE [master]
    GO
    GRANT VIEW DEFINITION ON CERTIFICATE::[<SERVER_CERT>] TO [<db_account>]
    GO
    

Remarque

L'accès au certificat de chiffrement transparent des données n'est pas nécessaire pour la sauvegarde ou la restauration d'une base de données protégée par chiffrement transparent des données.

Méthodes de chiffrement de sauvegarde

Les sections suivantes fournissent une brève introduction aux étapes de chiffrement des données pendant la sauvegarde. Pour une procédure pas à pas complète des différentes étapes de chiffrement de votre sauvegarde à l’aide de Transact-SQL, consultez Créer une sauvegarde chiffrée.

Utiliser SQL Server Management Studio

Chiffrez une sauvegarde lors de la création de la sauvegarde d'une base de données dans l'une des boîtes de dialogue suivantes :

  1. Sauvegarder la base de données (page Options de sauvegarde) Dans la page Options de sauvegarde, sélectionnez Chiffrement, ainsi que l’algorithme de chiffrement et le certificat ou la clé asymétrique à utiliser pour le chiffrement.

  2. Utilisation de l’Assistant Plan de maintenance Lorsque vous sélectionnez une tâche de sauvegarde, sous l’onglet Options de la page Définir la tâche Sauvegarder , sélectionnez Chiffrement de sauvegarde, puis indiquez l’algorithme de chiffrement et le certificat ou la clé à utiliser pour le chiffrement.

Utiliser Transact-SQL

Voici un exemple d'instruction Transact-SQL pour chiffrer le fichier de sauvegarde :

BACKUP DATABASE [MYTestDB]
TO DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\MyTestDB.bak'
WITH
  COMPRESSION,
  ENCRYPTION
   (
   ALGORITHM = AES_256,
   SERVER CERTIFICATE = BackupEncryptCert
   ),
  STATS = 10
GO

Pour connaître la syntaxe complète de l’instruction Transact-SQL, consultez SAUVEGARDE (Transact-SQL).

Utiliser PowerShell

Cet exemple crée les options de chiffrement et les utilise en tant que valeur de paramètre dans l’applet de commande Backup-SqlDatabase pour créer une sauvegarde chiffrée.

$encryptionOption = New-SqlBackupEncryptionOption -Algorithm Aes256 -EncryptorType ServerCertificate -EncryptorName "BackupCert"

Backup-SqlDatabase -ServerInstance . -Database "<myDatabase>" -BackupFile "<myDatabase>.bak" -CompressionOption On -EncryptionOption $encryptionOption

Créez une sauvegarde du certificat de chiffrement et des clés dans un emplacement autre que votre ordinateur local sur lequel est installée l'instance. Pour prendre en compte les scénarios de récupération d'urgence, envisagez de stocker une sauvegarde du certificat ou de la clé dans un emplacement hors site. Vous ne pouvez pas restaurer une sauvegarde chiffrée sans le certificat utilisé pour chiffrer la sauvegarde.

Pour restaurer une sauvegarde chiffrée, le certificat d'origine utilisé lorsque la sauvegarde a été effectuée avec l'empreinte numérique correspondante doit être disponible sur l'instance sur laquelle vous restaurez. Par conséquent, le certificat ne doit pas être renouvelé à expiration ou être modifié de quelque manière que ce soit. Le renouvellement peut entraîner la mise à jour du certificat et déclencher la modification de l'empreinte numérique, ce qui rend donc le certificat non valide pour le fichier de sauvegarde. Le compte qui effectue la restauration doit disposer des autorisations VIEW DEFINITION sur le certificat ou la clé asymétrique utilisée pour chiffrer pendant la sauvegarde.

Les sauvegardes de base de données du groupe de disponibilité sont généralement effectuées sur le réplica de sauvegarde par défaut. Si vous restaurez une sauvegarde sur une réplique autre que celle à partir de laquelle la sauvegarde a été effectuée, assurez-vous que le certificat original utilisé pour la sauvegarde est disponible sur le réplica vers lequel vous effectuez la restauration.

Si la base de données est activée pour le chiffrement transparent des données, sélectionnez différents certificats ou clés asymétriques pour chiffrer la base de données et la sauvegarde afin de renforcer la sécurité.