Certificats et clés asymétriques SQL Server

Le chiffrement à clé publique (PKI) 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 est utilisée pour chiffrer les données et la clé privée pour les déchiffrer. Un message chiffré à l'aide de la clé publique peut être déchiffré uniquement à l'aide de la clé privée appropriée. Comme il existe deux clés différentes, ces clés sont 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.

[!REMARQUE]

SQL Server contient des fonctionnalités qui vous permettent de créer et gérer des certificats et des clés en vue de les utiliser avec le serveur et la base de données. SQL Server ne permet pas de créer ni 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 (voire éventuellement une clé privée) pour SQL Server. Vous pouvez utiliser des certificats générés de manière externe ou SQL Server peut générer les certificats.

[!REMARQUE]

Les certificats SQL Server sont conformes à la norme IETF X.509v3 relative aux certificats.

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 ci-dessous répertorie des ressources supplémentaires pour les certificats dans SQL Server.

Rubrique

Description

CREATE CERTIFICATE (Transact-SQL)

Explique la commande permettant de créer des certificats.

Les certificats et Service Broker

Affiche des informations sur la façon d'utiliser les certificats avec Service Broker.

Utilisation de signatures numériques avec des packages

Fournit des informations sur la façon d'utiliser des certificats pour signer des packages logiciels.

Certificats de la sécurité du dialogue

Détaille la façon d'utiliser les certificats avec des dialogues.

Utilisation de certificats pour la mise en miroir de bases de données

Fournit des informations sur la façon d'utiliser les certificats avec la mise en miroir de bases de données.

Chiffrement des connexions à SQL Server

Explique comment chiffrer des connexions à SQL Server

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 ci-dessous répertorie des ressources supplémentaires pour les clés asymétriques dans SQL Server.

Rubrique

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éreront des certificats et des fichiers de clé de nom fort. Ces outils permettent une flexibilité accrue dans le processus de génération de clé par rapport à la syntaxe SQL Server. Vous pouvez utiliser ces outils pour créer des clés RSA avec des longueurs de clé plus complexes, puis les importer dans SQL Server. Le tableau ci-dessous indique où ces outils se trouvent.

Outil

Fonction

makecert

Crée des certificats.

sn

Crée des noms forts pour les clés symétriques.