FIPS 140-2 규격 모드에서 SQL Server 2016 이상 버전 사용
이 문서에서는 FIPS 140-2 지침과 FIPS 140-2 규격 모드에서 SQL Server2016을 사용하는 방법을 소개합니다.
원래 제품 버전: SQL Server 2016 이상 원본 KB 번호: 4014354
참고 항목
여기서는 "FIPS 140-2 규격", "FIPS 140-2 규정 준수" 및 "FIPS 140-2 규격 모드"라는 용어가 여기에 정의되어 있습니다. 이러한 용어는 인식되거나 정의된 정부 용어가 아닙니다. 미국 캐나다 정부는 암호화 모듈을 지정하거나 규칙적인 방식으로 사용하는 대신 FIPS 140-2와 같은 표준에 대해 암호화 모듈의 유효성 검사를 인식합니다.
이 문서에서는 FIPS 140-2 규격을 사용합니다. FIPS 140-2 규정 준수 및 FIPS 140-2 규격 모드는 SQL Server 2016 이상 버전에서 암호화되거나 해시된 데이터를 SQL Server 2016 이상 버전으로 가져오거나 내보내는 모든 인스턴스에서 FIPS 140-2 유효성 검사된 알고리즘 및 해시 함수 인스턴스만 사용한다는 것을 의미합니다. 또한 이는 SQL Server 2016 이상 버전이 FIPS 140-2 유효성 검사 암호화 모듈에 필요한 대로 안전한 방식으로 키를 관리한다는 것을 의미합니다. 키 관리 프로세스에는 키 생성 및 키 스토리지도 모두 포함됩니다.
여기서는 "certified"를 사용하여 알고리즘의 인스턴스가 FIPS 140-2 유효성을 검사하거나 운영 체제에 FIPS140-2 유효성이 검사된 알고리즘 인스턴스가 포함되어 있음을 의미합니다.
FIPS란?
FIPS(Federal Information Processing Standard)는 다음 두 정부 기관에서 개발한 표준입니다.
- 미국 국립표준기술원(NIST)
- 캐나다의 CSE(Communications Security Establishment)
FIPS 표준은 미국 및 캐나다의 연방 정부 운영 IT 시스템에서 사용하도록 권장되거나 의무화되어 있습니다.
FIPS 140-2란?
FIPS 140-2는 "암호화 모듈에 대한 보안 요구 사항"이라는 명령문입니다. 사용할 수 있는 암호화 알고리즘 및 해시 알고리즘과 암호화 키를 생성하고 관리하는 방법을 지정합니다. 알고리즘을 포함하는 일부 하드웨어, 소프트웨어 및 프로세스는 FIPS 140-2 인증으로 간주될 수 있으며, 올바른 알고리즘을 호출하는 다른 하드웨어, 소프트웨어 및 프로세스는 FIPS 140-2 규격으로 간주될 수 있습니다.
FIPS 140-2 규격과 FIPS 140-2 인증의 차이점은 무엇인가요?
SQL Server 2016 이상 버전은 FIPS 140-2를 준수하는 방식으로 구성하고 실행할 수 있습니다. 이러한 방식으로 SQL Server 2016 이상 버전을 구성하려면 FIPS 140-2 인증 또는 인증된 암호화 모듈을 제공하는 운영 체제에서 실행되어야 합니다. 규정 준수와 인증의 차이는 미묘하지 않습니다. 알고리즘을 인증할 수 있습니다. FIPS 140-2의 승인된 목록에 나열되어 있기 때문에 알고리즘을 사용하기에는 충분하지 않습니다. 대신 인증된 이러한 알고리즘의 인스턴스를 사용해야 합니다. 즉, 인스턴스가 정부에서 유효성을 검사합니다. 인증에는 미국 또는 캐나다 정부가 승인한 평가 랩의 테스트 및 확인이 필요합니다. Windows Server 2012 이상 버전 및 Windows 8 이상 버전에는 허용되는 각 알고리즘의 인증된 인스턴스가 포함되어 있습니다. 가장 중요한 것은 이러한 각 알고리즘에 대한 호출은 인증된 인스턴스만 제공한다는 것입니다.
FIPS 140-2 규격일 수 있는 애플리케이션은 무엇인가요?
암호화 또는 해시를 수행하고 인증된 버전의 Windows에서 실행되는 모든 애플리케이션은 승인된 알고리즘의 인증된 인스턴스만 사용하고 키 생성 및 키 관리 요구 사항을 준수하여 준수할 수 있습니다. 이렇게 하려면 키 생성 및 키 관리에 Windows 함수를 사용하거나 애플리케이션 내에서 키 생성 및 키 관리 요구 사항을 준수해야 합니다. FIPS 규격 애플리케이션의 영역은 비규격 알고리즘 또는 프로세스를 사용하는 위치에 있을 수 있습니다. 예를 들어 시스템에 유지되는 일부 내부 프로세스와 인증된 알고리즘 인스턴스에 의해 추가로 암호화될 예정인 일부 외부 데이터가 허용됩니다.
SQL Server 2016 이상 버전은 항상 FIPS 140-2를 준수하나요?
아니요. SQL Server 2016 이상 버전은 FIPS 140-2 인증 알고리즘 인스턴스만 사용하도록 구성하고 실행할 수 있으므로 FIPS 140-2 규격일 수 있습니다. 또한 암호화를 위해 CryptoAPI 또는 CGN을 사용하거나 FIPS 140-2 호환성이 필요한 모든 인스턴스에서 해시를 통해 이러한 인스턴스를 호출합니다.
SQL Server 2016 이상 버전을 FIPS 140-2 규격으로 구성하려면 어떻게 해야 할까요?
운영 체제 요구 사항
다음 Windows 클라이언트 및 서버 중 하나를 실행하는 호스트에 SQL Server 2016 이상 버전을 설치해야 합니다.
Windows 시스템 관리 요구 사항
SQL Server 2016 이상 버전을 시작하기 전에 FIPS 모드를 설정해야 합니다. SQL Server는 시작 시 설정을 읽습니다. FIPS 모드를 설정하려면 다음 단계를 수행합니다.
- Windows 시스템 관리자 권한으로 Windows에 로그온합니다.
- 시작을 선택합니다.
- 제어판을 선택합니다.
- 관리 도구를 선택합니다. (다음 단계를 위해 큰 아이콘으로 전환해야 할 수 있습니다.)
- 로컬 보안 정책을 선택합니다. 로컬 보안 설정 창이 나타납니다.
- 탐색 창에서 로컬 정책>보안 옵션을 선택합니다.
- 오른쪽 창에서 시스템 암호화를 두 번 클릭합니다 . 암호화, 해시 및 서명에 FIPS 규격 알고리즘을 사용합니다.
- 표시되는 대화 상자에서 [적용 사용]을>선택합니다.
- 확인을 선택합니다.
- 로컬 보안 설정 창을 닫습니다.
SQL Server 관리자 요구 사항
SQL Server 서비스(Service Broker 또는 데이터베이스 미러링에 대해 엔드포인트가 구성된 경우)가 시작할 때 FIPS 모드가 사용하도록 설정되어 있음을 감지하면 SQL Server는 SQL Server 오류 로그에 다음 메시지를 기록합니다.
Service Broker 전송이 FIPS 준수 모드에서 실행되고 있습니다.
또한 Windows 이벤트 로그에 기록된 다음 메시지를 찾을 수 있습니다.
데이터베이스 미러링 전송이 FIPS 준수 모드에서 실행되고 있습니다.
이러한 메시지를 검색하여 서버가 FIPS 모드에서 실행 중인지 확인할 수 있습니다.
참고 항목
- 대화 상자 보안(서비스 간)의 경우 FIPS 모드를 사용하는 경우 암호화 프로세스는 AES의 FIPS 인증 인스턴스를 사용합니다. FIPS 모드를 사용하지 않도록 설정하면 암호화 프로세스에서 여전히 AES를 사용합니다.
- FIPS 모드에서 서비스 브로커 엔드포인트를 구성하는 경우 관리자는 서비스 브로커에 대해 "AES"를 지정해야 합니다. 엔드포인트가 RC4로 구성된 경우 SQL Server에서 오류가 발생합니다. 따라서 전송 계층이 시작되지 않습니다.
SQL Server 2016 이상 버전은 FIPS 140-2 규격 모드에서 어떻게 작동합니까?
Windows의 FIPS 모드가 켜진 상태에서 사용자가 암호화 또는 해시 여부 및 수행 방법에 대해 선택할 수 없는 모든 영역에서 SQL Server 2016 이상 버전은 FIPS 140-2에 따라 실행됩니다. (SQL Server 2016 이상 버전은 Windows에서 CryptoAPI를 사용하며 알고리즘의 인증된 인스턴스만 사용합니다.)
Windows의 FIPS 모드가 켜져 있는 경우 사용자가 암호화를 사용할지 여부를 선택할 수 있는 모든 영역에서 SQL Server 2016 이상 버전은 FIPS 140-2 호환 암호화만 사용하도록 설정하거나 암호화를 사용하도록 설정하지 않습니다.
소프트웨어 개발자를 위한 중요한 정보: 개발자 또는 사용자가 암호화 또는 해시를 위해 자체 코드를 작성하는 모든 영역에서 암호화 또는 해시에만 사용하고 FIPS 140-2에서 허용하는 알고리즘만 지정하도록 지시해야 합니다. FIPS 140-2 승인 암호화 알고리즘의 공식 NIST 목록의 경우 암호화 모듈 유효성 검사 프로그램의 부록 A, C 및 D 를 참조하세요.
FIPS 140-2 규격 모드에서 SQL Server 2016 이상 버전을 실행하면 어떤 영향이 있나요?
더 강력한 암호화를 사용하는 경우 프로세스가 FIPS 140-2 규격으로 운영되지 않을 때 덜 강력한 암호화가 허용되는 프로세스의 성능에 작은 영향을 줄 수 있습니다.
SSIS(UseEncryption=True)에 대한 암호화를 선택하면 사용 가능한 암호화가 FIPS 규정 준수와 호환되지 않으며 허용되지 않는다는 오류가 발생합니다. 즉, 메시지 프로세스의 암호화가 수행되지 않습니다.
레거시 DTS와 함께 암호화를 사용하는 경우 암호화는 FIPS 140-2를 준수하지 않습니다. DTS의 경우 Windows의 FIPS 모드가 선택되지 않습니다. 따라서 준수 상태를 유지하기 위해 암호화를 선택하지 않는 것은 사용자의 책임입니다.
대부분의 SQL Server 2016 이상 버전 암호화 및 해시 프로세스는 이미 FIPS 140-2 규격이므로 완전한 규정 준수(즉, Windows의 FIPS 모드가 켜져 있는 경우)로 실행하면 애플리케이션의 사용 또는 성능에 거의 또는 전혀 영향을 주지 않습니다.
FIPS 140-2에 대한 자세한 내용은 어디에서 확인할 수 있나요?
FIPS 140-2에 대한 자세한 내용은 CMVP FIPS 140-2 표준 및 문서를 참조 하세요.
이 문서에 포함된 다른 공급업체의 연락처 정보는 기술 지원을 받는 데 도움을 주기 위한 것입니다. 이 연락처 정보는 공지 없이 변경될 수 있습니다. Microsoft는 이 타사 연락처 정보의 정확성을 보장하지 않습니다.