KB2733626 - Instruções para a utilização do SQL Server 2012 no modo compatível COM o FIPS 140-2

Aplica-se a: SQL Server 2012Microsoft Windows Server 2003Windows XP

Introdução


Este artigo discute instruções FIPS 140-2 e como utilizar o Microsoft SQL Server 2012 no modo compatível COM o FIPS 140-2.Notas
  • Os termos "CONFORMIDADE FIPS 140-2", "CONFORMIDADE FIPS 140-2" e "Modo compatível COM FIPS 140-2" são definidos aqui para utilização e clareza. Estes termos não são reconhecidos ou definidos termos governamentais. Os governos dos Estados Unidos e do Canadá reconhecem a validação de módulos criptográficos contra normas como o FIPS 140-2 e não a utilização de módulos criptográficos de forma especificada ou conforme. Neste artigo, utilizamos "FIPS 140-2-compliant", "FIPS 140-2 compliance", e "MODO FIPS 140-2-compliant" no sentido de que o SQL Server 2012 utiliza apenas instâncias validadas pelo FIPS 140-2 de algoritmos e funções de hashing em todos os casos em que os dados encriptados ou hashed são importados ou exportados do SQL Server 2012. Além disso, isto significa que o SQL Server 2012 irá gerir as chaves de forma segura, como é exigido aos módulos criptográficos validados fips 140-2. O processo de gestão de chaves também inclui a geração de chaves e o armazenamento de chaves.
  • Utilizamos aqui "certificado" para significar que a instância do algoritmo é validada pelo FIPS 140-2 ou que o sistema operativo contém instâncias de algoritmos validadas pelo FIPS 140-2.

Mais Informações


O que é FIPS?

Federal Information Processing Standard (FIPS) é uma norma desenvolvida pelos dois organismos governamentais seguintes:
  • Instituto Nacional de Normalização e Tecnologia (NIST) nos Estados Unidos 
  • O Estabelecimento de Segurança das Comunicações (CSE) no Canadá 
As normas FIPS são recomendadas ou mandatados para utilização em sistemas de TI operados pelo governo federal nos Estados Unidos e canadá.

O que é FIPS 140-2?

FIPS 140-2 é uma declaração intitulada "Requisitos de Segurança para Módulos Criptográficos". Especifica quais os algoritmos de encriptação e quais os algoritmos de hashing que podem ser usados e como as chaves de encriptação devem ser geradas e geridas. Alguns hardware, software e processos podem ser certificados fips 140-2, e alguns hardware, software e processos podem ser compatíveis com FIPS 140-2.

Qual é a diferença entre ser fips 140-2 compatível e ser certificado FIPS 140-2?

O SQL Server 2012 pode ser configurado e executado de uma forma que esteja em conformidade com o FIPS 140-2. Para configurar o SQL Server 2012 desta forma, o SQL Server 2012 deve funcionar num sistema operativo certificado pelo FIPS 140-2 ou num sistema operativo que forneça um módulo criptográfico certificado. A diferença entre conformidade e certificação não é subtil. Os algoritmos podem ser certificados. É insuficiente utilizar um algoritmo das listas aprovadas no FIPS 140-2. Em vez disso, tem de usar uma instância de tal algoritmo que é certificada. A certificação requer testes e verificação por um laboratório de avaliação aprovado pelo governo. O Windows Server 2003, o Windows XP e o Windows Server 2008 contêm os algoritmos permitidos, e uma instância de cada um destes sistemas operativos é testada em laboratório de avaliação e certificada pelo governo.

Quais os produtos de aplicação que podem ser compatíveis com o FIPS 140-2?

Todas as aplicações que executam encriptação ou hashing e que funcionam numa 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 de chaves e gestão de chaves, quer utilizando a função Windows para geração chave e gestão de chaves, quer cumprindo os requisitos de geração de chaves e gestão de chaves dentro da aplicação. Esteja ciente de que podem existir áreas numa aplicação compatível com o FIPS onde algoritmos ou processos não conformes estejam ativados. Por exemplo, alguns processos internos que permanecem dentro do sistema e alguns dados externos que devem ser adicionalmente encriptados por uma instância de algoritmo certificado são permitidos.

O SQL Server 2012 está sempre em conformidade com o FIPS 140-2?

Não. O SQL Server 2012 pode ser compatível com o FIPS 140-2 porque pode ser configurado e executado de forma a que utilize apenas as instâncias de algoritmo certificadas FIPS 140-2 que são chamadas através da utilização do CryptoAPI para encriptação ou por hashing em todos os casos em que o FIPS 140-2 é necessário.

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

  • Requisito do sistema operativo: Tem de instalar o SQL Server 2012 num servidor baseado num dos seguintes sistemas operativos:
    • Windows Server 2003
    • Windows XP
    • Windows Server 2008
  • Requisito de administração do sistema Windows: O modo FIPS deve ser definido antes do início do SQL Server 2012. SQL Server lê a definição no arranque. Para definir o modo FIPS, siga estes passos:
    1. Inicie sessão no Windows como administrador do sistema Windows.
    2. Clique em Iniciar.
    3. Clique no Painel de Controlo.
    4. Clique em Ferramentas Administrativas.
    5. Clique na Política de Segurança Local. Aparece a janela de Definições de Segurança Local.
    6. No painel de navegação, clique em Políticas Locaise, em seguida, clique em Opções de Segurança.
    7. No painel do lado direito, a criptografia do sistema de dois cliques: Utilize algoritmos compatíveis com FIPS para encriptação, hashing e assinatura.
    8. Na caixa de diálogo que aparece, clique em Ativadoe, em seguida, clique em Aplicar.
    9. Clique em OK.
    10. Feche a janela Definições de Segurança Local.
  • Requisito de administrador do SQL Server
    • Quando o serviço SQL Server deteta que o modo FIPS está ativado no arranque, o SQL Server regista a seguinte mensagem no registo de erro do SQL Server:
      O transporte de corretor de serviço está em execução no modo de conformidade FIPS.
      Além disso, poderá encontrar a seguinte mensagem registada no registo de eventos do Windows:
      Pode verificar se o servidor está a funcionar no modo FIPS, procurando estas mensagens.
    • Para a segurança do diálogo (entre serviços), a encriptação utiliza a instância certificada pelo FIPS de AES se o modo FIPS estiver ativado. Se o modo FIPS estiver desativado, a encriptação utiliza o RC4. 
    • Quando configurar um ponto final de corretor de serviços no modo FIPS, o administrador deve especificar "AES" para o corretor de serviços. Se o ponto final estiver configurado para RC4, o SQL Server gerará um erro. Portanto, a camada de transporte não arranca.

Como é que o SQL Server 2012 é operado no modo 140-2 em conformidade com o FIPS?

  • Com o modo FIPS no Windows ligado, em todas as áreas onde o utilizador não tem escolha sobre se encripta/hash e como será feito, o SQL Server 2012 será executado em conformidade com o FIPS 140-2. (SQL Server 2012 utilizará CryptoAPI no Windows e utilizará apenas as instâncias certificadas dos algoritmos.)
  • Com o modo FIPS no Windows ligado, em todas as áreas em que o utilizador tem a opção de utilizar a encriptação, o SQL Server 2012 ativará apenas a encriptação compatível com FIPS 140-2 ou não ativará qualquer encriptação.
  • Informações importantes para desenvolvedores de softwareEm todas as áreas em que o desenvolvedor ou o utilizador escreva o seu próprio código para encriptação ou hashing, devem ser instruídos a utilizar apenas CryptoAPI (e, portanto, apenas as instâncias certificadas) e especificar apenas os algoritmos que são permitidos pelo FIPS 140-2. Especificamente, devem especificar apenas O DeS Triplo (3DES) ou AES para encriptação e apenas SHA-1 para hashing.

Qual é o efeito de executar o SQL Server 2012 no modo compatível COM o FIPS 140-2?

  • A utilização de encriptação mais forte pode ter um pequeno efeito no desempenho para os processos para os quais é permitida uma encriptação menos forte quando o processo não está a funcionar como conformidade com o FIPS 140-2.
  • A seleção de encriptação para SSIS (UseEncryption=True) gerará uma mensagem de erro que afirma que a encriptação disponível é incompatível com a conformidade com o FIPS e não é permitida. Por outras palavras, não é realizada qualquer encriptação do processo de mensagem.
  • A utilização de encriptação juntamente com o DTS legado não está em conformidade com o FIPS 140-2. Tenha em atenção que, no caso do DTS, o modo FIPS no Windows não é verificado. Portanto, é da responsabilidade do utilizador selecionar nenhuma encriptação para permanecer em conformidade.
  • Uma vez que a maioria dos processos de encriptação e hashing do SQL Server 2012 já estão em conformidade com o FIPS 140-2, executar em plena conformidade (isto é, com o modo FIPS no Windows ligado) terá pouco ou nenhum efeito na utilização ou desempenho do produto.

Onde posso saber mais sobre o FIPS 140-2?

Para obter mais informações sobre a norma FIPS 140-2 e como descarregá-la, aceda ao seguinte site da NIST:A Microsoft fornece informações de contacto de outros fabricantes para o ajudar a localizar suporte técnico. Estas informações de contacto poderão ser alteradas sem aviso prévio. A Microsoft não garante a exatidão destas informações de contacto de terceiros.