Certificats et clés asymétriques SQL Server
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Base de données SQL dans Microsoft Fabric
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.
Remarque
SQL Server contient des fonctionnalités qui vous permettent de créer et de 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 de 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 une clé 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.
Remarque
Les certificats SQL Server sont conformes à la norme 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 ci-dessous répertorie des 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 ci-dessous répertorie des 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éreront des certificats et des fichiers de clé à nom fort. Ces outils offrent une plus grande souplesse dans le processus de génération des clés en comparaison avec la syntaxe SQL Server. Vous pouvez utiliser ces outils pour créer des clés RSA à l’aide des longueurs de clé 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. |
Tâches associées
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)