Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
S'applique à : SQL Server
SQL Server fournit des fonctions de chiffrement de données en même temps que la gestion de clés extensible (EKM, Extensible Key Management) à l’aide du fournisseur de l’API Microsoft Cryptographic (MSCAPI) pour le chiffrement et la génération de clés. Les clés de chiffrement pour les données et le chiffrement à clé sont créés dans des conteneurs de clé transitoires, et ils doivent être exportés d'un fournisseur avant d'être stockés dans la base de données. Cette approche permet à SQL Server d’assurer la gestion des clés, notamment la hiérarchie des clés de chiffrement et la sauvegarde des clés.
Face à la demande croissante de conformité aux normes et aux problèmes liés à la confidentialité des données, les organisations font appel au chiffrement afin d'apporter une solution de « défense en profondeur ». Cette approche est souvent peu pratique car elle utilise uniquement des outils de gestion de chiffrement de base de données. Les fabricants de matériel fournissent des produits qui prennent en charge la gestion des clés dans l’entreprise à l’aide des modules de la sécurité matériels . Les périphériques HSM stockent des clés de chiffrement dans les modules matériels ou logiciels. Il s'agit d'une solution plus sécurisée parce que les clés de chiffrement ne résident pas avec les données de chiffrement.
Plusieurs fournisseurs offrent HSM pour la gestion des clés et l'accélération du chiffrement. Les périphériques HSM utilisent des interfaces matérielles avec un processus serveur comme intermédiaire entre une application et un HSM. Les fournisseurs implémentent également des fournisseurs MSCAPI sur leurs modules qui peuvent être matériels ou logiciels. MSCAPI offre souvent seulement un sous-ensemble des fonctionnalités offertes par un HSM. Les fournisseurs peuvent également fournir le logiciel de gestion pour HSM, la configuration de clé et l'accès aux clés.
Les mises en œuvre de HSM varient d’un fournisseur à l’autre, et leur utilisation avec SQL Server nécessite une interface commune. Si MSCAPI fournit cette interface, elle prend en charge uniquement un sous-ensemble des fonctionnalités HSM. Elle connaît aussi d'autres limitations, telles que l'incapacité à rendre persistantes en mode natif des clés symétriques et une absence de prise en charge orientée session.
SQL Server Extensible Key Management permet aux fournisseurs tiers d’EKM/HSM d’enregistrer leurs modules dans SQL Server. Une fois inscrits, les utilisateurs de SQL Server peuvent utiliser les clés de chiffrement stockées dans les modules EKM. SQL Server peut ainsi accéder aux fonctionnalités de chiffrement avancées offertes par ces modules, à savoir le déchiffrement et le chiffrement en bloc. Il a par ailleurs accès aux fonctions de gestion de clés, notamment le vieillissement de clé et la permutation de clé.
Lorsque SQL Server est exécuté dans un ordinateur virtuel Azure, il peut utiliser des clés stockées dans Azure Key Vault. Pour plus d’informations, consultez Gestion de clés extensible à l’aide d’Azure Key Vault (SQL Server).
La gestion des clés extensibles est non disponible dans toutes les éditions de Microsoft SQL Server. Pour obtenir la liste des fonctionnalités prises en charge par les éditions de SQL Server, consultez Fonctionnalités prise en charge par les éditions de SQL Server 2016.
Par défaut, la gestion de clés extensible est désactivée. Pour activer cette fonctionnalité, utilisez la commande sp_configure avec l'option et la valeur suivantes, comme dans l'exemple ci-après :
sp_configure 'show advanced', 1
GO
RECONFIGURE
GO
sp_configure 'EKM provider enabled', 1
GO
RECONFIGURE
GO
Note
Si vous utilisez la commande sp_configure pour cette option sur les éditions de SQL Server qui ne prennent pas en charge la gestion de clés extensible, vous recevrez un message d’erreur.
Pour désactiver la fonctionnalité, affectez-lui la valeur 0. Pour plus d’informations sur la définition des options du serveur, consultez sp_configure (Transact-SQL).
La gestion de clés extensible SQL Server active les clés de chiffrement qui protègent les fichiers de base de données à stocker dans un appareil distant comme une carte à puce, un périphérique USB ou un module EKM/HSM. Elle permet aussi la protection des données pour les administrateurs de base de données (sauf les membres du groupe sysadmin). Les données peuvent être chiffrées à l'aide des clés de chiffrement auxquelles seul l'utilisateur de base de données peut accéder sur le module EKM/HSM externe.
La gestion de clés extensible offre aussi les avantages suivants :
Contrôle d'autorisation supplémentaire (activant la séparation des tâches).
Performances supérieures pour le chiffrement/déchiffrement basé sur le matériel.
Génération de clé de chiffrement externe.
Stockage de clé de chiffrement externe (séparation physique des données et des clés).
Récupération de clés de chiffrement.
Rétention de clé de chiffrement externe (permet la rotation de clé de chiffrement).
Récupération simplifiée de clé de chiffrement.
Distribution gérable de clé de chiffrement.
Suppression de clé de chiffrement sécurisée.
Vous pouvez utiliser la gestion de clés extensible pour une combinaison de nom d’utilisateur et de mot de passe ou d’autres méthodes définies par le pilote EKM.
Attention
Pour le dépannage, le support technique de Microsoft peut requérir la clé de chiffrement du fournisseur EKM. Vous devrez peut-être aussi accéder aux outils ou aux processus du fournisseur pour aider à résoudre un problème.
Un module EKM peut prendre en charge plusieurs types d'authentification. Chaque fournisseur n’expose qu’un seul type d’authentification à SQL Server. Autrement dit, si le module prend en charge les types d’authentification de base ou autre, il expose l’un ou l’autre, mais pas les deux.
Pour les modules EKM qui prennent en charge l’authentification de base à l’aide d’une paire nom d’utilisateur/mot de passe, SQL Server fournit une authentification transparente à l’aide d’identifiants. Pour plus d’informations sur les identifiants, consultez Identifiants (moteur de base de données).
Un identifiant peut être créé pour un fournisseur EKM et mappé à une connexion (comptes Windows et SQL Server) pour accéder à un module EKM sur la base d’une connexion individuelle. Le champ Identité des informations d’identification contient le nom d’utilisateur. Le champ Secret contient un mot de passe pour la connexion à un module EKM.
S’il n’y a pas d’identifiant de connexion mappé pour le fournisseur EKM, l’identifiant mappé au compte de service SQL Server est utilisé.
Une connexion peut avoir plusieurs informations d'identification mappées à elle, à condition qu'elles soient utilisées pour des fournisseurs EKM distinctifs. Il ne doit y avoir qu'une seule information d'authentification mappée par fournisseur EKM par connexion. La même information d'identification peut être mappée à d'autres connexions.
Pour les modules EKM qui ont une authentification autre que Windows ou des combinaisons utilisateur/mot de passe, l’authentification doit être effectuée indépendamment de SQL Server.
Vous pouvez utiliser les fonctions et fonctionnalités suivantes pour chiffrer et déchiffrer des données à l'aide des clés symétriques et asymétriques :
Fonction ou fonctionnalité | Référence |
---|---|
Chiffrement à clé symétrique | CREATE SYMMETRIC KEY (Transact-SQL) |
Chiffrement à clé asymétrique | CREATE ASYMMETRIC KEY (Transact-SQL) |
EncryptByKey(key_guid, 'cleartext', ...) | ENCRYPTBYKEY (Transact-SQL) |
DecryptByKey(ciphertext, ...) | DECRYPTBYKEY (Transact-SQL) |
EncryptByAsmKey(key_guid, 'cleartext') | ENCRYPTBYASYMKEY (Transact-SQL) |
DecryptByAsmKey(ciphertext) | DECRYPTBYASYMKEY (Transact-SQL) |
SQL Server peut utiliser des clés EKM pour chiffrer d’autres clés dans une base de données. Vous pouvez créer et utiliser à la fois des clés symétriques et asymétriques sur un périphérique EKM. Vous pouvez chiffrer des clés symétriques natives (non-EKM) avec des clés asymétriques EKM.
L'exemple suivant crée une clé symétrique de base de données et la chiffre à l'aide d'une clé sur un module EKM.
CREATE SYMMETRIC KEY Key1
WITH ALGORITHM = AES_256
ENCRYPTION BY EKM_AKey1;
GO
--Open database key
OPEN SYMMETRIC KEY Key1
DECRYPTION BY EKM_AKey1
Pour plus d’informations sur les clés de base de données et de serveur dans SQL Server, consultez SQL Server et les clés de chiffrement de base de données (moteur de base de données).
Note
Vous ne pouvez pas chiffrer une clé EKM avec une autre clé EKM.
SQL Server ne prend pas en charge la signature des modules à partir de clés asymétriques générées par un fournisseur EKM.
Fournisseur EKM activé (option de configuration de serveur)
Activer le chiffrement transparent des données à l’aide de la gestion de clés extensible (EKM)
Gestion de clés extensible à l’aide d’Azure Key Vault (SQL Server)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)
sys.cryptographic_providers (Transact-SQL)
sys.dm_cryptographic_provider_sessions (Transact-SQL)
sys.dm_cryptographic_provider_properties (Transact-SQL)
sys.dm_cryptographic_provider_algorithms (Transact-SQL)
sys.dm_cryptographic_provider_keys (Transact-SQL)
sys.credentials (Transact-SQL)
CREATE CREDENTIAL (Transact-SQL)
ALTER LOGIN (Transact-SQL)
CREATE ASYMMETRIC KEY (Transact-SQL)
ALTER ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
ALTER SYMMETRIC KEY (Transact-SQL)
DROP SYMMETRIC KEY (Transact-SQL)
OPEN SYMMETRIC KEY (Transact-SQL)
Sauvegarder et restaurer les clés de chiffrement Reporting Services
Supprimer et recréer des clés de chiffrement (Gestionnaire de configuration de SSRS)
Ajouter et supprimer des clés de chiffrement pour un déploiement avec montée en puissance parallèle (Gestionnaire de configuration de SSRS)
Sauvegarder la clé principale du service
Restaurer la clé principale du service
Créer une clé principale de base de données
Sauvegarder une clé primaire de base de données
Restaurer une clé principale de base de données
Créer des clés symétriques identiques sur deux serveurs
Événement
31 mars, 23 h - 2 avr., 23 h
Le plus grand événement d’apprentissage SQL, Fabric et Power BI. 31 mars au 2 avril. Utilisez le code FABINSIDER pour économiser 400 $.
Inscrivez-vous aujourd’huiFormation
Module
Protéger les données en transit et au repos - Training
Protéger les données en transit et au repos
Certification
Microsoft Certified : Azure Database Administrator Associate - Certifications
Administrer une infrastructure de base de données SQL Server pour les bases de données relationnelles cloud, locales et hybrides à l’aide des offres de bases de données relationnelles Microsoft PaaS.
Documentation
Activez Transparent Data Encryption (TDE) dans SQL Server afin de protéger une clé de base de données à l’aide d’une clé asymétrique stockée dans un module de gestion de clés extensible (EKM) avec Transact-SQL.
SQL Server et clés de chiffrement de base de données - SQL Server
Découvrez la clé principale de service et la clé principale de base de données utilisées par le moteur de base de données SQL Server pour chiffrer et sécuriser les données.
Chiffrement transparent des données (TDE) - SQL Server
Découvrez le chiffrement transparent des données, qui chiffre les données SQL Server, Azure SQL Database et Azure Synapse Analytics. Il est également appelé chiffrement des données au repos.