<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace V5 Site Server v5.13.159 (http://www.squarespace.com) on Fri, 24 May 2013 17:33:20 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Commented.org - openid</title><link>http://commented.org/blog/</link><description></description><lastBuildDate>Tue, 19 Jan 2010 08:29:19 +0000</lastBuildDate><copyright></copyright><language>en-US</language><generator>Squarespace V5 Site Server v5.13.159 (http://www.squarespace.com)</generator><item><title>"The perpetual guest", starring OpenID</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Tue, 02 Dec 2008 08:22:56 +0000</pubDate><link>http://commented.org/blog/2008/12/2/the-perpetual-guest-starring-openid.html</link><guid isPermaLink="false">82836:713060:2636681</guid><description><![CDATA[<p>Apparently <a href="http://wiki.developers.facebook.com/index.php/Facebook_Connect">Facebook Connect</a> is about to <a href="http://www.readwriteweb.com/archives/facebook_connect_readies.php">take over the world</a>. Again. </p>

<p>And the OpenID world <a href="http://chrissaad.wordpress.com/2008/12/01/facebook-connect-aka-hailstorm-20/">reacts</a>.</p>

<p>One can debate whether the set of standards that make up the <a href="http://therealmccrea.com/2008/09/19/joseph-smarr-at-web-20-on-the-new-open-stack/">Open Stack</a> is too large and causes potential implementors and users to shy away from its implementation. I&#8217;m not sure. </p>

<p>I claim, however, that a big reason single sign such as OpenID has failed to take off is that its very ease of use is actually its own enemy! </p>

<p>The binding of the potential web site user to the site visited is much weaker when using OpenID, than if the user had created an account and logged in. Without an account, the user becomes a guest, and a web site wants visitors to become anything <em>but</em> just guests. It wants decided, committed users. </p>

<p>The direct mailing business figured this out. Still today, when you decide to join a service, you return one of the postage-free reply cards. But before you mail it, you do something seemingly insane. You stick the bright &#8220;YES&#8221; sticker onto the empty space where it says &#8220;PLACE YES STICKER HERE&#8221;. </p>

<p>Why?</p>

<p>Because they make you do that to create in your mind a commitment. A stronger bond. They don&#8217;t want you to coast into their service and feel no obligation and just leave. They want the commitment, the guilt, all the good stuff that keeps you there for a while.</p>

<p>OpenID provides the opposite. When I log into a site using OpenID, I am a tourist, a perpetual guest. I easily slip in, browse around, check things out, and leave. Nothing there to keep me. Nothing to make a mental commitment to the site.</p>

<p>(And if the site first lets me log in with OpenID and <em>then</em> makes me create an account, then it just plainly sucks, and I will never go there again. Only solution is to never accept OpenID in the first place.)</p>

<p>This is a real problem that seems to not be discussed much. I&#8217;m not sure it is solvable with <em>any</em> single sign on.</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-2636681.xml</wfw:commentRss></item><item><title>OpenID and email</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Tue, 04 Nov 2008 17:00:08 +0000</pubDate><link>http://commented.org/blog/2008/11/4/openid-and-email.html</link><guid isPermaLink="false">82836:713060:2514873</guid><description><![CDATA[<p>VeriSign&#8217;s <a href="http://blogs.verisign.com/innovation/2008/11/googles_smart_openid_move.php">Nico Popp discusses Google&#8217;s latest OpenID provider</a>. Nico is convinced it&#8217;s a good move &#8212; God knows I&#8217;ve always claimed <a href="http://commented.org/blog/2007/8/24/openids-systemic-failure.html">URLs make bad user identifiers</a> &#8212;  and be that as it may, but the arguments are flawed.  </p>

<p>Nico claims </p>

<blockquote>
  <p>&#8220;The beauty is that Google did not even have to force a button or any branding on relying party web sites,&#8221;</p>
</blockquote>

<p>which is in itself true, but what he skips is that the relying party has to amend how it processes discovery on given user identifiers. So either way, the RP has to do extra work. Nothing is free.</p>

<p>Nico continues</p>

<blockquote>
  <p>&#8220;The choice of identifier alone will make it easier for consumers to choose Google over FaceBook,&#8221; </p>
</blockquote>

<p>but that only makes sense right now. The Facebook platform already is a de facto email network. It only takes FB a little bit of work to provide external email identifiers like <em>alice@facebook.com</em>, and whatever work has been done for <em>@gmail</em> addresses now works for FB, too, providing there is some sanity to the discovery phase.</p>

<p>And FB can do this without providing any external email services for their users at all.</p>

<p>It will be interesting to see what happens. </p>
<p>Source: Google&#39;s Smart OpenID Move (http://blogs.verisign.com/innovation/2008/11/googles_smart_openid_move.php)</p>]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-2514873.xml</wfw:commentRss></item><item><title>Clickpass: solution or problem?</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Wed, 12 Mar 2008 03:44:52 +0000</pubDate><link>http://commented.org/blog/2008/3/12/clickpass-solution-or-problem.html</link><guid isPermaLink="false">82836:713060:1675770</guid><description><![CDATA[<p><a href="http://clickpass.com">Clickpass</a> want to make OpenID easier for the end-user and that&#8217;s commendable. One click to log in is good if it&#8217;s done right.</p>

<p>Unfortunately, relying parties have to go through a lot of extra work <a href="http://www.clickpass.com/docs/reference-logging-users-in">logging people in</a> and <a href="http://www.clickpass.com/docs/reference-merging-accounts">merging existing user accounts</a>.</p>

<p>OpenID is already <a href="http://www.plaxo.com/api/openid_recipe">quite difficult</a> to enable as it is, and now relying parties have to implement <a href="http://www.clickpass.com/docs/reference-new-accounts">several</a> new API calls.</p>

<p>Neither of these APIs seem to have been openly discussed and it&#8217;s not clear how they were designed. Is there a public security analysis? Why are high-value parameters such as <em>&#8220;I agree to the terms of service&#8221;</em> sent in the clear and unsigned?</p>

<p>Clickpass is a promising idea, but my advice to an RP would be to hold off implementing it until the protocol has had some time in the open. </p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1675770.xml</wfw:commentRss></item><item><title>Battle stations: OpenID providers!</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Sat, 01 Mar 2008 20:54:29 +0000</pubDate><link>http://commented.org/blog/2008/3/1/battle-stations-openid-providers.html</link><guid isPermaLink="false">82836:713060:1629652</guid><description><![CDATA[<p>The <a href="http://www.d4d.se/">Swedish Association of Computer Professionals</a> recently suggested it be the
main OpenID provider for Swedish IT professionals.</p>

<p>As a result, it seems it was <a href="http://www.idg.se/2.1085/1.147774">hacked in a day</a> and thousands of user names and passwords (<a href="http://www.thelocal.se/10170/20080229/">from all walks of life</a>) are now in the wild. Some people can&#8217;t resist a challenge apparently. </p>

<p><a href="http://www.larsolofsson.se/index.php?title=20080301&amp;more=1&amp;c=1&amp;tb=1&amp;pb=1">Lars Olofsson</a> shows some interesting statistics about password choices and lengths, linked from <a href="http://www.flashback.info/showpost.php?p=10193767&amp;postcount=254">Flashback</a>.</p>

<p>What does this mean for an OpenID user?</p>

<p><em>Do your due diligence.</em> </p>

<p>OpenID can provide tremendous value for its users, but all OpenID providers are not equal. Look at how they make you log in. Ask them how they store your data and about internal and external processes. Ask about how they keep your data private and secure. Make sure you know how they handle your usage trails. </p>

<p>And choose providers well.</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1629652.xml</wfw:commentRss></item><item><title>Making money with OpenID</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Fri, 01 Feb 2008 14:39:10 +0000</pubDate><link>http://commented.org/blog/2008/2/1/making-money-with-openid.html</link><guid isPermaLink="false">82836:713060:1526170</guid><description><![CDATA[<p>Johannes Ernst <a href="http://netmesh.info/jernst/Digital_Identity/day-1-of-openid-viability.html">makes a few good points</a> about how Yahoo!&#8217;s jump into OpenID makes OpenID a viable business.</p>

<p>One of the pain points with OpenID is that it&#8217;s quite hard to implement it as a customer. If you&#8217;re a small business with a home-grown web site, it&#8217;s a daunting task, despite <a href="http://www.plaxo.com/api/openid_recipe">excellent write-ups</a> and a number of <a href="http://wiki.openid.net/Libraries">excellent software components</a>.</p>

<p>Mom and Pop needs a simpler way of adding OpenID to their site. An identity proxy service that takes care of all OpenID magic with a simple API that customers hand the received the OpenID identifier to and get the equivalence of a yes/no back from the API?</p>

<p>I think the browser redirects, return addresses and trust roots (realms) could be properly handled as per the protocol. </p>

<p>Hmmm&#8230;.. Anyone interested?  ;)</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1526170.xml</wfw:commentRss></item><item><title>Passwords in the cloud</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Thu, 24 Jan 2008 18:58:17 +0000</pubDate><link>http://commented.org/blog/2008/1/24/passwords-in-the-cloud.html</link><guid isPermaLink="false">82836:713060:1508124</guid><description><![CDATA[<p><span class="thumbnail-image-float-left"><a href="http://commented.org/display/ShowImage?imageUrl=%2Fstorage%2Fpics%2Fpasswords%2520in%2520the%2520cloud.png&amp;imageTitle=713059-1290778-thumbnail.jpg" onclick="window.open(this.href, '_blank', 'width=232,height=195,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no'); return false;"><img src="http://commented.org/storage/thumbnails/713059-1290778-thumbnail.jpg" alt="713059-1290778-thumbnail.jpg" title="713059-1290778-thumbnail.jpg"/></a><br/><span class="thumbnail-caption" style="width: 120px;">Passwords In The Cloud</span></span></p>

<p>Let&#8217;s say you want to store your usernames and passwords somewhere on the internet, but you want to make sure that they cannot be misused. And you think <a href="http://openid.net">OpenID</a> is not right (for whatever reason).</p>

<p><a href="http://code.google.com/p/pitc">Passwords in the Cloud</a> (<em>pitc</em>) is a simple approach to solving the problem. It requires participation by the sites you log into, just like OpenID.</p>

<p><em>pitc</em> has not had any real security analysis, so don&#8217;t start deploying it just yet ;)</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1508124.xml</wfw:commentRss></item><item><title>Yahoo! and OpenID</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Thu, 17 Jan 2008 16:12:43 +0000</pubDate><link>http://commented.org/blog/2008/1/17/yahoo-and-openid.html</link><guid isPermaLink="false">82836:713060:1492775</guid><description><![CDATA[<p>Yahoo! plans to <a href="http://openid.yahoo.com/">start using OpenID</a>. This is cool and may be a turning point.</p>

<p>A few observations what&#8217;s not cool:</p>

<ul>
<li><p>Trying to get preferential treatment by using <a href="http://developer.yahoo.com/openid/loginbuttons.html">Yahoo!-specific OpenID login buttons</a>. This effectively shuts out other OpenID providers.</p></li>
<li><p>Claiming <a href="http://biz.yahoo.com/bw/080117/20080117005332.html?.v=1">&#8220;Yahoo! worked closely with the OpenID foundation and community to finalize [OpenID 2.0] in December 2007&#8221;</a> when Yahoo! was notably absent from OpenID 2.0 specification work.</p></li>
</ul>

<p>In all, though, a giant leap forward and a crucial test whether the protocol is strong enough. It will be an interesting February!</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1492775.xml</wfw:commentRss></item><item><title>Continuous OpenID</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Thu, 03 Jan 2008 04:59:00 +0000</pubDate><link>http://commented.org/blog/2008/1/3/continuous-openid.html</link><guid isPermaLink="false">82836:713060:1461232</guid><description><![CDATA[<p>I like the idea of OpenID, but there are a few annoying and dangerous aspects of OpenID that I don&#8217;t like:</p>

<ol>
<li>The need to identify yourself with a URL.</li>
<li>The redirection from the Relying Party to the OpenId Provider and back.</li>
<li>The need to state identity and actually log in to a site. </li>
</ol>

<p>A <a href="http://commented.org/blog/2007/8/24/openids-systemic-failure.html">previous entry</a> explains why I don&#8217;t like the two first aspects above.</p>

<p>Below I outline a suggestion how to avoid these flaws while still using OpenID protocol messages. I want to accomplish a <em>continuous and automatic identification</em> to websites. There should be no reason for you to state identity and have to log in. A site should be able to automatically detect who you are.</p>

<p>In this suggestion suggestion:</p>

<ul>
<li><p>The User-Agent shares a secret with the OP.</p></li>
<li><p>There are no User-Agent browser redirections.</p></li>
<li><p>No change to the OpenID protocol messages. Existing OpenID libraries should work.</p></li>
</ul>

<h2>The protocol</h2>

<p>The protocol uses OpenID messages and one new identification message sent by the User-Agent to the Relying Party.</p>

<hr />

<h3>1. User-Agent association</h3>

<p>User-Agent negotiates a secret with the OpenID Provider using a standard OpenID Associate request.</p>

<hr />

<h3>2. User-Agent authentication</h3>

<p>The User-Agent then authenticates its user to the OP by sending an OpenID authentication request. </p>

<p>User-Agent calculates an authentication message <code>authn_msg</code>. The format depends on the authentication mechanism used. For username and password, the protocol HMAC-signs the password using the MAC key from step 1. and creates</p>

<pre><code>  authn_msg = HMAC(password) + username
</code></pre>

<p>The request message becomes:</p>

<pre><code>  openid.ns=http://specs.openid.net/auth/2.0
  openid.mode=checkid_immediate
  openid.assoc_handle=[association handle from step 1.]
  openid.realm=[any valid url, not used]
  openid.ns.a=http://example.com/continuous_openid
  openid.a.authn_msg=[see above]
</code></pre>

<p>Since we don&#8217;t add <code>openid.return_to</code> to the request, we don&#8217;t expect a response. The OP makes a note whether 
the given <code>assoc_handle</code> has been used in a successful authentication, and if so for which user.</p>

<hr />

<h3>3. Identification message</h3>

<p>(This is the only non-OpenID message.)</p>

<p>The User-Agent calculates an identification message <code>id_msg</code> and sends it via HTTP header to the url that the user visits.  This message contains a timestamp with a nonce, <code>ts</code>, as defined by OpenID specification.</p>

<p>The protocol HMAC-signs the user&#8217;s identity (username), url and timestamp with the MAC key from step 1. To this signature, the protocol adds the same values in the clear, as well as the OP url:</p>

<pre><code>  id_msg = HMAC(id, url, ts) + id + url + ts + OP
</code></pre>

<hr />

<h3>4. RP OpenID Authentication</h3>

<p>The website (Relying party, RP) receives and parses <code>id_msg</code> and constructs an OpenID authentication message:</p>

<pre><code>  openid.ns=http://specs.openid.net/auth/2.0
  openid.mode=checkid_immediate
  openid.return_to=[where RP wants the response]
  openid.ns.a=http://example.com/continuous_openid
  openid.a.id_msg=[id_msg as received]
</code></pre>

<p>The RP sends this message to the OP referenced in the <code>id_msg</code>.</p>

<p>The response is a normal OpenID assertion, including <code>identity</code> and <code>claimed_identity</code>, with the added fields (part of the response&#8217;s signature):</p>

<pre><code>  openid.ns.a=http://example.com/continuous_openid
  openid.a.id_verified=["yes" or "no"]
</code></pre>

<p>&#8220;Yes&#8221; means <code>id_msg</code> was OK, &#8220;no&#8221; means it wasn&#8217;t. The RP should treat a negative assertion response equal to <code>id_verified</code> containing &#8220;no&#8221;. (The RP should also check signature on the response assertion, as per the OpenID spec unless it uses its own association handle).</p>

<hr />

<h3>5. That&#8217;s it</h3>

<hr />

<p>The RP now knows whether the user is authenticated to the OP in and can immediately tailor its pages to the user. Note that the user never had to enter an OpenID identifier, nor were there any browser redirects.</p>

<h2>Example user experience:</h2>

<p>A. Start web browser.</p>

<p>B. Browser plug-in asks for OP + username + password which the user enters.</p>

<p>C. Browser plug-in performs steps 1 and 2 above.</p>

<p>D. User enters a URL.</p>

<p>E. Browser plug-in checks if it knows whether user wants to automatically identify to the website. If not, it asks if user what to do. </p>

<p>F. If user agrees to identify, plug-in performs step 3 above.</p>

<p>G. Website detects presence of HTTP header and parses it, then decides whether to accept stated OP, and if so, asks OP to
   verify user in step 4 above.</p>

<p>H. OP receives authentication request and processes it. OP checks that timestamp and identity are acceptable and whether the identity is successfully logged in (step 2 above), and if so, OP knows which shared secret to use to verify the HMAC signature in the <code>id_msg</code>. </p>

<p>Then OP returns &#8220;no&#8221; or &#8220;yes&#8221; plus identity if everything checks out. </p>

<p>I. Website returns content tailored for user.</p>

<h3>Analysis</h3>

<p>There are pros and cons with this approach.</p>

<p>Pros:</p>

<ul>
<li>User logs in once, via the User Agent, to her OP.</li>
<li>No more entering a URL as identity. No more entering an identity on every website.</li>
<li>OpenID phishing problems go away since there are no
redirects back to the OP.</li>
</ul>

<p>Cons:</p>

<ul>
<li>Needs a plug-in; doesn&#8217;t work with existing browsers.
[rebuttal: the current OpenID phishing problems seem
to force use of added functionality such as plug-ins or
protocol support into the browser]</li>
</ul>

<p>This is just a rough first draft. Any and all input welcome.</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1461232.xml</wfw:commentRss></item><item><title>OpenID's systemic failure</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Fri, 24 Aug 2007 16:54:19 +0000</pubDate><link>http://commented.org/blog/2007/8/24/openids-systemic-failure.html</link><guid isPermaLink="false">82836:713060:1223136</guid><description><![CDATA[<p>I think OpenID is broken because:</p>

<ol>
<li><p>Naming myself <strong>http://commented.org</strong> or <strong>=hans</strong> is just wrong. I am not a URL. I am a free man. URLs describe resources, not people. URLs are <em>ugly</em>.</p></li>
<li><p>OpenID requires the browser to redirect the user back and forth between sites. This is just an ugly user experience. Ping-pong is best played on a table.</p></li>
<li><p>The attribute exchange functionality is overkill. Relying parties want to use OpenID to authenticate the user and little else.</p></li>
</ol>

<p>So, how do you solve it? You can solve it by a mechanism that</p>

<ol>
<li><p>Allows the user to choose any username the user wants at any site, and never have any clashes with users on the system, including those with the same username!</p></li>
<li><p>Allows the relying party to directly check your credentials with an identity service with no risk of the credentials being reused be man in the middle attacks.</p></li>
<li><p>Only serves to authenticate the user. After all, I will not store my payment info in the cloud, and is it really that difficult to re-enter your nickname or email address when you establish a new relying party account? </p></li>
</ol>

<p>With those simple solutions, you don&#8217;t need URLs to label people, you don&#8217;t need to put the end-user at risk of obvious MITM attacks, and you don&#8217;t need to depend on browser and transport security to bail you out. </p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1223136.xml</wfw:commentRss></item><item><title>New OpenID provider</title><category>openid</category><dc:creator>Hans</dc:creator><pubDate>Thu, 26 Jul 2007 04:29:18 +0000</pubDate><link>http://commented.org/blog/2007/7/26/new-openid-provider.html</link><guid isPermaLink="false">82836:713060:1167277</guid><description><![CDATA[<p>VeriSign&#8217;s new <a href="https://pip.verisignlabs.com/">OpenID provider</a> seems to have gone live. This new Java-implemented service uses the <a href="http://code.google.com/p/joid">JOID library</a> and replaces the old Ruby on Rails PIP. </p>

<p>The <a href="http://blogs.verisign.com/infrablog/2007/06/updating_the_pip.php">VeriSign official blog</a> has more info.</p>
]]></description><wfw:commentRss>http://commented.org/blog/rss-comments-entry-1167277.xml</wfw:commentRss></item></channel></rss>