Configurando Arquivos Java Secure Socket Extension do Federal Information Processing Standard

Utilize este tópico para configurar os arquivos Java™ Secure Socket Extension do Federal Information Processing Standard.

Sobre Esta Tarefa

No WebSphere Application Server, o provedor JSSE (Java Secure Socket Extension) utilizado é o provedor IBMJSSE2. Este provedor delega funções de criptografia e assinatura para o provedor JCE (Java Cryptography Extension). Consequentemente, o IBMJSSE2 não precisa ser aprovado para FIPS (Federal Information Processing Standard) porque não executa criptografia. O provedor JCE, porém, exige aprovação para FIPS.
O WebSphere Application Server fornece um provedor IBMJCEFIPS aprovado pelo FIPS que o IBMJSSE2 pode utilizar. O provedor IBMJCEFIPS que é fornecido no WebSphere Application Server Versão 9.0 suporta as seguintes cifras SSL:
  • SSL_RSA_WITH_AES_128_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_RSA_WITH_AES_128_CBC_SHA
  • SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_DSS_WITH_AES_128_CBC_SHA
  • SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

Ao ativar a opção Usar os algoritmos do Federal Information Processing Standard (FIPS) dos Estados Unidos no certificado SSL do servidor e no painel de gerenciamento principal, o tempo de execução usa sempre o IBMJSSE2, independentemente do contextProvider especificado para SSL (IBMJSSE ou IBMJSSE2S). Além disso, como FIPS exige que o protocolo SSL seja TLS, o tempo de execução sempre utiliza TLS quando FIPS estiver ativado, independente da configuração do protocolo SSL no repertório SSL. Isso simplifica a configuração do FIPS no Versão 9.0, pois um administrador precisa ativar apenas a opção Utilizar Algoritmos FIPS (Federal Information Processing Standard) nos Estados Unidos no painel de gerenciamento de certificado e chave SSL do servidor para ativar todos os transportes utilizando SSL.

Procedimento

  1. Clique em Segurança > Certificado SSL e gerenciamento de chave > Gerenciar FIPS.
  2. Selecione a opção Ativar FIPS 140-2 e clique em Aplicar. Esta opção torna IBMJSSE2 e IBMJCEFIPS os provedores ativos.
  3. Adapte os clientes Java que devem acessar os enterprise beans.

    Altere o valor da propriedade com.ibm.security.useFIPS de false para true no arquivo profile_root/properties/ssl.client.props.

  4. Assegure-se de que a propriedade com.ibm.ssl.protocol no arquivo profile_root/properties/ssl.client.props esteja configurada como TLS.
  5. Certifique-se de que o arquivo java.security inclua o provedor. [AIX Solaris HP-UX Linux Windows][IBM i]

    Edite o arquivo java.security para inserir o provedor IBMJCEFIPS (com.ibm.crypto.fips.provider.IBMJCEFIPS) antes do provedor IBMJCE e também numere novamente os outros provedores da lista de provedores. O provedor IBMJCEFIPS deve estar na lista de provedores do arquivo java.security.

    [IBM i]O arquivo java.security está localizado no diretório profile_root/properties.

    [AIX Solaris HP-UX Linux Windows][z/OS]O arquivo java.security está localizado no diretório WASHOME/java/jre/lib/security.

    O arquivo IBM® SDK java.security será semelhante ao seguinte exemplo após concluir esta etapa:[AIX Solaris HP-UX Linux Windows][z/OS]
    security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS 
    security.provider.2=com.ibm.crypto.provider.IBMJCE  
    security.provider.3=com.ibm.jsse.IBMJSSEProvider   
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2   
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider 
     security.provider.6=com.ibm.security.cert.IBMCertPath  
    security.provider.7=com.ibm.crypto.pkcs11impl.provider.IBMPKCS11Impl
    security.provider.8=com.ibm.security.cmskeystore.CMSProvider
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.sasl.IBMSASL 
    security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider 
    security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider  
    security.provider.13=org.apache.harmony.security.provider.PolicyProvider
    [IBM i]
    security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.10=com.ibm.security.cmskeystore.CMSProvider
    security.provider.11=com.ibm.security.sasl.IBMSASL
    security.provider.12=com.ibm.xml.crypto.IBMXMLCryptoProvider
    security.provider.13=com.ibm.xml.enc.IBMXMLEncProvider
    security.provider.14=org.apache.harmony.security.provider.PolicyProvider
    [AIX Solaris HP-UX Linux Windows][IBM i]Se estiver usando o Oracle Java SE Development Kit, o arquivo java.security ficará semelhante ao exemplo a seguir, após a conclusão desta etapa:
    security.provider.1=sun.security.provider.Sun  
    security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS  
    security.provider.3=com.ibm.crypto.provider.IBMJCE
    security.provider.4=com.ibm.jsse.IBMJSSEProvider 
    security.provider.5=com.ibm.jsse2.IBMJSSEProvider2 
    security.provider.6=com.ibm.security.jgss.IBMJGSSProvider 
    security.provider.7=com.ibm.security.cert.IBMCertPath   
    #security.provider.12=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    security.provider.9=com.ibm.security.cmskeystore.CMSProvider 
    security.provider.10=com.ibm.security.sasl.IBMSASL 
    security.provider.11=com.ibm.xml.crypto.IBMXMLCryptoProvider 
    security.provider.12=com.ibm.xml.enc.IBMXMLEncProvider   
    [z/OS]

    Edite o arquivo java.security para remover o comentário da linha com o provedor IBMJCEFIPS e também renumerar o restante da lista de provedores. O provedor IBMJCEFIPS deve estar na lista de provedores do arquivo java.security. O arquivo java.security está localizado no diretório WASHOME/java/jre/lib/security. Para editar o arquivo, execute as seguintes etapas:

    [z/OS]
    1. Copie o arquivo java.security para um diretório com permissões de gravação.
    2. Edite o arquivo java.security para comentar a linha com o provedor IBMJCE, remover o comentário da linha com o provedor IBMJCEFIPS e salvar o arquivo.

      O arquivo java.security do IBM SDK (Software Development Kit) é semelhante ao seguinte exemplo antes de concluir essa etapa:

      #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
      security.provider.1=com.ibm.crypto.provider.IBMJCE
      security.provider.2=com.ibm.jsse.IBMJSSEProvider
      security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
      security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
      security.provider.5=com.ibm.security.cert.IBMCertPath
      security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
      security.provider.7=com.ibm.security.cmskeystore.CMSProvider
      security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    3. Configure as propriedades de sistema security.overridePropertiesFile e java.security.properties para cada JVM (Java Virtual Machine) na célula. Inclua os seguintes pares propriedade e valor:
      Tabela 1. Propriedades Customizadas para Especificação de um Novo Local para o Arquivos java.security.

      Esta tabela descreve propriedades customizadas para especificar um novo local para o arquivo java.security.

      Nome da propriedade Valor
      security.overridePropertiesFile true
      java.security.properties Especifique o novo local do arquivo java.security.
      Você deve especificar o conjunto de propriedades do sistema anterior para o gerenciador de implementação, o agente de nó e outros servidores de aplicativos. Para o gerenciador de implementação, especifique esse conjunto de propriedades do sistema para o controle e para o servant. Para o agente do nó, especifique esse conjunto de propriedades do sistema para o controle. Para todos os servidores de aplicativos, especifique esse conjunto de propriedades do sistema para o adjunto, o controle e o servant. Por exemplo, execute as etapas a seguir para especificar essas propriedades do sistema para o controle de um servidor de aplicativos:
      1. No console administrativo, clique em Servidores > Servidores de aplicativos > server_name.
      2. Na Infra-estrutura do servidor, clique em Java e Gerenciamento de Processo > Definição de Processo > Controle.
      3. Em Propriedades adicionais, clique em Java Virtual Machine > Propriedades customizadas.
      4. Digite as propriedades como dois conjuntos de pares nome e valor.
      5. Clique em Salvar.

O que Fazer Depois

Depois de concluir essas etapas, um provedor JSSE ou JCE aprovado para FIPS oferece mais recursos de criptografia. No entanto, quando são utilizados provedores aprovados para FIPS:
  • Por padrão, o Microsoft Internet Explorer pode não ter o TLS ativado. Para ativar o TLS, abra o navegador Internet Explorer e clique em Ferramentas > Opções da Internet. Na guia Avançado, selecione a opção Utilizar TLS 1.0.
    Nota: O Netscape Versão 4.7.x e versões anteriores podem não suportar o TLS.
  • Ao selecionar a opção Utilizar o FIPS (Federal Information Processing Standard) no certificado SSL e o painel de gerenciamento de chaves, o formato de token LTPA (Lightweight Third-Party Authentication) não é compatível com as versões de releases anteriores do WebSphere Application Server. No entanto, você pode importar as chaves LTPA de uma versão anterior do servidor de aplicativos.
  • Nota: A limitação atual do WebSphere é que o comprimento da chave em chaves secretas não é avaliado pela conformidade com FIPS sp800-131a. Se as chaves secretas estiverem no keystore, verifique o comprimento da chave usando iKeyman no diretório {WebSphere_install_dir}\java\jre\bin ou usando outras ferramentas do keystore.
[AIX Solaris HP-UX Linux Windows]Atenção: O seguinte erro poderá ocorrer se você tentar parar o WebSphere Application Server após ativar a opção FIPS:
ADMU3007E: Exception com.ibm.websphere.management.exception.ConnectorException
Remova o comentário da seguinte entrada no arquivo java.security se ela foi removida ou comentada anteriormente e, em seguida, reinicie o servidor:
security.provider.2=com.ibm.crypto.provider.IBMJCE
Nota: Ao ativar FIPS, não é possível configurar dispositivos de token criptográfico nos repertórios SSL. IBMJSSE2 deve utilizar IBMJCEFIPS ao utilizar serviços criptográficos para o FIPS.
Os provedores criptográficos aprovados por FIPS 140-2 a seguir que são os únicos dispositivos suportados com a opção FIPS:
  • IBMJCEFIPS (certificado 376)
  • ICC (IBM Cryptography for C) (certificado 384)
Os certificados relevantes estão listados no website do NIST: Cryptographic Module Validation Program FIPS 140-1 and FIPS 140-2 Pre-validation List .
Para desconfigurar o provedor FIPS, reverta as alterações feitas nas etapas anteriores. Após reverter as alterações, verifique se você fez as seguintes alterações nos arquivos sas.client.props, soap.client.props e java.security:
  • No arquivo ssl.client.props, você deve alterar o valor de com.ibm.security.useFIPS para false.
  • [AIX Solaris HP-UX Linux Windows][z/OS]No arquivo java.security, você deve alterar o provedor FIPS para um provedor não-FIPS.
    Se você estiver utilizando o arquivo java.security do IBM SDK, será necessário alterar o primeiro provedor para um provedor não FIPS conforme mostrado no seguinte exemplo:
    #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.1=com.ibm.crypto.provider.IBMJCE
    security.provider.2=com.ibm.jsse.IBMJSSEProvider
    security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.5=com.ibm.security.cert.IBMCertPath
    #security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    Se estiver utilizando o arquivo java.security do Sun SDK, você deve alterar o terceiro provedor para um provedor não-FIPS, conforme mostrando no exemplo a seguir:
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.4=com.ibm.crypto.provider.IBMJCE
    security.provider.5=com.ibm.jsse.IBMJSSEProvider
    security.provider.6=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.7=com.ibm.security.cert.IBMCertPath
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
  • [IBM i]Edite o arquivo java.security para remover o provedor FIPS e renumerar os provedores como no exemplo a seguir:
    security.provider.1=sun.security.provider.Sun
    #security.provider.2=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
[z/OS]Quando você usa o provedor FIPS, o IBM Software Development Kit (SDK) pode emitir uma mensagem de erro que se refere a um certificado inválido. Apesar de essa mensagem de erro poder resultar de muitas razões, reveja a sua configuração de segurança e considere uma das seguintes ações:
  • Reduza o nível do conjunto de ciptografia para médio, se o seu nível do conjunto de criptografia está atualmente Forte.
    Evitar Problemas Evitar Problemas: É possível mudar o nível do conjunto de criptografia para níveis diferentes do seu ambiente como o nível do nó ou do servidor. Limite a mudança para o nível do seu ambiente no qual a mudança é necessária.gotcha

    Para mudar o conjunto dr criptografia, consulte as informações sobre os grupos do conjunto de criptografia dentro da documentação das configurações de qualidade de proteção. Se você mudar o nível do conjunto de criptografia para Médio, salve e sincronize as mudanças. Se a opção Atualizar dinamicamente o tempo de execução quando as mudanças de configuração SSL ocorrerem estiver selecionada, não é necessário reiniciar o servidor. Porém, se a opção não estiver selecionada, você deve reiniciar o servidor para as mudanças entrarem em vigor. A opção Atualizar dinamicamente o tempo de execução quando as mudanças de configuração SSL ocorrerem está disponível dentro do console administrativo no painel Certificado SSL e gerenciamento de chave. Para acessar o painel, clique em Segurança > Certificado SSL e gerenciamento de chave.

  • Instale o nível de segurança 3 FMID JCPT3A1 para o sistema operacional z/OS.

    O nível de segurança 3 FMID JCPT3A1 é a implementação do sistema operacional z/OS dos provedores criptográficos aprovados por FIPS 140-2s.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_fips
Nome do arquivo: tsec_fips.html