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.
La crittografia è una delle diverse difese avanzate disponibili per l'amministratore che vuole proteggere un'istanza di SQL Server.
Gli algoritmi di crittografia definiscono trasformazioni dei dati che non possono essere facilmente annullate da utenti non autorizzati. SQL Server consente agli amministratori e agli sviluppatori di scegliere tra diversi algoritmi, tra cui DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, RC4 a 128 bit, DESX, AES a 128 bit, AES a 192 bit e AES a 256 bit.
Nessun singolo algoritmo è ideale per tutte le situazioni e le linee guida sui meriti di ognuno non rientrano nell'ambito della documentazione online di SQL Server. Tuttavia, si applicano i principi generali seguenti:
La crittografia avanzata in genere utilizza più risorse della CPU rispetto alla crittografia debole.
Le chiavi lunghe in genere producono una crittografia più avanzata rispetto alle chiavi brevi.
La crittografia asimmetrica è più debole rispetto alla crittografia simmetrica usando la stessa lunghezza della chiave, ma è relativamente lenta.
Le crittografie a blocchi con chiavi lunghe sono più forti rispetto alle crittografie di flusso.
Le password lunghe e complesse sono più forti rispetto alle password brevi.
Se si crittografano molti dati, è necessario crittografare i dati usando una chiave simmetrica e crittografare la chiave simmetrica con una chiave asimmetrica.
I dati crittografati non possono essere compressi, ma i dati compressi possono essere crittografati. Se si usa la compressione, è necessario comprimere i dati prima di crittografarlo.
Importante
L'algoritmo RC4 è supportato solo per motivi di compatibilità con le versioni precedenti. È possibile crittografare il nuovo materiale usando RC4 o RC4_128 solo quando il livello di compatibilità del database è 90 o 100. (Non consigliato.) Usare un algoritmo più recente, ad esempio uno degli algoritmi AES. In SQL Server 2012 e un materiale superiore crittografato con RC4 o RC4_128 può essere decrittografato in qualsiasi livello di compatibilità.
L'uso ripetuto dello stesso RC4 o RC4_128 KEY_GUID su blocchi di dati diversi comporterà la stessa chiave RC4 perché SQL Server non fornisce automaticamente un salt. L'uso ripetuto della stessa chiave RC4 è un errore noto che comporterà una crittografia molto debole. Di conseguenza, sono state deprecate le parole chiave RC4 e RC4_128. Questa funzionalità verrà rimossa in una versione futura di Microsoft SQL Server. Non usare questa funzionalità in un nuovo progetto di sviluppo e modificare non appena possibile le applicazioni in cui è attualmente implementata.
Per altre informazioni sugli algoritmi di crittografia e sulla tecnologia di crittografia, vedere Concetti chiave sulla sicurezza nella Guida per sviluppatori di .NET Framework su MSDN.
Chiarimento sugli algoritmi DES:
DESX è stato denominato in modo non corretto. Le chiavi simmetriche create con ALGORITHM = DESX usano effettivamente la crittografia TRIPLE DES con una chiave a 192 bit. L'algoritmo DESX non viene fornito. Questa funzionalità verrà rimossa in una versione futura di Microsoft SQL Server. Evitare di usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata.
Chiavi simmetriche create con ALGORITHM = TRIPLE_DES_3KEY usano TRIPLE DES con una chiave a 192 bit.
Chiavi simmetriche create con ALGORITHM = TRIPLE_DES usano TRIPLE DES con una chiave a 128 bit.
Attività correlate
| Crittografia tramite una chiave simmetrica. | CREATE SYMMETRIC KEY (Transact-SQL) |
| Crittografia tramite una chiave asimmetrica. | CREATE ASYMMETRIC KEY (Transact-SQL) |
| Crittografia tramite un certificato. | CREATE CERTIFICATE (Transact-SQL) |
| Crittografia dei file di database tramite Transparent Data Encryption. | Transparent Data Encryption (TDE) |
| Come crittografare una colonna di una tabella. | Crittografare una colonna di dati |