암호화된 SOAP 헤더

암호화된 헤더 요소는 SOAP 헤더를 암호화하기 위한 표준 방법을 제공합니다. OASIS SOAP 메시지 보안 스펙에 대한 확장기능 중 하나로, 암호화된 헤더 요소는 응답자가 요청을 처리함을 표시합니다. SOAP 헤더 및 파트 암호화는 더 안전한 메시지 레벨 보안을 제공하는 데 도움이 됩니다.

EncryptedHeader 또는 <wsse11:EncryptedHeader> 요소는 업데이트된 Web Services Security 버전 1.1 표준의 일부이며 Microsoft .NET 및 DataPower®와 같이 버전 1.1 표준을 지원하는 기타 공급업체와의 상호 운용성을 사용합니다.

SOAP 헤더 블록 암호화를 위해 EncryptedHeader 요소를 사용합니다. EncryptedHeader 요소를 사용하면 Web Services Security가 SOAP mustUnderstand 처리 지침을 준수하고 SOAP 헤더 블록의 속성에 포함된 정보가 공개되지 않도록 합니다.

<wsse11:EncryptedHeader> 요소는 <xenc:EncryptedData> 요소 하나를 포함해야 합니다. 암호화된 헤더 요소마다 하나의 <xenc:EncryptedData> 요소가 허용됩니다.

암호화된 데이터 요소

보통, JAX-WS와 같은 프로그래밍 모델은 애플리케이션 코드에 호출을 디스패치하기 전에 Java™ 바인딩 오브젝트로 SOAP 메시지를 직렬화 해제합니다. 그러나 SOAP 메시지가 암호화되면, 암호화 전에 원래 컨텐츠가 XML 암호화 표준의 EncryptedData XML 요소로 대체되기 때문에 직렬화 해제가 실패합니다.

특정한 경우, <wsse:Security> 헤더에 포함된 토큰이 수신인 처리 역할에 대해 암호화되는 것이 바람직할 수 있습니다.

EncryptedData 요소를 사용하는 경우 이 가이드라인을 따르십시오.
  • EncryptedHeader 요소는 하나의 EncryptedData 요소를 포함해야 합니다.
  • <xenc:EncryptedData> 요소는 보안 토큰을 포함하며 이를 <wsse:Security> 헤더에 포함하는 데 사용될 수 있습니다.
  • <xenc:EncryptedData>는 포함된 보안 토큰을 참조하기 위한 XML ID를 포함하지 않아야 합니다.
  • 모든 <xenc:EncryptedData> 토큰은 임베디드 암호화 키가 있거나 별도의 암호화 키에서 참조되어야 합니다.
  • Basic Security Profile 1.1 규제 준수가 필요한 경우, <xenc:EncryptedData> 요소에는 Id 속성이 있어야 합니다.

암호화된 부분을 위한 정책 어설션

EncryptedParts 정책 어설션은 보안 정책에서 암호화될 헤더를 지정합니다. 다음 테이블은 EncryptedParts에 사용될 요소와 속성을 설명합니다.

표 1. EncryptedParts 요소의 속성과 요소. 암호화된 부분을 사용하여 보다 안전한 메시지 레벨 보안을 제공합니다.
요소 또는 속성 설명
/sp:EncryptedParts/sp:Header 선택적. 이 선택적 요소가 있으면 특정 SOAP 헤더(또는 이러한 헤더 세트)가 보호되어야 함을 표시합니다. 다중 sp:Header 요소가 단일 EncryptedParts 요소 내에 있을 수 있습니다.

각 헤더(또는 헤더 세트)가 암호화되어야 하며, 이 암호화는 Web Services Security 버전 1.1 암호화된 헤더를 사용하여 요소를 암호화합니다. 이에 따라, WS-Security 1.1 Encrypted Headers가 서비스에서 지원되지 않으면 메시지 레벨 보안을 사용하여 헤더를 암호화할 수 없습니다.

로컬 이름이 동일하지만 네임스페이스 이름이 다른 다중 SOAP 헤더가 암호화되는 경우, 단일 sp:EncryptedParts 어설션의 일부로 또는 별도의 sp:EncryptedParts 어설션의 일부로 다중 sp:Header 요소가 필요합니다.

/sp:EncryptedParts/sp:Header/@Name 선택적. 이 속성은 기밀성 보호를 설정할 SOAP 헤더의 로컬 이름을 표시합니다. 이 속성을 지정하지 않으면, 네임스페이스가 Namespace 속성과 일치하는 모든 SOAP 헤더가 보호됩니다.
/sp:EncryptedParts/sp:Header/@Namespace 필수. 이 속성은 기밀성 보호를 설정할 SOAP 헤더의 네임스페이스를 표시합니다.

다음 메시지 예는 암호화된 헤더에 대한 EncryptedParts 정책 어설션이 정책에서 지정된 메시지에서 EncryptedHeader 요소가 유사한 내용을 표시합니다.

<S:Envelope xmlns:S="…" xmlns:wsse="…" xmlns:wsse11="…" xmlns:wsu="…"
	  xmlns:xenc="…" xmlns:ds="…">
	  <S:Header>
	    <wsse:Security>
      <!-- Tokens etc. -->
	      <xenc:EncryptedKey>
	        <xenc:EncryptionMethod Algorithm="…"/>
	          <ds:KeyInfo>
	            … …
	          </ds:KeyInfo>
	         <xenc:CipherData>
	           <xenc:CipherValue>…</xenc:CipherValue>
	         </xenc:CipherData>
	         <xenc:ReferenceList>
	           <xenc:DataReference URI="#hdrID"/>
	         </xenc:ReferenceList>
	       </xenc:EncryptedKey>
	    </wsse:Security>
	    <wsse11:EncryptedHeader wsu:Id="hdrID">
	      <xenc:EncryptedData Id="encDataID">
	        <xenc:CipherData>
	          <xenc:CipherValue>…</xenc:CipherValue>
	        </xenc:CipherData>
	        …
	      </xenc:EncryptedData>
	    </wsse11:EncryptedHeader>	
	  </S:Header>
	  <S:Body>
	    …
	  </S:Body>
</S:Envelope>

Web Services Security 버전 1.0 스펙 포맷에서 헤더를 암호화하려면, 바인딩의 <encryptionInfo> 요소에서 true의 값으로 com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.0 특성을 지정하십시오. 이 특성이 지정되면 암호화를 위한 대상 헤더는 <EncryptedData> 요소를 포함한 <EncryptedHeader> 요소 대신 <EncryptedData> 요소로 대체됩니다.

버전 7.0 이전의 WebSphere® Application Server 버전과 동등한 Web Services Security 버전 1.1 동작의 경우, 바인딩의 <encryptionInfo> 요소에서 값 true를 갖는 com.ibm.wsspi.wssecurity.encryptedHeader.generate.WSS1.1.pre.V7 특성을 지정하십시오. 이 특성을 지정한 경우 <EncryptedHeader> 요소는 wsu:Id 매개변수를 포함하고 <EncryptedData> 요소는 Id 매개변수를 생략합니다. 기본 보안 프로파일 1.1을 준수하지 않아도 되는 경우에만 이 특성을 사용해야 합니다.

EncryptedHeader 요소 및 EncryptedData 요소의 경우, Web Services Security 버전 1.1 스펙을 참조하십시오.


주제 유형을 표시하는 아이콘 개념 주제



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