이용자 바인딩에 대해 복호화 메소드 선택

이용자 바인딩의 응답 복호화를 위한 클라이언트를 구성하려면 클라이언트가 SOAP 메시지를 복호화할 때 사용할 데이터 및 변환 알고리즘 메소드를 지정하십시오.

시작하기 전에

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

SOAP 메시지를 보안 설정하기 위해 복호화 구성을 완료하려면 다음 태스크를 완료해야 합니다.

  • SOAP 메시지 파트의 복호화를 구성합니다.
  • 복호화 메소드를 지정합니다.

WSSDecryption 및 WSSDecryptPart 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진수 문자열에 대해 널 문자열을 사용합니다. 키 암호화 알고리즘 특성을 지정하여 명시적 인코딩 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.

중요사항: 사용자의 국가마다 암호화 소프트웨어의 수입, 소유권, 사용 또는 다른 국가로의 재수출에 대한 제한사항이 있을 수 있습니다. 제한되지 않은 정책 파일을 다운로드하거나 사용하기 전에 허용 여부를 결정하려면 암호화 소프트웨어의 수입, 소유권, 사용 및 재수출에 관한 해당 국가의 법률, 규정 및 정책을 확인해야 합니다.

복호화 구성을 완료하려면 알고리즘 URI(Uniform Resource Identifier) 및 사용법 유형을 지정해야 합니다. URI가 여러 사용법 유형에 사용되는 경우 각 사용법 유형에 대한 URI를 정의해야 합니다. WebSphere® Application Server는 다음 복호화 사용법 유형을 지원합니다.

표 1. 복호화 사용법 유형. 다음 복호화 유형이 WebSphere Application Server에서 지원됩니다.
사용법 유형 설명
데이터 암호화 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다. 수정된 크기, 여러 옥텟 블록에서 데이터를 암호화하고 복호화합니다.
키 암호화 키 암호화 및 복호화 모두에 사용되는 알고리즘 URI를 지정합니다.

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

참고: 정책 세트는 대칭 키 암호화를 지원하지 않습니다. 대칭 키 암호화에 WSS API를 사용하는 경우 정책 세트를 사용하는 웹 서비스 엔드포인트와 상호작용할 수 없습니다.
WSS API를 사용하는 경우 WSSDecryption 및 WSSDecryptPart API는 클라이언트가 SOAP 메시지를 복호화할 때 사용되는 알고리즘 메소드를 지정합니다.
  • WSSDecryption API를 사용하여 데이터 암호화 알고리즘 및 키 암호화 알고리즘 메소드를 구성하십시오.
  • WSSDecryptPart API를 사용하여 변환 알고리즘 메소드를 구성하십시오.

WSS API 프로세스는 다음 상위 레벨 단계를 완료하여 응답 복호화를 위해 클라이언트를 구성할 때 사용할 복호화 및 복호화된 파트 알고리즘 메소드를 지정합니다.

프로시저

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

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

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

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

    • AES256: 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.

    • AES192: 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.

    • TRIPLE_DES: http://www.w3.org/2001/04/xmlenc#tripledes-cbc
  2. 필요에 따라 WSSEncryption API 메소드를 변경하여 또 다른 데이터 암호화 알고리즘을 지정합니다. 예를 들어, 기본 AES 128 알고리즘에서 Triple DES 알고리즘으로 변경하기 위해 다음 코드를 추가할 수도 있습니다.
    dec.addAllowedKeyEncryptionMethod(WSSDecryption.TRIPLE_DES); 
  3. WSSDecryption API를 사용하여 필수 키 암호화 알고리즘을 추가합니다. 키 암호화 알고리즘은 SOAP 메시지 내 메시지 파트를 암호화하는 데 사용되는 키의 암호화에 사용됩니다. 데이터를 암호화하기 위한 키가 필요하지 않은 경우 WSSDecryption.encryptKey(false)를 지정해야 합니다.

    이용자 측에서 선택한 키 암호화 알고리즘은 생성기 측에서 선택한 키 암호화 방법과 일치해야 합니다.

    기본 키 암호화 알고리즘 값은 키 랩 RSA_OAEP입니다. 키 암호화 이름은 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)을 준수하려면 192비트 키 암호화 알고리즘을 사용하지 마십시오.
    • KW_AES256: 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_RSA_15: 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
  4. 필요에 따라 WSSDecryption API 메소드를 사용하여 다른 키 암호화 알고리즘으로 변경합니다. 예를 들어, 기본 키 암호화 알고리즘 KW_RSA_OAEP에서 TRIPLE_DES 알고리즘으로 변경하기 위해 다음을 추가할 수도 있습니다.
    dec.addAllowedKeyEncryptionMethod(WSSDecryption.KW_TRIPLE_DES);
  5. WSSDecryptPart API를 사용하여 필요에 따라 변환 알고리즘을 추가합니다. 기본 변환 알고리즘이 없습니다. 그러나 WebSphere Application Server는 사전 구성된 복호화 파트이며 추가 가능한 WSSDecryptPart.TRANSFORM_ATTACHMENT_CIPHERTEXT를 제공합니다.

결과

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

다음 예는 본문 컨텐츠 복호화 외에도 데이터 암호화 및 키 암호화 알고리즘을 기본값에서 변경하기 위한 샘플 WSS API 코드를 제공합니다.

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

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

// Generate the WSSConsumingContext instance 
   WSSConsumingContext gencont = factory.newWSSConsumingContext();

// Generate the callback handler
   X509ConsumeCallbackHandler callbackHandler = new 
      X509ConsumeCallbackHandler(
                                 "",
                                 "enc-sender.jceks",
                                 "jceks", 
                                 "storepass".toCharArray(), 
                                 "alice", 
                                 "keypass".toCharArray(), 
                                 "CN=Alice, O=IBM, C=US");

// Generate WSSDecryption instance 
   WSSDecryption dec = factory.newWSSDecryption(X509Token.class, 
                                                callbackHandler);

// Set the candidates for the data encryption method
// DEFAULT : WSSDecryption.AES128
   dec.addAllowedEncryptionMethod(WSSDecryption.AES128);
   dec.addAllowedEncryptionMethod(WSSDecryption.AES192);

// Set the candidates for the key encryption method
// DEFAULT : WSSDecryption.KW_RSA_OAEP
   dec.addAllowedKeyEncryptionMethod(WSSDecryption.KW_TRIPLE_DES);

// Add the WSSDecryption to WSSConsumingContext 
   concont.add(dec);

// Validate the WS-Security header
concont.process(msgcontext);

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



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