연방 정보 처리 규격 Java 보안 소켓 확장 파일 구성

연방 정보 처리 규격 Java™ 보안 소켓 확장 파일을 구성하려면 이 주제를 사용하십시오.

이 태스크 정보

WebSphere® Application Server에서, 사용된 JSSE(Java Secure Socket Extension) 제공자가 IBMJSSE2 제공자입니다. 이 제공자는 암호화와 서명 기능을 JCE(Java Cryptography Extension) 제공자에게 위임합니다. 결과적으로, IBMJSSE2는 암호화를 수행하지 않기 때문에 연방 정보 처리 규격(FIPS)에 승인될 필요가 없습니다. 그러나, JCE 제공자에는 FIPS-승인이 필요합니다.
WebSphere Application Server는 IBMJSSE2가 사용할 수 있는 FIPS-승인 IBMJCEFIPS 제공자를 제공합니다. WebSphere Application Server 버전 9.0에 제공되는 IBMJCEFIPS 제공자는 다음 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

서버 SSL 인증서 및 키 관리 패널에서 연방 정보 처리 규격(FIPS) 알고리즘 사용 옵션을 사용 가능으로 설정하면 런타임은 사용자가 SSL(IBMJSSE 또는 IBMJSSE2S)에 지정하는 contextProvider에도 불구하고 항상 IBMJSSE2를 사용합니다. 또한 FIPS에는 SSL 프로토콜이 TLS이도록 요구하므로 런타임은 SSL 레퍼토리에서 SSL 프로토콜 설정에도 불구하고 FIPS가 사용 가능하면 항상 TLS를 사용합니다. 이는 관리자가 SSL을 사용하여 모든 전송을 사용 가능으로 설정하기 위해 서버 SSL 인증서 및 키 관리 패널에서 연방 정보 처리 규격(FIPS) 알고리즘 사용 옵션만을 사용 가능으로 설정하면 되므로 버전 9.0에서 FIPS 구성을 단순화해줍니다.

프로시저

  1. 보안 > SSL 인증서 및 키 관리 > FIPS 관리를 클릭하십시오.
  2. FIPS 140-2를 사용 가능으로 설정 옵션을 클릭하고 적용을 클릭하십시오. 이 옵션은 IBMJSSE2 및 IBMJCEFIPS를 활성 제공자로 만듭니다.
  3. 엔터프라이즈 Bean에 액세스해야 하는 Java 클라이언트를 수용하십시오.

    profile_root/properties/ssl.client.props 파일에서 com.ibm.security.useFIPS 특성 값을 false에서 true로 변경하십시오.

  4. profile_root/properties/ssl.client.props 파일 내에서 com.ibm.ssl.protocol 특성이 TLS로 설정되는지 확인하십시오.
  5. java.security 파일에 제공자가 포함되는지 확인하십시오. [AIX Solaris HP-UX Linux Windows][IBM i]

    java.security 파일을 편집하여 IBMJCEFIPS 제공자(com.ibm.crypto.fips.provider.IBMJCEFIPS)를 IBMJCE 제공자 앞에 삽입하고 또한 제공자 목록에서 다른 제공자의 번호를 다시 지정하십시오. IBMJCEFIPS 제공자는 java.security 파일 제공자 목록에 있어야 합니다.

    [IBM i]java.security 파일은 profile_root/properties 디렉토리에 있습니다.

    [AIX Solaris HP-UX Linux Windows][z/OS]java.security 파일은 WASHOME/java/jre/lib/security 디렉토리에 있습니다.

    IBM® SDK java.security 파일은 이 단계를 완료한 후 다음 예제처럼 보입니다. [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]Oracle Java SE 개발 킷을 사용 중인 경우에는 java.security 파일은 이 단계를 완료한 후에 다음 예제처럼 보입니다.
    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]

    java.security 파일을 편집하여 IBMJCEFIPS 제공자가 있는 행을 주석 해제하고 또한 제공자 목록의 나머지를 번호를 다시 지정하십시오. IBMJCEFIPS 제공자는 java.security 파일 제공자 목록에 있어야 합니다. java.security 파일은 WASHOME/java/jre/lib/security 디렉토리에 있습니다. 파일을 편집하려면 다음 단계를 완료하십시오.

    [z/OS]
    1. java.security 파일을 쓰기 권한이 있는 디렉토리로 복사하십시오.
    2. java.security 파일을 편집하여 IBMJCE 제공자가 있는 행을 주석 처리하고 IBMJCEFIPS 제공자가 있는 행을 주석 해제하고 파일을 저장하십시오.

      IBM 소프트웨어 개발 킷(SDK) java.security 파일은 이 단계를 완료하기 전에 다음 예제처럼 보입니다.

      #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. 셀에서 각 JVM(Java Virtual Machine)에 대해 security.overridePropertiesFilejava.security.properties 시스템 특성을 구성하십시오. 다음 특성 및 값 쌍을 추가하십시오.
      표 1. java.security 파일에 새 위치를 지정하기 위한 사용자 정의 특성.

      이 테이블은 java.security 파일의 새 위치를 지정하기 위한 사용자 정의 특성을 설명합니다.

      특성 이름
      security.overridePropertiesFile true
      java.security.properties java.security 파일의 새 위치를 지정하십시오.
      배치 관리자, 노드 에이전트 및 기타 Application Server의 시스템 특성의 이전 세트를 지정해야 합니다. 배치 관리자의 경우, 제어 및 서번트 둘 모두에 대해 이 시스템 특성 세트를 지정하십시오. 노드 에이전트의 경우, 제어에 대해 이 시스템 특성 세트를 지정하십시오. 모든 Application Server의 경우 부가물, 제어 및 서번트에 대해 이 시스템 특성 세트를 지정하십시오. 예를 들어, 다음 단계를 완료하여 Application Server에서 제어를 위해 이러한 시스템 특성을 지정하십시오.
      1. 관리 콘솔에서 서버 > Application Server > server_name을 클릭하십시오.
      2. 서버 인프라 아래에서 Java 및 프로세스 관리 > 프로세스 정의 > 제어를 클릭하십시오.
      3. 추가 특성 아래에서 JVM(Java Virtual Machine) > 사용자 정의 특성을 클릭하십시오.
      4. 이름과 값 쌍의 두 세트로서 특성을 입력하십시오.
      5. 저장을 클릭하십시오.

다음에 수행할 작업

이러한 단계를 완료한 후 FIPS-승인 JSSE 또는 JCE 제공자는 향상된 암호화 기능을 제공합니다. 그러나, FIPS-승인 제공자를 사용하면:
  • 기본적으로, Microsoft Internet Explorer에는 TLS가 사용 가능으로 설정되지 않을 수도 있습니다. TLS를 사용 가능으로 설정하려면 Internet Explorer 브라우저를 열고 도구 > 인터넷 옵션을 클릭하십시오. 고급 탭에서 TLS 1.0 사용 옵션을 선택하십시오.
    참고: Netscape 버전 4.7.x 및 이전 버전은 TLS를 지원하지 않을 수도 있습니다.
  • SSL 인증서 및 키 관리 패널에서 연방 정보 처리 규격(FIPS) 사용 옵션을 선택하면 LTPA(Lightweight Third-Party Authentication) 토큰 형식은 WebSphere Application Server의 이전 릴리스와 호환되지 않습니다. 그러나, Application Server의 이전 버전으로부터 LTPA 키를 가져올 수 있습니다.
  • 참고: 현재 WebSphere 제한사항은 비밀 키의 키 길이가 FIPS sp800-131a 준수에 대해 평가받지 않는다는 것입니다. 비밀 키가 키 저장소에 있으면, {WebSphere_install_dir}\java\jre\bin 디렉토리에서 iKeyman을 사용하거나 다른 키 저장소 도구를 사용하여 키 길이를 확인하십시오.
[AIX Solaris HP-UX Linux Windows]주의: FIPS 옵션을 사용 가능으로 설정한 후 WebSphere Application Server를 중지하려고 시도하면 다음 오류가 발생할 수 있습니다.
ADMU3007E: Exception com.ibm.websphere.management.exception.ConnectorException
이전에 제거되었거나 주석 처리된 경우에는 java.security 파일에서 다음 항목을 주석 해제한 다음 서버를 다시 시작하십시오.
security.provider.2=com.ibm.crypto.provider.IBMJCE
참고: FIPS를 사용 가능으로 설정하면 SSL 레퍼토리에서 암호 토큰 디바이스를 구성할 수 없습니다. IBMJSSE2는 FIPS를 위해 암호 서비스를 사용할 때 IBMJCEFIPS를 사용해야 합니다.
FIPS 옵션이 지원되는 유일한 디바이스인 다음 FIPS 140-2 승인 암호 제공자:
  • IBMJCEFIPS(인증서 376)
  • C(ICC)를 위한 IBM 암호화(인증서 384)
관련 인증서는 NIST 웹 사이트에 나열되어 있습니다. Cryptographic Module Validation Program FIPS 140-1 and FIPS 140-2 Pre-validation List .
FIPS 제공자를 구성 해제하려면 이전 단계에서 작성한 변경사항을 되돌리십시오. 변경사항을 되돌린 후에는 sas.client.props, soap.client.propsjava.security 파일에 다음 변경사항을 작성했는지 확인하십시오.
  • ssl.client.props 파일에서 com.ibm.security.useFIPS 값을 false로 변경해야 합니다.
  • [AIX Solaris HP-UX Linux Windows][z/OS]java.security 파일에서 FIPS 제공자를 비FIPS 제공자로 변경해야 합니다.
    IBM SDK java.security 파일을 사용 중인 경우에는 다음 예에 표시된 대로 첫 번째 제공자를 비FIPS 제공자로 변경해야 합니다.
    #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
    Sun JDK java.security 파일을 사용 중인 경우에는 다음 예에 표시된 대로 세 번째 제공자를 비FIPS 제공자로 변경해야 합니다.
    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]java.security 파일을 편집하여 FIPS 제공자를 제거하고 다음 예에서처럼 제공자의 번호를 다시 지정하십시오.
    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]FIPS 제공자를 사용할 때, IBM 소프트웨어 개발 킷(SDK)은 잘못된 인증서를 참조하는 오류 메시지를 발행할 수도 있습니다. 이 오류 메시지는 여러 가지 이유로 인한 것일 수 있지만 보안 구성을 검토하고 다음 조치 중 하나를 고려하십시오.
  • 암호화 스위트 레벨이 현재 강인 경우에는 암호 스위트 레벨을 중간으로 줄이십시오.
    문제점 방지 문제점 방지: 노드 또는 서버 레벨 등과 같이 사용자 환경의 다른 레벨마다 암호화 스위트 레벨을 변경할 수 있습니다. 변경이 필요한 사용자 환경의 레벨의 변경사항을 제한하십시오. gotcha

    암호화 스위트를 변경하려면 보호 품질 설정 문서 내의 암호화 스위트 그룹 정보를 참조하십시오. 암호화 스위트 레벨을 중간으로 변경하는 경우에는 변경사항을 저장하고 동기화하십시오. SSL 구성 변경이 발생할 때 동적으로 런타임 업데이트 옵션이 선택된 경우 서버를 다시 시작할 필요가 없습니다. 그러나 옵션이 선택되지 않은 경우에는 변경사항을 적용하려면 서버를 다시 시작해야 합니다. SSL 구성 변경이 발생할 때 동적으로 런타임 업데이트 옵션이 관리 콘솔 내에서 SSL 인증서 및 키 관리 패널에서 사용 가능합니다. 패널에 액세스하려면 보안 > SSL 인증서 및 키 관리를 클릭하십시오.

  • z/OS® 운영 체제에 대해 보안 레벨 3 FMID JCPT3A1을 설치하십시오.

    보안 레벨 3 FMID JCPT3A1은 FIPS 140-2 승인된 암호 제공자의 z/OS 운영 체제 구현입니다.


주제 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsec_fips
파일 이름:tsec_fips.html