Gerarchia di crittografiaEncryption Hierarchy

SQL ServerSQL Server crittografa i dati in base ad una particolare gerarchia di crittografia e infrastruttura di gestione delle chiavi. encrypts data with a hierarchical encryption and key management infrastructure. Ciascun livello crittografa il livello sottostante utilizzando una combinazione di certificati, chiavi asimmetriche e chiavi simmetriche.Each layer encrypts the layer below it by using a combination of certificates, asymmetric keys, and symmetric keys. Le chiavi asimmetriche e simmetriche possono essere archiviate al di fuori di SQL ServerSQL Server in un modulo EKM (Extensible Key Management).Asymmetric keys and symmetric keys can be stored outside of SQL ServerSQL Server in an Extensible Key Management (EKM) module.

Nella figura seguente viene indicato come nella gerarchia di crittografia ogni livello crittografi il livello sottostante e vengono visualizzate le configurazioni di crittografia più comuni.The following illustration shows that each layer of the encryption hierarchy encrypts the layer beneath it, and displays the most common encryption configurations. L'accesso all'inizio della gerarchia è in genere protetto da una password.The access to the start of the hierarchy is usually protected by a password.

Visualizza alcune combinazioni di crittografia in un diagramma in pila. Displays some encryption combinations in a stack.

Tenere presenti i concetti seguenti:Keep in mind the following concepts:

  • Per ottenere prestazioni ottimali, crittografare i dati utilizzando chiavi simmetriche anziché certificati o chiavi asimmetriche.For best performance, encrypt data using symmetric keys instead of certificates or asymmetric keys.

  • Le chiavi master del database sono protette dalla chiave master del servizio.Database master keys are protected by the Service Master Key. La chiave master del servizio viene creata dal programma di installazione di SQL ServerSQL Server e viene crittografata tramite l'API di protezione dati di Windows (DPAPI).The Service Master Key is created by SQL ServerSQL Server setup and is encrypted with the Windows Data Protection API (DPAPI).

  • Sono possibili altre gerarchie di crittografia che includono livelli aggiuntivi.Other encryption hierarchies stacking additional layers are possible.

  • Un modulo EKM contiene chiavi simmetriche o asimmetriche al di fuori di SQL Server.An Extensible Key Management (EKM) module holds symmetric or asymmetric keys outside of SQL Server.

  • Transparent Data Encryption (TDE) deve utilizzare una chiave simmetrica denominata chiave di crittografia del database, che è protetta da un certificato protetto a sua volta dalla chiave master del database master o da una chiave asimmetrica archiviata in un modulo EKM.Transparent Data Encryption (TDE) must use a symmetric key called the database encryption key which is protected by either a certificate protected by the database master key of the master database, or by an asymmetric key stored in an EKM.

  • La chiave master del servizio e tutte le chiavi master del database sono chiavi simmetriche.The Service Master Key and all Database Master Keys are symmetric keys.

    Le stesse informazioni vengono illustrate in modo diverso nella figura seguente.The following illustration shows the same information in an alternative manner.

    Visualizza alcune combinazioni di crittografia in una ruota. Displays some encryption combinations in a wheel.

    In questo diagramma vengono illustrati i concetti aggiuntivi seguenti:This diagram illustrates the following additional concepts:

  • In questa illustrazione le frecce indicano gerarchie di crittografia comuni.In this illustration, arrows indicate common encryption hierarchies.

  • Le chiavi simmetriche e asimmetriche in EKM possono proteggere l'accesso alle chiavi simmetriche e asimmetriche archiviate in SQL ServerSQL Server.Symmetric and asymmetric keys in the EKM can protect access to the symmetric and asymmetric keys stored in SQL ServerSQL Server. La linea punteggiata associata a EKM indica che le chiavi in EKM potrebbero sostituire le chiavi simmetriche e asimmetriche archiviate in SQL ServerSQL Server.The dotted line associated with EKM indicates that keys in the EKM could replace the symmetric and asymmetric keys stored in SQL ServerSQL Server.

Meccanismi di crittografiaEncryption Mechanisms

SQL ServerSQL Server comprende i meccanismi di crittografia seguenti: provides the following mechanisms for encryption:

  • Transact-SQLTransact-SQL funzioni functions

  • Chiavi asimmetricheAsymmetric keys

  • Chiavi simmetricheSymmetric keys

  • CertificatiCertificates

  • Transparent Data EncryptionTransparent Data Encryption

Funzioni Transact-SQLTransact-SQL Functions

Singoli elementi possono essere crittografati mentre vengono inseriti o aggiornati con le funzioni Transact-SQLTransact-SQL.Individual items can be encrypted as they are inserted or updated using Transact-SQLTransact-SQL functions. Per altre informazioni, vedere ENCRYPTBYPASSPHRASE (Transact-SQL) e DECRYPTBYPASSPHRASE (Transact-SQL).For more information, see ENCRYPTBYPASSPHRASE (Transact-SQL) and DECRYPTBYPASSPHRASE (Transact-SQL).

CertificatiCertificates

Un certificato a chiave pubblica, normalmente chiamato semplicemente un certificato, è un'istruzione firmata digitalmente che associa il valore di una chiave pubblica all'identità di una persona, un dispositivo o un servizio che detiene la corrispondente chiave privata.A public key certificate, usually just called a certificate, is a digitally-signed statement that binds the value of a public key to the identity of the person, device, or service that holds the corresponding private key. I certificati vengono rilasciati e firmati da un'autorità di certificazione (CA).Certificates are issued and signed by a certification authority (CA). L'entità che riceve un certificato da un'autorità di certificazione è il soggetto del certificato.The entity that receives a certificate from a CA is the subject of that certificate. Normalmente, i certificati contengono le informazioni seguenti.Typically, certificates contain the following information.

  • Chiave pubblica del soggetto.The public key of the subject.

  • Informazioni di identificazione del soggetto, come ad esempio il nome e l'indirizzo di posta elettronica.The identifier information of the subject, such as the name and e-mail address.

  • Periodo di validità.The validity period. È il periodo di tempo durante il quale il certificato è considerato valido.This is the length of time that the certificate is considered valid.

    Un certificato è valido solo per il periodo di tempo specificato nel certificato; e ogni certificato contiene le date Valido dal e Valido fino al .A certificate is valid only for the period of time specified within it; every certificate contains Valid From and Valid To dates. Queste date definiscono i limiti del periodo di validità.These dates set the boundaries of the validity period. Quando il periodo di validità di un certificato viene superato, il soggetto del certificato scaduto deve richiedere un nuovo certificato.When the validity period for a certificate has passed, a new certificate must be requested by the subject of the now-expired certificate.

  • Informazioni di identificazione dell'emittenteIssuer identifier information.

  • Firma digitale dell'emittente.The digital signature of the issuer.

    Questa firma attesta la validità dell'associazione tra la chiave pubblica e le informazioni di identificazione del soggetto.This signature attests to the validity of the binding between the public key and the identifier information of the subject. (L'apposizione di una firma digitale a informazioni comporta la trasformazione delle informazioni, e di alcune informazioni segrete detenute dal mittente, in un tag chiamato firma.)(The process of digitally signing information entails transforming the information, as well as some secret information held by the sender, into a tag called a signature.)

    Il vantaggio principale dei certificati è quello di evitare che gli host debbano mantenere un set di password per singoli soggetti.A primary benefit of certificates is that they relieve hosts of the need to maintain a set of passwords for individual subjects. L'host non deve fare altro che stabilire una relazione di trust con l'emittente di un certificato, che successivamente può firmare un numero illimitato di certificati.Instead, the host merely establishes trust in a certificate issuer, which may then sign an unlimited number of certificates.

    Quando un host, come ad esempio un server Web sicuro, designa un emittente come autorità radice affidabile, l'host implicitamente considera affidabili i criteri che l'emittente ha utilizzato per stabilire le associazioni relative ai certificati emessi.When a host, such as a secure Web server, designates an issuer as a trusted root authority, the host implicitly trusts the policies that the issuer has used to establish the bindings of certificates it issues. In effetti, l'host fa affidamento all'emittente per la verifica dell'identità del soggetto del certificato.In effect, the host trusts that the issuer has verified the identity of the certificate subject. L'host designa un emittente come autorità radice affidabile collocando il certificato autofirmato dell'emittente, contenente la chiave pubblica dell'emittente, nell'archivio certificati delle autorità di certificazione affidabili del computer host.A host designates an issuer as a trusted root authority by putting the self-signed certificate of the issuer, which contains the public key of the issuer, into the trusted root certification authority certificate store of the host computer. Le autorità di certificazione intermedie o subordinate vengono considerate affidabili solo se dispongono di un percorso di certificazione valido ottenuto da un'autorità di certificazione radice affidabile.Intermediate or subordinate certification authorities are trusted only if they have a valid certification path from a trusted root certification authority.

    L'emittente può revocare un certificato prima che scada.The issuer can revoke a certificate before it expires. La revoca di un certificato annulla l'associazione tra la chiave pubblica e l'identità dichiarata nel certificato.Revocation cancels the binding of a public key to an identity that is asserted in the certificate. Ciascun emittente mantiene un elenco di revoche di certificati che può essere utilizzato da programmi per la verifica della validità di un particolare certificato.Each issuer maintains a certificate revocation list that can be used by programs when they are checking the validity of any given certificate.

    I certificati autofirmati creati da SQL ServerSQL Server sono conformi allo standard X.509 e supportano i campi X.509 v1.The self-signed certificates created by SQL ServerSQL Server follow the X.509 standard and support the X.509 v1 fields.

Chiavi asimmetricheAsymmetric Keys

Una chiave asimmetrica è costituita da una chiave privata e dalla corrispondente chiave pubblica.An asymmetric key is made up of a private key and the corresponding public key. Ogni chiave può decrittografare dati crittografati dall'altra chiave.Each key can decrypt data encrypted by the other. La crittografia e la decrittografia asimmetrica richiedono un uso intensivo delle risorse ma offrono un livello di sicurezza superiore a quello della crittografia simmetrica.Asymmetric encryption and decryption are relatively resource-intensive, but they provide a higher level of security than symmetric encryption. Una chiave asimmetrica può essere utilizzata per crittografare una chiave simmetrica da memorizzare in un database.An asymmetric key can be used to encrypt a symmetric key for storage in a database.

Chiavi simmetricheSymmetric Keys

Una chiave simmetrica è una chiave che viene utilizzata sia per la crittografia che per decrittografia.A symmetric key is one key that is used for both encryption and decryption. La crittografia e la decrittografia tramite una chiave simmetrica sono veloci e sono quindi adatte per essere utilizzate in modo ricorrente per informazioni riservate contenute in database.Encryption and decryption by using a symmetric key is fast, and suitable for routine use with sensitive data in the database.

Transparent Data EncryptionTransparent Data Encryption

Transparent Data Encryption è un caso speciale di crittografia che utilizza una chiave simmetrica.Transparent Data Encryption (TDE) is a special case of encryption using a symmetric key. Transparent Data Encryption crittografa un intero database utilizzando una chiave simmetrica denominata chiave di crittografia del database.TDE encrypts an entire database using that symmetric key called the database encryption key. La chiave di crittografia del database è protetta da altri certificati o chiavi, a loro volta protetti dalla chiave master del database o da una chiave asimmetrica archiviata in un modulo EKM.The database encryption key is protected by other keys or certificates which are protected either by the database master key or by an asymmetric key stored in an EKM module. Per altre informazioni, vedere Transparent Data Encryption (TDE).For more information, see Transparent Data Encryption (TDE).

Sicurezza di SQL ServerSecuring SQL Server

Funzioni di sicurezza (Transact-SQL)Security Functions (Transact-SQL)

Vedere ancheSee Also

Gerarchia delle autorizzazioni (Motore di database) Permissions Hierarchy (Database Engine)
Entità a protezione diretta Securables