암호화 메소드

요청 생성기 바인딩을 설정하는 경우 암호화 메소드가 SOAP 메시지를 암호화하는 데 사용할 데이터 및 키 암호화 알고리즘을 지정합니다. WSSEncryption(WSS API for encryption)은 데이터 및 키 암호화 메소드의 일치하는 알고리즘 URI(Uniform Resource Identifier) 및 알고리즘 이름을 지정합니다. 데이터 및 키 암호화 알고리즘이 지정된 경우 해당 알고리즘으로 암호화된 요소만 승인됩니다.

데이터 암호화 알고리즘

데이터 암호화 알고리즘은 본문 및 서명을 포함하여 SOAP 메시지의 파트를 암호화하는 데 사용됩니다. 데이터 암호화 알고리즘은 각 데이터 암호화 알고리즘 유형에 URI(Uniform Resource Identifier)를 지정합니다.

다음 사전 구성된 데이터 암호화 알고리즘이 지원됩니다.
표 1. 데이터 암호화 알고리즘. 이 알고리즘이 SOAP 메시지를 암호화하는 데 사용됩니다.
데이터 암호화 알고리즘 이름 알고리즘 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 데이터 암호화 알고리즘 TRIPLE DES의 URI: http://www.w3.org/2001/04/xmlenc#tripledes-cbc

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

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

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

생성기측의 암호화에 구성된 데이터 암호화 알고리즘이 이용자측의 암호 해독에 구성되는 데이터 암호화 알고리즘과 일치해야 합니다.

키 암호화 알고리즘

이 알고리즘은 키를 암호화 및 암호 해독하는 데 사용됩니다. 이 키 정보는 디지털 서명 및 암호화의 키를 생성하는 데 필요한 구성을 지정하는 데 사용합니다. 서명 정보와 암호화 정보 구성이 키 정보를 공유할 수 있습니다. 이용자측의 키 정보는 수신된 메시지의 디지털 서명에 대한 유효성 검증 또는 메시지의 암호화된 파트를 암호 해독하는 데 사용하는 키에 대한 정보를 지정하는 데 사용합니다. 요청 생성기는 클라이언트에 대해 구성됩니다.

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

키 암호화 알고리즘은 키 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. 다음 사전 구성된 키 암호화 알고리즘이 지원됩니다.

표 2. 지원되는 사전 구성된 키 암호화 알고리즘. 이 알고리즘이 키를 암호화 및 암호 해독하는 데 사용됩니다.
WSS API 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 키 암호화 알고리즘인 키 줄 바꾸기 TRIPLE DES의 URI: http://www.w3.org/2001/04/xmlenc#kw-tripledes
보안 통신의 경우 다음과 같은 추가 키 관련 정보를 지정해야 합니다.
  • algorithmName
  • keyLength
기본적으로, 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.

생성기의 키 암호화 알고리즘이 이용자에 구성된 키 암호화 알고리즘과 일치해야 합니다.

다음 예제에서는 키 암호화 메소드에 RSA1.5를 사용하고 데이터 암호화 메소드에 Triple DES를 사용할 수 있는 암호화 샘플 코드를 제공합니다.

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

	  // generate WSSFactory instance
	  WSSFactory factory = WSSFactory.getInstance();

	  // generate 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 to the encryption
	  SecurityToken token = factory.newSecurityToken(X509Token.class, 
        callbackHandler);

	  // generate WSSEncryption instance to encrypt the SOAP body content
	  WSSEncryption enc = factory.newWSSEncryption(token);
	  enc.addEncryptPart(WSSEncryption.BODY_CONTENT);

	  // 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);

주제 유형을 표시하는 아이콘 참조 주제



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