Introdução
Este artigo discute as instruções do FIPS 140-2 e como usar o Microsoft SQL Server 2012 no modo compatível com o FIPS 140-2.Observações
-
Os termos "FIPS 140-2 compatível", "FIPS 140-2 conformidade" e "modo compatível com FIPS 140-2" são definidos aqui para uso e clareza. Estes termos não são reconhecidos ou termos governamentais definidos. Os Estados Unidos e os governos canadenses reconhecem a validação de módulos criptográficos em padrões como FIPS 140-2 e não o uso de módulos criptográficos de maneira especificada ou em conformidade. Neste artigo, usamos o "compatível com o FIPS 140-2", "FIPS 140-2 conformidade" e "modo compatível com o FIPS 140-2" no sentido de que o SQL Server 2012 usa apenas instâncias validadas pelo FIPS 140-2 para algoritmos e funções de hash em todas as instâncias em que os dados criptografados ou em hash são importados ou exportados do SQL Server 2012. Além disso, isso significa que o SQL Server 2012 gerenciará as chaves de maneira segura, conforme exigido pelos módulos criptográficos de 140-2 validados pelo FIPS. O processo de gerenciamento de chaves também inclui a geração de chave e o 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.
Informações adicionais
O que é FIPS?
O padrão FIPS (Federal Information Processing Standard) é 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 da comunicação (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 no Canadá.
O que é FIPS 140-2?
O FIPS 140-2 é uma declaração que é intitulado "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, programas e processos podem ser certificados FIPS 140-2 e alguns hardwares, softwares e processos podem ser compatíveis com o FIPS 140-2.
Qual é a diferença entre a compatibilidade com o FIPS 140-2 e a certificação FIPS 140-2?
O SQL Server 2012 pode ser configurado e executado de forma compatível com o FIPS 140-2. Para configurar o SQL Server 2012 dessa maneira, o SQL Server 2012 deve ser executado em um sistema operacional que seja certificado FIPS 140-2 ou em um sistema operacional que forneça um módulo criptográfico certificado. A diferença entre conformidade e certificação não é sutil. Algoritmos podem ser certificados. Não é suficiente usar um algoritmo das listas aprovadas no FIPS 140-2. Em vez disso, você precisa usar uma instância de um algoritmo tal que seja certificado. A certificação requer testes e verificação por um laboratório de avaliação aprovado pela governo. O Windows Server 2003, Windows XP e Windows Server 2008 contêm os algoritmos permitidos, e uma instância de cada um desses sistemas operacionais é testada no laboratório de avaliação e certificada pelo governo.
Quais produtos de aplicativo 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 atendendo aos requisitos de geração de chave e gerenciamento de chaves usando a função do Windows para geração de chave e gerenciamento de chaves ou em conformidade com os requisitos de geração de chave e gerenciamento de chaves no aplicativo. Lembre-se de que as áreas em um aplicativo compatível com FIPS podem existir em que algoritmos ou processos não compatíveis estão habilitados. Por exemplo, alguns processos internos que permanecem dentro do sistema e alguns dados externos que também devem ser criptografados por uma instância de algoritmo certificado são permitidos.
O SQL Server 2012 sempre é compatível 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 que ele use apenas as instâncias de algoritmo certificados pelo FIPS 140-2 que são chamadas usando CryptoAPI para criptografia ou por hash em cada instância em que a conformidade com o FIPS 140-2 é necessária.
Como o SQL Server 2012 pode ser configurado para ser compatível com o FIPS 140-2?
-
Requisitos do sistema operacional: Você deve instalar o SQL Server 2012 em um servidor baseado em um dos seguintes sistemas operacionais:
-
Windows Server 2003
-
Windows XP
-
Windows Server 2008
-
-
Requisito de administração do sistema do Windows: O modo FIPS deve ser definido antes do SQL Server 2012 ser 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 um administrador de sistema do Windows.
-
Clique em Iniciar.
-
Clique em painel de controle.
-
Clique em Ferramentas Administrativas.
-
Clique em política de segurança local. A janela configurações de segurança local é exibida.
-
No painel de navegação, clique em Diretivas locaise, em seguida, clique em Opções de segurança.
-
No painel à direita, clique duas vezes em criptografia do sistema: usar algoritmos compatíveis com FIPS para criptografia, hashing e assinatura.
-
Na caixa de diálogo exibida, clique em habilitadoe, em seguida, clique em aplicar.
-
Clique em OK.
-
Feche a janela configurações locais de segurança .
-
-
Requisito do administrador do SQL Server
-
Quando o serviço SQL Server 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á em execução no modo de conformidade FIPS.Além disso, você pode encontrar a seguinte mensagem registrada no log de eventos do Windows:
Você pode verificar se o servidor está em execução no modo FIPS procurando essas mensagens.
-
Para a segurança da caixa de diálogo (entre serviços), a criptografia usa a instância do AES certificada pelo FIPS se o modo FIPS estiver habilitado. Se o modo FIPS estiver desabilitado, a criptografia usará RC4.
-
Quando você configura um ponto de extremidade do Service Broker no modo FIPS, o administrador deve especificar "AES" para o Service Broker. Se o ponto de extremidade estiver configurado para RC4, o SQL Server irá gerar um erro. Portanto, a camada de transporte não será iniciada.
-
Como o SQL Server 2012 operado no modo compatível com o FIPS 140-2?
-
Com o modo FIPS no Windows ativado, em todas as áreas onde o usuário não tem nenhuma opção sobre se criptografar/hash e como ele será feito, o SQL Server 2012 será executado em conformidade com o FIPS 140-2. (O SQL Server 2012 usará o CryptoAPI no Windows e usará somente as instâncias certificadas dos algoritmos.)
-
Com o modo FIPS no Windows ativado, em todas as áreas onde o usuário tem a opção de usar a criptografia, o SQL Server 2012 habilitará somente a criptografia FIPS 140-2 compatível ou não habilitará a criptografia.
-
Informações importantes para desenvolvedores de softwareEm todas as áreas em que o desenvolvedor ou o usuário escreve o próprio código para criptografia ou hash, eles devem ser instruídos a usar somente CryptoAPI (e, portanto, somente as instâncias certificadas) e para especificar apenas os algoritmos permitidos pelo FIPS 140-2. Especificamente, eles devem especificar apenas DES triplo (3DES) ou AES para criptografia e somente SHA-1 para hash.
Qual é o efeito de executar o SQL Server 2012 no modo compatível com o FIPS 140-2?
-
O uso de criptografia mais forte pode ter um efeito pequeno no desempenho para os processos para os quais a criptografia menos forte é permitida quando o processo não está operando como FIPS 140-2 compatível.
-
A seleção de criptografia do SSIS (UseEncryption = true) gerará uma mensagem de erro que informa que a criptografia disponível é incompatível com a conformidade com FIPS e não é permitida. Em outras palavras, não é realizada nenhuma criptografia do processo da mensagem.
-
O uso da criptografia em conjunto com o DTS herdado não é compatível com o FIPS 140-2. Lembre-se de que, para DTS, o modo FIPS no Windows não está marcado. Portanto, é responsabilidade do usuário selecionar sem criptografia para manter a conformidade.
-
Como a maioria dos processos de hash e criptografia do SQL Server 2012 já são compatíveis com o FIPS 140-2, executar em conformidade total (isto é, 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 e como baixá-lo, acesse o seguinte website da NIST:
http://csrc.nist.gov/cryptval/140-2.htmA Microsoft fornece informações de contato de terceiros para ajudá-lo a encontrar suporte técnico. Essas informações de contato podem ser alteradas sem aviso prévio. A Microsoft não garante a precisão dessas informações para contato com outras empresas.