FIPS 140-2 규격 모드에서 SQL Server 2008을 사용하기 위한 지침

이 문서에서는 FIPS 140-2 및 FIPS 140-2 규격 모드에서 SQL Server 2008을 사용하는 방법을 설명합니다.

원래 제품 버전: SQL Server
원래 KB 번호: 955720

소개

이 문서에서는 FIPS(Federal Information Processing Standard) 140-2 지침과 FIPS 140-2 규격 모드에서 Microsoft SQL Server 2008을 사용하는 방법에 대해 설명합니다.

참고

"FIPS 140-2 규격", "FIPS 140-2 규정 준수" 및 "FIPS 140-2 규격 모드"라는 용어는 사용 및 명확성을 위해 여기에 정의되어 있습니다. 이러한 용어는 인식되거나 정의된 정부 용어가 아닙니다. 미국 캐나다 정부는 FIPS 140-2와 같은 표준에 대해 암호화 모듈의 유효성 검사를 인식하고 지정되거나 규칙적인 방식으로 암호화 모듈을 사용하지 않습니다. 이 문서에서는 "FIPS 140-2 규격", "FIPS 140-2 규정 준수" 및 "FIPS 140-2 규격 모드"를 정의하여 SQL Server 20을 의미합니다. 2008년 SQL Server 암호화되거나 해시된 데이터를 가져오거나 내보내는 모든 인스턴스에서 FIPS 140-2 유효성 검사된 알고리즘 인스턴스 및 해시 함수만 사용합니다. 또한 이러한 용어는 SQL Server 2008이 FIPS 140-2 유효성이 검사된 암호화 모듈에 필요한 경우 안전한 방식으로 키를 관리한다는 것을 의미합니다. 키 관리 프로세스에는 키 생성 및 키 스토리지 기능도 모두 포함됩니다.

FIPS란?

FIPS는 연방 정보 처리 표준을 의미합니다. FIPS는 두 정부 기관에서 개발한 표준입니다. 하나는 미국 국립 표준 기술 연구소입니다. 다른 하나는 캐나다의 통신 보안 시설입니다. FIPS는 연방(미국 또는 캐나다) 정부 운영 IT 시스템에서 사용하도록 권장되거나 의무화된 표준입니다.

FIPS 140-2란?

FIPS 140-2는 "암호화 모듈에 대한 보안 요구 사항"의 문입니다. 사용할 수 있는 암호화 알고리즘 및 해시 알고리즘 및 암호화 키를 생성하고 관리하는 방법을 지정합니다. 일부 하드웨어, 소프트웨어 및 프로세스는 승인된 유효성 검사 랩에서 FIPS 140-2의 유효성을 검사할 수 있습니다. 그 중 일부는 이 문서에 정의된 용어로 FIPS 140-2 규격으로 설명될 수도 있습니다.

"FIPS 140-2 규격"인 애플리케이션과 "FIPS 140-2 유효성 검사"인 애플리케이션 간의 차이점은 무엇인가요?

FIPS 140-2 규격 애플리케이션으로 실행되도록 SQL Server 2008을 구성할 수 있습니다. 이렇게 하려면 FIPS 140-2 유효성이 검사된 암호화 서비스 공급자를 사용하거나 유효성이 검사된 암호화 모듈을 제공하는 운영 체제에서 SQL Server 2008을 실행해야 합니다. 규정 준수와 유효성 검사의 차이는 미묘하지 않습니다. 알고리즘의 유효성을 검사할 수 있습니다. FIPS 140-2의 승인된 목록에서 알고리즘을 사용하기에는 충분하지 않습니다. FIPS 140-2의 유효성을 검사한 알고리즘 인스턴스를 사용해야 합니다. 유효성 검사에는 정부가 승인한 평가 랩의 테스트 및 확인이 필요합니다. Windows Server 2008, Windows Server 2003 및 Windows XP에는 승인된 암호화 모듈이 포함되어 있으며 알고리즘의 특정 인스턴스를 포함한 모듈은 랩 테스트 및 정부 유효성 검사를 받았습니다.

FIPS 140-2 규격일 수 있는 애플리케이션

암호화 또는 해시를 수행하고 Windows 암호화 서비스 공급자의 유효성이 검사된 버전에서 실행되는 모든 애플리케이션은 승인된 알고리즘의 유효성이 검사된 인스턴스만 사용하는 경우 규격을 준수할 수 있습니다. 또한 이러한 애플리케이션은 Windows 키 함수를 사용하거나 애플리케이션의 키 생성 및 키 관리 요구 사항을 충족하여 키 생성 및 키 관리 요구 사항을 준수해야 합니다. 또한 경우에 따라 FIPS 140-2 규격 애플리케이션에서 비준수 알고리즘 또는 프로세스가 허용됩니다. 예를 들어 이 암호화된 형식에서 데이터가 애플리케이션 내에 유지되거나, 데이터가 이 형식으로 내보내지지 않거나, FIPS 규격 알고리즘을 사용하여 데이터가 추가로 암호화(래핑)되는 경우 비규격 알고리즘을 사용하여 데이터를 암호화할 수 있습니다.

이는 SQL Server 2008이 항상 FIPS 140-2 규격임을 의미합니까?

아니요. 즉, FIPS 140-2 규격 모드에서 실행되도록 SQL Server 2008을 구성할 수 있습니다.

FIPS 140-2 유효성이 검사된 암호화 모듈을 사용하도록 SQL Server 2008을 구성하는 방법

  • 운영 체제 요구 사항

    Windows Server 2008 기반 컴퓨터, Windows Vista 기반 컴퓨터, Windows Server 2003 기반 컴퓨터 또는 Windows XP 기반 컴퓨터에 SQL Server 2008을 설치해야 합니다.

  • Windows 시스템 관리 요구 사항

    2008년 SQL Server 시작하기 전에 FIPS 모드를 사용하도록 설정해야 합니다. SQL Server 2008에서 시작 시 FIPS 설정을 읽기 때문입니다. FIPS를 사용하도록 설정하려면 다음 단계를 수행합니다.

    • Windows Server 2008 및 Windows Vista의 경우

      1. 관리자 자격 증명을 사용하여 컴퓨터에 로그온합니다.
      2. Windows Server 2008을 사용하는 경우 시작을 클릭하고 실행을 클릭하고 gpedit.msc를 입력한 다음 Enter 키를 누릅니다. 로컬 그룹 정책 편집기 열립니다. Windows Vista 기반 컴퓨터를 사용하는 경우 시작을 클릭하고 검색 시작 상자에 gpedit.msc를 입력한 다음 Enter 키를 누릅니다.
      3. 로컬 그룹 정책 편집기 컴퓨터 구성 노드에서 Windows 설정을 두 번 클릭한 다음 보안 설정을 두 번 클릭합니다.
      4. 보안 설정 노드에서 로컬 정책을 두 번 클릭한 다음 보안 옵션을 클릭합니다.
      5. 세부 정보 창에서 시스템 암호화: 암호화, 해시 및 서명에 FIPS 규격 알고리즘을 두 번 클릭합니다.
      6. 시스템 암호화: 암호화, 해시 및 서명 대화 상자에 FIPS 규격 알고리즘을 사용하고사용을 클릭한 다음 확인을 클릭하여 대화 상자를 닫습니다.
      7. 로컬 그룹 정책 편집기 닫습니다.
    • Windows Server 2003 및 Windows XP의 경우

      1. 관리자 자격 증명을 사용하여 컴퓨터에 로그온합니다.
      2. 시작을 클릭하고 실행을 클릭하고 gpedit.msc를 입력한 다음 Enter 키를 누릅니.
      3. 그룹 정책 창의 컴퓨터 구성 노드에서 Windows 설정을 두 번 클릭한 다음 보안 설정을 두 번 클릭합니다.
      4. 보안 설정 노드에서 로컬 정책을 두 번 클릭한 다음 보안 옵션을 클릭합니다.
      5. 세부 정보 창에서 시스템 암호화: 암호화, 해시 및 서명에 FIPS 규격 알고리즘을 두 번 클릭합니다.
      6. 시스템 암호화: 암호화, 해시 및 서명 대화 상자에 FIPS 규격 알고리즘을 사용하고사용을 클릭한 다음 확인을 클릭하여 대화 상자를 닫습니다.
      7. 그룹 정책 창을 닫습니다.

SQL Server 2008 관리자 노트

  • SQL Server 2008 서비스에서 시작 시 FIPS 모드가 사용하도록 설정되어 있음을 감지하면 SQL Server 2008은 SQL Server 오류 로그에 다음 메시지를 기록합니다.

    SERVICE Broker 전송이 FIPS 규정 준수 모드에서 실행되고 있습니다.

    또한 애플리케이션 로그에 다음 메시지가 기록될 수 있습니다.

    FIPS 규정 준수 모드에서 데이터베이스 미러링 전송이 실행되고 있습니다.

    서버가 FIPS 모드에서 실행 중인지 확인하려면 이러한 메시지를 찾습니다.

  • 서비스 간의 대화 보안을 얻기 위해 FIPS 모드를 사용하는 경우 암호화 프로세스는 AES(Advanced Encryption Standard)의 FIPS 인증 instance 사용합니다. FIPS 모드를 사용하지 않도록 설정하면 암호화 프로세스에서 RC4를 사용합니다.

  • FIPS 모드에서 Service Broker 엔드포인트를 구성하는 경우 Service Broker에 대한 AES를 지정해야 합니다. 엔드포인트가 RC4로 구성된 경우 SQL Server 오류가 발생합니다. 따라서 전송 계층이 시작되지 않습니다.

SQL Server 2008은 FIPS 140-2 규격 모드에서 어떻게 작동하나요?

  • Windows의 FIPS 모드가 켜져 있고 사용자가 데이터를 암호화할지 해시할지, 어떻게 수행할지 선택할 수 없는 경우 SQL Server 2008은 FIPS 140-2 규격 모드에서 작동합니다. SQL Server 2008은 CryptoAPI를 사용하고 알고리즘의 유효성이 검사된 인스턴스만 사용합니다.

  • FIPS 모드가 켜져 있고 사용자가 암호화를 사용할지 여부를 선택할 수 있는 경우 SQL Server 2008은 FIPS 140-2 규격 암호화만 허용하거나 암호화를 허용하지 않습니다.

  • 개발자를 위한 중요한 정보

    암호화 또는 해시에 대한 고유한 코드를 작성하는 경우 CryptoAPI만 사용해야 합니다. FIPS 140-2에서 허용되는 알고리즘만 지정해야 합니다. 특히 암호화에는 3DES(Triple Data Encryption Standard) 또는 AES만 사용하고 해시에는 SHA-1만 사용합니다. 각 FIPS 140-2 유효성 검사 알고리즘에 대해 SQL Server 2008에서 다음 키워드를 사용할 수 있습니다.

    • DESX(3키 트리플 DES)
    • Triple-DES(Two-key triple DES)
    • TRIPLE_DES_3KEY(3키 트리플 DES)
    • TRIPLE_DES_2KEY(2키 트리플 DES)

    참고

    DESX를 선택하면 2005년 SQL Server 또는 2008년 SQL Server DESX 알고리즘이 제공되지 않습니다. 두 경우 모두 DESX를 선택하면 3키 트리플 DES의 유효성이 검사된 instance 제공됩니다.

  • 개발자를 위한 중요한 정보

    SQL Server 2008은 별도의 타사 HSM(하드웨어 스토리지 모듈)에서 암호화 키를 관리할 수 있는 EKM(Enterprise Key Management) 기능을 지원합니다. FIPS 140-2 규격 모드에서 작동하고 EKM을 사용하려면 다음 두 조건 중 하나가 true여야 합니다.

    • 외부 암호화 모듈은 FIPS 140-2의 유효성을 검사해야 합니다.
    • 암호화 모듈에서 사용하는 알고리즘 중 일부는 FIPS 140-2의 유효성을 검사해야 합니다. FIPS 140-2 기반 암호화 또는 암호 해독이 SQL Server 데이터를 가져오거나 내보내는 데 필요한 경우 유효성이 검사된 알고리즘의 인스턴스만 사용합니다.

    또한 외부 암호화 모듈에서 암호화하거나 암호 해독할 데이터는 FIPS 140-2 유효성 검사 instance 사용하여 암호화된 형식으로 전달되어야 합니다.

FIPS 140-2 규격 모드에서 SQL Server 2008을 실행하면 어떤 영향이 있나요?

  • 더 강력한 암호화를 사용하면 프로세스가 FIPS 140-2 규격으로 운영되지 않을 때 덜 강력한 암호화가 허용되는 프로세스의 성능에 작은 영향을 미칠 수 있습니다.

  • SSIS(UseEncryption=True)에 대한 암호화를 선택하면 사용 가능한 암호화가 FIPS 규정 준수와 호환되지 않으며 허용되지 않는다는 오류 메시지가 생성됩니다. 즉, 메시지 프로세스의 암호화가 수행되지 않습니다.

  • 레거시 DTS(데이터 변환 서비스)와 함께 암호화를 사용하는 것은 FIPS 140-2 규격이 아닙니다. DTS의 경우 Windows의 FIPS 모드가 선택되어 있지 않습니다. 규정을 준수하려면 암호화를 선택해서는 안 됩니다.

  • 대부분의 SQL Server 2008년 암호화 및 해시 프로세스는 이미 FIPS 140-2 유효성이 검사된 암호화 모듈을 사용합니다. 따라서 Windows에서 FIPS 모드가 켜져 있을 때 FIPS 140-2 규격 모드에서 애플리케이션을 실행하는 경우 애플리케이션의 사용 또는 성능에 거의 또는 전혀 영향을 주지 않습니다.

타사 고지 사항

타사 정보 고지 사항

이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.