<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On 20 Aug 2010, at 16:17, 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 "feature" of ways to use return_to.</div></blockquote><div><br></div><div>Might I ask what the wisdom behind this is?</div><div><br></div><div>I have the feeling OpenID is all about a way of authenticating users and exchanging identity information but utter minimal requirements to do that in a secure fashion. &nbsp;All features that are there to protect against known and proven attack vectors are optional. &nbsp;And as indicated by this thread, some attack vectors aren't even dealt with by the protocol: one would need to do silly undocumented stuff to existing parameters or add extensions to the protocol. &nbsp;You could say, the OpenID protocol is the exact opposite of "Secure By Default". &nbsp;And designing a protocol that way only encourages lazy implementations that have no regard for user privacy concerns.</div><div><br></div><div>Do the OpenID designers hold security in a low regard or does security come second to "ease of implementation" (frankly, a secure protocol is just as easily adopted given good reference implementations). &nbsp;Perhaps I'm not seeing all the reasons why OpenID was designed the way it was - can anyone shed some light?</div><br><blockquote type="cite"><div><br></div><div>In particular, DotNetOpenAuth utilizes return_to when its optional feature is activated that disables "unsolicited assertions", 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>"I [may] not agree with what you have to say, but I'll defend to the death your right to say it." - S. G. Tallentyre<br><br><br><div class="gmail_quote">On Fri, Aug 20, 2010 at 2:12 AM, Maarten Billemont&nbsp;<span dir="ltr">&lt;<a href="mailto:lhunath@gmail.com">lhunath@gmail.com</a>&gt;</span>&nbsp;wrote:<br><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: 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></blockquote></div></body></html>