Certificats et clés asymétriques SQL ServerSQL Server Certificates and Asymmetric Keys

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 .Public Key Cryptography (PKI) is a form of message secrecy in which a user creates a public key and a private key. La clé privée est gardée secrète, alors que la clé publique peut être distribuée aux autres.The private key is kept secret, whereas the public key can be distributed to others. 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.Although the keys are mathematically related, the private key cannot be easily derived by using the public key. La clé publique est utilisée pour chiffrer les données et la clé privée pour les déchiffrer.The public key is used to encrypt data and the private key is used to decrypt data. Un message chiffré à l'aide de la clé publique peut être déchiffré uniquement à l'aide de la clé privée appropriée.A message that is encrypted by using the public key can only be decrypted by using the correct private key. Comme il existe deux clés différentes, ces clés sont asymétriques.Since there are two different keys, these keys are asymmetric.

Les certificats et les clés asymétriques sont deux façons d'utiliser un chiffrement asymétrique.Certificates and asymmetric keys are both ways to use asymmetric encryption. 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.Certificates are often used as containers for asymmetric keys because they can contain more information such as expiry dates and issuers. 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é.There is no difference between the two mechanisms for the cryptographic algorithm, and no difference in strength given the same key length. 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.Generally, you use a certificate to encrypt other types of encryption keys in a database, or to sign code modules.

Les certificats et les clés asymétriques permettent de déchiffrer des données chiffrées par l'autre.Certificates and asymmetric keys can decrypt data that the other encrypts. 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.Generally, you use asymmetric encryption to encrypt a symmetric key for storage in a database.

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.A public key does not have a particular format like a certificate would have, and you cannot export it to a file.

Note

SQL ServerSQL 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 ServerSQL Server contains features that enable you to create and manage certificates and keys for use with the server and database. SQL ServerSQL Server ne permet pas de créer ni de gérer des certificats et des clés avec d'autres applications ou dans le système d'exploitation. cannot be used to create and manage certificates and keys with other applications or in the operating system.

CertificatsCertificates

Un certificat est un objet de sécurité signé numériquement qui contient une clé publique (voire éventuellement une clé privée) pour SQL ServerSQL Server.A certificate is a digitally signed security object that contains a public (and optionally a private) key for SQL ServerSQL Server. Vous pouvez utiliser des certificats générés de manière externe ou SQL ServerSQL Server peut générer les certificats.You can use externally generated certificates or SQL ServerSQL Server can generate certificates.

Note

SQL ServerSQL Server Les certificats sont conformes à la norme IETF X.509v3 relative aux certificats. SQL ServerSQL Server certificates comply with the IETF X.509v3 certificate standard.

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.Certificates are useful because of the option of both exporting and importing keys to X.509 certificate files. La syntaxe permettant de créer des certificats prend en compte des options de création de certificats, telles qu'une date d'expiration.The syntax for creating certificates allows for creation options for certificates such as an expiry date.

Utilisation d'un certificat dans SQL ServerUsing a Certificate in 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.Certificates can be used to help secure connections, in database mirroring, to sign packages and other objects, or to encrypt data or connections. Le tableau ci-dessous répertorie des ressources supplémentaires pour les certificats dans SQL ServerSQL Server.The following table lists additional resources for certificates in SQL ServerSQL Server.

RubriqueTopic DescriptionDescription
CREATE CERTIFICATE (Transact-SQL)CREATE CERTIFICATE (Transact-SQL) Explique la commande permettant de créer des certificats.Explains the command for creating certificates.
Identifier la source de packages à l'aide de signatures numériquesIdentify the Source of Packages with Digital Signatures Fournit des informations sur la façon d'utiliser des certificats pour signer des packages logiciels.Shows information about how to use certificates to sign software packages.
Utiliser des certificats pour un point de terminaison de mise en miroir de bases de données (Transact-SQL)Use Certificates for a Database Mirroring Endpoint (Transact-SQL) Fournit des informations sur la façon d'utiliser les certificats avec la mise en miroir de bases de données.Covers information about how to use certificates with Database Mirroring.

Clés asymétriquesAsymmetric Keys

Les clés asymétriques permettent de sécuriser des clés symétriques.Asymmetric keys are used for securing symmetric keys. 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.They can also be used for limited data encryption and to digitally sign database objects. Une clé asymétrique se compose d'une clé privée et d'une clé publique correspondante.An asymmetric key consists of a private key and a corresponding public key. Pour plus d’informations sur les clés asymétriques, consultez CREATE ASYMMETRIC KEY (Transact-SQL).For more information about asymmetric keys, see 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.Asymmetric keys can be imported from strong name key files, but they cannot be exported. Elles n'ont pas non plus d'options d'expiration.They also do not have expiry options. Les clés asymétriques ne permettent pas de chiffrer des connexions.Asymmetric keys cannot encrypt connections.

Utilisation d'une clé asymétrique dans SQL ServerUsing an Asymmetric Key in SQL Server

Les clés asymétriques permettent de mieux sécuriser des données ou de signer du texte en clair.Asymmetric keys can be used to help secure data or sign plaintext. Le tableau ci-dessous répertorie des ressources supplémentaires pour les clés asymétriques dans SQL ServerSQL Server.The following table lists additional resources for asymmetric keys in SQL ServerSQL Server.

RubriqueTopic DescriptionDescription
CREATE ASYMMETRIC KEY (Transact-SQL)CREATE ASYMMETRIC KEY (Transact-SQL) Explique la commande permettant de créer des clés asymétriques.Explains the command for creating asymmetric keys.
SIGNBYASYMKEY (Transact-SQL)SIGNBYASYMKEY (Transact-SQL) Affiche les options disponibles pour signer des objets.Displays the options for signing objects.

OutilsTools

MicrosoftMicrosoft fournit des outils et des utilitaires qui généreront des certificats et des fichiers de clé de nom fort. provides tools and utilities that will generate certificates and strong name key files. Ces outils permettent une flexibilité accrue dans le processus de génération de clé par rapport à la syntaxe SQL ServerSQL Server .These tools offer a richer amount of flexibility in the key generation process than the SQL ServerSQL Server syntax. Vous pouvez utiliser ces outils pour créer des clés RSA avec des longueurs de clé plus complexes, puis les importer dans SQL ServerSQL Server.You can use these tools to create RSA keys with more complex key lengths and then import them into SQL ServerSQL Server. Le tableau ci-dessous indique où ces outils se trouvent.The following table explains shows where to find these tools.

OutilTool FonctionPurpose
makecertmakecert Crée des certificats.Creates certificates.
snsn Crée des noms forts pour les clés symétriques.Creates strong names for symmetric keys.

Choisir un algorithme de chiffrementChoose an Encryption Algorithm

CREATE SYMMETRIC KEY (Transact-SQL)CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)CREATE CERTIFICATE (Transact-SQL)

Voir aussiSee Also

sys.certificates (Transact-SQL) sys.certificates (Transact-SQL)
Transparent Data Encryption (TDE) Transparent Data Encryption (TDE)