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 tipos de hardware, software e processos que utilizam os algoritmos corretos podem estar em conformidade com a FIPS 140-2.

Qual é a diferença entre a conformidade com 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. Selecione Iniciar.
  3. Selecione Painel de Controle.
  4. Selecione Ferramentas Administrativas. (Você pode ter que mudar paraÍcones grandes para a próxima etapa.)
  5. Selecione Política de Segurança Local. A janela Configurações de segurança local é exibida.
  6. No painel de navegação, selecione Políticas Locais e, em seguida, selecione Opções de Segurança.
  7. No painel do lado 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, selecione Habilitado e, em seguida, selecione Aplicar.
  9. Selecione 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. No caso do DTS, o modo FIPS no Windows não é verificado. 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á é compatível com 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 por informações de terceiros

Os produtos de terceiros que este artigo aborda são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, sobre o desempenho ou a confiabilidade desses produtos.