메시지 보호에 대한 UsernameToken 인증 및 X509Token 대칭

일반 텍스트 비밀번호가 있는 UsernameToken은 인증에 사용됩니다. 요청의 UsernameToken과 요청 및 응답의 SOAP 본문은 X509Token 비대칭 메시지 보호로 서명되고 암호화됩니다. 또한 메시지 시간소인도 있습니다.

X509Token 대칭 보호로, 메시지에 서명하고 암호화하기 위해 일시적 키가 작성됩니다. 일시적 키는 수신자의 공용 인증서를 사용하여 암호화됩니다.

이 샘플에서, 토큰 참조는 RequireThumbprintReference를 사용하고 있습니다. RequireIssuerSerialReference 또는 RequireKeyIdentifierReference를 사용하도록 정책을 변경할 수 있습니다. <sp:RequireDerivedKeys /> 어설션을 추가하여 메시지 교환의 보안을 위해 일시적 키에서 파생된 키를 사용하도록 이 정책을 수정할 수도 있습니다.

이 정책 템플리트는 클라이언트가 그 자체를 인증하기 위해 단지 UsernameToken을 사용할 수 있고, 메시지 교환에 서명하고 이 메시지 교환이 암호화된 경우에 가장 잘 사용됩니다.

다음 정책은 메시지 보호에 대해 UsernameToken 인증 및 X509Token 대칭을 보여줍니다.
<wsp:Policy wsu:Id="X509SymmetricForMessageAndUntForClient">
  <wsp:ExactlyOne>
    <wsp:All>
      <sp:SignedEncryptedSupportingTokens
        xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
        <wsp:Policy>
          <sp:UsernameToken
            sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
            <wsp:Policy>
              <sp:WssUsernameToken10 />
            </wsp:Policy>          </sp:UsernameToken>
        </wsp:Policy>      </sp:SignedEncryptedSupportingTokens>
      <sp:SymmetricBinding>
        <wsp:Policy>
          <sp:ProtectionToken>
            <wsp:Policy>
              <sp:X509Token
                sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never">
                <wsp:Policy>
                  <sp:RequireThumbprintReference />
                  <sp:WssX509V3Token10 />
                </wsp:Policy>              </sp:X509Token>
            </wsp:Policy>          </sp:ProtectionToken>
          <sp:AlgorithmSuite>
            <wsp:Policy>
              <sp:Basic128 />
            </wsp:Policy>          </sp:AlgorithmSuite>
          <sp:Layout>
            <wsp:Policy>
              <sp:Strict />
            </wsp:Policy>          </sp:Layout>
          <sp:IncludeTimestamp />
          <sp:OnlySignEntireHeadersAndBody />
          <sp:EncryptSignature />
        </wsp:Policy>      </sp:SymmetricBinding>
      <sp:Wss11>
        <wsp:Policy>
          <sp:MustSupportRefKeyIdentifier />
          <sp:MustSupportRefIssuerSerial />
          <sp:MustSupportRefThumbprint />
          <sp:MustSupportRefEncryptedKey />
          <sp:RequireSignatureConfirmation />
        </wsp:Policy>      </sp:Wss11>
      <sp:SignedParts>
        <sp:Body />
      </sp:SignedParts>
      <sp:EncryptedParts>
        <sp:Body />
      </sp:EncryptedParts>
    </wsp:All>
  </wsp:ExactlyOne>
</wsp:Policy>
이 예제에서 사용된 네임스페이스는 다음과 같습니다.
  • xmlns:wsp="http://www.w3.org/ns/ws-policy"
  • xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
  • xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"

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

파일 이름: cwlp_wssec_templates_scenario6.html