Symptom
Angenommen, Microsoft SQL Server 2012, 2014 oder 2016 wird auf einem Server ausgeführt, auf dem FIPS (Federal Information Processing Standard) aktiviert ist. Wenn Sie in dieser Situation ein Microsoft SQL Server Integration Service Package (SSIS) ausführen oder überprüfen, das eine Datenflussskriptkomponente enthält, wird die folgende Fehlermeldung angezeigt:
Hinweis
System.InvalidOperationException: Diese Implementierung ist nicht Teil der FIPS-validierten kryptografischen Algorithmen der Windows-Plattform. unter System.Security.Cryptography.MD5 CryptoserviceProvider.. ctor()
Hinweis: Dieses Problem tritt auf, wenn der folgende Registrierungsunterschlüssel auf "1" festgelegt ist:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
Ursache
Dieses Problem tritt auf, weil SSIS den MD5-Algorithmus verwendet. Der MD5-Algorithmus ist nicht FIPS-kompatibel.
Lösung
Informationen zum Service Pack
SQL Server 2016
Um dieses Problem in SQL Server 2016 zu beheben, rufen Sie Service Pack 1 für SQL Server 2016 ab.
Informationen zu Updates für SQL Server 2016
Jeder neue Build für SQL Server 2016 enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen Build enthalten waren. Wir empfehlen, den neuesten Build für SQL Server 2016 zu installieren.
SQL Server 2014Rufen Sie Service Pack 2 für SQL Server 2014 ab, um dieses Problem in SQL Server 2014 zu beheben.
Informationen zu Updates für SQL Server 2014
Jedes neue Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen Update enthalten waren. Es wird empfohlen, den neuesten Build für SQL Server 2014 zu installieren.
SQL Server 2012Installieren Sie Service Pack 3 für SQL Server 2012, um dieses Problem in SQL Server 2012 zu beheben.
Informationen zu Updates für SQL Server 2012
Jedes neue Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen Update enthalten waren. Es wird empfohlen, das neueste Service Pack für SQL Server 2012 zu installieren.
Problemumgehung
Versuchen Sie eine der folgenden Methoden, um dieses Problem zu umgehen:
Deaktivieren Sie die FIPS-Richtlinie auf dem Server. Informationen hierzu finden Sie im Abschnitt "So konfigurieren Sie FIPS-Richtlinieneinstellungen" auf der folgenden TechNet-Website:
Zusätzliche Systemgegenmaßnahmen AnmerkungenSie müssen die Anwendung neu starten, damit die neue Einstellung wirksam wird.
Diese Einstellung wirkt sich auf den folgenden Registrierungswert in Windows Server aus:
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\EnabledDieser Registrierungswert spiegelt die aktuelle FIPS-Einstellung wider. Wenn diese Einstellung aktiviert ist, ist der Wert 1. Wenn diese Einstellung deaktiviert ist, ist der Wert 0.
Verwenden Sie andere Microsoft .NET-Lösungen anstelle der Skriptkomponente.
Hinweis: Der MD5-Algorithmus ist in der Datenflussskriptkomponente hartcodiert. Daher können Sie diese Skriptkomponente nicht ändern.
Weitere Informationen
SQL Server Integration Services verwendet mehrere Windows-Verschlüsselungsalgorithmen, die nicht mit FIPS 140-2 konform sind, d. h. Sicherheitsanforderungen für kryptografische Module. SSIS 2012 verwendet beispielsweise MD5. Dies entspricht nicht FIPS 140-2 zum Berechnen von Hashwerten, die nicht für die Sicherheit verwendet werden. FIPS 140-2 definiert Sicherheitsstandards, die von den Regierungen der USA und Kanadas verwendet werden, um die Sicherheitsstufen für Produkte zu überprüfen, die Kryptografie implementieren.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten ist, die im Abschnitt „Gilt für“ aufgeführt sind.