<div>In the case of Google (and I believe Yahoo), we return a persistent machine generated identifier (in the form of a URL) to identify a particular Gmail account. &nbsp;Even if that person changes their Gmail address, that ID stays unchanged. &nbsp;So our documentation suggests that RPs should use the URL as the persistent identifier, not the E-mail address we return via AX. &nbsp;Gmail does not yet recycle e-mail addresses, but I believe Yahoo does, and I think they also suggest using the machine generated ID/URL as the persistent identifier.</div>
<br><div class="gmail_quote">On Wed, Nov 5, 2008 at 4:05 AM, Kick Willemse <span dir="ltr">&lt;<a href="mailto:K.Willemse@diginotar.nl">K.Willemse@diginotar.nl</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">









<div lang="NL" link="blue" vlink="purple">

<div>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<div>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">With the developments evolving to e-mail adress as the OpenID- userID,
&nbsp;I would like to know if anybody is aware of any regulations around the (re)issuing
of mailboxes bij ISP's or Mail Service Providers.</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">So what is the risk if I cancel my gmail or hotmail account and
this adres is re-issued to somebody else that subsequently can use this same
openID?</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">I wonder if the risk as described is a non-issue or if any
conclusions around this topic are already available. Not only the risk during a
authentication, but also from an audittrail perspective (Who authenticated last
year)</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">Kick</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">-------------------------------------------------------------------------------------</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">Kick Willemse</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">Product Manager</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">e-mail: </span><span style="font-size:11.0pt;color:#1F497D"><a href="http://k.willemse@diginotar.nl" target="_blank"><span lang="EN-US" style="color:blue">k.willemse@diginotar.nl</span></a></span><span lang="EN-US" style="font-size:11.0pt;color:#1F497D"></span></p>


<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">weblog: </span><span style="font-size:11.0pt;color:#1F497D"><a href="http://www.papierloos.nl/" target="_blank"><span lang="EN-US" style="color:blue">http://www.papierloos.nl</span></a></span><span lang="EN-US" style="font-size:11.0pt;color:#1F497D"></span></p>


<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">DigiNotar B.V.</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">Vondellaan 8</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">1942LJ Beverwijk</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">telefoon: 0251-268888</span></p>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

</div>

<p><span style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<div>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">

<p><b><span style="font-size:10.0pt">Van:</span></b><span style="font-size:10.0pt">
<a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a> [mailto:<a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a>] <b>Namens </b>Steven
Livingstone-Perez<br>
<b>Verzonden:</b> woensdag 5 november 2008 11:38<br>
<b>Aan:</b> &#39;Eric Sachs&#39;; &#39;Chris Messina&#39;<br>
<b>CC:</b> <a href="mailto:oauth@googlegroups.com" target="_blank">oauth@googlegroups.com</a>; &#39;OpenID user experience&#39;; &#39;OpenID List&#39;<br>
<b>Onderwerp:</b> Re: [OpenID] Google Removes Relying Party Pre-Registration</span></p>

</div>

</div>

<p>&nbsp;</p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">Random thought – and no expert in this - &nbsp;but if the client
had some code that used a well known time-based algorithm to generate a unique
token/pin and combined it with a selected OpenID (i.e. the token generated +openid
in the next 60 secs will be the same as the token generated at a remote
location + openid) then could that not be used as the basis of oAuth requests?</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">I have seen secure token for years which automates this [1] but
maybe through things such as Google gears (which I have on my pda) it would be
possible to provide some simple signed code that could manage this so any
client browser, application etc just makes a call (which *<b>if</b>* really
desired could itself be password protected on the client device) and then you
don't need to remember any PIN – all the user needs to do is select the OpenID
to use and the "pin" is auto-generated for your device.</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">I haven't thought through all the detail, just wanted to see if
anyone had considered this technique?</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">steven</span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D"><a href="http://livz.org" target="_blank">http://livz.org</a></span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<p><span lang="EN-US"><a href="http://en.wikipedia.org/wiki/Security_token" target="_blank">http://en.wikipedia.org/wiki/Security_token</a></span><span lang="EN-US" style="font-size:11.0pt;color:#1F497D"></span></p>

<p><span lang="EN-US" style="font-size:11.0pt;color:#1F497D">&nbsp;</span></p>

<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">

<p><b><span lang="EN-US" style="font-size:10.0pt">From:</span></b><span lang="EN-US" style="font-size:10.0pt"> <a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a>
[mailto:<a href="mailto:general-bounces@openid.net" target="_blank">general-bounces@openid.net</a>] <b>On Behalf Of </b>Eric Sachs<br>
<b>Sent:</b> 05 November 2008 00:12<br>
<b>To:</b> Chris Messina<br>
<b>Cc:</b> <a href="mailto:oauth@googlegroups.com" target="_blank">oauth@googlegroups.com</a>; OpenID user experience; OpenID List<br>
<b>Subject:</b> Re: [OpenID] Google Removes Relying Party Pre-Registration</span></p>

</div>

<p><span lang="EN-US">&nbsp;</span></p>

<div>

<p><span lang="EN-US">&gt;&gt;&nbsp;I wrote up a quick sketch of
an idea in response to Eric&#39;s description&nbsp;of the problem with the OAuth
flow for desktop/mobile apps:</span></p>

</div>

<div>

<p><span lang="EN-US">&nbsp;</span></p>

</div>

<div>

<p><span lang="EN-US">Thanks Chris for following up on that
issue. &nbsp;I&#39;ll keep on saying it until I am blue in the face, but we have to
get the industry to change the way rich-client apps are built, or federated
login is going to continue to be a very tough sell.</span></p>

</div>

<div>

<p><span lang="EN-US">&nbsp;</span></p>

</div>

<div>

<p><span lang="EN-US">We have considered an approach along the
lines of what you described. &nbsp;In particular, s</span><span><span lang="EN-US">ome
devices want to access a user&#39;s data, but do not have the ability to display a
full web browser.&nbsp; For example, think of devices like an AppleTV, or a
fridge that displays your family photos from Flickr/Picassa.</span></span><span lang="EN-US"></span></p>

</div>

<div>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">One of Google&#39;s challenges is that Google exposes lots of APIs
such as Photos, Health, &amp; Ads. &nbsp;So we want to allow the app to request
access to just a limited set of scopes. &nbsp;And for some of those scopes
(like Health), we even need the user to choose the access level and profile.
&nbsp;<span>Many OAuth SPs (like FriendFeed), do not
need to support that level of complexity, so in those cases the approach you
described seems reasonable.</span></span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">For Google, in the &quot;fridge display private photos&quot;
example, our team had suggested something like the following&nbsp;</span><span lang="EN-US"> </span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">1) Device/app starts the OAuth dance and also requests a PIN from
Google which Google will associate with the OAuth request token</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">2) After the device/app gets the OAuth request token, it tells the
user (or its manual tells the user) to visit a short URL (like
fridgephoto/register).&nbsp; The device then displays the PIN they will need,
and says to come back and click a button on the device when they are told</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">3)&nbsp;The user goes to a web browser on another device, like
their personal computer, and opens that site. &nbsp;The site is a static HTML
page that gives some introductory help text, and a link to Google&#39;s site to do
the authorization.</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">4) When the user clicks the link, they are sent to Google with the
URLs parameters for the scopes that device/app needs, and a Continue URL back
to that site, as well as a URL param indicating the user has a PIN&nbsp;</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">5) They are then sent through the standard Google OAuth approval
process.&nbsp; If the user has not yet logged in, then they will need to do so
(and this might involve a redirection to a SAML/OpenID IDP and/or use of a
strong auth mechanism like a USB token)</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">5) Once the user is logged in, they see a standard Google OAuth
approval page with information about the claimed app, the scopes, and any
advanced controls such as to pick access level or a profile. &nbsp;Assuming the
user clicks okay, they are then asked to enter the PIN. &nbsp;Google confirms
the PIN is a valid outstanding one, and then the user is&nbsp;redirected to the
continueURL (like fridgephoto/authzdone)</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">6) That device/app&#39;s site displays a&nbsp;static HTML file that
tells the user to go back to the device/app and click a button to indicate they
finished the approval process</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">7) The user click&#39;s the continue button on the device/app</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">8) The device/app then finishes the OAuth dance</span><span lang="EN-US"></span></p>

<p><span lang="EN-US" style="font-size:10.0pt;color:black">Note that an &quot;evil&quot; hacker could request a lot of PINs
from Google, and hope that a user mistakenly types a PIN that is associated
with a &quot;hackers&quot; request token, thereby giving access to the user&#39;s
data. &nbsp;As an extra layer of security, we can send the user an E-mail after
an OAuth approval that used a PIN, with the &quot;claimed identity&quot; of the
app,&nbsp;and provide a single link the user can click to deactivate that OAuth
token. &nbsp;If the user does more then one approval for the same claimed app
in a short period of time, then on the OAuth approval page we might even give a
warning that the previous one might have been &quot;hijacked&quot; and give
them an easily way to deactivate any recent OAuth tokens issued to the same
claimed app.</span><span lang="EN-US"></span></p>

</div>

<p style="margin-bottom:12.0pt"><span lang="EN-US">&nbsp;</span></p>

<div>

<p><span lang="EN-US">On Thu, Oct 30, 2008 at 4:32 PM, Chris
Messina &lt;<a href="mailto:chris.messina@gmail.com" target="_blank">chris.messina@gmail.com</a>&gt;
wrote:</span></p>

<p><span lang="EN-US">I wrote up a quick sketch of an idea in response
to Eric&#39;s description<br>
of the problem with the OAuth flow for desktop/mobile apps:<br>
<br>
<a href="http://factoryjoe.com/blog/2008/10/30/lightweight-access-pins-a-modest-proposal-for-enabling-openid-in-desktop-and-mobile-apps/" target="_blank">http://factoryjoe.com/blog/2008/10/30/lightweight-access-pins-a-modest-proposal-for-enabling-openid-in-desktop-and-mobile-apps/</a><br>

<br>
Food for thought. Comments welcome!<br>
<br>
Chris</span></p>

<div>

<p style="margin-bottom:12.0pt"><span lang="EN-US"><br>
On Fri, Oct 31, 2008 at 7:20 AM, David Recordon &lt;<a href="mailto:drecordon@sixapart.com" target="_blank">drecordon@sixapart.com</a>&gt;
wrote:<br>
&gt; From<br>
&gt; <a href="http://google-code-updates.blogspot.com/2008/10/moving-another-step-closer-to-single.html" target="_blank">http://google-code-updates.blogspot.com/2008/10/moving-another-step-closer-to-single.html</a><br>
&gt;<br>
&gt; Moving another step closer to single-sign on<br>
&gt;<br>
&gt; Thursday, October 30, 2008<br>
&gt;<br>
&gt; By Eric Sachs, Google Security Team</span></p>

</div>

<div>

<p><span lang="EN-US">&gt; One other question that a lot of
people asked yesterday is when a large<br>
&gt; provider like Google will become a relying party. There is one big problem<br>
&gt; that stands in the way of doing that, but fortunately it is more of a<br>
&gt; technology problem than a usability issue. That problem is that
rich-client<br>
&gt; apps (desktop apps and mobile apps) are hard-coded to ask a user for their<br>
&gt; username and password. As an example, all Google rich-client apps would<br>
&gt; break if we supported federated login for our consumer users, and in fact<br>
&gt; they do break for the large number of our enterprise E-mail<br>
&gt; outsourcing customers who run their own identity provider, and for which<br>
&gt; Google is a relying party today. This problem with rich-client apps also<br>
&gt; affects other sites like Plaxo who are already relying parties.</span></p>

</div>

<p><span lang="EN-US">&gt;
_______________________________________________<br>
&gt; general mailing list<br>
&gt; <a href="mailto:general@openid.net" target="_blank">general@openid.net</a><br>
&gt; <a href="http://openid.net/mailman/listinfo/general" target="_blank">http://openid.net/mailman/listinfo/general</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
--<br>
Chris Messina<br>
Citizen-Participant &amp;<br>
&nbsp;Open Technology Advocate-at-Large<br>
<a href="http://factoryjoe.com" target="_blank">factoryjoe.com</a> # <a href="http://diso-project.org" target="_blank">diso-project.org</a><br>
<a href="http://citizenagency.com" target="_blank">citizenagency.com</a> # <a href="http://vidoop.com" target="_blank">vidoop.com</a><br>
This email is: &nbsp; [ ] bloggable &nbsp; &nbsp;[X] ask first &nbsp; [ ]
private<br>
_______________________________________________<br>
general mailing list<br>
<a href="mailto:general@openid.net" target="_blank">general@openid.net</a><br>
<a href="http://openid.net/mailman/listinfo/general" target="_blank">http://openid.net/mailman/listinfo/general</a></span></p>

</div>

<p><span lang="EN-US">&nbsp;</span></p>

</div>

</div>


</blockquote></div><br>