Condividi tramite


Gerarchia di crittografia

SQL Server crittografa i dati con una crittografia gerarchica e un'infrastruttura di gestione delle chiavi. Ogni livello crittografa il livello sottostante usando una combinazione di certificati, chiavi asimmetriche e chiavi simmetriche. Le chiavi asimmetriche e le chiavi simmetriche possono essere archiviate all'esterno di SQL Server in un modulo EKM (Extensible Key Management).

La figura seguente mostra che ogni livello della gerarchia di crittografia crittografa il livello sottostante e visualizza le configurazioni di crittografia più comuni. L'accesso all'inizio della gerarchia è in genere protetto da una password.

Visualizza alcune combinazioni di crittografia in uno stack.

Tenere presenti i concetti seguenti:

  • Per ottenere prestazioni ottimali, crittografare i dati usando chiavi simmetriche anziché certificati o chiavi asimmetriche.

  • Le chiavi master del database sono protette dalla chiave master del servizio. La chiave master del servizio viene creata dal programma di installazione di SQL Server e viene crittografata con l'API Protezione dati di Windows (DPAPI).

  • Sono possibili altre gerarchie di crittografia che sovrapporno livelli aggiuntivi.

  • Un modulo EKM (Extensible Key Management) contiene chiavi simmetriche o asimmetriche all'esterno di SQL Server.

  • Transparent Data Encryption (TDE) deve usare una chiave simmetrica denominata chiave di crittografia del database protetta da un certificato protetto dalla chiave master del database master o da una chiave asimmetrica archiviata in un EKM.

  • La chiave master del servizio e tutte le chiavi master del database sono chiavi simmetriche.

La figura seguente mostra le stesse informazioni in modo alternativo.

Visualizza alcune combinazioni di crittografia in una rotellina.

Questo diagramma illustra i concetti aggiuntivi seguenti:

  • In questa illustrazione le frecce indicano gerarchie di crittografia comuni.

  • Le chiavi simmetriche e asimmetriche in EKM possono proteggere l'accesso alle chiavi simmetriche e asimmetriche archiviate in SQL Server. La linea punteggiata associata a EKM indica che le chiavi in EKM potrebbero sostituire le chiavi simmetriche e asimmetriche archiviate in SQL Server.

Meccanismi di crittografia

SQL Server offre i meccanismi seguenti per la crittografia:

  • funzioni Transact-SQL

  • Chiavi asimmetriche

  • Chiavi simmetriche

  • Certificati

  • Crittografia Trasparente dei Dati

Funzioni Transact-SQL

I singoli elementi possono essere crittografati durante l'inserimento o l'aggiornamento tramite funzioni di Transact-SQL. Per altre informazioni, vedere ENCRYPTBYPASSPHRASE (Transact-SQL) e DECRYPTBYPASSPHRASE (Transact-SQL).

Certificati

Un certificato di chiave pubblica, in genere denominato certificato, è un'istruzione con firma digitale che associa il valore di una chiave pubblica all'identità della persona, del dispositivo o del servizio che contiene la chiave privata corrispondente. I certificati vengono rilasciati e firmati da un'autorità di certificazione (CA). L'entità che riceve un certificato da una CA è l'oggetto del certificato. In genere, i certificati contengono le informazioni seguenti.

  • Chiave pubblica dell'oggetto.

  • Informazioni sull'identificatore dell'oggetto, ad esempio il nome e l'indirizzo di posta elettronica.

  • Periodo di validità. Questo è il periodo di tempo in cui il certificato è considerato valido.

    Un certificato è valido solo per il periodo di tempo specificato al suo interno; ogni certificato contiene date Valide da e Valide a . Queste date impostano i limiti del periodo di validità. Quando il periodo di validità per un certificato è stato superato, è necessario richiedere un nuovo certificato dall'oggetto del certificato ora scaduto.

  • Informazioni sull'identificatore dell'autorità emittente.

  • Firma digitale dell'emittente.

    Questa firma attesta la validità dell'associazione tra la chiave pubblica e le informazioni sull'identificatore dell'oggetto. Il processo di firma digitale delle informazioni comporta la trasformazione delle informazioni, nonché alcune informazioni segrete contenute dal mittente, in un tag denominato firma.

Un vantaggio principale dei certificati è che alleviare gli host della necessità di mantenere un set di password per singoli soggetti. L'host stabilisce invece semplicemente l'attendibilità in un'autorità di certificazione, che può quindi firmare un numero illimitato di certificati.

Quando un host, ad esempio un server Web sicuro, definisce un'autorità radice attendibile, l'host considera implicitamente attendibili i criteri usati dall'autorità emittente per stabilire le associazioni dei certificati che rilascia. In effetti, l'host considera attendibile che l'autorità emittente abbia verificato l'identità dell'oggetto del certificato. Un host definisce un'autorità emittente come autorità radice attendibile inserendo il certificato autofirmato dell'emittente, che contiene la chiave pubblica dell'autorità di certificazione, nell'archivio certificati dell'autorità di certificazione radice attendibile del computer host. Le autorità di certificazione intermedie o subordinate sono attendibili solo se hanno un percorso di certificazione valido da un'autorità di certificazione radice attendibile.

L'autorità emittente può revocare un certificato prima della scadenza. La revoca annulla l'associazione di una chiave pubblica a un'identità asserta nel certificato. Ogni autorità emittente gestisce un elenco di revoche di certificati che può essere usato dai programmi quando controllano la validità di un determinato certificato.

I certificati autofirmato creati da SQL Server seguono lo standard X.509 e supportano i campi X.509 v1.

Chiavi asimmetriche

Una chiave asimmetrica è costituita da una chiave privata e dalla chiave pubblica corrispondente. Ogni chiave può decrittografare i dati crittografati dall'altro. La crittografia asimmetrica e la decrittografia sono relativamente a elevato utilizzo di risorse, ma offrono un livello di sicurezza superiore rispetto alla crittografia simmetrica. Una chiave asimmetrica può essere usata per crittografare una chiave simmetrica per l'archiviazione in un database.

Chiavi simmetriche

Una chiave simmetrica è una chiave usata sia per la crittografia che per la decrittografia. La crittografia e la decrittografia tramite una chiave simmetrica sono veloci e adatte per l'uso di routine con dati sensibili nel database.

Crittografia Trasparente dei Dati

Transparent Data Encryption (TDE) è un caso speciale di crittografia usando una chiave simmetrica. TDE crittografa un intero database usando tale chiave simmetrica denominata chiave di crittografia del database. La chiave di crittografia del database è protetta da altre chiavi o certificati protetti dalla chiave master del database o da una chiave asimmetrica archiviata in un modulo EKM. Per ulteriori informazioni, vedere Transparent Data Encryption (TDE).

Sicurezza di SQL Server

Funzioni di sicurezza (Transact-SQL)

Vedere anche

Gerarchia delle autorizzazioni (Motore di database)
Entità a protezione diretta