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:
-
Inicie sessão no Windows como administrador do sistema Windows.
-
Clique em Iniciar.
-
Clique no Painel de Controlo.
-
Clique em Ferramentas Administrativas.
-
Clique na Política de Segurança Local. Aparece a janela de Definições de Segurança Local.
-
No painel de navegação, clique em Políticas Locaise, em seguida, clique em Opções de Segurança.
-
No painel do lado direito, a criptografia do sistema de dois cliques: Utilize algoritmos compatíveis com FIPS para encriptação, hashing e assinatura.
-
Na caixa de diálogo que aparece, clique em Ativadoe, em seguida, clique em Aplicar.
-
Clique em OK.
-
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:
http://csrc.nist.gov/cryptval/140-2.htmA 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.