Sintomi
Si supponga di avere un database di Microsoft SQL Server 2016 o una versione precedente di SQL Server contenente dati o oggetti crittografati con la crittografia a chiave simmetrica. In questo caso, potrebbe non essere possibile decrittografare i dati o gli oggetti usando la stessa chiave simmetrica in SQL Server 2017 in Windows, se sono soddisfatte le condizioni seguenti:
-
Il database viene ripristinato in SQL Server 2017.
-
La chiave simmetrica esistente viene eliminata e viene creata la stessa chiave simmetrica.
Nota Questo problema non si verificherà se la chiave simmetrica di una versione precedente di SQL Server non viene eliminata o ricreata in SQL Server 2017.
Causa
Questo problema si verifica perché SQL Server 2017 usa l'algoritmo di hash SHA2 per eseguire l'hash della passphrase. SQL Server 2016 e le versioni precedenti di SQL Server usano l'algoritmo SHA1 non più considerato sicuro.
Risoluzione
Questo problema è stato risolto con l'aggiornamento cumulativo seguente per SQL Server:
Aggiornamento cumulativo 2 per SQL Server 2017
Nota Questa correzione richiede l'abilitazione di TRace flag (TF) 4631 dopo l'installazione dell'aggiornamento cumulativo. Questo flag di traccia può essere abilitato usando l'opzione di avvio di SQL Server o usando DBCC TRACEON. La chiave simmetrica deve essere creata una volta che il TF 4631 è già abilitato.
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Informazioni sulla terminologiautilizzata da Microsoft per descrivere gli aggiornamenti software.