Симптом
Да предположим, че Microsoft SQL Server 2012, 2014 или 2016 работи на сървър, който има активиран Federal Information Processing Standard (FIPS). В тази ситуация, когато стартирате или проверявате пакет на услугата за интеграция (SSIS) на Microsoft SQL Server, който съдържа компонент на скрипт за поток от данни, получавате следното съобщение за грешка:
Забележка
System.InvalidOperationException: Тази реализация не е част от криптографските алгоритми, валидирани от FIPS на платформата Windows. в System.Security.Cryptography.MD5 CryptoserviceProvider.. ctor()
Забележка Този проблем възниква, когато следният подключ в системния регистър е зададен на 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
Причина
Този проблем възниква, защото SSIS използва алгоритъм MD5. MD5 алгоритъмът не е съвместим с FIPS.
Решение
Информация за сервизен пакет
SQL Server 2016
За да коригирате този проблем в SQL Server 2016, изтеглете Service Pack 1 за SQL Server 2016.
За актуализациите за SQL Server 2016
Всяка нова компилация за SQL Server 2016 съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за SQL Server 2016.
SQL Server 2014За да коригирате този проблем в SQL Server 2014, изтеглете Service Pack 2 за SQL Server 2014.
За актуализациите за SQL Server 2014
Всяка нова актуализация за SQL Server съдържа всички горещи поправки и корекции на защитата, които са били включени в предишната актуализация. Препоръчваме ви да инсталирате най-новата компилация за SQL Server 2014.
SQL Server 2012За да коригирате този проблем в SQL Server 2012, изтеглете Service Pack 3 за SQL Server 2012.
За актуализациите за SQL Server 2012
Всяка нова актуализация за SQL Server съдържа всички горещи поправки и корекции на защитата, които са били включени в предишната актуализация. Препоръчваме ви да инсталирате най-новия сервизен пакет за SQL Server 2012.
Заобиколно решение
За да заобиколите този проблем, опитайте един от следните методи:
Изключете FIPS правилата на сървъра. За да направите това, вижте раздела "Конфигуриране на настройките на правилата за FIPS" на следния уеб сайт на TechNet:
Допълнителни мерки за противодействие на системата БележкиТрябва да рестартирате приложението, за да влезе в сила новата настройка.
Тази настройка засяга следната стойност в системния регистър в Windows Server:
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\EnabledТази стойност в системния регистър отразява текущата настройка на FIPS. Ако тази настройка е разрешена, стойността е 1. Ако тази настройка е забранена, стойността е 0.
Използвайте други решения на Microsoft .NET вместо компонента Script.
Забележка: MD5 алгоритъмът е твърдо кодиран в рамките на скриптовия компонент за потока от данни. Следователно не можете да променяте този компонент на скрипта.
Повече информация
Услугите за интеграция на SQL Server използват няколко алгоритма за криптиране на Windows, които не отговарят на FIPS 140-2, които са изисквания за сигурност за криптографски модули. Например SSIS 2012 използва MD5. Това не съответства на FIPS 140-2 за изчисляване на хеширащи стойности, които не се използват за защита. FIPS 140-2 определя стандартите за сигурност, които правителствата на САЩ и Канада използват за валидиране на нивата на защита на продукти, които прилагат криптография.
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.