Trusting SAML messages from a single server

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Trusting SAML messages from a single server

amdonov
This post has NOT been accepted by the mailing list yet.
I'm successfully using WS-Trust and issued tokens to protect a Web Service (policy included below). We're using a single CA for all user and service certificates. When I add the CA to metro's trust store, the SAML assertion from the STS is validated. What keeps a user from creating their own SAML assertions with whatever attributes they choose? I don't see any configuration that ties the assertion directly to the STS.  I tried to just put the STS certificate in the trust store, but it looks like the default validation requires the certificate's issuer to be in the trust store. Do most people use self-signed certs and trust only the STS certificate without a CA?

        <wsp:Policy wsu:Id="MySOAPPolicy">
                <wsp:ExactlyOne>
                        <wsp:All>
                                <wsam:Addressing wsp:Optional="false" />
                                <sp:TransportBinding>
                                        <wsp:Policy>
                                                <sp:TransportToken>
                                                        <wsp:Policy>
                                                                <sp:HttpsToken RequireClientCertificate="false" />
                                                        </wsp:Policy>
                                                </sp:TransportToken>
                                                <sp:Layout>
                                                        <wsp:Policy>
                                                                <sp:Lax />
                                                        </wsp:Policy>
                                                </sp:Layout>
                                                <sp:IncludeTimestamp />
                                                <sp:AlgorithmSuite>
                                                        <wsp:Policy>
                                                                <sp:Basic256 />
                                                        </wsp:Policy>
                                                </sp:AlgorithmSuite>
                                        </wsp:Policy>
                                </sp:TransportBinding>
                                <sp:Wss10 />
                                <sp:SignedSupportingTokens>
                                        <wsp:Policy>
                                                <sp:IssuedToken
                                                        sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
                                                        <sp:Issuer>
                                                                <wsaw:Address>http://sts/</wsaw:Address>
                                                                <wsaw:Metadata>
                                                                        <wsx:Metadata>
                                                                                <wsx:MetadataSection>
                                                                                        <wsx:MetadataReference>
                                                                                                <wsaw:Address>http://sts/mex</wsaw:Address>
                                                                                        </wsx:MetadataReference>
                                                                                </wsx:MetadataSection>
                                                                        </wsx:Metadata>
                                                                </wsaw:Metadata>
                                                        </sp:Issuer>
                                                        <sp:RequestSecurityTokenTemplate>
                                                                <t:TokenType>urn:oasis:names:tc:SAML:2.0:assertion
                                                                </t:TokenType>
                                                                <t:KeyType>
                                                                        http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer
                                                                </t:KeyType>
                                                        </sp:RequestSecurityTokenTemplate>
                                                        <wsp:Policy>
                                                                <sp:RequireInternalReference />
                                                        </wsp:Policy>
                                                </sp:IssuedToken>
                                        </wsp:Policy>
                                </sp:SignedSupportingTokens>
                                <sc:TrustStore wspp:visibility="private"
                                        callbackHandler="mycode.TrustStoreCallbackImpl" />
                        </wsp:All>
                </wsp:ExactlyOne>
        </wsp:Policy>