Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
SQL Server esegue sempre la crittografia dei pacchetti di rete associati all'accesso. Se non è stato eseguito il provisioning di alcun certificato nel server all'avvio, SQL Server genera un certificato autofirmato usato per crittografare i pacchetti di accesso.
Le applicazioni possono anche richiedere la crittografia di tutto il traffico di rete usando parole chiave della stringa di connessione o proprietà di connessione. Le parole chiave sono "Encrypt" per ODBC e OLE DB quando si usa una stringa del provider con IDbInitialize::Initialize o "Use Encryption for Data" per ADO e OLE DB quando si usa una stringa di inizializzazione con IDataInitialize. Questa operazione può essere configurata anche da Gestione configurazione SQL Server usando l'opzione Forza crittografia protocollo . Per impostazione predefinita, la crittografia di tutto il traffico di rete per una connessione richiede il provisioning di un certificato nel server.
Per informazioni sulle parole chiave della stringa di connessione, vedere Uso delle parole chiave delle stringhe di connessione con SQL Server Native Client.
Per abilitare la crittografia da usare quando non è stato effettuato il provisioning di un certificato nel server, è possibile usare Gestione configurazione SQL Server per impostare sia le opzioni Force Protocol Encryption che Trust Server Certificate . In questo caso, la crittografia userà un certificato server autofirmato senza convalida se non è stato effettuato il provisioning di alcun certificato verificabile nel server.
Le applicazioni possono anche usare la parola chiave "TrustServerCertificate" o l'attributo di connessione associato per garantire che venga eseguita la crittografia. Le impostazioni dell'applicazione non riducono mai il livello di sicurezza impostato da Gestione configurazione client di SQL Server, ma possono rafforzarlo. Ad esempio, se Force Protocol Encryption non è impostato per il client, un'applicazione può richiedere la crittografia stessa. Per garantire la crittografia anche quando non è stato effettuato il provisioning di un certificato server, un'applicazione può richiedere la crittografia e "TrustServerCertificate". Tuttavia, se "TrustServerCertificate" non è abilitato nella configurazione client, è ancora necessario un certificato server con provisioning. Nella tabella seguente vengono descritti tutti i casi:
| Forzare l'impostazione del client di crittografia del protocollo | Impostazione client Trust Server Certificate | Stringa di connessione/attributo di connessione Encrypt/Use Encryption for Data | Stringa di connessione/attributo di connessione Trust Server Certificate | Risultato |
|---|---|---|---|---|
| NO | Non disponibile | No (impostazione predefinita) | Ignorato | Non viene eseguita alcuna crittografia. |
| NO | Non disponibile | Sì | No (impostazione predefinita) | La crittografia si verifica solo se è presente un certificato server verificabile, in caso contrario il tentativo di connessione non riesce. |
| NO | Non disponibile | Sì | Sì | La crittografia si verifica sempre, ma può usare un certificato server autofirmato. |
| Sì | NO | Ignorato | Ignorato | La crittografia si verifica solo se è presente un certificato server verificabile, in caso contrario il tentativo di connessione non riesce. |
| Sì | Sì | No (impostazione predefinita) | Ignorato | La crittografia si verifica sempre, ma può usare un certificato server autofirmato. |
| Sì | Sì | Sì | No (impostazione predefinita) | La crittografia si verifica solo se è presente un certificato server verificabile, in caso contrario il tentativo di connessione non riesce. |
| Sì | Sì | Sì | Sì | La crittografia si verifica sempre, ma può usare un certificato server autofirmato. |
Provider OLE DB di SQL Server Native Client
Il provider OLE DB di SQL Server Native Client supporta la crittografia senza convalida tramite l'aggiunta della proprietà di inizializzazione dell'origine dati SSPROP_INIT_TRUST_SERVER_CERTIFICATE, implementata nel set di proprietà DBPROPSET_SQLSERVERDBINIT. Inoltre, è stata aggiunta una nuova parola chiave della stringa di connessione, "TrustServerCertificate". Accetta valori sì o no; no è l'impostazione predefinita. Quando si usano i componenti del servizio, accetta valori true o false; false è l'impostazione predefinita.
Per altre informazioni sui miglioramenti apportati al set di proprietà DBPROPSET_SQLSERVERDBINIT, vedere Inizializzazione e proprietà di autorizzazione.
Driver ODBC di SQL Server Native Client
Il driver ODBC di SQL Server Native Client supporta la crittografia senza convalida tramite aggiunte alle funzioni SQLSetConnectAttr e SQLGetConnectAttr . SQL_COPT_SS_TRUST_SERVER_CERTIFICATE è stato aggiunto per accettare SQL_TRUST_SERVER_CERTIFICATE_YES o SQL_TRUST_SERVER_CERTIFICATE_NO, con SQL_TRUST_SERVER_CERTIFICATE_NO come impostazione predefinita. È stata aggiunta anche una nuova parola chiave della stringa di connessione " TrustServerCertificate". Accetta valori sì o no; "no" è l'impostazione predefinita.