암호 해독 메소드
암호 해독 알고리즘은 SOAP 메시지를 암호 해독하는 데 사용되는 데이터 또는 키 암호화 알고리즘을 지정합니다. WSSDecryption(WSS API for decryption)은 데이터 및 키 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. WSSDecryption 인터페이스는 com.ibm.websphere.wssecurity.wssapi.decryption 패키지의 일부입니다.
데이터 암호화 알고리즘
데이터 암호화 알고리즘은 암호화 및 암호 해독 데이터에 사용되는 알고리즘입니다. 이 알고리즘 유형은 본문 컨텐츠 및 서명을 포함하는 메시지의 다양한 부분을 암호화하고 암호 해독할 암호화 데이터에 사용됩니다.
데이터 암호 해독 알고리즘은 데이터 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. WebSphere® Application Server는 다음 사전 구성된 데이터 복호화 알고리즘을 지원합니다.
WSS API | URI |
---|---|
WSSDecryption.AES128(기본값) | 데이터 암호화 알고리즘의 URI, AES 128: http://www.w3.org/2001/04/xmlenc#aes128-cbc |
WSSDecryption.AES192 | 데이터 암호화 알고리즘의 URI, AES 192: http://www.w3.org/2001/04/xmlenc#aes192-cbc |
WSSDecryption.AES256 | 데이터 암호화 알고리즘의 URI, AES 256: http://www.w3.org/2001/04/xmlenc#aes256-cbc |
WSSDecryption.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) 정책 파일을 다운로드해야 합니다.
데이터 암호화 알고리즘은 이용자에 구성된 데이터 암호 해독 알고리즘과 일치해야 합니다.
키 암호화 알고리즘
키 암호화 알고리즘은 암호화 및 암호 해독 데이터에 사용되는 알고리즘입니다.
이 키 정보는 디지털 서명 및 암호화의 키를 생성하는 데 필요한 구성을 지정하는 데 사용합니다. 서명 정보와 암호화 정보 구성이 키 정보를 공유할 수 있습니다. 이용자측의 키 정보는 수신된 메시지의 디지털 서명에 대한 유효성 검증 또는 메시지의 암호화된 파트를 암호 해독하는 데 사용하는 키에 대한 정보를 지정하는 데 사용합니다. 요청 생성기는 클라이언트에 대해 구성됩니다.
키 암호화 알고리즘은 키 암호화 메소드의 알고리즘 URI(Uniform Resource Identifier)를 지정합니다. WebSphere Application Server는 다음 사전 구성된 키 암호화 알고리즘을 지원합니다.
WSS API | URI |
---|---|
WSSDecryption.KW_AES128 | 키 암호화 알고리즘의 URI, 키 랩 AES 128: http://www.w3.org/2001/04/xmlenc#kw-aes128 |
WSSDecryption.KW_AES192 | 키 암호화 알고리즘의 URI, 키 랩 AES 192:
http://www.w3.org/2001/04/xmlenc#kw-aes192 제한사항: 구성된
애플리케이션에서 기본 보안 프로파일(BSP)을 준수하려면 192비트 키 암호화 알고리즘을 사용하지
마십시오.
|
WSSDecryption.KW_AES256 | 키 암호화 알고리즘의 URI, 키 랩 AES 256: http://www.w3.org/2001/04/xmlenc#kw-aes256 |
WSSDecryption.KW_RSA_OAEP(기본값) | 키 암호화 알고리즘의 URI, 키 랩 RSA OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p |
WSSDecryption.KW_RSA15 | 키 암호화 알고리즘의 URI, 키 랩 RSA 1.5: http://www.w3.org/2001/04/xmlenc#rsa-1_5 |
WSSDecryption.KW_TRIPLE_DES | 데이터 암호화 알고리즘인 키 랩 TRIPLE DES의 URI: http://www.w3.org/2001/04/xmlenc#kw-tripledes |
기본적으로, 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-인코딩된 값입니다.
kw-aes256 및 kw-aes192 키 암호화 알고리즘의 경우, 웹 사이트 http://www.ibm.com/developerworks/java/jdk/security/index.html에서 무제한 JCE 정책 파일을 다운로드해야 합니다.
생성기와 이용자의 키 암호화 알고리즘이 일치해야 합니다.
다음 예제는 WebSphere Application Server 암호 해독에 사용되는 기본 알고리즘을 위한 WSS API 코드의 샘플을 제공합니다.
WSSFactory factory = WSSFactory.getInstance();
WSSConsumingContext concont = factory.newWSSConsumingContext();
// Required to attach username token into the message.
X509ConsumeCallbackHandler callbackHandler =
new X509ConsumeCallbackHandler("",
"enc-sender.jceks",
"JCEKS",
"storepass".toCharArray(),
"alice",
"keypass".toCharArray(),
"CN=Alice, O=IBM, C=US");
// Set the decrypt component.
// Default encrypted part: Body-Content
// Default data encryption algorithm: AES128
// Default key encryption algorithm: KW-RSA-OAEP
WSSDecryption dec = factory.newWSSDecryption(X509Token.Type,
callbackHandler);
concont.add(dec);
// validate the WS-Security header.
concont.process(msgctx);