yeah.

But for Google, Microsoft, etc., every RP can whitelist, cannot they? ;-)

Otherwise, for a code phishing attack, you need to implement discovery of
some sort. My thinking before reading your email was:

if( authority(authz_ep)==authority(token_ep) ) {
   get_token(token_ep, code, client_credential);
} else {
    get_token(token_ep_from_discovery(), code, client_credential);
}

where token_ep_from_discovery() either returns the value of the
toke_endpoint member from .well-known/openid-configuration OR the value of
turi parameter in the query.

2016年1月28日(木) 2:03 Brian Campbell <bcampb...@pingidentity.com>:

> There's at least one smallish deployment that has a different authority
> for the Authorization Endpoint and the Token Endpoint.
>
> from https://accounts.google.com/.well-known/openid-configuration :
>
> {
>  "issuer": "https://accounts.google.com";,
>  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth";,
>  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token";,
>  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo";,
>  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke";,
>  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs";,
>  ...
> }
>
>
>
> On Wed, Jan 27, 2016 at 6:30 AM, John Bradley <ve7...@ve7jtb.com> wrote:
>
>> It think requiring a common authority segment for the authorization
>> endpoint and the token endpoint might work in common cases, but there are
>> legitimate cases where the URI of the Authorization endpoint might be a
>> alias in the case of multi tenants, all using a common token endpoint.
>>
>> The larger problem would be the RS, it is not uncommon to have the AS and
>> RS in different domains,  so with bearer tokens unless you make the same
>> authority restriction for RS then you are not really stoping the attacker.
>>  They can get the AT by impersonating the RS.
>>
>> I think trying to enforce a common origin policy over OAuth would be a
>> bad direction to go.
>>
>> I understand that it seems like a easy fix on the surface, and it works
>> for most of the things people are using OAuth for today, but would be quite
>> limiting over the long term.
>>
>> John B.
>> > On Jan 27, 2016, at 7:31 AM, sakim...@gmail.com wrote:
>> >
>> > Hi Hans,
>> >
>> > Sorry, I mixed up the IdP mix-up attack and the code phishing attack.
>> >
>> > Mandating the Authorization and Token Endpoint being in the same
>> > authority would solve the later without changing the wire protocol.
>> >
>> > For AS mix-up attack, mandating the client to change the redirection
>> endpoint
>> > per AS would solve the problem without change the wire protocol.
>> >
>> > If these are not possible, then we would have to look at changing the
>> > wire protocol. The solution that solves the both cases must
>> > provide the token endpoint URI authoritatively, which means
>> > you have to mandate some variation of discovery mandatory.
>> >
>> > Nat
>> >
>> >
>> > At 2016-01-27 17:01  Hans Zandbelt wrote:
>> >> I don't see how that can deal with the specific form of the attack
>> >> where the Client would have sent the authorization request to the
>> >> legitimate authorization endpoint of a compromised AS and believes it
>> >> gets the response from that, where in fact it was redirected away to
>> >> the good AS.
>> >> IOW, I don't think this is so much about mixing up endpoints where to
>> >> send stuff to, but mixing up the entity/endpoint from which the Client
>> >> believes the response was received. That may just be terminology
>> >> though.
>> >> Bottom line as far as I see is that a wire protocol element in the
>> >> response is needed to tell the Client who issued it, regardless of how
>> >> the Client deals with configuration of the AS information.
>> >> Hans.
>> >> On 1/27/16 1:31 AM, Nat Sakimura wrote:
>> >>> So, is there a lot of cases that the authority section of the Good
>> AS's
>> >>> Authorization Endpoint and the Token Endpoints are different?
>> >>> If not, then requiring that they are the same seems to virtually
>> remove
>> >>> the attack surface for the mix-up related attacks. It does not
>> introduce
>> >>> new parameter nor discovery. If it can be done, it probably is not
>> worth
>> >>> adding a new wire protocol element to mitigate the mix-up variants.
>> >
>> >
>> > _______________________________________________
>> > OAuth mailing list
>> > OAuth@ietf.org
>> > https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>> _______________________________________________
>> OAuth mailing list
>> OAuth@ietf.org
>> https://www.ietf.org/mailman/listinfo/oauth
>>
>>
>
_______________________________________________
OAuth mailing list
OAuth@ietf.org
https://www.ietf.org/mailman/listinfo/oauth

Reply via email to