On Jul 14, 2014, at 9:39 AM, Ian Young <
i...@iay.org.uk> wrote:
>
> On 11 Jul 2014, at 16:29, Tom Scavo <
trs...@gmail.com> wrote:
>
>> On Fri, Jul 11, 2014 at 10:04 AM, Ian Young <
i...@iay.org.uk> wrote:
>>>
>>>> Whether the request is signed or not, the identity provider
>>>> MUST ensure that any <AssertionConsumerServiceURL> or
>>>> <AssertionConsumerServiceIndex> elements in the request are verified as belonging to the service
>>>> provider to whom the response will be sent. Failure to do so can result in a man-in-the-middle attack.
>>>
>>> This is at line 432 of 4.1.4.1 of the profiles spec.
>>
>> Yes, of course, but there's no evidence that either of the
>> implementations (SSP or Shib) are violating any requirements.
>
> The text I quoted appears to me to specify a mandatory requirement ("MUST") to verify the elements in question. Personally, I'd read that to be a requirement to error out in the case of a verification failure there. I guess it's that last point you disagree with?
>
>> In my
>> previous message, I was referring to this requirement in SAML Core:
>>
>> "If the index specified is invalid, then the identity provider MAY
>> return an error <Response> or it MAY use the default location."
>
> Yes, the index case is slightly more difficult to interpret, partly because it's not clear that "belonging" is an appropriate term when we're talking about an index but also because the two specs appear to conflict in this case.
>
>> That why I asked whether AssertionConsumerServiceIndex or
>> AssertionConsumerServiceURL are involved.
>
> Yes, the cases are slightly different, as above. I've been assuming we've been talking about the more common URL case, fwiw.
In the case I'm dealing with with SSP, it is indeed a URL, not an index, being sent. This has been a great discussion, as I hadn't yet consulted the specs to see if there was a "mandated" behavior. It was "surprising" behavior to both sides, although it is a signed authn request, and I/we weren't necessarily worried about it from a security perspective, more from the "just trying to understand what was happening perspective." Although I haven't looked/tested whether this behavior is the same whether or not the authn request is signed.