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

Este artigo descreve o FIPS 140-2 e como usar 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 instruções do FIPS (Federal Information Processing Standard) 140-2 e como usar o Microsoft SQL Server 2008 no modo compatível com FIPS 140-2.

Observação

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

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 no Estados Unidos. O outro é o Estabelecimento de Segurança de Comunicações no Canadá. FIPS são padrões recomendados ou obrigatórios para uso em sistemas de TI federais (Estados Unidos ou canadenses).

O que é FIPS 140-2

O FIPS 140-2 é uma instruçã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 processos, hardware, software e 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, pois 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 SQL Server 2008 para ser executado como um aplicativo compatível com FIPS 140-2. Para fazer isso, você deve executar SQL Server 2008 em um sistema operacional que usa um Provedor de Serviços Criptográfico validado por FIPS 140-2 ou que fornece um módulo criptográfico que foi validado. A diferença entre conformidade e validação não é sutil. Algoritmos podem ser validados. Observe que é insuficiente usar algoritmos das listas aprovadas no FIPS 140-2. Você deve usar instâncias de algoritmos que foram validados 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 principais requisitos de geração e gerenciamento de chaves usando uma função de chave do Windows ou atendendo aos principais 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, neste formulário criptografado, os dados permanecerem dentro do aplicativo, ou seja, os dados não forem exportados nesse formulário ou se os dados forem criptografados (embrulhados) usando um algoritmo compatível com FIPS.

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

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

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

  • Requisitos do sistema operacional

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

  • Requisitos de administração do sistema Windows

    Você deve habilitar o modo FIPS antes de iniciar SQL Server 2008. Isso ocorre porque 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. A Política de Grupo Editor Local é aberta. 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 Política de Grupo Editor 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: use algoritmos compatíveis com FIPS para criptografia, hash e assinatura.
      6. Na criptografia do sistema: use algoritmos compatíveis com FIPS para criptografia, hash e caixa de diálogo de assinatura, clique em Habilitado e clique em OK para fechar a caixa de diálogo.
      7. Feche a Política de Grupo Editor 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: use algoritmos compatíveis com FIPS para criptografia, hash e assinatura.
      6. Na criptografia do sistema: use algoritmos compatíveis com FIPS para criptografia, hash e caixa de diálogo de assinatura, clique em Habilitado e clique em OK para fechar a caixa de diálogo.
      7. Feche a janela Política de Grupo.

SQL Server notas de administrador de 2008

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

    O transporte do Service Broker está em execução 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á em execução no modo de conformidade FIPS

    Para verificar se o servidor está em execução no modo FIPS, localize essas mensagens.

  • Para obter a segurança da caixa de diálogo entre os serviços, o processo de criptografia usará a instância certificada por 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, SQL Server gerará um erro. Portanto, a camada de transporte não é iniciada.

Como 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 escolha sobre se deve criptografar ou hash dados e como ele será feito, SQL Server 2008 opera no modo compatível com FIPS 140-2. 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 a criptografia, SQL Server 2008 permitirá apenas criptografia compatível com FIPS 140-2 ou não permitirá qualquer 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 Padrão de Criptografia de Dados Triplo (3DES) 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 por FIPS 140-2:

    • DESX(DES triplo de três chaves)
    • TRIPLO-DES(DES triplo de duas chaves)
    • TRIPLE_DES_3KEY(DES triplo de três chaves)
    • TRIPLE_DES_2KEY(DES triplo de duas chaves)

    Observação

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

  • Informações importantes para desenvolvedores

    SQL Server 2008 dá suporte a um recurso EKM (gerenciamento da Enterprise Key) 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 fips 140-2.
    • Alguns dos algoritmos usados pelo módulo criptográfico devem ser validados 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 em forma criptografada usando uma instância validada por 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 desses 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 de que a criptografia disponível é incompatível com a conformidade fips e não é permitida. Em outras palavras, nenhuma criptografia do processo de mensagem é executada.

  • O uso da criptografia junto com o DTS (Serviços de Transformação de Dados) herdado não é compatível com FIPS 140-2. Para DTS, o modo FIPS no Windows não é verificado. Para permanecer em conformidade, você não deve selecionar criptografia.

  • A maioria SQL Server processos de criptografia e hash de 2008 já usam um módulo criptográfico validado por 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 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.