Compartilhar via


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

Este artigo discute as instruções para a Publicação 140-2 do Padrão Federal de Processamento de Informações (FIPS 140-2) e como usar o Microsoft SQL Server 2014 no modo compatível com FIPS 140-2.

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

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 FIPS 140-2, mas não o uso de módulos criptográficos de maneira especificada ou compatível. Neste artigo, usamos "Compatível com FIPS 140-2", "Conformidade com FIPS 140-2" e "Modo compatível com FIPS 140-2" no sentido de que o SQL Server 2014 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 do SQL Server 2014. Além disso, isso significa que o SQL Server 2014 gerencia chaves de maneira segura, conforme exigido dos módulos criptográficos validados pelo FIPS 140-2. O processo de gerenciamento de chaves também inclui geração e armazenamento de chaves.

  • Usamos "certificado" aqui para significar que a instância do algoritmo é validada pelo FIPS 140-2 ou que o sistema operacional contém instâncias de algoritmos validadas pelo FIPS 140-2.

O que é FIPS?

O Federal Information Processing Standard (FIPS) é um padrão desenvolvido pelos dois órgãos governamentais a seguir:

  • O Instituto Nacional de Padrões e Tecnologia (NIST) nos Estados Unidos
  • O Estabelecimento de Segurança das Comunicações (CSE) no Canadá

Os padrões FIPS são recomendados ou obrigatórios para uso em sistemas de TI operados pelo governo federal nos Estados Unidos e Canadá.

O que é FIPS 140-2?

O FIPS 140-2 é uma declaração intitulada "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 que contêm os algoritmos podem ser considerados certificados pelo FIPS 140-2. Outros hardwares, softwares e processos que chamam os algoritmos corretos podem ser compatíveis com FIPS 140-2.

Qual é a diferença entre a certificação FIPS 140-2 e a certificação FIPS 140-2?

O SQL Server 2014 pode ser configurado e executado de maneira compatível com o FIPS 140-2. Para configurar o SQL Server 2014 dessa maneira, o SQL Server 2014 deve ser executado em um sistema operacional certificado pelo FIPS 140-2 ou em um sistema operacional que forneça módulos criptográficos certificados.

A diferença entre conformidade e certificação não é sutil. Os algoritmos podem ser certificados. É insuficiente usar um algoritmo apenas porque ele está listado nas listas aprovadas no FIPS 140-2. Em vez disso, você precisa usar uma instância desse algoritmo que seja certificada. Isso significa que a instância é validada pelo governo. A certificação requer testes e verificação por um laboratório de avaliação aprovado pelo governo dos Estados Unidos ou Canadá. Windows Server 2012 e versões posteriores e também Windows 8 e versões posteriores contêm a instância certificada de cada algoritmo permitido. Mais importante, uma chamada para cada um desses algoritmos fornece apenas a instância certificada.

Quais produtos de aplicação 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 certificada do Windows podem ser compatíveis usando apenas as instâncias certificadas dos algoritmos aprovados e cumprindo os requisitos de geração e gerenciamento de chaves. Você pode fazer isso por um dos seguintes métodos:

  • Usando a função do Windows para geração e gerenciamento de chaves
  • Cumprindo os requisitos de geração e gerenciamento de chaves dentro do aplicativo

Lembre-se de que um aplicativo compatível com FIPS pode conter áreas nas quais algoritmos ou processos não compatíveis estão ativados. Por exemplo, alguns processos internos que permanecem dentro do sistema e alguns dados externos que devem ser criptografados adicionalmente por uma instância de algoritmo certificada são permitidos.

O SQL Server 2014 é sempre compatível com FIPS 140-2?

Não. O SQL Server 2014 pode ser compatível com o FIPS 140-2 porque pode ser configurado e executado de forma que use apenas as instâncias de algoritmo certificadas pelo FIPS 140-2 que são chamadas usando o CryptoAPI para criptografia ou por hash em todas as instâncias em que a conformidade com o FIPS 140-2 é necessária.

Como o SQL Server 2014 pode ser configurado para ser compatível com FIPS 140-2?

Requisito do sistema operacional

Instale o SQL Server 2014 em um servidor baseado em um dos seguintes sistemas operacionais:

  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows 8
  • Windows 8.1
  • Windows 10

Requisito de administração do sistema Windows

O modo FIPS deve ser definido antes que o SQL Server 2014 seja iniciado. O SQL Server lê a configuração na inicialização. Para definir o modo FIPS, siga estas etapas:

  1. Faça logon no Windows como administrador de sistema do Windows.
  2. Clique em Iniciar.
  3. Clique em Painel de Controle.
  4. Clique em Ferramentas administrativas. (Você pode ter que mudar paraÍcones grandes para a próxima etapa.)
  5. Clique em Política de Segurança Local. A janela Configurações de segurança local é exibida.
  6. No painel de navegação, clique emPolíticas Locais e, em seguida, clique em Opções de Segurança.
  7. No painel direito, clique duas vezes em Criptografia do sistema: Usar algoritmos compatíveis com FIPS para criptografia, hash e assinatura.
  8. Na caixa de diálogo exibida, clique em Habilitado e em Aplicar.
  9. Clique em OK.
  10. Feche a janela Configurações de segurança local.

Requisito de administrador do SQL Server

Quando o serviço SQL Server (quando um ponto de extremidade é configurado para Service Broker ou Espelhamento de Banco de Dados) detecta que o modo FIPS está habilitado na inicialização, o SQL Server registra a seguinte mensagem no log de erros do SQL Server:

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

Além disso, você pode encontrar a seguinte mensagem registrada no log de eventos do Windows:

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

Você pode verificar se o servidor está sendo executado no modo FIPS procurando por essas mensagens.

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

  • Quando você configura um terminal do Service Broker no modo FIPS, o administrador deve especificar "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 será iniciada.

Como o SQL Server 2014 é operado no modo compatível com FIPS 140-2?

  • Com o modo FIPS no Windows ativado, em todas as áreas em que o usuário não tem escolha sobre criptografar ou hash e sobre como isso será feito, o SQL Server 2014 será executado em conformidade com o FIPS 140-2. (O SQL Server 2014 usará o CryptoAPI no Windows e usará apenas as instâncias certificadas dos algoritmos.)

  • Com o modo FIPS no Windows ativado, em todas as áreas em que o usuário tem a opção de usar criptografia, o SQL Server 2014 habilitará apenas a criptografia compatível com FIPS 140-2 ou não habilitará nenhuma criptografia.

  • Informações importantes para desenvolvedores de software: em todas as áreas em que o desenvolvedor ou o usuário escreve seu próprio código para criptografia ou hash, eles devem ser instruídos a usar apenas CryptoAPI (e, portanto, apenas as instâncias certificadas) e especificar apenas os algoritmos permitidos pelo FIPS 140-2. Para obter a lista oficial do National Institute of Standards and Technology (NIST) de algoritmos criptográficos aprovados pelo FIPS 140-2, vá para os Anexos A, C e D no Programa de Validação de Módulo Criptográfico.

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

  • O uso de criptografia mais forte pode ter um pequeno efeito no desempenho dos processos para os quais 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 herdado não é compatível com o FIPS 140-2. Para DTS, o modo FIPS no Windows não está marcado. Portanto, é responsabilidade do usuário selecionar nenhuma criptografia para permanecer em conformidade.

  • Como a maioria dos processos de criptografia e hash do SQL Server 2014 já está em conformidade com o FIPS 140-2, a execução em conformidade total (ou seja, com o modo FIPS no Windows ativado) terá pouco ou nenhum efeito sobre o uso ou o desempenho do produto.

Onde posso saber mais sobre o FIPS 140-2?

Para obter mais informações sobre o padrão FIPS 140-2, consulte a seguinte publicação do NIST:

Requisitos de segurança para módulos criptográficos

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.