Compartilhar via


Instruções para usar o SQL Server 2008 no modo compatível com FIPS 140-2

Este artigo descreve o FIPS 140-2 e como usar o SQL Server 2008 no modo compatível com FIPS 140-2.

Versão original do produto: SQL Server
Número original do KB: 955720

Introdução

Este artigo discute as instruções do Federal Information Processing Standard (FIPS) 140-2 e como usar o Microsoft SQL Server 2008 no modo compatível com FIPS 140-2.

Observação

Os termos "compatível com FIPS 140-2", "conformidade com FIPS 140-2" e "modo compatível com FIPS 140-2" são definidos aqui para uso e clareza. Esses termos não são termos governamentais reconhecidos ou definidos. Os governos dos Estados Unidos e do Canadá reconhecem a validação de módulos criptográficos em relação a padrões como o FIPS 140-2 e não o uso deles de maneira especificada ou compatível. Neste artigo, definimos "compatível com FIPS 140-2", "conformidade com FIPS 140-2" e "modo compatível com FIPS 140-2" para significar que o SQL Server 2008 usa apenas instâncias de algoritmos e funções de hash validadas pelo FIPS 140-2 em todas as instâncias em que dados criptografados ou com hash são importados ou exportados para o SQL Server 2008. Além disso, esses termos significam que o SQL Server 2008 gerenciará as chaves de maneira segura, conforme exigido pelos módulos criptográficos validados pelo FIPS 140-2. O processo de gerenciamento de chaves também inclui as funcionalidades de geração de chaves e armazenamento de chaves.

O que é FIPS

FIPS significa Padrões Federais de Processamento de Informações. FIPS são padrões desenvolvidos por dois órgãos governamentais. Um deles é o Instituto Nacional de Padrões e Tecnologia dos Estados Unidos. O outro é o Estabelecimento de Segurança das Comunicações no Canadá. FIPS são padrões recomendados ou obrigatórios para uso em sistemas de TI operados pelo governo federal (Estados Unidos ou Canadá).

O que é FIPS 140-2

O FIPS 140-2 é uma declaração dos "Requisitos de segurança para módulos criptográficos". Ele especifica quais algoritmos de criptografia e quais algoritmos de hash podem ser usados e como as chaves de criptografia devem ser geradas e gerenciadas. Alguns hardwares, softwares e processos podem ser validados pelo FIPS 140-2 por um laboratório de validação aprovado. Alguns deles também podem ser descritos como compatíveis com FIPS 140-2, conforme o termo é definido neste artigo.

Qual é a diferença entre um aplicativo que é "compatível com FIPS 140-2" e um aplicativo que é "FIPS 140-2-validado"

Você pode configurar o SQL Server 2008 para ser executado como um aplicativo compatível com FIPS 140-2. Para fazer isso, você deve executar o SQL Server 2008 em um sistema operacional que use um Provedor de Serviços Criptográficos validado pelo FIPS 140-2 ou que forneça um módulo criptográfico que tenha sido validado. A diferença entre conformidade e validação não é sutil. Os algoritmos podem ser validados. Perceba que é insuficiente usar algoritmos das listas aprovadas no FIPS 140-2. Você deve usar instâncias de algoritmos que foram validadas pelo FIPS 140-2. A validação requer testes e verificação por um laboratório de avaliação aprovado pelo governo. O Windows Server 2008, o Windows Server 2003 e o Windows XP contêm os módulos criptográficos aprovados, e os módulos, incluindo as instâncias específicas dos algoritmos, foram testados em laboratório e validados pelo governo.

Quais aplicativos podem ser compatíveis com FIPS 140-2

Todos os aplicativos que executam criptografia ou hash e que são executados em uma versão validada de um Provedor de Serviços Criptográficos do Windows podem estar em conformidade se usarem apenas as instâncias validadas dos algoritmos aprovados. Esses aplicativos também devem estar em conformidade com os requisitos de geração e gerenciamento de chaves usando uma função de chave do Windows ou atendendo aos requisitos de geração e gerenciamento de chaves no aplicativo. Além disso, em alguns casos, algoritmos ou processos não compatíveis são permitidos em um aplicativo compatível com FIPS 140-2. Por exemplo, os dados podem ser criptografados usando um algoritmo não compatível se, nesse formato criptografado, os dados permanecerem dentro do aplicativo, ou seja, os dados não forem exportados nesse formulário ou se os dados forem criptografados (encapsulados) usando um algoritmo compatível com FIPS.

Isso significa que o SQL Server 2008 é sempre compatível com FIPS 140-2

Não. Isso significa que o SQL Server 2008 pode ser configurado para ser executado no modo compatível com FIPS 140-2.

Como o SQL Server 2008 pode ser configurado para usar um módulo criptográfico validado pelo FIPS 140-2

  • Requisitos do sistema operacional

    Você deve instalar o SQL Server 2008 em um computador baseado no Windows Server 2008, no Windows Vista, no Windows Server 2003 ou no Windows XP.

  • Requisitos de administração do sistema Windows

    Você deve habilitar o modo FIPS antes de iniciar o SQL Server 2008. Isso ocorre porque o SQL Server 2008 lê a configuração FIPS na inicialização. Para habilitar o FIPS, siga estas etapas.

    • Para Windows Server 2008 e Windows Vista

      1. Use credenciais administrativas para fazer logon no computador.
      2. Se você estiver usando o Windows Server 2008, clique em Iniciar, clique em Executar, digite gpedit.msc e pressione ENTER. O Editor de Diretiva de Grupo Local é aberto. Se você estiver usando um computador baseado no Windows Vista, clique em Iniciar, digite gpedit.msc na caixa Iniciar Pesquisa e pressione ENTER.
      3. No Editor de Diretiva de Grupo Local, clique duas vezes em Configurações do Windows no nó Configuração do Computador e clique duas vezes em Configurações de Segurança.
      4. No nó Configurações de Segurança, clique duas vezes em Políticas Locais e clique em Opções de Segurança.
      5. No painel de detalhes, clique duas vezes em Criptografia do sistema: Usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura.
      6. Na caixa de diálogo Criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura , clique em Habilitado e em OK para fechar a caixa de diálogo.
      7. Feche o Editor de Diretiva de Grupo Local.
    • Para Windows Server 2003 e Windows XP

      1. Use credenciais administrativas para fazer logon no computador.
      2. Clique em Iniciar, clique em Executar, digite gpedit.msc e pressione ENTER.
      3. Na janela Política de Grupo, clique duas vezes em Configurações do Windows no nó Configuração do Computador e clique duas vezes em Configurações de Segurança.
      4. No nó Configurações de Segurança, clique duas vezes em Políticas Locais e clique em Opções de Segurança.
      5. No painel de detalhes, clique duas vezes em Criptografia do sistema: Usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura.
      6. Na caixa de diálogo Criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura , clique em Habilitado e em OK para fechar a caixa de diálogo.
      7. Feche a janela Política de Grupo.

Notas do administrador do SQL Server 2008

  • Quando o serviço SQL Server 2008 detecta que o modo FIPS está habilitado na inicialização, o SQL Server 2008 registra a seguinte mensagem no log de erros do SQL Server:

    O transporte do Service Broker está sendo executado no modo de conformidade FIPS

    Além disso, a seguinte mensagem pode ser registrada no log do aplicativo:

    O transporte de espelhamento de banco de dados está sendo executado no modo de conformidade FIPS

    Para verificar se o servidor está sendo executado no modo FIPS, localize essas mensagens.

  • Para obter segurança de diálogo entre serviços, o processo de criptografia usará a instância certificada pelo FIPS do AES (Advanced Encryption Standard) se o modo FIPS estiver habilitado. Se o modo FIPS estiver desabilitado, o processo de criptografia usará RC4.

  • Ao configurar um ponto de extremidade do Service Broker no modo FIPS, você deve especificar o AES para o Service Broker. Se o ponto de extremidade estiver configurado como RC4, o SQL Server gerará um erro. Portanto, a camada de transporte não é iniciada.

Como o SQL Server 2008 opera no modo compatível com FIPS 140-2

  • Se o modo FIPS no Windows estiver ativado e se o usuário não tiver opção sobre criptografar ou fazer hash de dados e como isso será feito, o SQL Server 2008 operará no modo compatível com FIPS 140-2. O SQL Server 2008 usará o CryptoAPI e usará apenas as instâncias validadas dos algoritmos.

  • Se o modo FIPS estiver ativado e se o usuário tiver a opção de usar criptografia, o SQL Server 2008 permitirá apenas criptografia compatível com FIPS 140-2 ou não permitirá nenhuma criptografia.

  • Informações importantes para desenvolvedores

    Se você escrever seu próprio código para criptografia ou hash, deverá usar apenas o CryptoAPI. Você deve especificar apenas os algoritmos permitidos pelo FIPS 140-2. Especificamente, use apenas o 3DES (Triple Data Encryption Standard) ou AES para criptografia e apenas SHA-1 para hash. Você pode usar as seguintes palavras-chave no SQL Server 2008 para os respectivos algoritmos validados pelo FIPS 140-2:

    • DESX (DES triplo de três teclas)
    • DES triplo (DES triplo de duas teclas)
    • TRIPLE_DES_3KEY (DES triplo de três teclas)
    • TRIPLE_DES_2KEY (DES triplo de duas teclas)

    Observação

    A seleção de DESX não fornece um algoritmo DESX no SQL Server 2005 ou no SQL Server 2008. Em ambos os casos, selecionar DESX fornece uma instância validada de DES triplo de três teclas.

  • Informações importantes para desenvolvedores

    O SQL Server 2008 oferece suporte a um recurso de gerenciamento de chaves corporativas (EKM) que permite o gerenciamento de chaves criptográficas em um HSM (módulo de armazenamento de hardware) de terceiros separado. Para operar no modo compatível com FIPS 140-2 e usar o EKM, uma das duas condições a seguir deve ser verdadeira:

    • O módulo criptográfico externo deve ser validado pelo FIPS 140-2.
    • Alguns dos algoritmos usados pelo módulo criptográfico devem ser validados pelo FIPS 140-2. Use apenas as instâncias de algoritmos validados quando a criptografia ou descriptografia baseada em FIPS 140-2 for necessária para importar ou exportar dados de ou para SQL Server.

    Além disso, os dados que serão criptografados ou descriptografados pelo módulo criptográfico externo devem ser passados de forma criptografada usando uma instância validada pelo FIPS 140-2.

Qual é o efeito da execução do SQL Server 2008 no modo compatível com FIPS 140-2

  • O uso de criptografia mais forte pode ter um pequeno efeito no desempenho dos processos em que a criptografia menos forte é permitida quando o processo não está operando como compatível com FIPS 140-2.

  • A seleção de criptografia para SSIS (UseEncryption=True) gerará uma mensagem de erro informando que a criptografia disponível é incompatível com a conformidade com FIPS e não é permitida. Em outras palavras, nenhuma criptografia do processo de mensagem é executada.

  • O uso de criptografia junto com o DTS (Data Transformation Services) herdado não é compatível com FIPS 140-2. Para DTS, o modo FIPS no Windows não está marcado. Para permanecer em conformidade, você não deve selecionar criptografia.

  • A maioria dos processos de criptografia e hash do SQL Server 2008 já usa um módulo criptográfico validado pelo FIPS 140-2. Portanto, se você executar um aplicativo no modo compatível com FIPS 140-2 quando o modo FIPS estiver ativado no Windows, haverá pouco ou nenhum efeito sobre o uso ou o desempenho do aplicativo.

Isenção de responsabilidade de terceiros

Aviso de isenção de responsabilidade para informações de terceiros

Os produtos de terceiros mencionados neste artigo são produzidos por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, implícita ou não, do desempenho ou da confiabilidade desses produtos.