Certificats et clés asymétriques SQL Server

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Le chiffrement à clé publique est une forme de confidentialité des messages dans laquelle un utilisateur crée une clé publique et une clé privée. La clé privée est gardée secrète, alors que la clé publique peut être distribuée aux autres. Bien que les clés soient liées mathématiquement, la clé privée ne peut pas être dérivée facilement de la clé publique. La clé publique permet de chiffrer des données que seule la clé privée correspondante sera en mesure de déchiffrer. Cela permet de chiffrer les messages adressés au propriétaire de la clé privée. De façon similaire, le propriétaire d’une clé privée peut chiffrer des données qui peuvent être déchiffrées uniquement avec la clé publique. Cette utilisation constitue la base des certificats numériques, dans lesquels les informations sont chiffrées par le propriétaire d’une clé privée, assurant ainsi l’auteur du contenu. Comme les clés de chiffrement et de déchiffrement sont différentes, on parle de clés asymétriques.

Les certificats et les clés asymétriques sont deux façons d'utiliser un chiffrement asymétrique. Les certificats sont souvent utilisés comme conteneurs pour les clés asymétriques car ils peuvent contenir plus d'informations, telles que les dates d'expiration et les émetteurs. Il n'y a aucune différence entre les deux mécanismes en ce qui concerne l'algorithme de chiffrement et aucune différence de puissance pour une même longueur de clé. En général, vous utilisez un certificat pour chiffrer d'autres types de clés de chiffrement dans une base de données ou pour signer des modules de code.

Les certificats et les clés asymétriques permettent de déchiffrer des données chiffrées par l'autre. En général, vous utilisez un chiffrement asymétrique pour chiffrer une clé symétrique afin de la stocker dans une base de données.

Une clé publique n'a pas de format particulier à la différence d'un certificat, et vous ne pouvez pas l'exporter dans un fichier.

Note

SQL Server contient des fonctionnalités qui vous permettent de créer et de gérer des certificats et des clés à utiliser avec le serveur et la base de données. SQL Server ne peut pas être utilisé pour créer et gérer des certificats et des clés avec d’autres applications ou dans le système d’exploitation.

Certificats

Un certificat est un objet de sécurité signé numériquement qui contient une clé publique (et éventuellement privée) pour SQL Server. Vous pouvez utiliser des certificats générés en externe ou SQL Server peut générer des certificats.

Note

Les certificats SQL Server sont conformes à la norme de certificat IETF X.509v3.

Les certificats sont utiles en raison de l'option permettant d'exporter et d'importer des clés dans des fichiers de certificat X.509. La syntaxe permettant de créer des certificats prend en compte des options de création de certificats, telles qu'une date d'expiration.

Utilisation d'un certificat dans SQL Server

Les certificats peuvent être utilisés pour mieux sécuriser des connexions, dans la mise en miroir de bases de données, pour signer des packages et d'autres objets, ou pour chiffrer des données ou des connexions. Le tableau suivant répertorie les ressources supplémentaires pour les certificats dans SQL Server.

Sujet Description
CREATE CERTIFICATE (Transact-SQL) Explique la commande permettant de créer des certificats.
Identifier la source de packages à l'aide de signatures numériques Fournit des informations sur la façon d'utiliser des certificats pour signer des packages logiciels.
Utiliser des certificats pour un point de terminaison de mise en miroir de bases de données (Transact-SQL) Fournit des informations sur la façon d'utiliser les certificats avec la mise en miroir de bases de données.

Clés asymétriques

Les clés asymétriques permettent de sécuriser des clés symétriques. Elles peuvent également être utilisées pour un chiffrement de données limité et pour signer numériquement des objets de base de données. Une clé asymétrique se compose d'une clé privée et d'une clé publique correspondante. Pour plus d’informations sur les clés asymétriques, consultez CREATE ASYMMETRIC KEY (Transact-SQL).

Les clés asymétriques peuvent être importées à partir de fichiers de clé de nom fort, mais elles ne peuvent pas être exportées. Elles n'ont pas non plus d'options d'expiration. Les clés asymétriques ne permettent pas de chiffrer des connexions.

Utilisation d'une clé asymétrique dans SQL Server

Les clés asymétriques permettent de mieux sécuriser des données ou de signer du texte en clair. Le tableau suivant répertorie les ressources supplémentaires pour les clés asymétriques dans SQL Server.

Sujet Description
CREATE ASYMMETRIC KEY (Transact-SQL) Explique la commande permettant de créer des clés asymétriques.
SIGNBYASYMKEY (Transact-SQL) Affiche les options disponibles pour signer des objets.

Outils

Microsoft fournit des outils et des utilitaires qui génèrent des certificats et des fichiers de clés de nom fort. Ces outils offrent une plus grande flexibilité dans le processus de génération de clés que la syntaxe SQL Server. Vous pouvez utiliser ces outils pour créer des clés RSA avec des longueurs de clés plus complexes, puis les importer dans SQL Server. Le tableau ci-dessous indique où ces outils se trouvent.

Outil Objectif
New-SelfSignedCertificate Crée des certificats auto-signés.
makecert Crée des certificats. Déconseillé en faveur de New-SelfSignedCertificate.
sn Crée des noms forts pour les clés symétriques.

Choisir un algorithme de chiffrement

CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Voir aussi

sys.certificates (Transact-SQL)
Chiffrement transparent des données (TDE)