Chiffrement des données dans SQL ServerData Encryption in SQL Server

SQL Server fournit des fonctions de chiffrement et déchiffrement de données à l'aide d'un certificat, d'une clé asymétrique ou d'une clé symétrique.SQL Server provides functions to encrypt and decrypt data using a certificate, asymmetric key, or symmetric key. Il gère tous ces éléments dans un magasin de certificats interne.It manages all of these in an internal certificate store. Le magasin utilise une hiérarchie de chiffrement qui sécurise les certificats et les clés sur un niveau à l'aide de la couche située au-dessus dans la hiérarchie.The store uses an encryption hierarchy that secures certificates and keys at one level with the layer above it in the hierarchy. Ce domaine de fonctionnalités de SQL Server est appelé stockage secret.This feature area of SQL Server is called Secret Storage.

Le chiffrement à clé symétrique est le mode le plus rapide pris en charge par les fonctions de chiffrement.The fastest mode of encryption supported by the encryption functions is symmetric key encryption. Ce mode est approprié pour la gestion de volumes importants de données.This mode is suitable for handling large volumes of data. Les clés symétriques peuvent être chiffrées par des certificats, des mots de passe ou d'autres clés symétriques.The symmetric keys can be encrypted by certificates, passwords or other symmetric keys.

Clés et algorithmesKeys and Algorithms

SQL Server prend en charge plusieurs algorithmes de chiffrement à clé symétrique, notamment DES, Triple DES, RC2, RC4, RC4 128 bits, DESX, AES 128 bits, AES 192 bits et AES 256 bits.SQL Server supports several symmetric key encryption algorithms, including DES, Triple DES, RC2, RC4, 128-bit RC4, DESX, 128-bit AES, 192-bit AES, and 256-bit AES. Les algorithmes sont implémentés à l'aide de l'API de chiffrement Windows.The algorithms are implemented using the Windows Crypto API.

Dans l'étendue d'une connexion de base de données, SQL Server peut gérer plusieurs clés symétriques ouvertes.Within the scope of a database connection, SQL Server can maintain multiple open symmetric keys. Une clé ouverte est récupérée du magasin et est disponible pour le déchiffrement des données.An open key is retrieved from the store and is available for decrypting data. Lorsqu'une donnée est déchiffrée, il est inutile de spécifier la clé symétrique à utiliser.When a piece of data is decrypted, there is no need to specify the symmetric key to use. Chaque valeur chiffrée contient l'identificateur (GUID clé) de la clé utilisée pour la chiffrer.Each encrypted value contains the key identifier (key GUID) of the key used to encrypt it. Le moteur met en correspondance le flux d'octets chiffrés avec une clé symétrique ouverte, si la clé correcte a été déchiffrée et est ouverte.The engine matches the encrypted byte stream to an open symmetric key, if the correct key has been decrypted and is open. Cette clé est ensuite utilisée pour procéder au déchiffrement et retourner les données.This key is then used to perform decryption and return the data. Si la clé correcte n'est pas ouverte, la valeur NULL est retournée.If the correct key is not open, NULL is returned.

Pour obtenir un exemple qui montre comment utiliser les données chiffrées dans une base de données, consultez chiffrer une colonne de données.For an example that shows how to work with encrypted data in a database, see Encrypt a Column of Data.

Ressources externesExternal Resources

Pour plus d'informations sur le chiffrement des données, voir les ressources suivantes.For more information on data encryption, see the following resources.

RessourceResource DescriptionDescription
Chiffrement SQL ServerSQL Server Encryption Fournit une vue d'ensemble du chiffrement dans SQL Server.Provides an overview of encryption in SQL Server. Cette rubrique inclut des liens vers des articles supplémentaires.This topic includes links to additional articles.
Hiérarchie de chiffrementEncryption Hierarchy Fournit une vue d'ensemble du chiffrement dans SQL Server.Provides an overview of encryption in SQL Server. Cette rubrique fournit des liens vers des articles supplémentaires.This topic provides links to additional articles.

Voir aussiSee also