<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h1
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        page-break-after:avoid;
        font-size:16.0pt;
        font-family:Arial;}
h2
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:Arial;
        font-style:italic;}
h3
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        page-break-after:avoid;
        font-size:12.0pt;
        font-family:Arial;}
h4
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        page-break-after:avoid;
        font-size:10.0pt;
        font-family:"Times New Roman";
        font-style:italic;}
p.MsoHeader, li.MsoHeader, div.MsoHeader
        {margin:0in;
        margin-bottom:.0001pt;
        border:none;
        padding:0in;
        font-size:10.0pt;
        font-family:Arial;}
p.MsoFooter, li.MsoFooter, div.MsoFooter
        {margin:0in;
        margin-bottom:.0001pt;
        border:none;
        padding:0in;
        font-size:10.0pt;
        font-family:Arial;}
p.MsoTitle, li.MsoTitle, div.MsoTitle
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:9.0pt;
        margin-left:0in;
        text-align:center;
        font-size:16.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:.25in;
        margin-left:0in;
        text-align:center;
        font-size:12.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
p.Quote, li.Quote, div.Quote
        {margin-top:0in;
        margin-right:.5in;
        margin-bottom:6.0pt;
        margin-left:.5in;
        font-size:12.0pt;
        font-family:"Times New Roman";
        font-style:italic;}
p.Wiki, li.Wiki, div.Wiki
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
p.Graphic, li.Graphic, div.Graphic
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        text-align:center;
        font-size:10.0pt;
        font-family:Arial;
        font-style:italic;}
span.EmailStyle26
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
/* Page Definitions */
@page
        {mso-endnote-separator:url("cid:header.htm\@01C93D3B.69861710") es;
        mso-endnote-continuation-separator:url("cid:header.htm\@01C93D3B.69861710") ecs;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
/* List Definitions */
@list l0
        {mso-list-id:2016640212;
        mso-list-template-ids:890782728;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I have to agree with Andrew on this. The
attack he outlines is one way that starting with a weak http: URI and trying to
“step up” to a stronger https: URI does not get you the protection
of starting and staying within https.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I don’t have a solution to this
issue with http URIs. I will note, however, that XRIs can automatically use
https 100% of the time without users having to know/do anything.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>=Drummond <o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>
<div>
<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>
<hr size=2 width="100%" align=center tabindex=-1>
</span></font></div>
<p class=MsoNormal><b><font size=2 face=Tahoma><span style='font-size:10.0pt;
font-family:Tahoma;font-weight:bold'>From:</span></font></b><font size=2
face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
general-bounces@openid.net [mailto:general-bounces@openid.net] <b><span
style='font-weight:bold'>On Behalf Of </span></b>Andrew Arnott<br>
<b><span style='font-weight:bold'>Sent:</span></b> Sunday, November 02, 2008
10:12 PM<br>
<b><span style='font-weight:bold'>To:</span></b> Martin Atkins<br>
<b><span style='font-weight:bold'>Cc:</span></b> general@openid.net<br>
<b><span style='font-weight:bold'>Subject:</span></b> Re: [OpenID] Mis-using
generation identifiers to request SSLtreatment</span></font><o:p></o:p></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Interesting observation, Martin. You make a good point.<o:p></o:p></span></font></p>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>However, it is insecure because it is then susceptible to phishing.
Imagine a scenario where I usually log in simply as "<a
href="http://blog.nerdbank.net">blog.nerdbank.net</a>", which we'll assume
redirects to <a href="https://blog.nerdbank.net">https://blog.nerdbank.net</a>
at the OP.<o:p></o:p></span></font></p>
</div>
<div>
<ol start=1 type=1>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Attacker using DNS poisoning to fool the RP into
resolving "<a href="http://blog.nerdbank.net">blog.nerdbank.net</a>"
to the attacker's server.<o:p></o:p></span></font></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I begin to log into the compromised RP.<o:p></o:p></span></font></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I am redirected to the attacker's OP, which is
designed to look like mine. I am asked for my login credentials, and
I use a password (bad, I know, but go with me on this scenario).<o:p></o:p></span></font></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I give my password and the site lies to me and says
I've logged in. It redirects me to the RP, where my account... isn't
there, since as you say Martin, it's a different account at the RP.<o:p></o:p></span></font></li>
<li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
mso-list:l0 level1 lfo1'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Now the attacker has my real OP's login
credentials and can now log in as me using my real account at the compromised
RP, even after the RP recovers from the DNS poisoning.<o:p></o:p></span></font></li>
</ol>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>So you see, using insecure HTTP at all during identifier discovery is a
bad thing. Yes, it can be mitigated by using non-phishable credentials
like Cardspace or X.509, but since most users don't use that yet, using HTTPS
identifiers that do not rely on redirects from HTTP identifiers is the only
secure way to go.<o:p></o:p></span></font></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>On Sun, Nov 2, 2008 at 9:57 PM, Martin Atkins <<a
href="mailto:mart@degeneration.co.uk">mart@degeneration.co.uk</a>> wrote:<o:p></o:p></span></font></p>
<div>
<p class=MsoNormal style='margin-bottom:12.0pt'><font size=3
face="Times New Roman"><span style='font-size:12.0pt'>SitG Admin wrote:<br>
><br>
> Indeed. Yet how well have we done at communicating this to users? How<br>
> consistently do they enter their secure URI instead of omitting the<br>
> prefix entirely? Solutions have been suggested, if I'm not mistaken,<br>
> such as detecting incoming requests from RP's to the HTTP page and<br>
> redirecting them to the HTTPS version, or having OpenID headers stating<br>
> that only the HTTPS version should be used for OpenID - but what if the<br>
> RP contacts a hostile server because its initial request was not secure?<br>
><o:p></o:p></span></font></p>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Having a http: URL redirect to an https: URL is secure even if the
http:<br>
URL is compromised, because the redirect "canonicalizes" the claimed<br>
identity to the https: URL.<br>
<br>
While an attacker can in theory compromise the http: URL and make it<br>
redirect somewhere else or not redirect at all, since the user's<br>
accounts are tied to the https: URL they don't gain access to these<br>
accounts.<o:p></o:p></span></font></p>
<div>
<div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><br>
_______________________________________________<br>
general mailing list<br>
<a href="mailto:general@openid.net">general@openid.net</a><br>
<a href="http://openid.net/mailman/listinfo/general" target="_blank">http://openid.net/mailman/listinfo/general</a><o:p></o:p></span></font></p>
</div>
</div>
</div>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
</div>
</div>
</div>
</body>
</html>