Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
SQL Server chiffre toujours les paquets réseau associés à la connexion. Si aucun certificat n’a été provisionné sur le serveur lors du démarrage, SQL Server génère un certificat auto-signé utilisé pour chiffrer les paquets de connexion.
Les applications peuvent également demander le chiffrement de tout le trafic réseau à l’aide de mots clés de chaîne de connexion ou de propriétés de connexion. Les mots clés sont « Encrypt » pour ODBC et OLE DB lors de l’utilisation d’une chaîne de fournisseur avec IDbInitialize ::Initialize ou « Use Encryption for Data » pour ADO et OLE DB lors de l’utilisation d’une chaîne d’initialisation avec IDataInitialize. Cela peut également être configuré par le Gestionnaire de configuration SQL Server à l’aide de l’option Forcer le chiffrement du protocole . Par défaut, le chiffrement de tout le trafic réseau pour une connexion nécessite qu’un certificat soit approvisionné sur le serveur.
Pour plus d’informations sur les mots clés de chaîne de connexion, consultez Utilisation de mots clés de chaîne de connexion avec SQL Server Native Client.
Pour permettre l’utilisation du chiffrement lorsqu’un certificat n’a pas été provisionné sur le serveur, le Gestionnaire de configuration SQL Server peut être utilisé pour définir à la fois le chiffrement du protocole force et les options de certificat de serveur de confiance . Dans ce cas, le chiffrement utilise un certificat de serveur auto-signé sans validation si aucun certificat vérifiable n’a été approvisionné sur le serveur.
Les applications peuvent également utiliser le mot clé « TrustServerCertificate » ou son attribut de connexion associé pour garantir que le chiffrement a lieu. Les paramètres d’application ne réduisent jamais le niveau de sécurité défini par le Gestionnaire de configuration du client SQL Server, mais peuvent le renforcer. Par exemple, si Force Protocol Encryption n’est pas défini pour le client, une application peut demander le chiffrement lui-même. Pour garantir le chiffrement même lorsqu’un certificat de serveur n’a pas été provisionné, une application peut demander le chiffrement et « TrustServerCertificate ». Toutefois, si « TrustServerCertificate » n’est pas activé dans la configuration du client, un certificat de serveur approvisionné est toujours requis. Le tableau suivant décrit tous les cas :
| Forcer le paramètre client Chiffrement du protocole | Paramètre client de certificat de serveur d’approbation | Chaîne de connexion/attribut de connexion Chiffrer/Utiliser le chiffrement pour les données | Chaîne de connexion/attribut de connexion Approuver le certificat du serveur | Résultat |
|---|---|---|---|---|
| Non | N/A | Non (valeur par défaut) | Ignoré | Aucun chiffrement ne se produit. |
| Non | N/A | Oui | Non (valeur par défaut) | Le chiffrement se produit uniquement s’il existe un certificat de serveur vérifiable, sinon la tentative de connexion échoue. |
| Non | N/A | Oui | Oui | Le chiffrement se produit toujours, mais peut utiliser un certificat de serveur auto-signé. |
| Oui | Non | Ignoré | Ignoré | Le chiffrement se produit uniquement s’il existe un certificat de serveur vérifiable, sinon la tentative de connexion échoue. |
| Oui | Oui | Non (valeur par défaut) | Ignoré | Le chiffrement se produit toujours, mais peut utiliser un certificat de serveur auto-signé. |
| Oui | Oui | Oui | Non (valeur par défaut) | Le chiffrement se produit uniquement s’il existe un certificat de serveur vérifiable, sinon la tentative de connexion échoue. |
| Oui | Oui | Oui | Oui | Le chiffrement se produit toujours, mais peut utiliser un certificat de serveur auto-signé. |
Fournisseur OLE DB SQL Server Native Client
Le fournisseur OLE DB SQL Server Native Client prend en charge le chiffrement sans validation via l’ajout de la propriété d’initialisation de source de données SSPROP_INIT_TRUST_SERVER_CERTIFICATE, qui est implémentée dans le jeu de propriétés DBPROPSET_SQLSERVERDBINIT. En outre, un nouveau mot clé de chaîne de connexion, « TrustServerCertificate », tel qu’il a été ajouté. Il accepte oui ou non des valeurs ; n’est pas la valeur par défaut. Lorsque vous utilisez des composants de service, il accepte les valeurs true ou false ; false est la valeur par défaut.
Pour plus d’informations sur les améliorations apportées à l’ensemble de propriétés DBPROPSET_SQLSERVERDBINIT, consultez Propriétés d’initialisation et d’autorisation.
Pilote ODBC SQL Server Native Client
Le pilote ODBC SQL Server Native Client prend en charge le chiffrement sans validation via des ajouts aux fonctions SQLSetConnectAttr et SQLGetConnectAttr . SQL_COPT_SS_TRUST_SERVER_CERTIFICATE a été ajouté pour accepter SQL_TRUST_SERVER_CERTIFICATE_YES ou SQL_TRUST_SERVER_CERTIFICATE_NO, avec SQL_TRUST_SERVER_CERTIFICATE_NO étant la valeur par défaut. En outre, un nouveau mot clé de chaîne de connexion, « TrustServerCertificate », a été ajouté. Il accepte oui ou non des valeurs ; « non » est la valeur par défaut.