<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">&#43;1 - you should use return_to to track a request ID if you want.<div><br></div><div>This is highly encouraged to prevent CSRF issues.<br><div><br><div><div>On Aug 20, 2010, at 7:17 AM, Andrew Arnott wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I don't consider this a flaw at all. &nbsp;In fact you can solve it yourself today, in total compliance with the OpenID spec. &nbsp;<div><br></div><div>Use the return_to parameter to add whatever unique ID you wish was there. &nbsp;Then in your logs, you'll see the ID on the outgoing request (if you log it) and on the response (via the incoming HTTP indirect message). &nbsp;</div>
<div><br></div><div>Problem solved, right? &nbsp;It's totally up to the RP (you) to leverage this hidden &quot;feature&quot; of ways to use return_to.</div><div><br></div><div>In particular, DotNetOpenAuth utilizes return_to when its optional feature is activated that disables &quot;unsolicited assertions&quot;, which guarantees that each authentication response starts with an authentication request that originated at the RP. &nbsp;We had a signed nonce from the RP to the return_to, and verify it when it comes back. &nbsp;Again, this is only if you wanted to disable unsolicited assertions deliberately for some reason.</div>
<div><br clear="all">--<br>Andrew Arnott<br>&quot;I [may] not agree with what you have to say, but I'll defend to the death your right to say it.&quot; - S. G. Tallentyre<br>
<br><br><div class="gmail_quote">On Fri, Aug 20, 2010 at 2:12 AM, Maarten Billemont <span dir="ltr">&lt;<a href="mailto:lhunath@gmail.com">lhunath@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
It has always bothered me that the OpenID protocol does not assign a unique ID to requests that is required to be repeated in the request's response. &nbsp;This makes it annoying to cleanly identify whether a response matches a particular request; instead relying on chronology (response Y comes after request X? &nbsp;It must be a response to X!).<br>

<br>
This is an annoyance, yet, in the case of successful authentication responses, not a disaster: The response can be signed and verified.<br>
<br>
In the case of a failure response, however, there is a significant lack of useful information passed from the OP to the RP. &nbsp;This lack of useful information makes it impossible for the RP to verify that the response did originate from the OP. &nbsp;Unfortunately for the RP, (and conveniently for an attacker), the response is sent via indirect communication (via the User Agent); so the RP has no clue whatsoever where the response came from or who crafted it. &nbsp;There is no association handle, no signature, no nonce, no nothing.<br>

<br>
Does that mean that to sabotage an OpenID site's authentication process, all I have to do is craft a website which, when opened by the user in a separate tab, continuously makes requests to the RP providing authentication failure responses?<br>

<br>
Am I missing something here, or is the OpenID protocol really so flawed? &nbsp;And if it is, can I expect anyone to fix the protocol any time soon?<br>
<br>
_______________________________________________<br>
general mailing list<br>
<a href="mailto:general@lists.openid.net">general@lists.openid.net</a><br>
<a href="http://lists.openid.net/mailman/listinfo/openid-general" target="_blank">http://lists.openid.net/mailman/listinfo/openid-general</a><br>
</blockquote></div><br></div>
_______________________________________________<br>general mailing list<br><a href="mailto:general@lists.openid.net">general@lists.openid.net</a><br>http://lists.openid.net/mailman/listinfo/openid-general<br></blockquote></div><br></div></div></body></html>