<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">I agree that RP delegation should be possible and even&nbsp;desirable.<div><br></div><div>To do that&nbsp;safely&nbsp;the OP needs to do RP discovery over SSL or discover a XRD with&nbsp;detached&nbsp;sig for the RP.</div><div><br></div><div>Otherwise you open up Man in the Middle attacks. &nbsp;</div><div><br></div><div>My point was that in the existing spec to prevent interception of tokens and attributes, &nbsp;the Realm that is displayed by the OP to the user needs to match where the&nbsp;assertion&nbsp;is sent.</div><div><br></div><div>I agree that this is something that should be addressed in openID 2.1 ether for XRD with dsig or via XRDS with TLS.</div><div><br></div><div>John B.</div><div><br><div><div>On 14-May-09, at 12:24 AM, Dirk Balfanz wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I don't see why a realm shouldn't be able to delegate to a return_to URL the same way that a user id can delegate to an OP endpoint. This includes delegating from http to https, or even to a different domain altogether. Over on the XRI TC we've been talking about how to do this securely, e.g., by signing the XRD that does the delegation:&nbsp;<a href="http://wiki.oasis-open.org/xri/XrdOne/XmlDsigProfile">http://wiki.oasis-open.org/xri/XrdOne/XmlDsigProfile</a><br> <br>Dirk.<br><br>On Wed, May 13, 2009 at 7:43 PM, John Bradley &lt;<a href="mailto:jbradley@mac.com">jbradley@mac.com</a>&gt; wrote:<br>&gt; Luke,<br>&gt; Realm&nbsp;was called trust_root in 1.1, and&nbsp;is a bit like&nbsp;audience&nbsp;restriction<br> &gt; in SAML.&nbsp;<br>&gt; It is the display version of the return_to, and also used for RP discovery<br>&gt; by the OP.<br>&gt; I am not certain what the problem is with it being https: if the return_to<br>&gt; is https:.<br> &gt; There is&nbsp;explicitly&nbsp;no connection to be&nbsp;inferred by DNS authority&nbsp;between<br>&gt; URI differing in scheme. &nbsp;&nbsp;<br>&gt; Differentiating TLS by its own scheme is a decision we have to live with.<br>&gt; The user should&nbsp;consent&nbsp;to authentication for the site they are logging<br> &gt; into.&nbsp;<br>&gt; <a href="http://open.lukesheppard.com">http://open.lukesheppard.com</a> and <a href="https://open.lukesheppard.com">https://open.lukesheppard.com</a> could<br>&gt; be&nbsp;different&nbsp;sites.<br>&gt; If the RP has both HTTP and HTTPS the best practice would be to always use<br> &gt; the https: version for realm so that RP discovery cant be spoofed via DNS.<br>&gt; Regards<br>&gt; John B.<br>&gt; On 13-May-09, at 2:10 AM, <a href="mailto:specs-request@openid.net">specs-request@openid.net</a> wrote:<br> &gt;<br>&gt; Date: Tue, 12 May 2009 23:10:38 -0700<br>&gt; From: Luke Shepard &lt;<a href="mailto:lshepard@facebook.com">lshepard@facebook.com</a>&gt;<br>&gt; Subject: Should we recommend that return_to url is always HTTPS? What<br> &gt; about realm?<br>&gt; To: OpenID Specs Mailing List &lt;<a href="mailto:specs@openid.net">specs@openid.net</a>&gt;<br>&gt; Message-ID: &lt;<a href="mailto:C62FB26E.BCE7%25lshepard@facebook.com">C62FB26E.BCE7%lshepard@facebook.com</a>&gt;<br> &gt; Content-Type: multipart/related;<br>&gt; boundary="_004_C62FB26EBCE7lshepardfacebookcom_";<br>&gt; type="multipart/alternative"<br>&gt;<br>&gt; --_004_C62FB26EBCE7lshepardfacebookcom_<br>&gt; Content-Type: multipart/alternative;<br> &gt; boundary="_000_C62FB26EBCE7lshepardfacebookcom_"<br>&gt;<br>&gt; --_000_C62FB26EBCE7lshepardfacebookcom_<br>&gt; Content-Type: text/plain; charset="iso-8859-1"<br>&gt; Content-Transfer-Encoding: quoted-printable<br> &gt;<br>&gt; In testing my relying party, it seems clear that the return_to url SHOULD a=<br>&gt; lways be HTTPS. Therefore, then, the realm will always need to be HTTPS as =<br>&gt; well.<br>&gt;<br>&gt; If the return_to is HTTP, then if the response comes in the form of a POST =<br> &gt; from a provider that supports SSL, then the user will see a browser warning=<br>&gt; for posting to an insecure form.<br>&gt;<br>&gt; Here's an example:<br>&gt;<br>&gt; - realm:&nbsp;<a href="http://open.lukeshepard.com/">http://open.lukeshepard.com/</a><br> &gt; - return_to:&nbsp;<a href="http://open.lukeshepard.com/openid/receiver.php">http://open.lukeshepard.com/openid/receiver.php</a><br>&gt; - provider endpoint:&nbsp;<a href="https://www.google.com/accounts/o8/ud">https://www.google.com/accounts/o8/ud</a><br> &gt;<br>&gt; Let's suppose that the response is too long for a GET redirect, so the prov=<br>&gt; ider chooses to POST (as Google and others sometimes do).<br>&gt;<br>&gt; The user would see a warning like this:<br>&gt;<br> &gt; [<a href="cid:3325014638_6495490">cid:3325014638_6495490</a>]<br>&gt;<br>&gt; To preserve the user experience and avoid that popup, relying parties would=<br>&gt; want to make sure their receiver is HTTPS.<br>&gt;<br>&gt; Alternative<br>&gt;<br>&gt; What do you think about loosening the realm/return_to protocol/domain match=<br> &gt; requirements?<br>&gt;<br>&gt; This kinda sucks though, since it means the REALM also must be HTTPS, even =<br>&gt; though the HTTP version would seem to be "canonical". I wonder, would we al=<br>&gt; low an HTTPS return_to if the realm was HTTP? It seems that the HTTP versio=<br> &gt; n of the realm would be better, and should be able to mean "accept either p=<br>&gt; rotocol". Or better yet, you should be able to specify a realm without a pr=<br>&gt; otocol at all.<br>&gt;<br>&gt; Thoughts?<br> &gt;<br>&gt; _______________________________________________<br>&gt; specs mailing list<br>&gt; <a href="mailto:specs@openid.net">specs@openid.net</a><br>&gt; <a href="http://openid.net/mailman/listinfo/specs">http://openid.net/mailman/listinfo/specs</a><br> &gt;<br>&gt;<br><br></blockquote></div><br></div></body></html>