It doesn't eliminate the problem but it reduces the places a person
can be redirected to.
There is also nothing to stop the OP from checking the referrer, if
the referring site is different from the return_to that is suspicious.
If the user is not logged in to the OP and the referrer doesn't match
I wouldn't redirect them.
It helps if the OP uses a different domain.
If his is used on a web site it seems like a lot of trouble to go to.
They are all ready on a bad site.
I suppose this could be a blog link but there are probably easier ways
to dup a user.
I suspect the major threat is from email links. In that case there
would be no referrer and the OP could detect that.
I will throw in signed requests again because I have been asked why
openID doesn't support that by some large potential RPs.
There are a set of use cases where it is important for the OP to
identify the RP.
I am OK with openID taking a pass on them but we should understand the
tradeoffs.
John B.
On 8-Jun-09, at 7:42 PM, Allen Tom wrote:
John & David - initially, I thought that RP discovery would help
address this issue, but it doesn't. The attacker would just host a
valid discovery document to trick the OP into redirecting to the
attacker's site.
This openid redirector issue is one of the reasons why Yahoo hosts
our OpenID endpoints on an alternate domain, instead of *.yahoo.com.
Allen
David Recordon wrote:
Yes, I think RP discovery definitely allows OPs a way to help limit
these redirects to actual RPs if they are concerned about this
case. I certainly wouldn't put signed requests into the 2.1
bucket, but I do think that there are definite tradeoffs around
OpenID's design and flexibility compared to concerns such as this
one. I do however believe this to be fairly well known already by
OpenID Providers already, at least the large ones.
--David
On Jun 8, 2009, at 2:39 PM, John Bradley wrote:
Allen,
I will bite.
A checkid_setup will do the same thing at most OP's if the user
has elected to remember the RP.
A feature/flaw of openID is that requests are not signed in any way.
If an OP is to ever trust any request as coming from the RP
indicated by the realm/return_to then this will need to be
addressed.
Given that checkid_immediate is generally no worse than
checkid_setup, is forcing a user dialog for checkid_setup and
eliminating checkid_immediate too big a loss of functionality
compared to the risk presented to users.
Perhaps a intermediate measure would be for the OP to error if RP
discovery fails for a checkid_imediate.
That at least limits the possible redirect targets to OP's
return_to URI.
I suspect that RP discovery is the short term answer and the long
term is signed requests of some sort in openID 2.1.
John B.
On 8-Jun-09, at 5:11 PM, Allen Tom wrote:
Hi All,
I believe that everything in the Security Best Practices document
has already been discussed publicly, except for the
checkid_immediate "open redirector" issue listed in the OP Best
Practices section.
In a nutshell, checkid_immediate can be used as an open
redirector, forcing the OP to redirect the browser with the
response to the return_to URL. This interface can potentially be
misused to make checkid_immediate behave similarly TinyURLs, in
which an attacker could obfuscate a link by hiding it behind an
OP's checkid_immediate interface.
If anyone would like to discuss using checkid_immdiate as an Open
Redirector, this we should do it here.
Thanks
Allen
_______________________________________________
security mailing list
[email protected]
http://openid.net/mailman/listinfo/security
_______________________________________________
security mailing list
[email protected]
http://openid.net/mailman/listinfo/security
_______________________________________________
security mailing list
[email protected]
http://openid.net/mailman/listinfo/security