생성기 바인딩에 대한 암호화 메소드 선택

생성기 바인딩의 요청 암호화를 위해 클라이언트를 구성하려면 클라이언트가 SOAP 메시지를 암호화할 때 사용할 암호화 메소드를 지정해야 합니다.

시작하기 전에

이러한 단계를 완료하기 전에 XML 암호화 정보를 읽고 SOAP 메시지 암호화 및 복호화에 대해 익히십시오.

클라이언트가 SOAP 메시지를 암호화할 때 사용할 알고리즘 메소드를 지정하려면 다음 태스크를 완료하십시오.
  • WSSEncryption API를 사용하여 데이터 암호화 알고리즘 및 키 암호화 알고리즘 메소드를 구성하십시오.
  • 필요에 따라 WSSEncryptPart API를 사용하여 변환 알고리즘 메소드를 구성하십시오. 기본값은 변환 알고리즘이 없음입니다.

이 태스크 정보

암호화 관련 정의 중 일부는 XML 암호화 스펙을 기반으로 합니다. 다음 정보는 일부 데이터 암호화 관련 용어를 정의합니다.

데이터 암호화 방법 알고리즘
데이터 암호화 알고리즘은 데이터 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. 이 알고리즘은 데이터를 고정 크기의 복수 8진 블록으로 암호화 및 복호화합니다.

기본적으로, JCE(Java™ Cryptography Extension)가 길이가 제한된 암호와 함께 제공됩니다. 192비트와 256비트 고급 암호화 표준(AES) 암호화 알고리즘을 사용하려면 제한 없는 관할 정책 파일을 적용해야 합니다.

AES256-cbc 및 AES192-cbc 알고리즘의 경우 다음 웹 사이트에서 무제한 JCE(Java™ Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

키 암호화 방법 알고리즘
키 암호화 알고리즘은 데이터를 암호화하는 데 사용되는 키를 암호화하기 위한 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. 이 알고리즘은 키의 암호화 및 복호화를 위해 지정되는 공개 키 암호화 알고리즘을 나타냅니다.

기본적으로, RSA-OAEP 알고리즘은 암호화 조작의 일부로 메시지 다이제스트를 계산하기 위해 SHA1 메시지 요약 알고리즘을 사용합니다. 선택적으로, 키 암호화 알고리즘 특성을 지정하여 SHA256 또는 SHA512 메시지 다이제스트 알고리즘을 사용할 수 있습니다.

특성 이름은 com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod입니다. 특성 값은 다이제스트 메소드의 다음 uri 중 하나입니다.
  • http://www.w3.org/2001/04/xmlenc#sha256
  • http://www.w3.org/2001/04/xmlenc#sha512

기본적으로, RSA-OAEP 알고리즘은 OAEPParams를 위한 선택적 인코딩 옥텟 문자열에 대해 널 문자열을 사용합니다. 키 암호화 알고리즘 특성을 지정하여 명시적 인코딩 8진수 문자열을 제공할 수 있습니다. 특성 이름의 경우, com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams을 지정할 수 있습니다. 특성 값은 8진수 문자열의 기본 64-인코딩된 값입니다.

중요사항: 이러한 다이제스트 메소드와 OAEPParams 특성을 생성기 측면으로만 설정할 수 있습니다. 이용자 측면에, 이러한 특성은 수신 SOAP 메시지에서 읽혀집니다.

KW_AES256 및 KW_AES192 키 암호화 알고리즘의 경우 다음 웹 사이트에서 무제한 JCE 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

중요사항: 사용자의 국가마다 암호화 소프트웨어의 수입, 소유권, 사용 또는 다른 국가로의 재수출에 대한 제한사항이 있을 수 있습니다. 제한되지 않은 정책 파일을 다운로드하거나 사용하기 전에 허용 여부를 결정하려면 암호화 소프트웨어의 수입, 소유권, 사용 및 재수출에 관한 해당 국가의 법률, 규정 및 정책을 확인해야 합니다.
표 1. 암호화 사용법 유형. 암호화 사용법 유형은 암호화 메소드를 설명합니다.
사용법 유형 설명
데이터 암호화 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다. 수정된 크기, 여러 옥텟 블록에서 데이터를 암호화하고 복호화합니다.
키 암호화 키 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다.

데이터 암호화

WebSphere® Application Server는 다음 사전 구성된 데이터 암호화 알고리즘을 지원합니다.

표 2. 데이터 암호화 알고리즘. 다음과 같은 사전 구성된 암호화 알고리즘이 WebSphere Application Server 에서 지원됩니다.
데이터 암호화 이름 알고리즘 URI
WSSEncryption.AES128(기본값) 데이터 암호화 알고리즘의 URI, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc
WSSEncryption.AES192 데이터 암호화 알고리즘의 URI, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc
WSSEncryption.AES256 데이터 암호화 알고리즘의 URI, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc
WSSEncryption.TRIPLE_DES 데이터 암호화 알고리즘의 URI, 3DES: http://www.w3.org.2001/04/xmlenc#tripledes-cbc

키 암호화

WebSphere Application Server는 다음 사전 구성된 키 암호화 알고리즘을 지원합니다.

표 3. 키 암호화 알고리즘. 다음과 같은 사전 구성된 암호화 알고리즘이 WebSphere Application Server 에서 지원됩니다.
키 암호화 이름 알고리즘 URI
WSSEncryption.KW_AES128 키 암호화 알고리즘의 URI, 키 랩 AES 128: http://www.w3.org/2001/04/xmlenc#kw-aes128
WSSEncryption.KW_AES192 키 암호화 알고리즘의 URI, 키 랩 AES 192: http://www.w3.org/2001/04/xmlenc#kw-aes192
제한사항: 구성된 애플리케이션에서 기본 보안 프로파일(BSP)을 준수하려면 192비트 키 암호화 알고리즘을 사용하지 마십시오.
WSSEncryption.KW_AES256 키 암호화 알고리즘의 URI, 키 랩 AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256
WSSEncryption.KW_RSA_OAEP(기본값) 키 암호화 알고리즘의 URI, 키 랩 RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p
WSSEncryption.KW_RSA15 키 암호화 알고리즘의 URI, 키 랩 RSA 1.5: http://www.w3.org/2001/04/xmlenc#rsa-1_5
WSSEncryption.KW_TRIPLE_DES http://www.w3.org/2001/04/xmlenc#kw-tripledes

암호화 및 암호화된 파트 알고리즘 메소드를 구성하려면 WSSEncryption API를 사용하거나 관리 콘솔을 사용하여 정책 세트를 구성하십시오.

참고: 정책 세트는 대칭 키 암호화를 지원하지 않습니다. 대칭 키 암호화에 WSS API를 사용하는 경우 정책 세트를 사용하는 웹 서비스 엔드포인트와 상호작용할 수 없습니다.

WSS API 프로세스는 다음 상위 레벨 단계를 완료하여 요청 암호화를 위한 클라이언트를 구성할 때 사용할 암호화 메소드를 지정합니다.

프로시저

  1. WSSEncryption API를 사용하여 필수 데이터 암호화 알고리즘을 추가합니다. 데이터 암호화 알고리즘은 SOAP 메시지의 암호화 및 복호화 파트에 사용됩니다. 데이터 암호화 알고리즘은 데이터 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다.

    클라이언트 생성기 구성은 제공자 이용자의 구성과 일치해야 합니다.

    기본 데이터 암호화 알고리즘은 AES 128입니다. 데이터 암호화 이름은 AES128이고 데이터 암호화 알고리즘의 URI는 http://www.w3.org/2001/04/xmlenc#aes128-cbc입니다. WebSphere Application Server는 다음 사전 구성된 데이터 암호화 알고리즘을 지원합니다.

    • AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc

      AES 128 알고리즘은 기본 데이터 알고리즘 메소드입니다.

    • AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc

      구성된 애플리케이션이 BSP(Basic Security Profile)를 따르도록 하려는 경우 192비트 키 암호화 알고리즘을 사용하지 마십시오.

      이 AES 192-cbc 알고리즘을 사용하려면 다음 웹 사이트에서 무제한 JCE(Java Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

    • AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc

      이 AES 256-cbc 알고리즘을 사용하려면 다음 웹 사이트에서 무제한 JCE(Java Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

    • TRIPLEDES: http://www.w3.org/2001/04/xmlenc#tripledes-cbc
  2. 필요에 따라 WSSEncryption API 메소드를 변경하여 또 다른 데이터 암호화 알고리즘을 지정합니다. 예를 들어, 기본 AES 128 알고리즘에서 Triple DES 알고리즘으로 변경하기 위해 다음 코드를 추가할 수도 있습니다.
    // Default data encryption algorithm: AES128
    WSSEncryption enc = factory.newWSSEncryption(x509t); 
       enc.setEncryptionMethod(EncryptionMethod.TRIPLEDES_CBC);
    gencont.add(enc); 
  3. WSSEncryption API를 사용하여 필수 키 암호화 알고리즘을 추가합니다. 키 암호화 알고리즘은 SOAP 메시지 내 메시지 파트를 암호화하는 데 사용되는 키의 암호화에 사용됩니다. 메시징 파트의 암호화에 사용되는 키인 암호화 키가 암호화되지 않은 경우 복호화 API는 false를 선택하여 암호화 키와 일치시킵니다.

    클라이언트 생성기 구성은 제공자 이용자의 구성과 일치해야 합니다.

    기본 키 암호화 알고리즘 값은 키 랩 RSA OAP입니다. 키 암호화 이름은 KW_RSA_OAEP이고 키 암호화 알고리즘의 URI는 http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p입니다. WebSphere Application Server는 다음 사전 구성된 키 암호화 알고리즘을 지원합니다.

    • KW AES128: http://www.w3.org/2001/04/xmlenc#kw-aes128
    • KW AES192: http://www.w3.org/2001/04/xmlenc#kw-aes192

      이 AES 192 알고리즘을 사용하려면 다음 웹 사이트에서 무제한 JCE(Java Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

      구성된 애플리케이션이 BSP(Basic Security Profile)를 따르도록 하려는 경우 192비트 키 암호화 알고리즘을 사용하지 마십시오.

      KW AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256

      이 AES 256-cbc 알고리즘을 사용하려면 다음 웹 사이트에서 무제한 JCE(Java Cryptography Extension) 정책 파일을 다운로드해야 합니다. http://www.ibm.com/developerworks/java/jdk/security/index.html.

    • KW RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p.

      KW RSA OAEP 알고리즘은 기본 키 알고리즘 메소드입니다.

      SDK(Software Development Kit) 버전 1.4로 실행하는 경우, 지원되는 키 전송 알고리즘 목록에 이 알고리즘이 포함되지 않습니다. 이 알고리즘은 SDK 버전 1.5 실행 시 지원되는 키 전송 알고리즘 목록에 나타납니다. http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p에서 자세한 내용을 참조하십시오.

    • KW RSA15: http://www.w3.org/2001/04/xmlenc#rsa-1_5
    • KW TRIPLE DES: http://www.w3.org/2001/04/xmlenc#kw-tripledes
    참고: 웹 서비스 보안 대화의 경우 WSSEncryption API는 다음과 같은 키 관련 정보를 지정할 수 있습니다.
    • algorithmName
    • keyLength

결과

오류 조건이 있는 경우 WSSException이 제공됩니다. 성공할 경우 이 API는 WSSGenerationContext.process()를 호출하고 WS-Security 헤더가 생성되며 웹 서비스 보안을 사용하여 SOAP 메시지가 보안 설정됩니다.

다음 예에서는 WSSEncryption.setEncryptionMethod() 및 WSSEncryption.setKeyEncryptionMethod()를 사용하는 샘플 WSS API 코드를 제공합니다.

// Get the message context
   Object msgcontext = getMessageContext();

// Generate the WSSFactory instance
   WSSFactory factory = WSSFactory.getInstance();

// Generate the WSSGenerationContext instance
   WSSGenerationContext gencont = factory.newWSSGenerationContext();

// Generate callback handler
   X509GenerateCallbackHandler callbackHandler = new 
       X509GenerateCallbackHandler(
                                   "",
                                   "enc-sender.jceks",
                                   "jceks", 
                                   "storepass".toCharArray(), 
                                   "bob", 
                                   null, 
                                   "CN=Bob, O=IBM, C=US", 
                                   null);

// Generate the security token used for encryption
   SecurityToken token = factory.newSecurityToken(X509Token.class , callbackHandler);

// Generate WSSEncryption instance 
   WSSEncryption enc = factory.newWSSEncryption(token);

// Set the data encryption method 
// DEFAULT: WSSEncryption.AES128
      enc.setEncryptionMethod(WSSEncryption.TRIPLE_DES);

// Set the key encryption method
// DEFAULT: WSSEncryption.KW_RSA_OAEP
      enc.setEncryptionMethod(WSSEncryption.KW_RSA15);

// Add the WSSEncryption to the WSSGenerationContext
   gencont.add(enc);

// Generate the WS-Security header
gencont.process(msgcontext);

다음에 수행할 작업

그런 다음 변환 알고리즘을 추가하고 싶은 경우 WSSEncryptPart API 프로세스 태스크를 검토하십시오.


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



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