증상
FIPS (정보 처리 표준)를 사용 하도록 설정 된 서버에서 Microsoft SQL Server 2012, 2014 또는 2016을 실행 하 고 있다고 가정 합니다. 이 경우 데이터 흐름 스크립트 구성 요소를 포함 하는 Microsoft SQL Server Integration Services 패키지 (SSIS)를 실행 하거나 유효성을 검사할 때 다음과 같은 오류 메시지가 나타납니다.
InvalidOperationException:이 구현은 Windows 플랫폼 FIPS 유효성 검사 암호화 알고리즘의 일부가 아닙니다. 시스템.. i i. CryptoserviceProvider ctor ()
참고 이 문제는 다음 레지스트리 하위 키가 1로 설정 된 경우에 발생 합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\fipsalgorithmpolicy
원인
이 문제는 SSIS가 MD5 알고리즘을 사용 하기 때문에 발생 합니다. MD5 알고리즘이 FIPS 규격이 아닙니다.
해결 방법
서비스 팩 정보
SQL Server 2016
SQL Server 2016에서이 문제를 해결 하려면 SQL Server 2016 용 서비스 팩 1 을 다운로드 하세요.
각각의 SQL Server 2016에 대 한 새 빌드에는 이전 빌드에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server 2016에 대 한 최신 빌드를 설치 하는 것이 좋습니다.
SQL Server 2014SQL Server 2014에서이 문제를 해결 하려면 SQL Server 2014에 대 한 서비스 팩 2 를 다운로드 하세요.
각각의 새 SQL Server 업데이트에는 이전 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server 2014에 대 한 최신 빌드를 설치 하는 것이 좋습니다.
SQL Server 2012SQL Server 2012에서이 문제를 해결 하려면 SQL Server 2012에 대 한 서비스 팩 3 을 다운로드 하세요.
각각의 새 SQL Server 업데이트에는 이전 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server 2012의 최신 서비스 팩을 설치 하는 것이 좋습니다.
해결 방법
이 문제를 해결 하려면 다음 방법 중 하나를 시도해 보세요.
-
서버에서 FIPS 정책의 설정을 해제 합니다. 이렇게 하려면 다음 TechNet 웹 사이트에서 "FIPS 정책 설정 구성" 섹션을 참조 하세요.
-
새 설정이 적용 되려면 응용 프로그램을 다시 시작 해야 합니다.
-
이 설정은 Windows Server의 다음 레지스트리 값에 영향을 줍니다.
HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled이 레지스트리 값에는 현재 FIPS 설정이 반영 됩니다. 이 설정을 사용 하는 경우 값은 1입니다. 이 설정을 사용 하지 않으면 값은 0입니다.
-
-
스크립트 구성 요소 대신 다른 Microsoft .NET 솔루션을 사용 합니다.참고 MD5 알고리즘은 데이터 흐름 스크립트 구성 요소 내에서 하드 코드 됩니다. 따라서이 스크립트 구성 요소는 변경할 수 없습니다.
추가 정보
SQL Server 통합 서비스는 FIPS 140-2를 준수 하지 않는 여러 Windows 암호화 알고리즘을 사용 하며,이는 암호화 모듈에 대 한 보안 요구 사항입니다. 예를 들어 SSIS 2012는 MD5를 사용 합니다. 이는 보안에 사용 되지 않는 해시 값을 계산 하는 FIPS 140-2를 따르지 않습니다. FIPS 140-2는 미국 및 캐나다 정부가 암호화를 구현 하는 제품에 대 한 보안 수준의 유효성을 검사 하는 데 사용 하는 보안 표준을 정의 합니다.
상태
Microsoft는 "적용 대상" 절에 나열한 제품에서 이 문제를 확인했습니다.