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