Condividi tramite


Certificati SQL Server e chiavi simmetriche

La crittografia a chiave pubblica (PKI) è un sistema per tutelare la segretezza dei messaggi in cui un utente crea una chiave pubblica e una chiave privata. La chiave privata viene tenuta segreta, mentre la chiave pubblica può essere distribuita ad altri. Sebbene le chiavi siano collegate da una relazione matematica, non è possibile estrapolare facilmente la chiave privata utilizzando la chiave pubblica. La chiave pubblica viene utilizzata per crittografare dati mentre quella privata viene impiegata per decrittografarli. Un messaggio crittografato con la chiave pubblica può essere decrittografato solo utilizzando la chiave privata corretta. Poiché si tratta di due chiavi diverse, queste chiavi sono asimmetriche.

Certificati e chiavi asimmetriche rappresentano entrambi una modalità di utilizzo della crittografia asimmetrica. I certificati vengono spesso utilizzati come contenitori delle chiavi asimmetriche perché possono contenere un maggior numero di informazioni, ad esempio date di scadenza e autorità emittenti. Non c'è differenza tra i due meccanismi per l'algoritmo di crittografia e nessuna differenza nel livello di protezione fornito a parità di lunghezza della chiave. In genere, si utilizza un certificato per crittografare gli altri tipi di chiavi di crittografia in un database o per firmare moduli di codice.

Certificati e chiavi asimmetriche sono in grado di decrittografare dati crittografati da altri. In genere, la crittografia asimmetrica viene utilizzata per crittografare una chiave simmetrica da archiviare in un database.

Al contrario di un certificato, una chiave pubblica non presenta un formato particolare e non può essere esportata in un file.

[!NOTA]

SQL Server contiene caratteristiche che consentono di creare e gestire certificati e chiavi da utilizzare con il server e il database. È impossibile utilizzare SQL Server per creare e gestire certificati e chiavi con le altre applicazioni o nel sistema operativo.

Certificati

Un certificato è un oggetto di sicurezza provvisto di firma digitale all'interno del quale è presente una chiave pubblica (e facoltativamente una privata) per SQL Server. È possibile utilizzare certificati generati all'esterno o da SQL Server.

[!NOTA]

I certificati SQL Server sono conformi allo standard per certificati IETF X.509v3.

L'utilità dei certificati deriva dall'opzione che consente di esportare e importare le chiavi a file di certificato X.509. La sintassi per la creazione di certificati offre opzioni come l'impostazione di una data di scadenza.

Utilizzo di un certificato in SQL Server

È possibile utilizzare i certificati per proteggere connessioni, eseguire il mirroring del database, firmare pacchetti e altri oggetti o crittografare dati o connessioni. Nella tabella seguente sono elencate risorse aggiuntive per i certificati presenti in SQL Server.

Argomento

Descrizione

CREATE CERTIFICATE (Transact-SQL)

Viene descritto il comando per la creazione di certificati.

Identificazione dell'origine dei pacchetti con firme digitali

Vengono fornite informazioni sull'utilizzo di certificati per la firma di pacchetti software.

Utilizzare certificati per un endpoint del mirroring del database (Transact-SQL)

Vengono fornite informazioni sull'utilizzo dei certificati con il mirroring del database.

Chiavi asimmetriche

Le chiavi asimmetriche sono utilizzate per proteggere le chiavi simmetriche. È possibile utilizzarle anche per una crittografia limitata dei dati e per la firma digitale di oggetti di database. Una chiave asimmetrica consiste in una chiave privata e in una chiave pubblica corrispondente. Per ulteriori informazioni sulle chiavi simmetriche, vedere CREATE ASYMMETRIC KEY (Transact-SQL).

È possibile importare le chiavi asimmetriche da file di chiave con nome sicuro, ma non esportarle. Le chiavi asimmetriche, inoltre, non hanno opzioni di scadenza e non sono in grado di crittografare connessioni.

Utilizzo di una chiave asimmetrica in SQL Server

È possibile utilizzare chiavi asimmetriche per proteggere dati o firmare testo non crittografato. Nella tabella seguente sono elencate risorse aggiuntive per chiavi asimmetriche presenti in SQL Server.

Argomento

Descrizione

CREATE ASYMMETRIC KEY (Transact-SQL)

Viene descritto il comando per la creazione di chiavi asimmetriche.

SIGNBYASYMKEY (Transact-SQL)

Vengono visualizzate le opzioni per la firma di oggetti.

Strumenti

In Microsoft vengono forniti strumenti e utilità in grado di generare certificati e file di chiave con nome sicuro. Questi strumenti offrono maggiore flessibilità nel processo di generazione delle chiavi rispetto alla sintassi SQL Server. È possibile utilizzare questi strumenti per creare chiavi RSA con lunghezze di chiave più complesse e importarle quindi in SQL Server. Nella tabella seguente viene indicato dove è possibile trovare questi strumenti.

Strumento

Scopo

makecert

Vengono creati certificati.

sn

Vengono creati nomi sicuri per le chiavi simmetriche.

Attività correlate

Scelta di un algoritmo di crittografia

CREATE SYMMETRIC KEY (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Vedere anche

Riferimento

sys.certificates (Transact-SQL)

Concetti

Transparent Data Encryption (TDE)