No subject


Fri Apr 24 22:39:51 UTC 2009


ed steeping up security.<BR>
<BR>
I understand that is what would normally happen but it violates some basic =
principals.<BR>
<BR>
It also compromises RP discovery. &nbsp;<BR>
<BR>
A wijldcard in the realm may be the better solution. &nbsp;Though you may n=
ot want to include matching all protocols.<BR>
<BR>
In the other thread we are discussing PPID like identifiers. &nbsp;&nbsp;If=
 they are based on the realm as people are discussing, &nbsp;introducing wi=
ldcards etc introduces the question of realm normalization on that side.<BR=
>
<BR>
John Bradley<BR>
<BR>
<BR>
On 14-May-09, at 11:25 AM, Luke Shepard wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'> So, RP delegation sounds like a very gener=
al solution to the problem, and seems okay to push for. But I think there&#=
8217;s a much simpler solution that solves the specific problem I described=
 below:<BR>
&nbsp;<BR>
&nbsp;RULE:<BR>
&nbsp;&nbsp;&nbsp;If the realm is http, then the return_to can be either ht=
tp or https.<BR>
&nbsp;<BR>
&nbsp;So this would be legal:<BR>
&nbsp;<BR>
&nbsp;realm: <B>http</B>://open.lukeshepard.com/<BR>
&nbsp;return_to: <B>https</B>://open.lukeshepard.com/openid/receiver.php<BR=
>
&nbsp;<BR>
&nbsp;This would NOT be legal &#8211; you can&#8217;t go the other way.<BR>
&nbsp;<BR>
&nbsp;realm: <B>https</B>://open.lukeshepard.com/<BR>
&nbsp;return_to: <B>http</B>://open.lukeshepard.com/openid/receiver.php<BR>
&nbsp;<BR>
&nbsp;So, the receiver should be allowed to INCREASE its security level fro=
m the realm, but not decrease.<BR>
&nbsp;<BR>
&nbsp;This is analogous to wildcards for the protocol instead of just subdo=
main. Another alternative would be to have explicit wildcards for the proto=
col, or to allow realms with relative protocols, like:<BR>
&nbsp;<BR>
&nbsp;explicit wildcard: *://open.lukeshepard.com<BR>
&nbsp;relative protocol: //open.lukeshepard.com<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;<BR>
&nbsp;On 5/14/09 7:19 AM, &quot;John Bradley&quot; &lt;<a href=3D"jbradley@=
mac.com">jbradley at mac.com</a>&gt; wrote:<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I agree that RP delegation should be possib=
le and even desirable.<BR>
&nbsp;<BR>
&nbsp;To do that safely the OP needs to do RP discovery over SSL or discove=
r a XRD with detached sig for the RP.<BR>
&nbsp;<BR>
&nbsp;Otherwise you open up Man in the Middle attacks. &nbsp;<BR>
&nbsp;<BR>
&nbsp;My point was that in the existing spec to prevent interception of tok=
ens and attributes, &nbsp;the Realm that is displayed by the OP to the user=
 needs to match where the assertion is sent.<BR>
&nbsp;<BR>
&nbsp;I agree that this is something that should be addressed in openID 2.1=
 ether for XRD with dsig or via XRDS with TLS.<BR>
&nbsp;<BR>
&nbsp;John B.<BR>
&nbsp;<BR>
&nbsp;On 14-May-09, at 12:24 AM, Dirk Balfanz wrote:<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial"=
><SPAN STYLE=3D'font-size:11pt'>I don't see why a realm shouldn't be able t=
o delegate to a return_to URL the same way that a user id can delegate to a=
n OP endpoint. This includes delegating from http to https, or even to a di=
fferent 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: <a =
href=3D"http://wiki.oasis-open.org/xri/XrdOne/XmlDsigProfile">http://wiki.o=
asis-open.org/xri/XrdOne/XmlDsigProfile</a><BR>
&nbsp;&nbsp;<BR>
&nbsp;Dirk.<BR>
&nbsp;<BR>
&nbsp;On Wed, May 13, 2009 at 7:43 PM, John Bradley &lt;<a href=3D"jbradley=
@mac.com">jbradley at mac.com</a>&gt; wrote:<BR>
&nbsp;&gt; Luke,<BR>
&nbsp;&gt; Realm was called trust_root in 1.1, and is a bit like audience r=
estriction<BR>
&nbsp;&nbsp;&gt; in SAML. <BR>
&nbsp;&gt; It is the display version of the return_to, and also used for RP=
 discovery<BR>
&nbsp;&gt; by the OP.<BR>
&nbsp;&gt; I am not certain what the problem is with it being https: if the=
 return_to<BR>
&nbsp;&gt; is https:.<BR>
&nbsp;&nbsp;&gt; There is explicitly no connection to be inferred by DNS au=
thority between<BR>
&nbsp;&gt; URI differing in scheme. &nbsp;&nbsp;<BR>
&nbsp;&gt; Differentiating TLS by its own scheme is a decision we have to l=
ive with.<BR>
&nbsp;&gt; The user should consent to authentication for the site they are =
logging<BR>
&nbsp;&nbsp;&gt; into. <BR>
&nbsp;&gt; <a href=3D"http://open.lukesheppard.com">http://open.lukesheppar=
d.com</a> and <a href=3D"https://open.lukesheppard.com">https://open.lukesh=
eppard.com</a> could<BR>
&nbsp;&gt; be different sites.<BR>
&nbsp;&gt; If the RP has both HTTP and HTTPS the best practice would be to =
always use<BR>
&nbsp;&nbsp;&gt; the https: version for realm so that RP discovery cant be =
spoofed via DNS.<BR>
&nbsp;&gt; Regards<BR>
&nbsp;&gt; John B.<BR>
&nbsp;&gt; On 13-May-09, at 2:10 AM, <a href=3D"specs-request at openid.net">s=
pecs-request at openid.net</a> wrote:<BR>
&nbsp;&nbsp;&gt;<BR>
&nbsp;&gt; Date: Tue, 12 May 2009 23:10:38 -0700<BR>
&nbsp;&gt; From: Luke Shepard &lt;<a href=3D"lshepard at facebook.com">lshepar=
d at facebook.com</a>&gt;<BR>
&nbsp;&gt; Subject: Should we recommend that return_to url is always HTTPS?=
 What<BR>
&nbsp;&nbsp;&gt; about realm?<BR>
&nbsp;&gt; To: OpenID Specs Mailing List &lt;<a href=3D"specs at openid.net">s=
pecs at openid.net</a>&gt;<BR>
&nbsp;&gt; Message-ID: &lt;<a href=3D"C62FB26E.BCE7%lshepard at facebook.com">=
C62FB26E.BCE7%lshepard at facebook.com</a> &lt;<a href=3D"mailto:C62FB26E.BCE7=
%25lshepard at facebook.com">mailto:C62FB26E.BCE7%25lshepard at facebook.com</a>&=
gt; &gt;<BR>
&nbsp;&nbsp;&gt; Content-Type: multipart/related;<BR>
&nbsp;&gt; boundary=3D&quot;_004_C62FB26EBCE7lshepardfacebookcom_&quot;;<BR=
>
&nbsp;&gt; type=3D&quot;multipart/alternative&quot;<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; --_004_C62FB26EBCE7lshepardfacebookcom_<BR>
&nbsp;&gt; Content-Type: multipart/alternative;<BR>
&nbsp;&nbsp;&gt; boundary=3D&quot;_000_C62FB26EBCE7lshepardfacebookcom_&quo=
t;<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; --_000_C62FB26EBCE7lshepardfacebookcom_<BR>
&nbsp;&gt; Content-Type: text/plain; charset=3D&quot;iso-8859-1&quot;<BR>
&nbsp;&gt; Content-Transfer-Encoding: quoted-printable<BR>
&nbsp;&nbsp;&gt;<BR>
&nbsp;&gt; In testing my relying party, it seems clear that the return_to u=
rl SHOULD a=3D<BR>
&nbsp;&gt; lways be HTTPS. Therefore, then, the realm will always need to b=
e HTTPS as =3D<BR>
&nbsp;&gt; well.<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; If the return_to is HTTP, then if the response comes in the form=
 of a POST =3D<BR>
&nbsp;&nbsp;&gt; from a provider that supports SSL, then the user will see =
a browser warning=3D<BR>
&nbsp;&gt; for posting to an insecure form.<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; Here's an example:<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; - realm: <a href=3D"http://open.lukeshepard.com/">http://open.lu=
keshepard.com/</a><BR>
&nbsp;&nbsp;&gt; - return_to: <a href=3D"http://open.lukeshepard.com/openid=
/receiver.php">http://open.lukeshepard.com/openid/receiver.php</a><BR>
&nbsp;&gt; - provider endpoint: <a href=3D"https://www.google.com/accounts/=
o8/ud">https://www.google.com/accounts/o8/ud</a><BR>
&nbsp;&nbsp;&gt;<BR>
&nbsp;&gt; Let's suppose that the response is too long for a GET redirect, =
so the prov=3D<BR>
&nbsp;&gt; ider chooses to POST (as Google and others sometimes do).<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; The user would see a warning like this:<BR>
&nbsp;&gt;<BR>
&nbsp;&nbsp;&gt; [cid:3325014638_6495490]<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; To preserve the user experience and avoid that popup, relying pa=
rties would=3D<BR>
&nbsp;&gt; want to make sure their receiver is HTTPS.<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; Alternative<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; What do you think about loosening the realm/return_to protocol/d=
omain match=3D<BR>
&nbsp;&nbsp;&gt; requirements?<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; This kinda sucks though, since it means the REALM also must be H=
TTPS, even =3D<BR>
&nbsp;&gt; though the HTTP version would seem to be &quot;canonical&quot;. =
I wonder, would we al=3D<BR>
&nbsp;&gt; low an HTTPS return_to if the realm was HTTP? It seems that the =
HTTP versio=3D<BR>
&nbsp;&nbsp;&gt; n of the realm would be better, and should be able to mean=
 &quot;accept either p=3D<BR>
&nbsp;&gt; rotocol&quot;. Or better yet, you should be able to specify a re=
alm without a pr=3D<BR>
&nbsp;&gt; otocol at all.<BR>
&nbsp;&gt;<BR>
&nbsp;&gt; Thoughts?<BR>
&nbsp;&nbsp;&gt;<BR>
&nbsp;&gt; _______________________________________________<BR>
&nbsp;&gt; specs mailing list<BR>
&nbsp;&gt; <a href=3D"specs at openid.net">specs at openid.net</a><BR>
&nbsp;&gt; <a href=3D"http://openid.net/mailman/listinfo/specs">http://open=
id.net/mailman/listinfo/specs</a><BR>
&nbsp;&nbsp;&gt;<BR>
&nbsp;&gt;<BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
&nbsp;<BR>
&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'> <BR>
&nbsp;&nbsp;<BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE=3D"Calibri, Verdana, Helvetica, Arial=
"><SPAN STYLE=3D'font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>


--_000_C6319712BECClshepardfacebookcom_--


More information about the specs mailing list