<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-34275044</id><updated>2012-01-26T07:36:23.543-05:00</updated><category term='humorous'/><category term='Gnip'/><category term='Strong Authentication'/><category term='Subscription'/><category term='AOL'/><category term='Photo'/><category term='DST'/><category term='Credit Card'/><category term='PayPal'/><category term='Protocols'/><category term='eBay'/><category term='Correlation'/><category term='Trust'/><category term='iiw2007'/><category term='Open'/><category term='Discovery'/><category term='Software Bugs'/><category term='Identity'/><category term='Community'/><category term='Tagging'/><category term='Signing'/><category term='Travel'/><category term='Cardspace'/><category term='Fraud'/><category term='Privacy'/><category term='Mac OS X'/><category term='TEG'/><category term='Whitelist'/><category term='People Service'/><category term='Federation'/><category term='Classification'/><category term='Theology'/><category term='North Carolina'/><category term='Independence Day'/><category term='Convergence'/><category term='iiw2009b'/><category term='OpenAuth'/><category term='Token'/><category term='Christmas'/><category term='Offline Identity'/><category term='BurtonCatalyst2007'/><category term='Identity Relationship'/><category term='UX'/><category term='Aggregation'/><category term='Social Networks'/><category term='Symmetry'/><category term='Information Card'/><category term='SSO'/><category term='Access Control'/><category term='SAML'/><category term='Elections'/><category term='Protable Contacts'/><category term='OpenID'/><category term='Poll'/><category term='OpenID Foundation'/><category term='ID-WSF'/><category term='Obj-c 1.x'/><category term='DataPortability'/><category term='User Experience'/><category term='Concordia'/><category term='Dynamic'/><category term='Dogwood'/><category term='Easter'/><category term='SREG'/><category term='Liberty Alliance'/><category term='Activity'/><category term='Interoperability'/><category term='Phishing'/><category term='Trust Framework Provider'/><category term='Architecture'/><category term='OAuth'/><category term='Instant Message'/><category term='Sharing'/><category term='iiw2008b'/><category term='Friends'/><category term='OpenSocial'/><category term='Thanksgiving'/><category term='email2url'/><category term='Authorization'/><category term='webfinger'/><category term='conference'/><category term='Relationship'/><category term='&quot;OpenID 2.0&quot;'/><category term='Service Invocation'/><category term='Chi.mp'/><category term='SFO'/><category term='DIDW 2007'/><category term='Framework'/><category term='Open Government'/><category term='&quot;Open Stack&quot;'/><category term='Identity Meta-System'/><category term='Push'/><category term='Levels of Assurance'/><category term='iiw'/><category term='Facebook'/><category term='Service Provider'/><category term='Parental Controls'/><category term='Portable Contacts'/><category term='Mobile'/><category term='Technical'/><category term='XRDS'/><category term='metasystem'/><category term='ProtectServ'/><category term='AX'/><category term='Web Service'/><category term='IdP Discovery'/><category term='United'/><category term='OpenAIM'/><category term='Double Standard'/><category term='Registration'/><category term='&quot;OpenID Provider&quot;'/><category term='Political Correctness'/><category term='MapQuest'/><category term='Sunrise'/><category term='Relying Party'/><category term='Authentication'/><category term='Foundation'/><category term='OSIS'/><category term='Reputation'/><category term='XRI'/><category term='XRDS-Simple'/><category term='AIM'/><category term='PAPE'/><title type='text'>Identity in Practice</title><subtitle type='html'>"Nothing to see here... move along..."</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>97</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34275044.post-5718448430178927356</id><published>2012-01-20T23:39:00.000-05:00</published><updated>2012-01-20T23:39:28.683-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID Foundation'/><category scheme='http://www.blogger.com/atom/ns#' term='Elections'/><title type='text'>Running for an OpenID Foundation Community Board Seat</title><content type='html'>I'm excited to announce that I am running for one of the available OpenID Foundation Community Board seats. While I've been a long time advocate of OpenID and open identity solutions in general, this is my first time seeking to serve the identity community is such a role. My self-nomination is now up in the &lt;a href="https://openid.net/foundation/members/elections"&gt;OpenID Foundation Membership area&lt;/a&gt;. If you are so inclined, I'd greatly appreciate your "seconds" to make me an official nominee and of course your votes in the upcoming elections. :-) Here is my self-nomination statement:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;I am an advocate of open identity solutions for the Internet and I believe that OpenID Connect has the opportunity to be a key identity protocol for the Web.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;I have a long history with OpenID, starting with AOL (my employer) being one of the first major identity providers to support OpenID 1.0. I contributed to the OpenID 2.0 specification along with a number of the OpenID 2.0 extensions. I’m now an active contributor to the OpenID Connect specifications. In addition, I have experience participating in a number of industry standards organizations (OIDF, IETF, OASIS, Kantara Initiative) working on identity related protocols and specifications.&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="tr_bq"&gt;As a member of the OpenID Foundation Board, I will work to ensure both technical excellence in the specifications and broad adoption of the OpenID protocols.&amp;nbsp;&lt;/blockquote&gt;&lt;br /&gt;Thanks,&lt;br /&gt;George&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5718448430178927356?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5718448430178927356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5718448430178927356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5718448430178927356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5718448430178927356'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2012/01/running-for-openid-foundation-community.html' title='Running for an OpenID Foundation Community Board Seat'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3110899058613679921</id><published>2010-12-17T12:00:00.000-05:00</published><updated>2010-12-17T12:01:11.846-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Registration'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Facebook Registration Tool</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;The new Facebook registration service has created quite the "buzz". I have to commend Facebook on doing a great job of making it really simple for sites to manage registrations (just as they did with identity federation). I like the user experience; both for the user and for the integrating site.&lt;br/&gt;&lt;br/&gt;However, for relying parties supporting 3rd party identity providers I do have some concerns regarding leveraging the Facebook registration UI for all users.&lt;br/&gt;&lt;ol&gt;&lt;li&gt;What happens if the user chooses to clear the form and enters new data? If the site requests password data as part of registration for these users using the "&lt;pre&gt;&amp;lt;code&amp;gt;{"name":"password",   "view":"not_prefilled"}&amp;lt;/code&amp;gt;&lt;/pre&gt;" option, when the user comes back to the site, where do they enter their password? How does the site instruct the user that when they come back to the site, they should use the site specific login form, not the Facebook login form?&lt;br/&gt;&lt;/li&gt;&lt;li&gt;For users who choose not to register for Facebook, but do want to access the site, where are their login credentials stored? If the site doesn't request password as part of the registration process, is Facebook asking for authentication credentials and storing them (along with which sites the user has logged into)? From working through the documentation, I believe Facebook handles all authentication (even if not storing the registration data) and provides sites with a UID (unique identifier). Effectively, Facebook is a federated identity provider for all users.&lt;/li&gt;&lt;li&gt;Supporting other federated identity providers becomes confusing. The relying party will have to support two registration forms; one for Facebook users and one for other identity providers. For example, I don't see a way for the relying party to use the Facebook registration UI for a user logging in with their Twitter credentials.&lt;br/&gt;&lt;/li&gt;&lt;/ol&gt;In the end, for sites that only support Facebook as their external identity provider, this is a great tool. For sites that support identity providers other than Facebook, the benefit is only recognized for Facebook account holders.&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='technorati-tags'&gt;&lt;a rel='tag' href='http://technorati.com/tag/Facebook'&gt;Facebook&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Registration'&gt;Registration&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Authentication'&gt;Authentication&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3110899058613679921?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3110899058613679921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3110899058613679921' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3110899058613679921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3110899058613679921'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/12/facebook-registration-tool.html' title='Facebook Registration Tool'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3956248788383959233</id><published>2010-09-23T21:47:00.000-04:00</published><updated>2010-09-23T21:47:38.580-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='Activity'/><category scheme='http://www.blogger.com/atom/ns#' term='Social Networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><title type='text'>Privacy across Social Network aggregation</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;Social Network aggregation is a great personal service that allows me to see updates from all my social networks in one place. There are a number of services that provide this functionality: &lt;a href="http://chi.mp/"&gt;chi.mp&lt;/a&gt; and &lt;a href="http://lifestream.aol.com/"&gt;AOL Lifestream&lt;/a&gt; to name two. As long as I'm the only one viewing these aggregations, there are no privacy concerns.&lt;br /&gt;&lt;br /&gt;However, the problem arises when content is shared (cross-posted) between social networks and then re-aggregated by the social aggregation service. Take the following scenario as one possible use case.&lt;br /&gt;&lt;br /&gt;Alice participates in 3 social networks, &lt;i&gt;statii&lt;/i&gt; (a real time micro blogging site), &lt;i&gt;snaps&lt;/i&gt; (a photo sharing site), and &lt;i&gt;frendz&lt;/i&gt; (a social network of my personal friends). In addition, Alice uses a social network aggregation site called &lt;i&gt;socialview&lt;/i&gt; to give her a global view of all her social network activity. All of these social networks allow Alice to establish connections with her friends within those networks. Each of the social networks has it's own privacy mechanisms that allows Alice to share information publicly, or just with a certain set of friends. Even &lt;i&gt;socialview&lt;/i&gt; allows Alice to establish relationships with other &lt;i&gt;socialview&lt;/i&gt; users and share their aggregated social network activity streams. In addition, &lt;i&gt;socialview&lt;/i&gt; allows Alice to cross-post status updates to both &lt;i&gt;statii&lt;/i&gt; and &lt;i&gt;frendz&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;In this example, all of Alice's micro blog updates to &lt;i&gt;statii&lt;/i&gt; are public. In addition, most of the photos she uploads to &lt;i&gt;snaps&lt;/i&gt; are also public. On &lt;i&gt;frendz&lt;/i&gt;, Alice is a little more careful and only shares information with friends. She does allow friends-of-friends to view her updates and any comments her friends leave.&lt;br /&gt;&lt;br /&gt;Now, let's say that Alice uses &lt;i&gt;socialview&lt;/i&gt; to post a status update to both &lt;i&gt;statii&lt;/i&gt; and &lt;i&gt;frendz&lt;/i&gt;. Let's also assume that Alice has decided that all her updates originating from &lt;i&gt;socialview&lt;/i&gt; should be public. When Alice's status update appears in &lt;i&gt;frendz&lt;/i&gt;, her friend Bob thinks it's relevant and leaves a comment in &lt;i&gt;frendz&lt;/i&gt; on her status. Then &lt;i&gt;Socialview&lt;/i&gt;, during it's normal aggregation cycle, sees the new comment from Bob and adds it to Alice's aggregated view.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lh6.ggpht.com/__OXBEeawNCY/TJvyu72fouI/AAAAAAAAAlM/FOjjMgVbkRQ/social%20privacy.jpg"&gt;&lt;img src="http://lh6.ggpht.com/__OXBEeawNCY/TJvyu72fouI/AAAAAAAAAlM/FOjjMgVbkRQ/s500/social%20privacy.jpg"/&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is where it finally gets interesting. Should Bob's comment be made public (given that Alice's privacy settings at &lt;i&gt;socialview&lt;/i&gt; state that all her posts are public, and Bob is commenting on a "public" post?) or should his comment be visible only to Alice (because Bob didn't know he was commenting on a public post).&lt;br /&gt;&lt;br /&gt;What I think is missing is a "visibility" scope attribute that needs to be attached to the activity as it navigates across social networks. In the above contrived example, this would allow &lt;i&gt;frendz&lt;/i&gt; to make it clear to Bob that Alice's status is really public. It would also allow &lt;i&gt;socialview&lt;/i&gt; to honor Bob's privacy settings that he only shares comments with friends when aggregating his comment back into Alice's aggregated view.&lt;br /&gt;&lt;br /&gt;&lt;div class="technorati-tags"&gt;&lt;a href="http://technorati.com/tag/Activity%20Streams" rel="tag"&gt;Activity Streams&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Privacy" rel="tag"&gt;Privacy&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Social%20Networks" rel="tag"&gt;Social Networks&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Aggregation" rel="tag"&gt;Aggregation&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3956248788383959233?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3956248788383959233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3956248788383959233' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3956248788383959233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3956248788383959233'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/09/privacy-across-social-network.html' title='Privacy across Social Network aggregation'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/__OXBEeawNCY/TJvyu72fouI/AAAAAAAAAlM/FOjjMgVbkRQ/s72-c/social%20privacy.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8895383747901988970</id><published>2010-09-16T14:14:00.001-04:00</published><updated>2010-09-16T14:14:09.859-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Signing'/><category scheme='http://www.blogger.com/atom/ns#' term='iiw'/><title type='text'>OAuth and Signatures</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;First, if you have not yet read &lt;a href='http://hueniverse.com/'&gt;Eran's&lt;/a&gt; most recent post on the subject, &lt;a href='http://hueniverse.com/2010/09/oauth-2-0-without-signatures-is-bad-for-the-web/' target='_blank'&gt;OAuth 2.0 (without Signatures) is Bad for the Web&lt;/a&gt;, click the link and go read it now!&lt;br/&gt;&lt;br/&gt;With that background, I just want to add a couple thoughts. There were two OAuth sessions at the recent &lt;a href='http://iiw.idcommons.net/Iiw-east-1'&gt;IIW East&lt;/a&gt; conference in DC. In those sessions we discussed two places where signature are "needed" to enhance the existing OAuth 2.0 draft protocol: signing messages and signing tokens.&lt;br/&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Signing tokens&lt;/b&gt; is important for interoperability especially looking forward to a time when tokens issued by multiple Authorization Servers are accepted at a given host.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Signing messages&lt;/b&gt; is important because it provides a mechanism to ensure that the entity making the API call (and presenting an access token) is really the entity that is allowed to make the API call.&lt;/li&gt;&lt;/ul&gt;With some careful and thoughtful work, I think it should be possible to define a single signing mechanism that can be used for both use cases. If you haven't yet read Nat Sakimura's &lt;a href='http://www.ietf.org/mail-archive/web/oauth/current/msg04250.html'&gt;signature draft&lt;/a&gt;, please read it and provide feedback to the list.&lt;br/&gt;&lt;br/&gt;+10 to Eran's blog that signatures are a critical component of making OAuth useful now and in the future!&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='technorati-tags'&gt;&lt;a rel='tag' href='http://technorati.com/tag/OAuth'&gt;OAuth&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/IIW'&gt;IIW&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Signing'&gt;Signing&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8895383747901988970?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8895383747901988970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8895383747901988970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8895383747901988970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8895383747901988970'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/09/oauth-and-signatures.html' title='OAuth and Signatures'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8407986798297323759</id><published>2010-08-23T09:30:00.001-04:00</published><updated>2010-08-23T09:30:31.726-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Congrats Yahoo! OpenID gets another RP</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Just a quick shout-out to Yahoo! for releasing in beta OpenID relying party support for Yahoo! Stores. Now new store customers can sign-in and purchase products using an identity they already have. Check out this blog &lt;a href='http://www.ystoreblog.com/blog/2010/08/introducing-customer-registration/'&gt;post&lt;/a&gt; for more details.&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='technorati-tags'&gt;&lt;a rel='tag' href='http://technorati.com/tag/OpenID'&gt;OpenID&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/AOL'&gt;AOL&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Yahoo!'&gt;Yahoo!&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Relying%20Party'&gt;Relying Party&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8407986798297323759?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8407986798297323759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8407986798297323759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8407986798297323759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8407986798297323759'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/08/congrats-yahoo-openid-gets-another-rp.html' title='Congrats Yahoo! OpenID gets another RP'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-7406857117829365346</id><published>2010-08-06T13:59:00.001-04:00</published><updated>2010-08-06T13:59:56.442-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><category scheme='http://www.blogger.com/atom/ns#' term='webfinger'/><title type='text'>Webfinger enabled for @aol.com</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Being able to discover meta-data about an identity (via the identity's identifier) is an important piece of the Federated Social Web. Evan Prodromou recently &lt;a href='http://status.net/2010/07/14/features-of-a-federated-social-web'&gt;wrote&lt;/a&gt;...&lt;br/&gt;&lt;blockquote&gt;&lt;span style='font-style: normal;'&gt;&lt;span style='font-weight: normal;'&gt;An important part of identity is 	&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span style='font-weight: normal;'&gt;addressability&lt;/span&gt;&lt;/i&gt;&lt;span style='font-style: normal;'&gt;&lt;span style='font-weight: normal;'&gt; 	– having a machine readable address that computers and people can 	use to find you, and only you.&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/blockquote&gt;As a way to enable "addressability" for AOL users, &lt;a href='http://code.google.com/p/webfinger/'&gt;Webfinger&lt;/a&gt; discovery is now available for all email addresses in the aol.com domain. Discoverable information includes the identity's &lt;a href='http://openid.net'&gt;OpenID&lt;/a&gt; provider and profile URL. &lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='technorati-tags'&gt;&lt;a rel='tag' href='http://technorati.com/tag/webfinger'&gt;webfinger&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/OpenID'&gt;OpenID&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/AOL'&gt;AOL&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-7406857117829365346?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/7406857117829365346/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=7406857117829365346' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7406857117829365346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7406857117829365346'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/08/webfinger-enabled-for-aolcom.html' title='Webfinger enabled for @aol.com'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1855592145335139845</id><published>2010-05-19T11:15:00.001-04:00</published><updated>2010-05-19T11:15:05.639-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Token'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='Access Control'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Identity as an Attribute</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;A while back I posted a couple of entries on the concept of an identity token. The idea being that a client/requester/relying party could request an identity token from the Identity Provider (IdP) when authenticating the user and then use it when accessing protected resources to represent who is making the request. This becomes very important in person-to-person sharing use cases. &lt;br/&gt;&lt;br/&gt;One such use case that recently appeared on the &lt;a href='http://openid.net'&gt;OpenID&lt;/a&gt; specs listserv is the need to access protected &amp;lt;Link&amp;gt; elements in a user's &lt;a href='http://www.oasis-open.org/committees/download.php/37692/xrd-1.0-wd16.html'&gt;XRD&lt;/a&gt;/&lt;a href='http://hueniverse.com/2010/05/jrd-the-other-resource-descriptor/'&gt;JRD&lt;/a&gt;. For example, I want to allow family members to be able to discover my family photo albums but keep those links restricted from public access. The basic need is that the requesting client/service needs to "prove" to my XRD provider that they are a "family member". A very easy way to do this is for the requesting client/service to obtain an "identity claim" from the family member's identity provider and pass that along to the XRD provider. This of course would most like be in the form of some structured OAuth token.&lt;br/&gt;&lt;br/&gt;Thinking about it this way, the user's identity is really just a 3rd party asserted attribute. 3rd party because the client is the 1st party in this scenario and will be the entity presenting the attribute to other services.&lt;br/&gt;&lt;br/&gt;This concept of 3rd party asserted attributes is not new. There have been many discussions and posts about how to obtain an "over 18" attribute from the DMV and store it in the IdP. What makes representing the user's identity different in this case is that often, the user's identity is the key that gets them access to their resources. Thus, this identity attribute has to be recognized as just a verified identifier (i.e. like relying parties want a verified email address) and not some sort of authorization token.&lt;br/&gt;&lt;br/&gt;My one concern has to do with whether 3rd party asserted attributes should just be bearer tokens? or whether they need some holder-of-key mechanism to ensure that only the client that is issued the 3rd party asserted attribute can present it in future requests.&lt;br/&gt;&lt;br/&gt;Previous posts:&lt;br/&gt;&lt;blockquote&gt;&lt;a href='http://practicalid.blogspot.com/2008/09/protecting-discovery-information.html'&gt;Protecting "discovery" information?&lt;/a&gt;&lt;br/&gt;&lt;a href='http://practicalid.blogspot.com/2008/09/open-identity-token.html'&gt;Open Identity Token&lt;/a&gt;&lt;br/&gt;&lt;a href='http://whyidentity.blogspot.com/2008/09/open-identity-token-and-personal.html'&gt;Open Identity Token and Personal Discovery Service&lt;/a&gt; (Praveen Alavilli)&lt;br/&gt;&lt;a href='http://practicalid.blogspot.com/2008/09/continuing-discussion.html'&gt;Continuing the discussion...&lt;/a&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class='technorati-tags'&gt;&lt;a rel='tag' href='http://technorati.com/tag/Identity'&gt;Identity&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Token'&gt;Token&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Sharing'&gt;Sharing&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/Attribute'&gt;Attribute&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/OAuth'&gt;OAuth&lt;/a&gt;, &lt;a rel='tag' href='http://technorati.com/tag/XRD'&gt;XRD&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1855592145335139845?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1855592145335139845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1855592145335139845' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1855592145335139845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1855592145335139845'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/05/identity-as-attribute.html' title='Identity as an Attribute'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-283070343429866862</id><published>2010-04-09T08:55:00.001-04:00</published><updated>2010-04-09T08:55:01.717-04:00</updated><title type='text'>OpenID Summit Day 2</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Day 2 of the &lt;a href='http://openid.net'&gt;OpenID&lt;/a&gt; Summit was an eclectic mix of updates on current efforts, new proposals, and Issues. The day's agenda and related presentations can be found on the &lt;a href='https://wiki.openid.net/2010-OpenID-Technology-Summit-West'&gt;OpenID Wiki&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;I found the Browser-Assisted Login presentation by Dan Mills (Mozilla Foundation) especially interesting. I believe that some level of identity agent (whether that be the browser or some other process running on the user's device) to be the best way to solve the current usability problems that users face. Their current approach leverages &lt;a href='http://tools.ietf.org/html/draft-hammer-hostmeta-05'&gt;host-meta&lt;/a&gt; which defines a link to a JSON based site meta-data document (JSON instead of XML just because that's much easier for the browser to parse). Currently they don't support unsolicited assertions in their OpenID implementation. This is great work, and I believe that with a mechanism to sign the site specific meta-data document and the ability to support unsolicited assertions (protects against phising), this will be a great solution for users.&lt;br/&gt;&lt;br/&gt;Mike Jones (Microsoft) also &lt;a href='https://wiki.openid.net/f/Microsoft%20-%20Replacing_the_NASCAR_experience_with_the_identities_you_actually_have.pdf'&gt;presented&lt;/a&gt; on identity agents and Microsoft's work in integrating OpenID and Cardspace. Mike outlined 3 key requirements for allowing identity agents to integrate well with web sites.&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Web sites need to be able to publish it's requirements to the identity agent&lt;/li&gt;&lt;li&gt;Web sites need to be able to detect the presence of the identity agent&lt;/li&gt;&lt;li&gt;Web sites need to be able to invoke the identity agent&lt;/li&gt;&lt;/ol&gt;Initially I didn't think that requirements 2 and 3 were necessary but I can see some use cases where this might be required. I believe the preferred design should be totally passive markup by the web site with the identity agent invoking the user's desired/expected behaviors.&lt;br/&gt;&lt;br/&gt;Brian Ellen (JanRain) [&lt;a href='https://wiki.openid.net/f/Janrain%20-%20RPX-OpenID-Tech-Summit-2010.pdf'&gt;Challenges faced with RPX&lt;/a&gt;], Allen Tom (Yahoo!) [&lt;a href='https://wiki.openid.net/f/Yahoo%20-%20what_yahoo_rp_wants.pdf'&gt;What an RP wants from an OP&lt;/a&gt;], and Chuck Mortimore (Salesforce) [&lt;a href='https://wiki.openid.net/f/Salesforce+-+OpenID.pdf'&gt;Multi-tenancy at Salesforce.com&lt;/a&gt;] all talked about issues relating to being a web site that accepts OpenIDs. These talks expounded on the &lt;a href='http://practicalid.blogspot.com/2010/04/openid-issues-list.html'&gt;issues list&lt;/a&gt; from Day 1 and provided additional clarification.&lt;br/&gt;&lt;br/&gt;John Panzer (Google) [&lt;a href='https://wiki.openid.net/f/Google+-+Webfinger_and_friends.pdf'&gt;Webfinger&lt;/a&gt;], Breno de Medeiros (Google) [Artifact binding], and Nat S (NRI) [Contract Exchange] gave explanation and status of their current work in these areas. Key take aways for me were ....&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Webfinger can be used for generic discovery of any identifier&lt;/li&gt;&lt;li&gt;Artifact binding will allow OpenID to support any token type not just the current OpenID assertions. Artifact binding is also key for OpenID to support LoA2 based web sites.&lt;/li&gt;&lt;li&gt;Contract Exchange provides mechanism to get contracts digitally signed by both parties.&lt;/li&gt;&lt;/ul&gt;Pamela Dingle (Ping Identity) spoke on the economic deployment of OpenID in the enterprise and it's associated services. In these environments its critical to be able to mix protocols and from a user's perspective seamlessly navigate between OpenID and SAML (for example).&lt;br/&gt;&lt;br/&gt;Mary Rundle (Microsoft) spoke on the necessity of OpenID to engage the public policy makers because public policy can have a significant effect on technology. She encouraged the OpenID Foundation to establish a process for engaging in the public policy discussion.&lt;br/&gt;&lt;br/&gt;Joseph Smarr (Google) gave an &lt;a href='https://wiki.openid.net/f/Google+-+Smarr-EasyHybrid.pdf'&gt;interesting proposal&lt;/a&gt; for how to make OpenID and OAuth easier for developers. This sparked great discussion and debate including ad hoc sessions. The goal of this proposal is to make it as easy as possible for developers to integrate OpenID/OAuth into their web sites. &lt;br/&gt;&lt;br/&gt;Sarah Faulkner (Microsoft) lead a discussion on whether email address should be used as an identifier for the user. One clarification from the discussion is that email addresses are good identifiers for what the user knows (i.e. what the user can type into a web site). However, they are bad database identifiers. So OpenID should support using an email address as a way to bootstrap into a more permanent/consistent identifier for the user (this is pretty much what webfinger provides).&lt;br/&gt;&lt;br/&gt;I also lead a quick &lt;a href='http://wiki.openid.net/f/OpenID%20Logout.pdf'&gt;discussion&lt;/a&gt; around the issues with OpenID and user logout. We didn't reach any conclusions. I see three possible "solutions" to this issue, listed in my order of preference:)&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Train the user to log out of their OS session. If the user has checked the "Remember me" or "Keep me signed in" option then logout is useless anyway.&lt;/li&gt;&lt;li&gt;Instrument the browser to keep track of where the user goes and the browser can log the user out (either by clearing cookies or calling an API at the web site). This makes it easy for the user to choose when they want to just log out of a site (click the web site's logout link) vs log out of all sites (click a button on the browser).&lt;/li&gt;&lt;li&gt;Enhance the OpenID protocol to support a logout mechanism with the option for the user to either just log out of a single site or log out of all web sites.&lt;/li&gt;&lt;/ol&gt;The result of all the presentations and discussion is the formation of 5 new OpenID Foundation working groups. The following is taken directly from the OpenID Wiki &lt;a href='https://wiki.openid.net/2010-OpenID-Technology-Summit-West'&gt;page&lt;/a&gt;.&lt;br/&gt;&lt;blockquote&gt;&lt;ul&gt;&lt;li&gt; Discovery&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Chair: Allen Tom / Mike Jones&lt;/li&gt;&lt;li&gt;Scope: URL, acct:, active client (discovery about OP and RP)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt; Attribute Schema&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Chair: Joseph Smarr&lt;/li&gt;&lt;li&gt;Scope: How to ask for and get rich, consistent common extensible  data attributes (attribute discovery)&lt;/li&gt;&lt;/ul&gt;&lt;li&gt; UX Guidelines&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Chair: Chris Messina&lt;/li&gt;&lt;li&gt;Scope: Guidelines for how OPs and RPs provide a consistent user  experience&lt;/li&gt;&lt;/ul&gt;&lt;li&gt; Policy &amp;amp; Certification&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Chair: Eric Sachs&lt;/li&gt;&lt;li&gt;Scope: Define scope&lt;/li&gt;&lt;/ul&gt;&lt;li&gt; Core Protocol&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Chair: Dick Hardt&lt;/li&gt;&lt;li&gt;Scope: active client, message verification, AX/CX, OAuth,  non-browser&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/blockquote&gt;&lt;br/&gt;Most of the presentations from the OpenID Summit can be found &lt;a href='https://wiki.openid.net/Presentations'&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-283070343429866862?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/283070343429866862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=283070343429866862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/283070343429866862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/283070343429866862'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/04/openid-summit-day-2.html' title='OpenID Summit Day 2'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8938570406887205251</id><published>2010-04-06T10:18:00.001-04:00</published><updated>2010-04-06T10:18:18.021-04:00</updated><title type='text'>OpenID Issues List</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Yesterday at the OpenID Summit a number of companies presented on the issues they have experienced with evaluating and/or deploying OpenID. Here is my summarized list in no particular order.&lt;br/&gt;&lt;ul&gt;&lt;li&gt;Value Proposition is not always clear&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Authentication isn't enough, need identity attributes (AuthN + AuthZ)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;The more marketable attributes the better&lt;/li&gt;&lt;li&gt;Need a standard "profile" object with "trusted/verified" attributes&lt;/li&gt;&lt;li&gt;Data sharing when the user is not present&lt;/li&gt;&lt;li&gt;No clear way to push back activity into the user's activity stream&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Usability&lt;/li&gt;&lt;ul&gt;&lt;li&gt;User's don't know their OpenID, use email addresses instead&lt;/li&gt;&lt;li&gt;Depending on the site requirements, the user may still have a registration to go through (e.g. site must collect age/gender/zip)&lt;/li&gt;&lt;li&gt;First time experience is different at each site&lt;/li&gt;&lt;li&gt;Customer care is difficult because the user likely doesn't know their OpenID (OpenID 2.0 IDs are often machine generated)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;User confusion over the logout experience&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Local logout just from the site&lt;/li&gt;&lt;li&gt;Global logout from all sites&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;User confusion over the login experience &lt;br/&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Every pop-up UI is different&lt;/li&gt;&lt;li&gt;Should the user "link" their OpenID to their existing account at the RP?&lt;/li&gt;&lt;li&gt;Should the user create a new account at the RP based on their OpenID?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;OpenID and OAuth both have "login events" but they mean different things&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Better non-browser support&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Devices (e.g. netflix, xbox, zune, etc)&lt;/li&gt;&lt;li&gt;Mobile devices (lose 70% of population in Japan if OpenID doesn't support mobile)&lt;/li&gt;&lt;li&gt;Rich client applications&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Trust / Certification&lt;/li&gt;&lt;ul&gt;&lt;li&gt;How does the RP know it can trust the OP to security authenticate the user?&lt;/li&gt;&lt;li&gt;How does the OP know it can trust the RP with the identity attributes shared?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Security and Levels of Assurance&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Need an independent security review by an expert&lt;/li&gt;&lt;li&gt;Cannot meet higher levels of assurance than LoA1 without protocol changes&lt;/li&gt;&lt;li&gt;Need an attribute profile to meet LoA2 requirements&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;E-Commerce&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Who is liable/responsible if the user can't log in to their paid service because their OP is down?&lt;/li&gt;&lt;li&gt;How does OpenID make the check-out process better? more streamlined?&lt;/li&gt;&lt;li&gt;More e-commerce related attributes (e.g. billing/shipping address)&lt;/li&gt;&lt;li&gt;Portable reputation&lt;/li&gt;&lt;li&gt;User's want privacy to control what attributes/info is shared with the merchants&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Interoperability&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Need better / automated testing tools for core libraries and services&lt;/li&gt;&lt;li&gt;OPs have to tweak their implementation for specific RPs&lt;/li&gt;&lt;li&gt;RPs have to tweak their implementation for specific OPs&lt;/li&gt;&lt;li&gt;URL length can cause problems for some implementations&lt;/li&gt;&lt;li&gt;No way to move a 1.1 HTTP OpenID to a secure HTTPS one&lt;/li&gt;&lt;li&gt;Inconsistent implementations of Attribute Exchange&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Ease of Adoption&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not easy to set up based on existing libraries&lt;/li&gt;&lt;li&gt;No simple JS library that enables OpenID without server development&lt;/li&gt;&lt;li&gt;OpenID + OAuth hybrid has too many secrets&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Privacy&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Must protect the user's rights&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Needs to be under the user's control&lt;/li&gt;&lt;li&gt;Activities need to be un-correlatable (if that's what the user wishes)&lt;/li&gt;&lt;li&gt;Can't share email if maintaining the no correlation privacy constraint (Contact service?)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;User must have access to their settings and activities at each site&lt;br/&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br/&gt;I'm sure I've missed some so please feel free to add to the list.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8938570406887205251?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8938570406887205251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8938570406887205251' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8938570406887205251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8938570406887205251'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/04/openid-issues-list.html' title='OpenID Issues List'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2455295833209164819</id><published>2010-03-19T13:07:00.001-04:00</published><updated>2010-03-19T13:07:34.648-04:00</updated><title type='text'>Email Verification and Identity Federation</title><content type='html'>&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;Most sites today, when registering a new user, invoke some form of email verification. They ask the user for their email address, send the user an email, and ask the user to click a link in the received email. This ensures the web site has a "valid" email address for the user.  While not ideal, this works today as the user is "registering" directly with the web site.&lt;br/&gt;&lt;br/&gt;Now enter identity federation and the situation changes. If I can log into the web site using an identity I already have, what does this mean for the email verification process? Does the web site need to still send me through that out-of-band email verification process? Or can something better be done to improve the user experience?&lt;br/&gt;&lt;br/&gt;The answer to that question is yes, but it takes the web site changing their perspective on email verification. Instead of verifying the email address, the web site needs to verify the user (via identity federation) and use the identity protocol's attribute mechanisms to retrieve a verified email address. The difference is subtle but important.&lt;br/&gt;&lt;br/&gt;Let use the following scenario as an example. Using &lt;a href='http://code.google.com/p/webfinger/'&gt;webfinger&lt;/a&gt; as a way to bootstrap from an email address to an identity provider...&lt;br/&gt;&lt;ol&gt;&lt;li&gt;Alice goes to a new web site (http://relyingparty.example.com)&lt;/li&gt;&lt;li&gt;Alice enters her email address (alice@example.net)&lt;/li&gt;&lt;li&gt;The web site (relyingparty.example.com) uses webfinger to discover Alice's &lt;a href='http://openid.net'&gt;OpenID&lt;/a&gt; Provider&lt;/li&gt;&lt;li&gt;The web site starts the OpenID authentication flow with Alice's OpenID Provider requesting an email address as a required element via &lt;a href='http://openid.net/specs/openid-attribute-exchange-1_0.html'&gt;Attribute Exchange&lt;/a&gt; (AX)&lt;br/&gt;&lt;/li&gt;&lt;li&gt;Alice authenticates to her OpenID Provider and consents to sending her email address (alice.smith@example.com) to the web site. Note that Alice's OpenID Provider always returns a verified email address via AX.&lt;br/&gt;&lt;/li&gt;&lt;li&gt;The web site receives the successful authentication response and retrieves Alice's email address&lt;/li&gt;&lt;/ol&gt;Note that the verified email address returned from the identity provider is different from the one Alice entered at the site. This is the subtle difference that web sites need to consider. It doesn't matter which email address the user uses when interacting with the web site. What matters is that the web site has a mechanism to associate a verified email address with authenticated users.&lt;br/&gt;&lt;br/&gt;As identity federation grows, and web sites adopt this approach, the user experience will improve as there will be no out-of-band messaging required to start engaging with a web site.&lt;br/&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2455295833209164819?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2455295833209164819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2455295833209164819' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2455295833209164819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2455295833209164819'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/03/email-verification-and-identity.html' title='Email Verification and Identity Federation'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2210062492628983845</id><published>2010-03-12T17:34:00.000-05:00</published><updated>2010-03-12T17:36:07.076-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;OpenID 2.0&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='PAPE'/><category scheme='http://www.blogger.com/atom/ns#' term='SREG'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><category scheme='http://www.blogger.com/atom/ns#' term='AX'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;OpenID Provider&quot;'/><title type='text'>OpenID 2.0 Provider support live @ AOL</title><content type='html'>I'm excited to announce that the &lt;a href="http://www.aol.com"&gt;AOL&lt;/a&gt; Identity Services team has fully deployed OpenID 2.0 Provider support. Directed identity flows are now enabled so just entering 'aol.com' into an OpenID field will start the authentication flow. In addition to directed identity, this release also supports "check immediate" flows, SREG, AX, UI (popup browser), PAPE (as required by the ICAM OpenID 2.0 Profile) and of course the &lt;a href="http://www.idmanagement.gov/documents/ICAM_OpenID20Profile.pdf"&gt;ICAM OpenID 2.0 Profile&lt;/a&gt; itself.&lt;br /&gt;&lt;br /&gt;We have also improved the UI making it much cleaner and easier to follow. One feature of this new UI is a page that allows the user to choose, when first visiting a new site, whether to use their public OpenID (http://openid.aol.com/&amp;lt;username&amp;gt;) or an opaque one. Of course, this choice isn't necessary if the user provides the relying party their full OpenID or the relying party specifically requests an opaque identifier (via PAPE policy). I'd really appreciate feedback on whether this "privacy" feature is helpful to users or just adds more confusion.&lt;br /&gt;&lt;br /&gt;In addition to the existing SREG support, the same attributes will be supported via Attribute exchange. There is equivalent support for the http://axschema.org URIs but only partial support for the Information Card URIs as there weren't direct equivalents for all of the attributes. Here is what is currently supported.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;http://axschema.org/namePerson/friendly&lt;br /&gt;http://axschema.org/contact/email&lt;br /&gt;http://axschema.org/birthDate&lt;br /&gt;http://axschema.org/person/gender&lt;br /&gt;http://axschema.org/contact/postalCode/home&lt;br /&gt;http://axschema.org/contact/country/home&lt;br /&gt;http://axschema.org/pref/language&lt;br /&gt;http://axschema.org/pref/timezone&lt;br /&gt;&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/dateofbirth&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/gender&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode&lt;br /&gt;http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Suggestions or requests for specific attributes are always welcome. One point of clarification regarding email addresses and verification. The current implementation defaults the email address to the user's AOL provided email address but does allow the user to change the value returned to the relying party. &lt;br /&gt;&lt;br /&gt;While there is still a lot to do, it feels really good to finally reach this milestone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2210062492628983845?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2210062492628983845/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2210062492628983845' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2210062492628983845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2210062492628983845'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2010/03/openid-20-provider-support-live-aol.html' title='OpenID 2.0 Provider support live @ AOL'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4594230919236207490</id><published>2009-08-31T12:00:00.004-04:00</published><updated>2009-08-31T12:16:42.663-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='conference'/><category scheme='http://www.blogger.com/atom/ns#' term='iiw2009b'/><category scheme='http://www.blogger.com/atom/ns#' term='iiw'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>IIW #9 : Making it all work</title><content type='html'>If you haven't seen the announcements for the Internet Identity Workshop (IIW) floating around the identity listservs, it's happening Nov. 3-5 at the Computer History Museum. A lot has happened since the last IIW in May and I'm excited about the progress that has been made in the intervening months.&lt;br /&gt;&lt;br /&gt;Thinking back to past IIWs it's great to see the progression of topics at IIW from geeky syntax and protocols to solutions and solving the problems from a user's perspective. With the recent developments around "&lt;a href="http://code.google.com/p/webfinger/"&gt;webfinger&lt;/a&gt;" and &lt;a href="http://wiki.oasis-open.org/xri"&gt;XRD&lt;/a&gt;, some of the "glue" pieces are coming together.&lt;br /&gt;&lt;br /&gt;I believe the next core issue to tackle in "Making it all work" is the user experience. To date we've been solving the problems mostly from a functionality perspective. However, just being "functional" isn't good enough for the average consumer. We need to make it easy and coherent (not a trivial task). By easy, I don't just mean "there aren't too many clicks" but rather a user experience that proactively helps the user with the tasks they need to perform.  There are lots of nuances in the identity space and the average user doesn't grok them, so the technology has to help the user make the "right" decision.&lt;br /&gt;&lt;br /&gt;I'm expecting discussions like this to be a key part of IIW #9. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.internetidentityworkshop.com/"&gt;Internet Identity Workshop&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.internetidentityworkshop.com/registration/"&gt;Registration&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4594230919236207490?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4594230919236207490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4594230919236207490' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4594230919236207490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4594230919236207490'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/08/iiw-9-making-it-all-work.html' title='IIW #9 : Making it all work'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-7319212871401496008</id><published>2009-08-14T12:30:00.004-04:00</published><updated>2009-08-14T13:28:00.148-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Open Government'/><category scheme='http://www.blogger.com/atom/ns#' term='Levels of Assurance'/><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><category scheme='http://www.blogger.com/atom/ns#' term='Trust Framework Provider'/><title type='text'>User experience and Levels of Assurance</title><content type='html'>The US government recently (Aug. 10th) held an &lt;a href="http://www.idmanagement.gov/drilldown.cfm?action=privacy_workshop"&gt;Open Government Identity Management Solutions Privacy Workshop&lt;/a&gt; to discuss Trust Frameworks, Levels of Assurance and Privacy. At this workshop the government introduced a process for the adoption of any identity technology and a process for the adoption of any Trust Framework as managed by a provider (e.g. a Trust Framework Provider [TFP]). Both documents can be downloaded from the above link.&lt;br /&gt;&lt;br /&gt;One of the key points brought out at the meeting is that user experience (UX) is critical as users navigate government web sites that potentially require different levels of assurance (LOA) (see &lt;a href="http://www.whitehouse.gov/OMB/memoranda/fy04/m04-04.pdf"&gt;OMB M04-04&lt;/a&gt;). While the workshop was focused on issues related to LOA 1, the need to solve the multi-LOA problem came up over and over. I believe UX and transitioning between levels of assurance is one of the critical issues to solve.&lt;br /&gt;&lt;br /&gt;While specific technologies may be restricted to certain levels of assurance, the user experience should be agnostic to the technology required to implement any specific use case. In this context I'd like to propose the following multi-LOA use case as one possible way to provide a good user experience.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User goes to govt web site where they can log in with a LOA1 credential (id from a provider the user already uses)&lt;/li&gt;&lt;li&gt;The user is redirected to their consumer LOA1 credential provider and logs in&lt;/li&gt;&lt;li&gt;The user is redirected back to the govt web site with an LOA1 credential&lt;/li&gt;&lt;li&gt;The user interacts with the web site&lt;/li&gt;&lt;li&gt;The user clicks on an option on the web site that directs them to a new site (or a service within the existing site) that requires a LOA2 credential&lt;/li&gt;&lt;li&gt;The user arrives at the new site and does not have a LOA2 credential&lt;/li&gt;&lt;li&gt;The site informs the user that they need a more secure credential and that they can get one from the following locations&lt;/li&gt;&lt;li&gt;The user selects one of the providers and is redirected to that site&lt;/li&gt;&lt;li&gt;The LOA2 provider asks the user if they want to use existing LOA1 providers as a factor in the LOA2 credential&lt;ul&gt;&lt;li&gt;here I'm thinking that an LOA1 credential could be used in bootstrapping to the LOA2 credential)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;The user selects their current LOA1 provider (the one they used when logging into the govt site)&lt;/li&gt;&lt;li&gt;The user goes through some identity proofing process (note that this could happen off line if necessary).&lt;ul&gt;&lt;li&gt;The point is that the user ties their LOA1 identity to the LOA2 provider. This helps with seamless transition between levels&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;The LOA2 requires some second factor authN method and the user chooses an one-time-pin sent to their cell&lt;/li&gt;&lt;li&gt;The user enters the one-time-pin and the LOA2 provider issues an LOA2 credential and redirects back to the requesting web site&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;I'm sure I've left out some critical steps or places where the above does not comply with assurance framework requirements. I would appreciate feedback as to whether the general idea is viable. I would hope that one goal of this effort would be to protect the user (as much as possible) from having to increase the number of identities they manage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-7319212871401496008?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/7319212871401496008/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=7319212871401496008' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7319212871401496008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7319212871401496008'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/08/user-experience-and-levels-of-assurance.html' title='User experience and Levels of Assurance'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6310298922888240522</id><published>2009-04-03T09:12:00.005-04:00</published><updated>2009-04-03T14:17:38.892-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='ProtectServ'/><category scheme='http://www.blogger.com/atom/ns#' term='Authorization'/><title type='text'>ProtectServe and "Social relationship" authorization</title><content type='html'>In a &lt;a href="http://connectid.blogspot.com/2009/04/division-of-roles.html"&gt;post&lt;/a&gt; today, &lt;a href="http://connectid.blogspot.com/"&gt;Paul&lt;/a&gt; highlights a form of authorization that is not yet fully fleshed out in the &lt;a href="http://www.xmlgrrl.com/blog/archives/2009/03/23/to-protect-and-to-serve/"&gt;ProtectServe&lt;/a&gt; architecture...&lt;br /&gt;&lt;blockquote&gt;Ultimately, I think User's need to be able to define authorization rules for their identity attributes in terms of both&lt;br /&gt;&lt;br /&gt;1) the requesting actor (Consumer in OAuth/ProtectServe, WSC in ID-WSF)&lt;br /&gt;2) an individual with some defined social relationship to themselves&lt;br /&gt;&lt;br /&gt;ProtectServe's AM is designed to simplify for User's the definition and management of the first type of authz rules, Liberty's People Service the second.&lt;/blockquote&gt;&lt;br /&gt;Of course the mention of &lt;a href="http://www.xmlgrrl.com/blog/archives/2009/03/23/to-protect-and-to-serve/"&gt;ProtectServe&lt;/a&gt; is referencing the recent work of &lt;a href="http://www.xmlgrrl.com/blog"&gt;Eve Maler&lt;/a&gt; and team regarding a proposal to help simplify authorization management for users in the "distributed web".&lt;br /&gt;&lt;br /&gt;I believe that it should be possible to extend the Authorization Manager (AM) to leverage social relationships as a mechanism for the user to control access to protected resources. One of the use cases Eve mentions in this &lt;a href="http://www.xmlgrrl.com/blog/archives/2009/03/29/protectserve-getting-down-to-use-cases/"&gt;post&lt;/a&gt; is ...&lt;br /&gt;&lt;blockquote&gt;Making an album’s worth of photos from the latest vacation available to some group of friends and family, but reserving a few in the same album for a more select group&lt;/blockquote&gt;&lt;br /&gt;Paul correctly points out that the Liberty Alliance People Service is built for just such a task. As it turns out &lt;a href="http://www.portablecontacts.net/"&gt;Portable Contacts&lt;/a&gt; provides very similar functionality and is based on OAuth (the same base as ProtectServe). The Portable Contacts (PoCo) specification allows for grouping of contacts in an arbitrary manner using tags so the examples Paul gives are easily mapped. One missing feature of the current PoCo spec is that it doesn't support "membership queries" which means that more information is leaked to the Service Provider than necessary.&lt;br /&gt;&lt;br /&gt;Let's look at this use case in more detail. Assuming that Alice has created a resource at her photo service for the vacation photos, and also assuming that Alice has identified the desired set of individuals in her PoCo service with a tag of 'VacationPhotos', all Alice needs to do is associate this tag with the desired resource. So let's assume this is possible within the AM. Finally, let's assume that Bob is one of the individuals with a 'VacationPhotos' tag in Alice's PoCo service.&lt;br /&gt;&lt;br /&gt;The basic flow is that Alice sends Bob the link for the protected vacation photos. Bob clicks on the link and is taken to the photo service via his browser. The photo service check with the AM to determine whether the resource is protected or not. Since the resource is protected, the photo service asks Bob to authenticate. Based on Bob's authentication, and his membership in Alice's 'VacationPhotos' group, Bob is given access to the photos.&lt;br /&gt;&lt;br /&gt;The interesting twist with this particular use case is that the "Consumer" is really a user (i.e. Bob) who wants to view Alice's vacation photos. So when Bob tries to access the vacation photos resource that Alice shared with him, he accesses the service provider directly. At this point the SP checks with the AM regarding the authorization rules for the resource. However, Bob doesn't have a Consumer "token and secret" with which to sign his request to the SP. Instead he is accessing the SP directly via his user-agent. What Bob can do is authenticate himself to the SP using some authentication means. This is necessary as an identifier is required to determine membership in Alice's 'VacationPhotos' group.&lt;br /&gt;&lt;br /&gt;This leads to the question of who should manage the relationship with Alice's PoCo service to do the "membership" check? I can see two options...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;The AM maintains the authorization requirement (e.g. consumer must be member of Alice's VacationPhotos group) but the SP does the actual membership check. In this model the SP needs to set up a ProtectServe based relationship with Alice's PoCo service. Then when the SP authenticates Bob and has an identifier for him, it can check directly with the PoCo service determining membership based on the "contract" received from AM. This means that the SP must be able to interpret and process the "contract" on behalf of AM.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The AM maintains the authorization requirement and also does the membership check with the PoCo service. In this model, the SP will need to forward Bob's identifier to the AM in order for the AM to perform the "membership" check and determine the state of the authorization. Or the SP could redirect Bob to the AM but I would that such a UX would most likely confuse the user. I do think there is a interesting privacy question on whether the SP should be allowed to forward Bob's identifier to the AM without Bob's consent.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;I'm not sure which method I like better. Maybe others have better solutions. Thoughts?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update: Corrected my ProtectServe typos:)&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6310298922888240522?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6310298922888240522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6310298922888240522' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6310298922888240522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6310298922888240522'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/04/protectserv-and-social-relationship.html' title='ProtectServe and &quot;Social relationship&quot; authorization'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5080828050255897853</id><published>2009-03-12T11:53:00.004-04:00</published><updated>2009-03-12T11:58:24.247-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humorous'/><title type='text'>Betrayed...</title><content type='html'>I've been wondering about the current economic crisis and where its headed; who's behind all the problems and is there an end game?  Then I saw this...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/SbkwKfFFjKI/AAAAAAAAAU0/979FeKviQwM/s1600-h/uh-oh.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 138px; height: 97px;" src="http://2.bp.blogspot.com/__OXBEeawNCY/SbkwKfFFjKI/AAAAAAAAAU0/979FeKviQwM/s400/uh-oh.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5312330192159870114" /&gt;&lt;/a&gt;&lt;br /&gt;and I realized that my &lt;a href="http://connectid.blogspot.com"&gt;good friend&lt;/a&gt; is planning the conquering of the world ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5080828050255897853?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5080828050255897853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5080828050255897853' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5080828050255897853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5080828050255897853'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/03/betrayed.html' title='Betrayed...'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__OXBEeawNCY/SbkwKfFFjKI/AAAAAAAAAU0/979FeKviQwM/s72-c/uh-oh.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6105739131478636741</id><published>2009-02-14T13:53:00.001-05:00</published><updated>2009-02-14T13:53:09.783-05:00</updated><title type='text'>Happy Valentine's Day</title><content type='html'>&lt;div style="text-align: left; padding: 3px;"&gt;&lt;a href="http://www.flickr.com/photos/gffphotos/3279057774/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3356/3279057774_decb0ff8ae.jpg" style="border: solid 2px #000000;" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 0.8em; margin-top: 0px;"&gt;&lt;a href="http://www.flickr.com/photos/gffphotos/3279057774/"&gt;Red &amp;amp; White for Valentines Day&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/gffphotos/"&gt;GFletch&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;For the last two year's I've posted a picture from this bush in our front garden on Valentine's Day. The last two years there has been snow or ice either on Valentine's Day or the day before. However, today is bright and sunny and no snow. So this picture comes from the last week in Jan.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6105739131478636741?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6105739131478636741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6105739131478636741' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6105739131478636741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6105739131478636741'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/02/happy-valentine-day.html' title='Happy Valentine&amp;#39;s Day'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3356/3279057774_decb0ff8ae_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2388692215410652843</id><published>2009-02-13T11:02:00.004-05:00</published><updated>2009-02-13T12:40:46.197-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='UX'/><title type='text'>OpenID UX Summit Musings</title><content type='html'>First, a huge thank you to &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt; for hosting the summit and live streaming the event. I wasn't able to attend in person, and being able to watch the wrapup and presentation of the OP and RP breakout groups made missing the event bearable.&lt;br /&gt;&lt;br /&gt;Second, I think that for the OpenID Provider UI there needs to be a way for a RP to influence the UI. Basically, there would be one UI that is generic and totally related to the OP. This would be the default UI shown in the pop-up browser window. However, if the RP has a relationship with the OP, there should be a way for the RP to invoke the pop-up browser window such that some of the UI is customized to the RP. One feature I really like of Facebook Connect is that it gives clear UI context to what the user is doing.&lt;br /&gt;&lt;br /&gt;I know for some OP's, its important to only allow customization from RP's that are in a relationship with the OP. This could easily be accomplished by using 2-legged OAuth and associating the UI customizations to the OAuth Consumer Token. The RP would then construct the 2-legged signed URL and load it into the pop-up browser window. The OP would verify the signature and make the necessary customization.&lt;br /&gt;&lt;br /&gt;Here's one mock that should look familiar... (my apologies if this is what was discussed and drawn on the whiteboard. I couldn't "read" the whiteboard over the live stream. Final caveat; I'm no UI designer :)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/SZWm5KMgo7I/AAAAAAAAAUs/n62l1aRJalY/s1600-h/OpenID+OP+UI+Mock.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 361px; height: 400px;" src="http://4.bp.blogspot.com/__OXBEeawNCY/SZWm5KMgo7I/AAAAAAAAAUs/n62l1aRJalY/s400/OpenID+OP+UI+Mock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5302327637218206642" /&gt;&lt;/a&gt;&lt;br /&gt;In the default case, the RP's realm string would be displayed along with some generic text and a generic image representing the RP site. The OP image on the right would of course be unique to the OP.&lt;br /&gt;&lt;br /&gt;In the case where an RP could provide customizations. The RP realm could be replaced by title text, the description could be specific to the relationship the user is establishing with the RP, and the RP image could be specific to the RP. To make these customizations work from a security perspective, the RP would need to obtain an OAuth Consumer token (and secret) via an out-of-band process (normal OAuth). The RP would then provide the OP with the necessary customizations during this provisioning process. These customization could include, RP realm, UI title text, UI description, and RP image. At UI display time, the OP retrieves the necessary customizations based on the OAuth Consumer token and displays the UI to the user.&lt;br /&gt;&lt;br /&gt;With this kind of a model, the UI stays consistent and familiar to users, but also provides RP's with some ability to customize the content to their needs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2388692215410652843?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2388692215410652843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2388692215410652843' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2388692215410652843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2388692215410652843'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/02/openid-ux-summit-musings.html' title='OpenID UX Summit Musings'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/SZWm5KMgo7I/AAAAAAAAAUs/n62l1aRJalY/s72-c/OpenID+OP+UI+Mock.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5713126993106982353</id><published>2009-01-23T13:18:00.005-05:00</published><updated>2009-01-23T13:49:19.619-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chi.mp'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>OpenID protected sharing at chi.mp</title><content type='html'>I got a very pleasant surprise today when reading the &lt;a href="http://chi.mp"&gt;Chi.mp&lt;/a&gt; release notes for release 1.9.  The following extracted from the email...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;OpenID&lt;/span&gt;. Your visitors can authenticate with their OpenID to see privileged content on your site.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I was very intrigued with how they provided this support based on my desire to see OpenID used specifically for this purpose. I have a previous blog entry on the topic &lt;a href="http://practicalid.blogspot.com/2008/09/protected-sharing-on-open-web.html"&gt;here&lt;/a&gt;. Basically, Chi.mp uses the concept of "Personas" to segregate content in any way the user chooses. Then contacts are assigned to specific "Personas". As yet, I have not been able to find a way to assign a contact to more than one Persona but that doesn't really affect functionality.&lt;br /&gt;&lt;br /&gt;Another very nice feature of their implementation is that if a user goes to my public profile page and logs in with their OpenID, I'm notified that the user has attempted to connect with me. This is a very nice interface as Chi.mp uses SREG support to collect information about the user. Now I can review the "connect" requests and had them as contacts assigning them to a Persona (if I choose). You can try this out with my Chi.mp profile &lt;a href="http://gffletch.mp"&gt;&lt;span style="text-decoration: underline;"&gt;here&lt;/span&gt;&lt;/a&gt; :)&lt;br /&gt;&lt;br /&gt;The only problem I ran into was trying to add a contact via the web page because there was no place for me to enter that contact's OpenID. I'm sure this can be added easily.&lt;br /&gt;&lt;br /&gt;Props to Chi.mp for moving beyond "security by obscurity" when it comes to protected sharing of personal information, and also not requiring all my friends to create a Chi.mp account.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Sharing" rel="tag"&gt;Sharing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Chi.mp" rel="tag"&gt;Chi.mp&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5713126993106982353?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5713126993106982353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5713126993106982353' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5713126993106982353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5713126993106982353'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2009/01/openid-protected-sharing-at-chimp.html' title='OpenID protected sharing at chi.mp'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-534261262508362753</id><published>2008-12-08T12:25:00.003-05:00</published><updated>2008-12-08T12:38:46.087-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Facebook'/><category scheme='http://www.blogger.com/atom/ns#' term='Social Networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Strong Authentication'/><title type='text'>Social Networks and Strong(er) Auth</title><content type='html'>I've been thinking about strong(er) authentication mechanisms recently and the slow uptake by the mass market. I was registering for an online brokerage account recently and was required to enter an email address. I thought through the many email addresses that I use and decided to use the one that has a strong auth mechanism attached.&lt;br /&gt;&lt;br /&gt;One of the reasons for this decision is that my ever expanding &lt;a href="http://www.facebook.com"&gt;Facebook&lt;/a&gt; world has a lot of information about me that might or might not be relevant to a "password reset attack". I recently found a bunch of childhood friends on Facebook and that has been wonderful. However, it also means that all the information about elementary schools attended, childhood friends, etc is exposed to all my other friends on Facebook. From an information perspective, I don't have any problems, but it does concern me from a security perspective.&lt;br /&gt;&lt;br /&gt;Rather than think through what information is available on Facebook, and whether any of that information was used with the "Security Questions" for the email account, I chose to pick an email address that can only be accessed via a 2nd factor authentication mechanism.&lt;br /&gt;&lt;br /&gt;So, my question/thought is, "Could social networks be the forcing function that drives consumer adoption of strong(er) auth technologies?"&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Social%20Networks" rel="tag"&gt;Social Networks&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Strong%20Authentication" rel="tag"&gt;Strong Authentication&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Facebook" rel="tag"&gt;Facebook&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-534261262508362753?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/534261262508362753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=534261262508362753' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/534261262508362753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/534261262508362753'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/12/social-networks-and-stronger-auth.html' title='Social Networks and Strong(er) Auth'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1065594090545635710</id><published>2008-12-03T09:57:00.001-05:00</published><updated>2008-12-03T09:59:12.207-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Aggregation'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Federation'/><title type='text'>Is it really aggregation vs federation?</title><content type='html'>In a &lt;a href="http://gigaom.com/2008/11/30/social-webs-big-question-federate-or-aggregate/"&gt;post&lt;/a&gt; this past Sunday &lt;a href="http://gigaom.com/author/om/"&gt;Om Malik&lt;/a&gt; suggested that user's want aggregation not federation. While I totally agree that user's want aggregation (e.g. having all their relevant information in one place) I don't believe aggregation is in conflict with federation. Rather the two concepts are orthogonal.&lt;br /&gt;&lt;br /&gt;I associate aggregation with API access to my data distributed across the web. The exception is closed networks like Facebook that provide all the services within a walled garden environment. So for aggregation to work in the "open web", it must be able to access my data whereever I've chosen to place it. This requires explicit user consent (ala &lt;a href="http://oauth.net"&gt;OAuth&lt;/a&gt;) for the aggregator to access my personal data at different services.&lt;br /&gt;&lt;br /&gt;Now in order for me to grant consent, and for the aggregator to be able to access my personal information, I need to authenticate to the service provider of my data. This authentication step is simplified by using federation (e.g. an OpenID valid at all my different service providers).&lt;br /&gt;&lt;br /&gt;So federation really enables a safer, more secure, aggregation capability for users.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Federation" rel="tag"&gt;Federation&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Aggregation" rel="tag"&gt;Aggregation&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1065594090545635710?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1065594090545635710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1065594090545635710' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1065594090545635710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1065594090545635710'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/12/is-it-really-aggregation-vs-federation.html' title='Is it really aggregation vs federation?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6330683008399193022</id><published>2008-11-20T13:58:00.003-05:00</published><updated>2008-11-20T14:21:45.658-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MapQuest'/><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Open Stack&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='SREG'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>OAuth and SREG and MapQuest! Oh My!</title><content type='html'>This has been a great week for AOL and our efforts to support the "Open Stack". While our progress is not as fast as those more nimble and lightfooted, I still believe the progress is significant.&lt;br /&gt;&lt;br /&gt;Yesterday, the AOL Mail Gadget for iGoogle was &lt;a href="http://corp.aol.com/news/2008/11/enhanced-aol-mail-gadget-now-available-igoogle"&gt;announced&lt;/a&gt;. This gadget uses the OAuth capabilities of the iGoogle container to access OAuth based AOL Mail web service APIs.&lt;br /&gt;&lt;br /&gt;Also yesterday, AOL &lt;a href="http://dev.aol.com/node/1866"&gt;announced&lt;/a&gt; it's preview support for the SREG 1.0 extension to OpenID. As in my &lt;a href="http://openid.net/pipermail/general/2008-November/006508.html"&gt;message&lt;/a&gt; to the OpenID general mailing list, there are still a number of user experience issues that need to be resolved around SREG/AX support and I hope that our initial implementation will help consolidate the necessary industry best practices.&lt;br /&gt;&lt;br /&gt;Finally, today &lt;a href="http://www.mapquest.com"&gt;MapQuest&lt;/a&gt; launched a new feature called &lt;b&gt;My Mapquest&lt;/b&gt; which allows users to store addresses, driving directions, phone numbers for "Send to cell", and even the ability to estimate fuel costs for a trip based on your personal vehicle. My favorite part of this new capability is that anyone can use it because it supports OpenID. I believe this is the first web site from a major provider, that isn't a blogging product, to support OpenID as a relying party. (Feel free to correct me in the comments).&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Open%20Stack" rel="tag"&gt;Open Stack&lt;/a&gt;, &lt;a href="http://technorati.com/tag/MapQuest" rel="tag"&gt;MapQuest&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SREG" rel="tag"&gt;SREG&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6330683008399193022?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6330683008399193022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6330683008399193022' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6330683008399193022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6330683008399193022'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/11/oauth-and-sreg-and-mapquest-oh-my.html' title='OAuth and SREG and MapQuest! Oh My!'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8666711284694829165</id><published>2008-11-20T13:57:00.001-05:00</published><updated>2008-11-20T13:57:23.514-05:00</updated><title type='text'>Fall Kaleidoscope</title><content type='html'>&lt;div style="text-align: left; padding: 3px;"&gt;&lt;a href="http://www.flickr.com/photos/gffphotos/3023215809/" title="photo sharing"&gt;&lt;img src="http://farm4.static.flickr.com/3216/3023215809_f534c9db5a.jpg" style="border: solid 2px #000000;" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 0.8em; margin-top: 0px;"&gt;&lt;a href="http://www.flickr.com/photos/gffphotos/3023215809/"&gt;Fall Kaleidoscope&lt;/a&gt;, originally uploaded by &lt;a href="http://www.flickr.com/people/gffphotos/"&gt;GFletch&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;&lt;p&gt;The leaves are nearly all gone where I live, but here is a reminder from just a couple weeks ago of the glory of fall.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8666711284694829165?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8666711284694829165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8666711284694829165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8666711284694829165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8666711284694829165'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/11/fall-kaleidoscope.html' title='Fall Kaleidoscope'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3216/3023215809_f534c9db5a_t.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1765434581680562291</id><published>2008-11-11T11:16:00.003-05:00</published><updated>2008-11-11T11:47:58.138-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='XRDS'/><category scheme='http://www.blogger.com/atom/ns#' term='iiw2008b'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Open Stack&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Important topics at IIW2008b</title><content type='html'>If I've got my timing right, this entry will post about the same time as the schedule for &lt;a href="http://iiw.idcommons.net/Iiw2008b"&gt;IIW&lt;/a&gt; is being created by those attending. Unfortunately, due to circumstances beyond my controll, I'm not able to attend in person. But that doesn't mean that I'm not actively following the discussions as best I can remotely:)&lt;br /&gt;&lt;br /&gt;Here are some key issues that I'm hopeful the community will be able to address during the next two days.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User eXperience (UX) for Relying Parties (RP). This is a critical element of making OpenID understandable and valuable to the "masses". There has been quite a bit of work on this recently and I'm excited to see what will develop from the face to face meetings on this topic.&lt;/li&gt;&lt;li&gt;XRDS and Discovery. This is really important for the "open stack" and deals with the concept of describing meta-data for resources. As it relates to "personal service discovery", the meta-data is about a user's OpenID and points to the related services of that identifier. This is crucial for connecting services to a user and allowing the kinds of "dynamic discovery" the make the "&lt;a href="http://josephsmarr.com/2008/11/10/a-new-open-stack-greater-than-the-sum-of-its-parts-internet-identity-workshop-2008b/"&gt;open stack&lt;/a&gt;" work.&lt;/li&gt;&lt;li&gt;OpenID TX Extension. This extension being proposed into an OpenID working group is about adding a layer of trust to OpenID transactions. Right now it focuses on tying transactions to contracts between parties but hopefully the working group will extend this to adding a "trust fabric" to OpenID.&lt;/li&gt;&lt;li&gt;Email as an OpenID identifer (or as a pointer to an OpenID). This is part of the UX discussion in that many/most? people don't know they have an OpenID but they do know their email address. With Microsoft and Google supporting OpenID (at least in beta) most people have an OpenID. So this discussion is about how to leverage this with users to increase the adoption of OpenID.&lt;/li&gt;&lt;li&gt;Email verification. This is slightly related to #4 but also different. In the SREG and AX models, an RP can request an email address but it doesn't know whether the OP has verified that email or not. In some cases, if the RP is talking to an OP that supports email and the returned email address is "managed" by the same company as the OP, then the RP might consider that email address verified. However, Yahoo! and others are looking to support an OpenID extension that would allow an RP to directly verify an email address with the email provider (providing the email provider is also an OpenID Provider; or at least supports this extension).&lt;/li&gt;&lt;li&gt;OpenID + OAuth "Extension". This topic is addressing how to allow a Consumer to both authenticate a user and get an OAuth access token and secret in a way that the user only has to authenticate and authorize once. There are a number of significant issues with this effort especially if the extension tackles allowing one SP/OP to verify/validate another SP/OP's tokens. Right now, this effort is focusing on allowing the OP to present not only authentication but also authorization UI so the flow is simplified for the user.&lt;/li&gt;&lt;li&gt;OAuth Extensions...&lt;ul&gt;&lt;li&gt;&lt;a href="http://groups.google.com/group/oauth-extensions/browse_thread/thread/419ec4e986ff5cd8"&gt;Custom Response Data Formats&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://groups.google.com/group/oauth-extensions/browse_thread/thread/dc7baa1dc948375d"&gt;Session Extenstion&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://oauth.pbwiki.com/ProblemReporting"&gt;Problem Reporting&lt;/a&gt;&lt;br/&gt;Especially the new parameter that is linked with the "Custom Response Data Formats" extension that allows the consumer to request the error response in a particular format.&lt;/li&gt;&lt;li&gt;&lt;a href="http://groups.google.com/group/oauth-extensions/browse_thread/thread/96fbf54a0d41a75e#"&gt;Language Extension&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;OAuth support for Mobile/Desktops/Appliances/etc. This topic deals with a simple mechanism for mobile apps or appliances to participate in the OAuth flow even if the device doesn't have browser support and very limited input capabilities.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/iiw2008b" rel="tag"&gt;iiw2008b&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Open%20Stack" rel="tag"&gt;Open Stack&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS" rel="tag"&gt;XRDS&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1765434581680562291?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1765434581680562291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1765434581680562291' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1765434581680562291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1765434581680562291'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/11/important-topics-at-iiw2008b.html' title='Important topics at IIW2008b'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5131187478324055990</id><published>2008-10-03T16:39:00.005-04:00</published><updated>2008-10-03T17:05:44.780-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XRDS-Simple'/><category scheme='http://www.blogger.com/atom/ns#' term='Subscription'/><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Activity'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Subscribing to Activity streams</title><content type='html'>Yesterday &lt;a href="http://connectid.blogspot.com"&gt;Paul&lt;/a&gt; asked a good question about subscriptions and identifiers in this push model for activity. If we take an explicit use case regarding how Paul subscribes to George's activity feed, the key is that Paul has to have at least one identifier for George that can be used to discover his activity service.&lt;br /&gt;&lt;br /&gt;Leveraging &lt;a href="http://http://xrds-simple.net/"&gt;XRDS&lt;/a&gt;, &lt;a href="http://openid.net"&gt;OpenID&lt;/a&gt;, &lt;a href="http://oauth.net"&gt;OAuth&lt;/a&gt; and &lt;a href="http://portablecontacts.net"&gt;Portable Contacts&lt;/a&gt; this should be doable. Here is a graphic and flow.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/SOaD7s_a3FI/AAAAAAAAARY/wQras7TK2As/s1600-h/Subscribing+to+Activity.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/SOaD7s_a3FI/AAAAAAAAARY/wQras7TK2As/s400/Subscribing+to+Activity.png" alt="" id="BLOGGER_PHOTO_ID_5253031077086944338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Paul logs into his SocialStream collector (with his OpenID)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The SocialStream collector discovers Paul's PortableContacts service (via XRDS)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Paul authorizes his SocialSteam collector to access his's PortableContacts service (via OAuth)&lt;/li&gt;&lt;li&gt;The SocialStream collector asks Paul if he wants to subscribe to any of his contact's activity feeds (retrieved from the Portable Contacts service)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Paul selects his friend George&lt;/li&gt;&lt;li&gt;The SocialStream collector uses the identifier(s) for George to discover George's activity service (via XRDS discovery)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The SocialStream collector subscribes to George's activity service&lt;br /&gt;&lt;ul&gt;&lt;li&gt;If subscribing to a public feed, no other information is needed&lt;/li&gt;&lt;li&gt;If subscribing to a protected feed, then OAuth can be used to determine if Paul is allowed access to the feed&lt;/li&gt;&lt;li&gt;Membership determination can leverage Portable Contacts tags as described &lt;a href="http://practicalid.blogspot.com/2008/09/protected-sharing-on-open-web.html"&gt;here&lt;/a&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Subscription" rel="tag"&gt;Subscription&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Activity" rel="tag"&gt;Activity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS-Simple" rel="tag"&gt;XRDS-Simple&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5131187478324055990?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5131187478324055990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5131187478324055990' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5131187478324055990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5131187478324055990'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/10/subscribing-to-activity-streams.html' title='Subscribing to Activity streams'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__OXBEeawNCY/SOaD7s_a3FI/AAAAAAAAARY/wQras7TK2As/s72-c/Subscribing+to+Activity.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6429368127758598724</id><published>2008-10-02T12:12:00.003-04:00</published><updated>2008-10-02T12:20:13.684-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Activity'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='Push'/><category scheme='http://www.blogger.com/atom/ns#' term='Gnip'/><category scheme='http://www.blogger.com/atom/ns#' term='Poll'/><title type='text'>MyActivity vs MySocialStream</title><content type='html'>The recent production announcement by &lt;a href="http://gnipcentral.com"&gt;Gnip, Inc&lt;/a&gt; got me thinking about activity and the push vs poll model for tracking activity. As I see it, there are two kinds of activity that I want to track: (1) my activity and (2) my "friends" activity. Hence the terms MyActivity and MySocialStream.&lt;br /&gt;&lt;br /&gt;In a truly open and distributed web environment, I should be able to separate these functions into any providers I desire. Right now, most social networks combine both my activity and my friends activity into a single stream and service. Thus if this service wants to aggregate activity, it has to poll each of those external services for updates and then merge them into the activity stream.&lt;br /&gt;&lt;br /&gt;An interesting aspect of Gnip, Inc's offering is that it will push updates, even filtered updated, to an endpoint. Push seems like a better model, especially if it can be "throttled" in some way (meaning, the service pushing the updates can be configured to combine multiple updates in a 5 min period into a single push event).&lt;br /&gt;&lt;br /&gt;If we model my activity separately from my friends activity, then it should be possible to define an API for an activity service. This activity service would accept my activity events from across the web. This activity service would be discoverable via my &lt;a href="http://xrds-simple.net/"&gt;XRDS&lt;/a&gt; document so that any site I visit can discovery my activity service and report activity to it. If my friends want to track my activity, they can subscribe to my activity service. This subscription mechanism could include the use of &lt;a href="http://oauth.net"&gt;OAuth&lt;/a&gt; for subscription to restricted activities. Managing who is allowed to see which events could leverage &lt;a href="http://portablecontacts.net/"&gt;Portable Contacts&lt;/a&gt; for group membership. This way, whenever I'm involved in some activity across the web, that activity will get reported to my activity service which in turn will push out the event to all friends that have subscribed.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/SOTzdr723VI/AAAAAAAAARQ/UlRanXDvn58/s1600-h/Pushing+Activity.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/__OXBEeawNCY/SOTzdr723VI/AAAAAAAAARQ/UlRanXDvn58/s400/Pushing+Activity.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5252590756756381010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As for all my friends and their activity that I would like to see, I just need to have MySocialStream service subscribe to their activity services. This data aggregation could be displayed in any venue; opensocial gadget, web page, iPhone app, etc.&lt;br /&gt;&lt;br /&gt;All that's needed is the specifications for the APIs and the ability to list them in my XRDS. Well, a little more than that, but it's definitely more doable today than ever before.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Gnip,%20Inc" rel="tag"&gt;Gnip, Inc&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Activity" rel="tag"&gt;Activity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Push" rel="tag"&gt;Push&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Poll" rel="tag"&gt;Poll&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6429368127758598724?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6429368127758598724/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6429368127758598724' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6429368127758598724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6429368127758598724'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/10/myactivity-vs-mysocialstream.html' title='MyActivity vs MySocialStream'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__OXBEeawNCY/SOTzdr723VI/AAAAAAAAARQ/UlRanXDvn58/s72-c/Pushing+Activity.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8821288397500769571</id><published>2008-09-11T15:28:00.003-04:00</published><updated>2008-09-11T15:44:21.438-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XRDS-Simple'/><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Sharing'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Access Control'/><title type='text'>Protected Sharing on the Open Web</title><content type='html'>One feature I have wished for on the web for quite some time is the ability to securely share family photos with my extended family and close friends. Currently, all photo sharing sites (that I’ve been able to find) require all parties to have an account at that photo sharing site in order to securely share the photos. Note that I don’t want the current solution of “security-by-obsecurity” where a big random URL is created and emailed to the group.&lt;br /&gt;&lt;br /&gt;I think we can build a much better sharing environment using existing and emerging specifications like &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;, &lt;a href="http://oauth.net/"&gt;OAuth&lt;/a&gt;, &lt;a href="http://portablecontacts.net/"&gt;Portable Contacts&lt;/a&gt; and &lt;a href="http://xrds-simple.net/"&gt;XRDS-Simple&lt;/a&gt;.  Here is a use case and one way it could work.&lt;br /&gt;&lt;br /&gt;I have an account at &lt;a href="http://www.flickr.com/"&gt;flickr&lt;/a&gt; and I create an album (flickr set) that I want to share with my extended family. Previously, I’ve associated my flickr account with my &lt;a href="http://www.plaxo.com/"&gt;plaxo&lt;/a&gt; account (using OAuth) to enable flickr to access my contacts (via “Portable Contacts”). Flickr needs to use XRDS-Simple to find my “portable contacts” service and OAuth discovery to set up the connection between the two services.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I tell flickr I want the new album (“Family photos”) protected and shared only with those people in my contacts lists that are labeled as “Family”.&lt;/li&gt;&lt;li&gt;Flickr marks the album as “protected” and remembers that those allowed to view the album are anyone who is a member of my “Family” tag at my “Portable Contacts” service.&lt;/li&gt;&lt;li&gt;I send out an email to my family members sending them the direct URL to the protected resource (note that flickr could also do this for me since it has a connection to my portable contacts service).&lt;/li&gt;&lt;li&gt;A family member receives the email and clicks the URL to the protected album at flickr&lt;/li&gt;&lt;li&gt;Flickr recognizes this is a protected resource and returns both the OAuth information for how to access the protected resource as well as HTML telling the user that the resource is protected and the user needs to authenticate&lt;/li&gt;&lt;li&gt;The family member logs into flickr using their OpenID (not currently supported)&lt;/li&gt;&lt;li&gt;Flickr takes the OpenID and asks my “Portable Contacts” service whether this OpenID has a tag of “Family” (basically a membership query; see previous &lt;a href="http://practicalid.blogspot.com/2008/09/tagging-for-contacts.html"&gt;post&lt;/a&gt;)&lt;/li&gt;&lt;li&gt;If the user's OpenID is a contact with a tag of “Family” then they get access to the album, otherwise they are denied&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;What’s currently missing to make this a reality are...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Relying parties accepting OpenIDs&lt;/li&gt;&lt;li&gt;Users knowing they have an OpenID and using them&lt;/li&gt;&lt;li&gt;Portable Contacts adding “membership” type APIs&lt;/li&gt;&lt;li&gt;Portable Contacts supporting an explicit 'urls' type of 'openid'&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;In finalizing this blog post, I read David Recordon's &lt;a href="http://radar.oreilly.com/2008/09/portable-contacts-api-starts-t.html"&gt;summary&lt;/a&gt; of the Portable Contacts hackathon held last night. The following quote shows this is very near reality, Yeah!&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://brianellin.com/"&gt;Brian Ellin&lt;/a&gt; of JanRain has successfully combined OpenID, XRDS-Simple, OAuth, and the Portable Contacts API to start showing how each of these building blocks should come together. Upon visiting his demo site he logs in using his OpenID. From there, the site discovers that Plaxo hosts his address book and requests access to it via OAuth. Finishing the flow, his demo site uses the Portable Contacts API to access information about his contacts directly from Plaxo. End to end, login with an OpenID and finish by giving the site access to your address book without having to fork over your password.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS-Simple" rel="tag"&gt;XRDS-Simple&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Sharing" rel="tag"&gt;Sharing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Access%20Control" rel="tag"&gt;Access Control&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8821288397500769571?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8821288397500769571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8821288397500769571' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8821288397500769571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8821288397500769571'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/09/protected-sharing-on-open-web.html' title='Protected Sharing on the Open Web'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3644196201563632415</id><published>2008-09-11T10:33:00.004-04:00</published><updated>2008-09-11T10:43:59.264-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tagging'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='Instant Message'/><category scheme='http://www.blogger.com/atom/ns#' term='Access Control'/><title type='text'>Tagging for contacts</title><content type='html'>Has any one else had this problem? You need to IM someone and you can't remember which group you filed their name under. I realize that if I just kept an alphabetized list, and I remembered their name this wouldn't be a problem. However, sometimes it not that I’m looking for a particular person, but someone on a particular team.&lt;br /&gt;&lt;br /&gt;Basically, what I’ve found is that I want to attach “tags” to my contacts that describe attributes about that person. Then I can find people by my own “folksonomy” whenever I need to. This would allow me to “query” my contacts (or IM client) by a “tag”. So I could say, “Show me all the architects at AOL that are currently online?”. It also allows me to do queries like “Does Bob have an ‘Extended Family’ tag?”. This is really a membership query and can be thought of as “Is Bob a member of the group ‘Extended Family’?”&lt;br /&gt;&lt;br /&gt;Combining tags with contact data allows for all sorts of interesting capabilities. For instance, my Adium IM client could query my &lt;a href="http://portablecontacts.net"&gt;Portable Contacts&lt;/a&gt; service for all contacts with at least one IM identifier present and return all IM identifiers and tags. With this information Adium could auto-create groups, show me a “tag-cloud” of who’s online, etc. Another use would be true access-controlled sharing of protected resources. I’ll have another post on that soon.&lt;br /&gt;&lt;br /&gt;With the emerging Portable Contacts &lt;a href="http://portablecontacts.net/draft-spec.html"&gt;specification&lt;/a&gt;, I think there is a great opportunity to enable this kind of capability in an open standard. The portable contacts spec already supports both tagging and filtering. What is a little unclear from a quick read of the specification is whether filters can be combined. However it should be easy with this specification to support the queries listed above.  For a membership style query, the following should suffice...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/@me/@all?filterBy=urls&amp;amp;filterOp=equals&amp;amp;filterValue=http://bob.example.com&amp;amp;filterBy=tags&amp;amp;filterOp=equals&amp;amp;filterValue=ExtendedFamily&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Tagging" rel="tag"&gt;Tagging&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Access%20Control" rel="tag"&gt;Access Control&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Instant%20Message" rel="tag"&gt;Instant Message&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3644196201563632415?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3644196201563632415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3644196201563632415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3644196201563632415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3644196201563632415'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/09/tagging-for-contacts.html' title='Tagging for contacts'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4152439871366468621</id><published>2008-09-03T12:59:00.003-04:00</published><updated>2008-09-03T14:12:18.452-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Protable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='Token'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Open'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Continuing the discussion...</title><content type='html'>This post is in response to the thoughts Praveen posted on his &lt;a href="http://whyidentity.blogspot.com"&gt;blog&lt;/a&gt; regarding Open Identity Tokens.&lt;br /&gt;&lt;br /&gt;These thoughts around an Open Identity Token are more focused on enabling sharing access-controlled resources than trying to duplicate existing OAuth functionality. One use case that OAuth doesn't currently solve is my desire to access a protected resource where I DON'T have an account at the service provider managing the protected resource. An Open Identity Token allows the service provider to allow access to the protected resource (not mine, but my friends) without my having to have an account at the service provider.&lt;br /&gt;&lt;br /&gt;My vision was that an Open Identity Token could be passed as part of a standard OAuth invocation allowing multiple verifiable identities to be specified in the API call. The OAuth mechanisms bind the Consumer, the Service Provider and the Identity into a single token. This doesn't leave room for additional identities.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Some specific comments to the points raised follow...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Bob’s discovery service" might not know Alice with the same Id (OpenID) - Bob might have only entered Alice's alternate email address that doesn't even resolve to the same OpenID that Alive used currently to sign in to HikingTrails.com&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I think this problem is out of scope for identity tokens. This is really an identity "association" problem and a problem space that I believe portable contacts could grow into solving. Just like with Adium (IM client for the mac) I can merge multiple IM identifiers into a single identity, I should be able to do the same with portable contacts. I would love to see portable contacts grow into allowing membership based APIs so that a service provider could contact my portable contacts server and say... "Is this identity token a member of George's 'hiking buddies'?".&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;HikingTrails.com might need to go back to Alice's OpenID provider for each (notification) service that it wants to invoke on behalf of the user. Bob might use notification service A, David might use notification service B, and so on... - where A, B, etc.. totally different services.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I don't think that hikingtrails.example.com would need to go back to Alice's OpenID provider. However, it would need to go to each of her friends discovery "service" to find their notification service. One of the goals is to allow the dynamic distribution enabled by the "web". To me this is the benefit of having a discovery "service". Any person or service can contact my discovery service and find my preferred services (much like the use case you outline as the end of your post). While in many cases my identity provider may also be my discover service it doesn't have to be that way and the protocols shouldn't require that.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;If the Identity/OpenID Provider provides a Open Token verification API, then it would have no way to make sure the token is being used at the same place for which it is granted. This goes back to the same problem that was solved by doing a RP Discovery in OpenID2.0.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Actually, I don't think the identity provider cares where the identity token is presented. The purpose of this identity token is to provide a "verifiable" identity (in the same vein that Amazon provides the "real name" feature). To me, the key is can the service provider that receives the identity token have confidence that this Consumer is "allowed" to send the identity token to the service provider. That's why the Consumer uses a nonce and a different hash value than is delivered to the Consumer by the identity provider.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;This requires a real discovery service (process) instead of a simple XRDS (static) file hosted some where - since the services defined in the XRDS will be anyway protected, there shouldn't be any harm in saying "my notification service is here and oh btw, it's only open to a restricted list of people so you might not be able to send notification to me".&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This is a great point. It does require more processing logic than just returning a file on disk. However, any protected resource requires a service, even when using OAuth so I don't see that as a big hurdle. Even if we separated the discovery information into public and non-public, it would still simplify the logic to be able to serve the non-public data based on an identity token versus a full OAuth UI experience.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Open Identity Token seems less trust worthy - of course the same problem that people attribute to OpenID but at least in OpenID case, it is not directly meant for a specific service invocation - it's merely for knowing who the user is and the RP/SP can do more things before it allows the user to do certain things.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I guess I'd argue that the trust of the token is dependent on a lot of factors. Does the service provider trust the identity provider? (this is that same trust question that OpenID faces). Can I trust the security of the protected token? (as described in my post it's probably only as good as OpenID "dumb mode", but that is pretty easily solvable). I'd also argue that there is great value in having a verifiable identity for certain operations. Yes, I can get a verifiable identity by using front-channel requests and asking the user to authenticate... again... but if it's not needed, why put the user through that experience?  Also, using a Open Identity Token where a verifiable identity is required significantly reduces the number of interactions between the Consumer and Service Provider.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;With an Open Identity Token...&lt;ol&gt;&lt;li&gt;Consumer accesses protected resource at the Service Provider with Open Identity Token&lt;/li&gt;&lt;li&gt;Service Provider verifies Open Identity Token with Identity Provider&lt;/li&gt;&lt;li&gt;Service Provider performs access-control check and returns response&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br/&gt;&lt;li&gt;With standard OAuth...&lt;ol&gt;&lt;li&gt;Consumer accesses protected resource at the Service Provider&lt;/li&gt;&lt;li&gt;Service Provider returns error and requests authorization&lt;/li&gt;&lt;li&gt;Consumer requests the RequestToken&lt;/li&gt;&lt;li&gt;Consumer sends user to the Service Provider 'Authorize' endpoint&lt;/li&gt;&lt;li&gt;The Service Provider uses the check_immediate method to attempt to authenticate the user (Assuming the Consumer sent the Service Provider an OpenID for the user)&lt;/li&gt;&lt;li&gt;The OpenID Provider returns that the user is logged in&lt;/li&gt;&lt;li&gt;The Service Provider invokes the Consumer's callback method (front-channel)&lt;/li&gt;&lt;li&gt;The Consumer requests the AccessToken&lt;/li&gt;&lt;li&gt;The Consumer re-tries the initial request for the protected resource (and gets access if the identity associated with the OAuth AccessToken is in the ACL)&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;In general in the current social networking era where things (notification) are more publish/subscribe model, not sure how important it is to solve this use case. Most of the user's anyway still use their email addresses not a notification service.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;With an Open Identity Token, there is no requirement that the UserIdentifier value be the user's OpenID. It could be the user's email address, an opaque blob, a signed SAML Assertion, etc. Again, I consider the identifier association problem to be "out of scope" for identity tokens.&lt;br /&gt;&lt;br /&gt;Thanks for the great comments. This is exactly the kind of discussion I hoped to start. One of my driving motivations in this is to enable easy access-controlled sharing such that my parents and in-laws don't have to have accounts at my personal photo service, and yet I can ensure that only the people I want can access my personal photos. I've never liked the security-by-obscurity model used for "privately" sharing my photos with others who don't use my preferred service.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Open" rel="tag"&gt;Open&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Token" rel="tag"&gt;Token&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4152439871366468621?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4152439871366468621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4152439871366468621' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4152439871366468621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4152439871366468621'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/09/continuing-discussion.html' title='Continuing the discussion...'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4893748441377021848</id><published>2008-09-03T08:26:00.003-04:00</published><updated>2008-09-03T08:56:43.281-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Service Invocation'/><category scheme='http://www.blogger.com/atom/ns#' term='Token'/><category scheme='http://www.blogger.com/atom/ns#' term='Open'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Open Identity Token</title><content type='html'>Assuming that an “Open Identity Token” is useful, here are some of my initial thoughts.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The identity token needs to clearly identify the identity provider that issued the token, some value that identifies the user, and I believe the party the token was initially issued to (the Consumer in OAuth speak).&lt;/li&gt;&lt;li&gt;The value that identifies the user must support opaque values to prevent this token becoming a global correlation handle (if desired by the involved parties). Of course, the user identifier could be the user’s OpenID.&lt;/li&gt;&lt;li&gt;The identity token must be signed in some way and protected from replay attacks.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;If we go back to the use case from yesterday’s &lt;a href="http://practicalid.blogspot.com/2008/09/protecting-discovery-information.html"&gt;post&lt;/a&gt;, using a Open Identity Token would enable the flow to work like this.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Alice logs into hikingtrails.example.com with her OpenID&lt;ul&gt;&lt;li&gt;When hikingtrails.example.com invokes the OpenID flow, it asks Alice’s OpenID provider to return an Open Identity Token&lt;/li&gt;&lt;li&gt;hikingtrails.example.com receives the OpenID assertion and Open Identity Token&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Alice uploads a GPS track and some photos of a new trail she hiked over the Labor Day weekend.&lt;/li&gt;&lt;li&gt;At the conclusion of her upload, hikingtrails.example.com asks Alice if it should notify her friends about her activity.&lt;/li&gt;&lt;li&gt;Alice thinks that’s a great idea and agrees.&lt;/li&gt;&lt;li&gt;So hikingtrails.example.com queries portablecontacts.example.com, using pre-established OAuth credentials, and retrieves Alice’s list of contacts with a tag of “hiking buddy”.&lt;/li&gt;&lt;li&gt;Now for each of these friends, hikingtrails.example.com has to discover the “notification” service and send it the new activity message.&lt;/li&gt;&lt;li&gt;One of Alice’s friends, Bob, only exposes the endpoint and metadata of his “notification” service to a restricted list of people&lt;/li&gt;&lt;li&gt;hikingtrails.example.com queries Bob’s discovery service presenting the Alice’s Open Identity Token&lt;/li&gt;&lt;li&gt;Bob’s discovery service validates Alice’s Open Identity Token and then returns the non-public service endpoint and metadata&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;In this flow, Alice does not have to interact via some user interface with Bob’s discovery service. Of course the identity represented in the Open Identity Token needs to be resolvable in to an identifier that Bob’s discovery service can use.&lt;br /&gt;&lt;br /&gt;Finally, here are some initial technical implementation ideas...&lt;br /&gt;&lt;br /&gt;I was thinking that the identity provider could construct the token and “sign” it with a HMAC_SHA? hash. The signature-base-string would be IdentityProvider:Consumer:UserIdentifier and the identity provider would construct a random value to use as the secret in the HMAC_SHA? hash. This value would need to be remembered based on the IdentityProvider:Consumer pair. What would be returned (probably base64’d) as the Open Identity Token would be “IdentityProvider:Consumer:UserIdentifier,hash”.&lt;br /&gt;&lt;br /&gt;When the Consumer that receives the token wants to use it in an API call, it constructs a unique Open Identity Token (to protect against replay of the token) for the API call. This token uses the hash received from the Identity Provider as the secret in a new HMAC_SHA? hash. The signature base string for this hash would be “IdentityProvider:Consumer:UserIdentifier:Nonce”. What would go on the wire as the token would be base64(“IdentityProvider:Consumer:UserIdentifier:Nonce,hash”).&lt;br /&gt;&lt;br /&gt;When a Service Provider receives the Open Identity Token, it can verify the token by sending it to the IdentityProvider specified in the token. For OpenID this would require a new extension and “API” method. Note that in the verification step, if the user identifier was opaque in the token it can be resolved into something the Service Provider can use. This allows for generating tokens that are unique to a specific context (no global correlation) while still providing the Service Provider with the data they need.&lt;br /&gt;&lt;br /&gt;In this model, only the identity provider can validate the Open Identity Token because it is the only entity (besides the Consumer) that has the secret used by the Consumer in signing the token. All the identity provider needs to do is look up the hash it gave to that Consumer and then use it in a HMAC_SHA? hash of the “IdentityProvider:Consumer:UserIdentifier:Nonce” string and finally compare hashes.&lt;br /&gt;&lt;br /&gt;I realize that going back to the Identity Provider to verify the token does have some drawbacks: privacy (leaking where this identity token is used), complexity and performance (an extra lookup/validation is required).  But since I’m not a security expert, I’m hoping that others will be able to modify these ideas to allow for direct Service Provider validation. It’s just critical to me that the mechanism used to generate the Open Identity Token allow for both un-defined “circles of trust” (e.g. OpenID) as well as more closed or dynamic “circles of trust” (e.g. SAML). This might be as simple as leveraging the OAuth signature method and then support RSA signing.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Open" rel="tag"&gt;Open&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Token" rel="tag"&gt;Token&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Service%20Innvocation" rel="tag"&gt;Service Innvocation&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4893748441377021848?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4893748441377021848/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4893748441377021848' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4893748441377021848'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4893748441377021848'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/09/open-identity-token.html' title='Open Identity Token'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2764845856393632744</id><published>2008-09-02T13:38:00.003-04:00</published><updated>2008-09-02T14:19:35.162-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Portable Contacts'/><category scheme='http://www.blogger.com/atom/ns#' term='Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Access Control'/><title type='text'>Protecting "discovery" information?</title><content type='html'>I’ve been thinking a lot lately about discovery of personal services (e.g. endpoint and metadata of my “&lt;a href="http://portablecontacts.net/"&gt;portable contacts&lt;/a&gt;” service, endpoint and metadata of my preferred “email service”, etc). One problem with enabling discovery of this kind of information is that it leaks information about me. For example, I might not want the world to know where I keep my personal photos?&lt;br /&gt;&lt;br /&gt;So the question is... How, in the world of open identity protocols, do I restrict access to a subset of my “discovery” information? The obvious answer is for the discovery service (or service provider in general) to restrict access based on the identity of the invoking party. However, how is that invoking identity presented? At first thought is seems like &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt; and &lt;a href="http://oauth.net/"&gt;OAuth&lt;/a&gt; should suffice, but it turns out this doesn’t work to well in practice.&lt;br /&gt;&lt;br /&gt;Let’s take the following example and walk it through.&lt;br /&gt;&lt;blockquote&gt;“Alice logs into her hiking site, uploads a GPS track and photos, and notifies her friends of the new information.”&lt;/blockquote&gt;&lt;ol&gt;&lt;li&gt;Alice logs into one of her favorite web sites (hikingtrails.example.com). &lt;/li&gt;&lt;li&gt;Alice uploads a GPS track and some photos of a new trail she hiked over the Labor Day weekend. &lt;/li&gt;&lt;li&gt;At the conclusion of her upload, hikingtrails.example.com asks Alice if it should notify her friends about her activity. &lt;/li&gt;&lt;li&gt;Alice thinks that’s a great idea and agrees. &lt;/li&gt;&lt;li&gt;So hikingtrails.example.com queries portablecontacts.example.com, using pre-established OAuth credentials, and retrieves Alice’s list of contacts with a tag of “hiking buddy”. &lt;/li&gt;&lt;li&gt;Now for each of these friends, hikingtrails.example.com has to discover the “notification” service and send it the new activity message.&lt;/li&gt;&lt;li&gt;One of Alice’s friends, Bob, only exposes the endpoint and metadata of his “notification” service to a restricted list of people.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;It’s at this point that things begin to break down. How does hikingtrails.example.com identify Alice to Bob’s discovery service so that hikingtrails.example.com can attempt to discover Bob’s “notification” service? There currently isn’t a binding for OAuth to be used with XRDS discovery, and even if there were, it would mean that Alice would have to have an “account” at Bob’s discovery service in order for the discovery service to be able to authenticate Alice and establish OAuth credentials. While this would only have to be done once with Bob’s discovery service, the user experience would have to be repeated with each of Alice’s friend’s discovery service. That seems like over kill for the simple purpose of identifying Alice to Bob's discovery service.&lt;br /&gt;&lt;br /&gt;A possible solution would be an “open identity token” that could be created by an identity provider and passed to any service provider. I have some thoughts on this that I hope to expound on in another post.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Discovery" rel="tag"&gt;Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Portable%20Contacts" rel="tag"&gt;Portable Contacts&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Access%20Control" rel="tag"&gt;Access Control&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2764845856393632744?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2764845856393632744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2764845856393632744' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2764845856393632744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2764845856393632744'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/09/protecting-discovery-information.html' title='Protecting &quot;discovery&quot; information?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3323123535480938125</id><published>2008-08-06T13:22:00.001-04:00</published><updated>2008-08-06T13:22:08.777-04:00</updated><title type='text'>Identity-based discovery for the masses</title><content type='html'>&lt;font size="3"&gt;The ability to link people relationships to services in a very dynamic and distributed way is beginning to emerge. Envision a world where current social network relationships enable the discovery of personal services about any particular identity.&lt;br /&gt;&lt;br /&gt;Consider the following use case: I want to notify (via the preferred mechanism of the recipient) all the people tagged as “close friends” in my “address book” or “social network”.&lt;br /&gt;&lt;br /&gt;The problem is that while address books and social networks can know the relationship of “close friend”, they usually don’t have any way of knowing the “preferred mechanism of the recipient” to receive notifications. What’s needed is a way to “discover” via the identifiers in the “social relationship” the personal services of any particular individual.&lt;br /&gt;&lt;br /&gt;So, what’s changing? A “new” community specification &lt;a href="http://groups.google.com/group/eaut?hl=en"&gt;EAUT&lt;/a&gt; (Email-Address-to-URL-Transform) is being completed that allows an email address to be transformed (or mapped) into an OpenID. While this, in and of itself, is valuable for the adoption of the &lt;a href="http://openid.net"&gt;OpenID&lt;/a&gt; protocol, what I find really interesting is that since OpenID relies on &lt;a href="http://xrds-simple.net/core/1.0/"&gt;XRDS&lt;/a&gt; for discovering the individual’s OpenID Provider, the mechanism is in place to discover any other service. This really enables an email-to-personal-service-discovery path that can launch a whole new set of use cases.&lt;br /&gt;&lt;br /&gt;Even if the user doesn’t know anything about OpenID... the user’s social network could easily retrieve the OpenID’s for all of the user’s social relationships (since most are based on email address or have access to the email address). The social network could then provide additional services based on this discoverable information.&lt;br /&gt;&lt;br /&gt;With most of the major identity providers already providing OpenIDs, all that's needed is for these players to support the EAUT specification.&lt;/font&gt;&lt;br /&gt;&lt;font size="2"&gt;&lt;br /&gt;[Disclaimer for my Liberty Alliance colleagues: These capabilities are already supported by combining the &lt;a href="http://www.projectliberty.org/liberty/resource_center/faq/people_service__1"&gt;People Service&lt;/a&gt; and the Discovery Service for SOAP based deployments.]&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Discovery" rel="tag"&gt;Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/EAUT" rel="tag"&gt;EAUT&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS" rel="tag"&gt;XRDS&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3323123535480938125?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3323123535480938125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3323123535480938125' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3323123535480938125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3323123535480938125'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/08/identity-based-discovery-for-masses.html' title='Identity-based discovery for the masses'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2076629161117632892</id><published>2008-06-03T09:08:00.002-04:00</published><updated>2008-06-03T09:10:32.815-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Friends'/><category scheme='http://www.blogger.com/atom/ns#' term='Classification'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSocial'/><title type='text'>Friend Classifications</title><content type='html'>A colleague of fine was mentioning recently that it's "hard to keep contacts separate (work/friends/family)" on all the different social networking sites. I couldn't agree more. This is made additionally hard by the fact that each "social network" site imposes their own "classification" of friends. These classifications are not mine and I have to morph my view of my contacts into these imposed rigors.&lt;br /&gt;&lt;br /&gt;I would much prefer to be able to manage my contact classifications as "tags". Taxonomies force me into specifying that a contact can be in only one group. I have work colleagues that are also friends. If I could "tag" all my contacts with my own classification scheme and then use that when interacting with social networking sites, life would be much simpler.&lt;br /&gt;&lt;br /&gt;I guess this is the "promise" of the "Open Social Web".&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Friends" rel="tag"&gt;Friends&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Classification" rel="tag"&gt;Classification&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Open%20Social" rel="tag"&gt;Open Social&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2076629161117632892?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2076629161117632892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2076629161117632892' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2076629161117632892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2076629161117632892'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/06/friend-classifications.html' title='Friend Classifications'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-884489134151805153</id><published>2008-05-15T11:26:00.000-04:00</published><updated>2008-05-15T12:27:10.816-04:00</updated><title type='text'>XRDS for Information Cards?</title><content type='html'>One of the topics that came up at the most recent IIW (IIW2008a) in a couple of sessions, is the concept of allowing an RP/SP to describe it's services and requirements in a passive way. The goal being to allow "Identity Agents" to provide a progressively better user experience. A user should be able to interact with the RP in a normal "dumb" browser session, but also allow tools (e.g. an Identity Agent) to provide a much more seamless experience.&lt;br /&gt;&lt;br /&gt;In an InfoCard Capabilities session, lead by &lt;a href="http://eternaloptimist.wordpress.com/"&gt;Pamela Dingle&lt;/a&gt;, there was some discussion about how to do this technically. The following is a proposal for one way this might be accomplished.&lt;br /&gt;&lt;br /&gt;The "Relying Party" would need to...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;define an XRDS file describing identity protocols supported, services provided, and other metadata&lt;/li&gt;&lt;li&gt;allow for discovery of the XRDS file through normal &lt;a href="http://docs.oasis-open.org/xri/2.0/specs/xri-resolution-V2.0.html"&gt;XRI resolution&lt;/a&gt; (section 6)&lt;/li&gt;&lt;li&gt;additionally allow for discovery by adding a &lt;pre&gt;&amp;lt;link rel=”xrds.metadata” target=”location-of-xrds-file”/&amp;gt;&lt;/pre&gt; in the &amp;lt;head&amp;gt; section of the pages provided by the relying party&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The "Identity Agent" would need to...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;look in web page dom for the xrds.metadata link&lt;/li&gt;&lt;li&gt;retrieve and parse XRDS document&lt;/li&gt;&lt;li&gt;find supported identity mechanisms and endpoints&lt;/li&gt;&lt;li&gt;invoke card selector&lt;/li&gt;&lt;li&gt;allow user to select card&lt;/li&gt;&lt;li&gt;post card to endpoint specified in the XRDS document&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;What could the XRDS markup look like for an InfoCard relying party?&lt;br /&gt;&lt;br /&gt;First we need to define some &amp;lt;Type&amp;gt; URIs to represent different metadata characteristics of the relying party relating to InfoCards. Here are some possible examples...&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;Type&amp;gt;http://infocardfoundation.org/policy/1.0/login&amp;lt;/Type&amp;gt;&lt;/pre&gt;    This type identifies the service/endpoint describing the claims required for login.&lt;br /&gt;&lt;pre&gt;&amp;lt;Type&amp;gt;http://infocardfoundation.org/policy/1.0/registration&amp;lt;/Type&amp;gt;&lt;/pre&gt;    This type identifies the service/endpoint describing the claims required for registration.&lt;br /&gt;&lt;pre&gt;&amp;lt;Type&amp;gt;http://infocardfoundation.org/service/1.0/login&amp;lt;/Type&amp;gt;&lt;/pre&gt;    This type identifies the service/endpoint where the login token should be sent.&lt;br /&gt;&lt;pre&gt;&amp;lt;Type&amp;gt;http://infocardfoundation.org/service/1.0/registration&amp;lt;/Type&amp;gt;&lt;/pre&gt;    This type identifies the service/endpoint where the registration token should be sent.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;An example XRDS document could look like...&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;      &amp;lt;?xml version=1.0 encoding=UTF-8?&amp;gt;&lt;br /&gt;      &amp;lt;XRDS xmlns=xri://$xrds&amp;gt;&lt;br /&gt;        &amp;lt;XRD xmlns=xri://$XRD*($v*2.0) version=2.0&amp;gt;&lt;br /&gt;          &amp;lt;Type&amp;gt;xri://$xrds*simple&amp;lt;/Type&amp;gt;&lt;br /&gt; &amp;lt;!-- Service specification that identifies the endpoint of the infocard policy for login claims --&amp;gt;&lt;br /&gt; &amp;lt;Service&amp;gt;&lt;br /&gt;  &amp;lt;Type&amp;gt;http://infocardfoundation.org/policy/1.0/login&amp;lt;/Type&amp;gt;&lt;br /&gt;  &amp;lt;URI&amp;gt;http://sp.example.com/policy/login.xml&amp;lt;/URI&amp;gt;&lt;br /&gt; &amp;lt;/Service&amp;gt;&lt;br /&gt; &amp;lt;!-- Service specification that identifies the endpoint of the infocard policy for registration claims --&amp;gt;&lt;br /&gt; &amp;lt;Service&amp;gt;&lt;br /&gt;  &amp;lt;Type&amp;gt;http://infocardfoundation.org/policy/1.0/registration&amp;lt;/Type&amp;gt;&lt;br /&gt;  &amp;lt;URI&amp;gt;http://sp.example.com/policy/registration.xml&amp;lt;/URI&amp;gt;&lt;br /&gt; &amp;lt;/Service&amp;gt;&lt;br /&gt; &amp;lt;!-- Service specification that identifies the endpoint for submitting login claims --&amp;gt;&lt;br /&gt; &amp;lt;Service&amp;gt;&lt;br /&gt;  &amp;lt;Type&amp;gt;http://infocardfoundation.org/service/1.0/login&amp;lt;/Type&amp;gt;&lt;br /&gt;  &amp;lt;URI&amp;gt;http://sp.example.com/login&amp;lt;/URI&amp;gt;&lt;br /&gt; &amp;lt;/Service&amp;gt;&lt;br /&gt; &amp;lt;!-- Service specification that identifies the endpoint of the infocard policy for login claims --&amp;gt;&lt;br /&gt; &amp;lt;Service&amp;gt;&lt;br /&gt;  &amp;lt;Type&amp;gt;http://infocardfoundation.org/service/1.0/registration&amp;lt;/Type&amp;gt;&lt;br /&gt;  &amp;lt;URI&amp;gt;http://sp.example.com/registration&amp;lt;/URI&amp;gt;&lt;br /&gt; &amp;lt;/Service&amp;gt;&lt;br /&gt;        &amp;lt;/XRD&amp;gt;&lt;br /&gt;      &amp;lt;/XRDS&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-884489134151805153?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/884489134151805153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=884489134151805153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/884489134151805153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/884489134151805153'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/05/xrds-for-information-cards.html' title='XRDS for Information Cards?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8389182603308601565</id><published>2008-05-08T09:31:00.000-04:00</published><updated>2008-05-08T09:37:17.088-04:00</updated><title type='text'>How times change</title><content type='html'>I must be getting "old" as I find the following humorous. &lt;br /&gt;&lt;br /&gt;The other morning my daughter said she was doing a report on "family life" in the 1980's. My wife (who likes to research things) grabbed her laptop and started looking information on the 1980s. She finds a site and reads something like...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;In the early 80's, the computer game "Pac Man" was released in color making all previous black and white games obsolete.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To which my daughter responds... "What's Pac Man?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8389182603308601565?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8389182603308601565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8389182603308601565' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8389182603308601565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8389182603308601565'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/05/how-times-change.html' title='How times change'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6631302564565890838</id><published>2008-05-02T10:31:00.000-04:00</published><updated>2008-05-02T10:34:47.131-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Convergence'/><category scheme='http://www.blogger.com/atom/ns#' term='Technical'/><category scheme='http://www.blogger.com/atom/ns#' term='Community'/><title type='text'>Community Convergence</title><content type='html'>There has been much talk in our industry about Technical Convergence (i.e. moving toward one protocol for a particular task). However, before there can be Technical Convergence, there needs to Community Understanding and potentially Convergence.&lt;br /&gt;&lt;br /&gt;That's why I'm excited to be attending the &lt;a href="http://iiw.idcommons.net/index.php/Iiw2008a"&gt;Internet Identity Workshop&lt;/a&gt; in Mt. View, CA the week of May 12. This is one of those places where Community Understanding takes place and sometimes even Community Convergence.&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Convergence" rel="tag"&gt;Convergence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Community" rel="tag"&gt;Community&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Technical" rel="tag"&gt;Technical&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6631302564565890838?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6631302564565890838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6631302564565890838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6631302564565890838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6631302564565890838'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/05/community-convergence.html' title='Community Convergence'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8873476043985587646</id><published>2008-04-09T09:49:00.001-04:00</published><updated>2008-04-09T09:57:04.474-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Relying Party'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Discovering OpenID Relying Parties</title><content type='html'>Yesterday Paul &lt;a href="http://connectid.blogspot.com/2008/04/confirmed-site-identity.html"&gt;blogged&lt;/a&gt; about his experience logging into &lt;a href="http://www.wishlistr.com"&gt;Wishlistr&lt;/a&gt; with his &lt;a href="http://www.yahoo.com"&gt;Yahoo&lt;/a&gt; &lt;a href="http://openid.net"&gt;OpenID&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;But, when I tried to do so, Yahoo! showed me the following warning&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ClkXB6AwBIs/R_tyvtvYovI/AAAAAAAAAkk/ZMN5PykYEW4/s400/Screen+00002.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://4.bp.blogspot.com/_ClkXB6AwBIs/R_tyvtvYovI/AAAAAAAAAkk/ZMN5PykYEW4/s400/Screen+00002.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;What would Wishlistr need to do to 'confirm its identity' to Yahoo such that users wouldn't see this (likely enthusiasm killing) warning?&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I commented on Paul's blog that it might have something to do with OpenID Relying Party discovery. Section 9.2.1 of the OpenID 2 spec defines how to verify the return_to URL in an OpenID authentication.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;OpenID providers SHOULD verify that the return_to URL specified in the request is an OpenID relying party endpoint. To verify a return_to URL, obtain the relying party endpoints for the realm by performing discovery on the relying party.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I tried requesting the XRDS description from Wishlistr to no avail (&lt;span&gt;curl --header "Accept: application/xrds+xml" -i -v http://www.wishlistr.com&lt;/span&gt; ). Section 13 of the OpenID 2 spec makes it a SHOULD for relying parties to support discovery. With the adoption of OpenID 2 just beginning to ramp up, relying parties supporting discovery may be a ways away.&lt;br /&gt;&lt;br /&gt;Please note that this is just my guess as to what might be causing the warning. There are many other possible causes as well. Though I do believe that RP discovery is a key feature of OpenID 2.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Discovery" rel="tag"&gt;Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Relying%20Party" rel="tag"&gt;Relying Party&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8873476043985587646?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8873476043985587646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8873476043985587646' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8873476043985587646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8873476043985587646'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/04/discoerying-openid-relying-parties.html' title='Discovering OpenID Relying Parties'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_ClkXB6AwBIs/R_tyvtvYovI/AAAAAAAAAkk/ZMN5PykYEW4/s72-c/Screen+00002.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3685985305363772681</id><published>2008-04-03T16:53:00.000-04:00</published><updated>2008-04-03T17:03:40.522-04:00</updated><title type='text'>Identity API for the Internet Identity Layer</title><content type='html'>Patrick Harding has a great post today on "&lt;a href="http://blog.pingidentity.com/blog/ctotalk/2008/04/03/3A3389D2ACE54B1769300291F453323E"&gt;A Model for an Internet Identity Layer&lt;/a&gt;". He breaks down the Identity Layer into three sub-layers. It addition he points out that...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;In addition, we have found that applications developers are spending far too much time concerning themselves with the lower levels of the identity layer. App developers need to be able to leverage a standard identity API interface that interacts with the claims sub-layer. The developer should receive all the information it needs via this API directly from the claims sub-layer. This information obviously manifests as claims and as such means that application, by default, must become claims aware. Today, this likely just means user attributes or a role value, but in the future this may include actual authorization decisions. Leveraging a standard API that allows an application to plug-and–play with the identity layer offers some future proofing as the identity protocols underneath change.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Interestingly enough, Phil Hunt talks specifically about this issue his &lt;a href="http://independentidentity.blogspot.com/2008/04/working-on-it.html"&gt;post&lt;/a&gt; yesterday.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;You see, the idea isn't just to support identity privacy and governance, but to create an application identity API (aka Attribute Services API) that allows applications to become decoupled these issues of having to support all the protocols and technologies out there. It lets the enterprise's decide how and when applications should access identity information and by what means.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The API the Phil references is the &lt;a href="http://www.openliberty.org/wiki/index.php/IGF_AttrSvcs_API"&gt;IGF AttrSvcs API&lt;/a&gt; that is part of the &lt;a href="http://www.openliberty.org/wiki/index.php/Main_Page"&gt;openLiberty&lt;/a&gt; project. I believe this API address a key component of the "Identity Interface" and "claims sub-layer". It's going to be very important to track policy at the "Identity Interface" and the &lt;a href="http://www.projectliberty.org/strategic_initiatives/identity_governance"&gt;Identity Governance Framework&lt;/a&gt; addresses these issues.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3685985305363772681?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3685985305363772681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3685985305363772681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3685985305363772681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3685985305363772681'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/04/identity-api-for-internet-identity.html' title='Identity API for the Internet Identity Layer'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5927822228033546712</id><published>2008-04-02T09:00:00.000-04:00</published><updated>2008-04-02T09:15:01.751-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Trust'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Trust relationships in OpenID</title><content type='html'>A while back I &lt;a href="http://openid.net/pipermail/general/2008-February/004198.html"&gt;wrote&lt;/a&gt; the following to the OpenID general list serv.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;As I see it there are 3 parties involved in the transaction: the user, the OP and the RP. There is some trust/risk factor associated with each relationship.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;From the user's perspective they "trust" the OP (either because they want to spam and so are using an OP that makes "false assertions", or because they trust the OP to protect their authentication credentials and represent them correctly on the web). The user may or may not trust the RP, but by logging in they are making some level of trust/risk assessment.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;From the OP's perspective the user represents some risk/value metric (too many "bad" users and the OP gets blacklisted). The OP protects that risk by potentially verifying email or cell number, supporting PAPE and other strong authentication methods, etc. The OP also has a risk/value metric with the RP though this is probably not super important right now. I can envision a smart OP warning me about authenticating to an RP that it some how determined is not "trustworthy".&lt;/p&gt;&lt;br /&gt;&lt;p&gt;From the RP's perspective, they have a risk/value metric on the user (e.g. Is the user going to be a good citizen of my community? Are they going to abuse the resources I provide? How much effort do I want to put into detecting "bad apples"?). The RP also has a risk/value metric on the OP (e.g. When the OP says they support the PAPE extension do they really do it?). Finally the RP has a risk/value metric on the resource/service they provide. From a business perspective I don't believe it's wise to blatantly "trust" the user if the resource/service is highly valuable (e.g. moving funds between accounts). Most users today don't have the sophistication to make good decisions.&lt;/p&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Ok, so maybe I was a little unfair in my characterization of “most users”. I was trying to say that I don't believe many users know how to chose a good OP. In fact many will just use an OP they already have (which puts pressure on those OPs to be good citizens; that's a “good thing”). So, if an RP has a high trust metric with the user's OP, then they can more confidently trust the user as well. On the RP side its really an assessment of risk against the “User:OP“ pair.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Trust" rel="tag"&gt;Trust&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5927822228033546712?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5927822228033546712/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5927822228033546712' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5927822228033546712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5927822228033546712'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/04/trust-relationships-in-openid.html' title='Trust relationships in OpenID'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-7742941188211083837</id><published>2008-03-27T13:02:00.000-04:00</published><updated>2008-03-27T13:16:00.660-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataPortability'/><category scheme='http://www.blogger.com/atom/ns#' term='Information Card'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSocial'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Foundation'/><title type='text'>"Open" Foundation Overload</title><content type='html'>With the creation of the &lt;a href="http://sites.google.com/a/opensocial.org/opensocial/Home"&gt;OpenSocial Foundation&lt;/a&gt;, the &lt;a href="http://dataportability.org/"&gt;DataPortability&lt;/a&gt; Group (they'll need a Foundation soon), the &lt;a href="http://web3id.org/mediawiki/index.php/Founders_Overview"&gt;Information Card Foundation&lt;/a&gt; and of course the now established &lt;a href="http://openid.net/foundation/"&gt;OpenID Foundation&lt;/a&gt;... I'm getting "foundationed" out.&lt;br /&gt;&lt;br /&gt;I wonder if the community couldn't do something closer to OASIS and have one over arching Foundation with sub-groups working in each of these important areas. The IPR could be consistent for all the groups, but each group would have it's own "board of directors" and control the results of specifications and other efforts.&lt;br /&gt;&lt;br /&gt;All the different focuses are important, and new areas will arise as the identity layer grows across the internet. However, convincing "management" to join multiple different organizations is a deterrent to participation. &lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenSocial" rel="tag"&gt;OpenSocial&lt;/a&gt;, &lt;a href="http://technorati.com/tag/DataPortability" rel="tag"&gt;DataPortability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Information%20Cards" rel="tag"&gt;Information Cards&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Foundation" rel="tag"&gt;Foundation&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-7742941188211083837?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/7742941188211083837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=7742941188211083837' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7742941188211083837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7742941188211083837'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/03/open-foundation-overload.html' title='&quot;Open&quot; Foundation Overload'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-697742948225882809</id><published>2008-03-24T18:04:00.000-04:00</published><updated>2008-03-24T18:12:14.513-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><title type='text'>Is AOL exploiting OpenID?</title><content type='html'>Today, Michael Arrington (of Tech Crunch) posted an &lt;a href="http://www.techcrunch.com/2008/03/24/is-openid-being-exploited-by-the-big-internet-companies/"&gt;article&lt;/a&gt; posturing that &lt;a href="http://www.aol.com"&gt;AOL&lt;/a&gt; (along with &lt;a href="www.microsoft.com"&gt;Microsoft&lt;/a&gt;, &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt; and &lt;a href="http://www.yahoo.com"&gt;Yahoo&lt;/a&gt;) are attempting to exploit &lt;a href="http://openid.net"&gt;OpenID&lt;/a&gt; by being OpenID Providers (OP) and not becoming OpenID Relying Parties (RP). I attempt to address a number of issues in this post below.&lt;br /&gt;&lt;blockquote&gt;"By becoming Issuing parties, AOL and Yahoo hope to see their users logging in all over the Internet with those credentials. But they don’t accept IDs from anywhere else, so anyone that uses their services has to create new credentials with them. It’s all gain, no pain."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;In addition to not being true (about AOL), the above statement doesn't make sense. There is little value in having to store a user's identity credentials and then verifying against them when it comes to identity management. A company's decisions around when to require a local account and when to accept 3rd party identities revolves around the risk of the resources being offered. If the 3rd party identity provider (in this case an OP) is trustworthy, then it's much preferrable to "outsource" the identity verification to that provider rather than deal with the security and privacy issues of storing credentials. Plus with OPs that support one-time-passwords, hardware tokens, etc, a RP can gain the benefit of strong authentication without having to implement the infrastructure themselves. So, it's not "all gain, no pain". In fact, requiring people to create account is PAINFUL (both for the company and for the user).&lt;br /&gt;&lt;blockquote&gt;"Issuing parties make their user accounts OpenID compatible. Relying parties are websites that allow users to sign into their sites with credentials from Issuing parties. Of course, sites can also be both. In fact, if they aren’t both [OP and RP] it can be confusing and isn’t a good user experience."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Actually, I would disagree with this statement. The point of OpenID is to provide a user with a few identities (maybe one) that they can use at many web sites across the internet. This means that many sites will just be RPs and won't need to support the OP parts of the protocol. I do agree that the next wave of adoption will be more sites (large and small) becoming RPs.&lt;br /&gt;&lt;br /&gt;For AOL, being an RP is important because it allows more people to use our services without requiring them to create yet another account with another password to remember. The more people that visit and interact with AOL services, the more successful AOL will be. Both &lt;a href="http://www.ficlets.com"&gt;ficlets&lt;/a&gt; and &lt;a href="http://www.circavie.com"&gt;Circa Vie&lt;/a&gt; are OpenID relying parties and a substantial number of their users are 3rd party OpenIDs.&lt;br /&gt;&lt;blockquote&gt;"It’s time for these companies to do what’s right for the users and fully adopt OpenID as relying parties. That doesn’t fit in with their strategy of owning the identity of as many Internet users as possible, but it certainly fits in with the Internet’s very serious need for an open, distributed and secure single log in system (OpenID is all three)."&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I have two things in regards to this quote. First, it is not AOL's strategy to "own the identity of as many Internet users as possible". I've already stated why above. Second, there is another element that is key to the "Internet's very serious need" and that is "trust". Some call it reputation. It's great that OpenID 2.0 is open, distributed and secure (from a data-on-the-wire perspective). However, relying parties need to assess the business risk in regards to the resources (e.g. free storage, free domain names, free email) they are providing. With OpenID 2.0, it's possible to implement an OpenID Provider that claims using strong authentication to verify the user but in reality is not even requiring a password. This means anyone can sign up at any RP without needing an account at the OP. The RP needs to determine if the business risk to this kind of abuse is acceptable.&lt;br /&gt;&lt;br /&gt;I believe it is this later case that is causing the larger companies to move more slowly when it comes to enabling all their services to 3rd party OpenIDs. Note that not even at Live Journal can you create an account with a 3rd party OpenID. What you can do at Live Journal is leave comments and be added to friend's lists.&lt;br /&gt;&lt;br /&gt;[Disclaimer: For those that don't already know, I work for AOL.]&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/AOL" rel="tag"&gt;AOL&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-697742948225882809?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/697742948225882809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=697742948225882809' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/697742948225882809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/697742948225882809'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/03/is-aol-exploiting-openid.html' title='Is AOL exploiting OpenID?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1222788676287683383</id><published>2008-03-05T10:59:00.000-05:00</published><updated>2008-03-05T11:09:05.381-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Authentication'/><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenAIM'/><title type='text'>Authentication for clients</title><content type='html'>Today AOL relaunched the &lt;a href="http://dev.aol.com/aim"&gt;OpenAIM&lt;/a&gt; initiative. One of the key parts of this effort is supporting authentication for clients (whether those clients are native code or FLASH/AIR/Silverlight/etc). To enable this we added a '&lt;a href="http://dev.aol.com/authentication_for_clients"&gt;clientLogin&lt;/a&gt;' API to our &lt;a href="http://dev.aol.com/openauth_api"&gt;OpenAuth&lt;/a&gt; suite of APIs.&lt;br /&gt;&lt;br /&gt;This support is to enable a user experience that comfortable to AOL's existing members. If a user installs a client application, it is expected that any authentication that is needed is done through the client. To secure this method we use the password and a session key (transfered via SSL) to sign all requests from the client application. This ensures that all valid requests are coming from a client where the user entered their password. In addition, all API calls are monitored for abuse.&lt;br /&gt;&lt;br /&gt;For the signing mechanism we used the OAuth signature base string method. However, given that we already had parameter names (in existing APIs) that map to the OAuth parameter names, we used the existing parameter names in favor of the OAuth names. Otherwise, the logic is the same.&lt;br /&gt;&lt;br /&gt;I realize that from a pure privacy and security perspective, the OAuth flow of "popping" a browser and having the user only enter their credentials at the "owning" IdP is better. However, for many of our customers this is an unexpected user experience. clientLogin enables the desired user experience.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenAIM" rel="tag"&gt;OpenAIM&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Authentication" rel="tag"&gt;Authentication&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1222788676287683383?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1222788676287683383/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1222788676287683383' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1222788676287683383'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1222788676287683383'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/03/authentication-for-clients.html' title='Authentication for clients'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-299134527406806356</id><published>2008-03-05T10:34:00.000-05:00</published><updated>2008-03-05T10:36:10.303-05:00</updated><title type='text'>How times change</title><content type='html'>A couple nights ago my teenage son was on the family computer “working” on facebook. &lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;So I asked him “How are your friends doing?” (trying to be a good parent and get my kids to talk:) ). &lt;br /&gt;&lt;br /&gt;My son answers “I'm trying to help Judson and Samuel be friends” (names changed to protect the innocent).&lt;br /&gt;&lt;br /&gt;I ask, “Why, are they not getting along? Did something happen?” (rather surprised).&lt;br /&gt;&lt;br /&gt;“No”, he answers, “they can't find each other on facebook.”&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I should have known.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-299134527406806356?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/299134527406806356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=299134527406806356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/299134527406806356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/299134527406806356'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/03/how-times-change.html' title='How times change'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-341954960258454362</id><published>2008-02-13T17:00:00.000-05:00</published><updated>2008-02-13T17:08:34.078-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><title type='text'>Valentine's one day early</title><content type='html'>I'm not sure what it is about Valentine's Day and Virginia but this is the &lt;a href="http://practicalid.blogspot.com/2007/02/valentines-day-in-va.html"&gt;second&lt;/a&gt; year in a row.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/R7NpjcNN-bI/AAAAAAAAAI4/B_Urt_wd5zQ/s1600-h/DSCN1689.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__OXBEeawNCY/R7NpjcNN-bI/AAAAAAAAAI4/B_Urt_wd5zQ/s400/DSCN1689.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5166589255112063410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/R7Np8cNN-cI/AAAAAAAAAJA/5ToL4-VEthY/s1600-h/DSCN1683.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__OXBEeawNCY/R7Np8cNN-cI/AAAAAAAAAJA/5ToL4-VEthY/s400/DSCN1683.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5166589684608793026" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-341954960258454362?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/341954960258454362/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=341954960258454362' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/341954960258454362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/341954960258454362'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/02/valentines-one-day-early.html' title='Valentine&apos;s one day early'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/R7NpjcNN-bI/AAAAAAAAAI4/B_Urt_wd5zQ/s72-c/DSCN1689.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1172149131973522093</id><published>2008-02-06T11:40:00.000-05:00</published><updated>2008-02-06T11:47:54.588-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email2url'/><category scheme='http://www.blogger.com/atom/ns#' term='Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>More on Email to URL discovery</title><content type='html'>Just a couple more thoughts on this topic.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;I believe that the mapping from email domain to XRDS URL should include some addition pattern to make deployments easier. Deploying a servlet or other mechanism on the root email domain is not always easy. Having a different pattern such as xrds.my-email-service.domain would simplify deployment issues.&lt;/li&gt;&lt;li&gt;While it is nice that an email to URL mapping service can provide user-centric identifier management, I don't know how much it will be used by the general public. Discovering that the email provider is also an OpenID 2.0 provider would be enough to start a directed identity flow. This I believe would be more convenient for most users.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1172149131973522093?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1172149131973522093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1172149131973522093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1172149131973522093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1172149131973522093'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/02/more-on-email-to-url-discovery.html' title='More on Email to URL discovery'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1634606595765571385</id><published>2008-02-05T13:07:00.000-05:00</published><updated>2008-02-05T13:19:44.054-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email2url'/><category scheme='http://www.blogger.com/atom/ns#' term='Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Email to URL discovery</title><content type='html'>In the ongoing "world" of IdP discovery a new &lt;a href="http://brad.livejournal.com/2357444.html"&gt;proposal&lt;/a&gt; has been made by Brad Fitzpatrick on his blog. This proposal provides for a direct mapping between an email address and a personal URL (e.g. an OpenID).  The mapping between the email address and personal URL is provided by an email2url_mapping service run by the email provider. Discovery of the email2url_mapping service endpoint is found via XRI URL resolution on the domain of the email address.&lt;br /&gt;&lt;br /&gt;Whether the user needs the full indirection capability to have an arbitrary mapping between email address and URL or is fine with allowing the email provider to be their OP/IdP is yet to be seen. It is encouraging to see consumer's UX needs being addressed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1634606595765571385?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1634606595765571385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1634606595765571385' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1634606595765571385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1634606595765571385'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/02/email-to-url-discovery.html' title='Email to URL discovery'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5362826187726403902</id><published>2008-01-19T11:46:00.000-05:00</published><updated>2008-01-19T12:12:15.867-05:00</updated><title type='text'>Looking at the evidence...</title><content type='html'>... it seems that we still have a ways to go when it comes to user education, user-centric identity and IdP discovery. I applaud Yahoo! and Blogger for supporting OpenID by being OpenID Providers. That is a huge step forward. However, it's interesting to note how these main stream relying party (RP) sites are implementing the user experience.&lt;br /&gt;&lt;table border="0"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/R5IrsJFPaAI/AAAAAAAAAIY/I2ajPKCBsf4/s1600-h/10.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/R5IrsJFPaAI/AAAAAAAAAIY/I2ajPKCBsf4/s320/10.png" alt="" id="BLOGGER_PHOTO_ID_5157232560644777986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;From the OpenID &lt;a href="http://openid.net/pipermail/general/2008-January/003967.html"&gt;listserv&lt;/a&gt; it appears that Yahoo! would prefer RPs to put a &lt;a href="http://developer.yahoo.com/openid/loginbuttons.html"&gt;Yahoo! logo&lt;/a&gt; on their site that is clickable to enable Yahoo! users (and others) to login to that site (using the "&lt;a href="http://openid.net/pipermail/general/2006-November/thread.html#541"&gt;directed identity&lt;/a&gt;" flow).&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/R5Ir_JFPaBI/AAAAAAAAAIg/6MAvgdHQ2k0/s1600-h/blogger+OpenID.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/R5Ir_JFPaBI/AAAAAAAAAIg/6MAvgdHQ2k0/s320/blogger+OpenID.jpg" alt="" id="BLOGGER_PHOTO_ID_5157232887062292498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Also, looking at the &lt;a href="http://www.blogger.com/"&gt;Blogger&lt;/a&gt; implementation of accepting OpenIDs they list 4 main OpenID providers (I'm guessing Yahoo! will be added to the list) and then a button for "Any OpenID".&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/R5ItNZFPaDI/AAAAAAAAAIw/SUxak-befmY/s1600-h/propeller+OpenID.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/__OXBEeawNCY/R5ItNZFPaDI/AAAAAAAAAIw/SUxak-befmY/s320/propeller+OpenID.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5157234231387056178" /&gt;&lt;/a&gt;&lt;br /&gt;Maybe lesser known, but &lt;a href="http://www.propeller.com/"&gt;propeller.com&lt;/a&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;(an AOL property) &lt;/span&gt;which accepts OpenIDs uses the OpenID protocol to authenticate AOL/AIM users but presents the UI as "Sign in using my AOL Screen Name".&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;What I find fascinating about this trend is that it bypasses one of the benefits of an OpenID (built in IdP discovery). Basically, these main stream RP sites are using the "User picks their IdP" solution for determining where to send the user rather than having the user type in their IdP (yahoo.com, openid.aol.com, etc) or full OpenID URL.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;At the moment, this scales OK as there aren't that many mainstream providers, but either user education needs to get better so this mechanism isn't needed, or we need a different technical &lt;a href="http://practicalid.blogspot.com/2007/06/clients-to-rescue.html"&gt;solution&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5362826187726403902?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5362826187726403902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5362826187726403902' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5362826187726403902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5362826187726403902'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/01/looking-at-evidence.html' title='Looking at the evidence...'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/R5IrsJFPaAI/AAAAAAAAAIY/I2ajPKCBsf4/s72-c/10.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6581577807260335502</id><published>2008-01-19T11:41:00.000-05:00</published><updated>2008-01-19T11:46:38.412-05:00</updated><title type='text'>WebGuild Web 2.0 Conference</title><content type='html'>&lt;p&gt;I'm participating in a panel at WebGuild's &lt;a href="http://www.webguild.org/meetings/web20/2008/"&gt;Web 2.0 Conference and Expo&lt;/a&gt; being moderated by &lt;a href="http://netmesh.info/jernst/News/moderating-webguild-web2-panel.html?version=200801181614"&gt;Johannes&lt;/a&gt;.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;The panel will be discussing OpenID and OAuth among other things. It should be a good discussion given the recent announcements by Yahoo! and Google.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6581577807260335502?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6581577807260335502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6581577807260335502' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6581577807260335502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6581577807260335502'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2008/01/webguild-web-20-conference.html' title='WebGuild Web 2.0 Conference'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3043730698384588011</id><published>2007-12-20T12:05:00.000-05:00</published><updated>2007-12-20T12:21:44.862-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Alliance'/><category scheme='http://www.blogger.com/atom/ns#' term='XRDS'/><category scheme='http://www.blogger.com/atom/ns#' term='XRI'/><title type='text'>Discovery, wherefore art thou Discovery?</title><content type='html'>&lt;p&gt;The web seems "a buzz" these days with different flavors of "discovery". I've recently been hearing more and more need for Personal Service Discovery. This is coming from both internal and external customers. Two key questions are asked. (1) What is the user's preferred service? (e.g. picture service) and (2) Where is this user's specific service located. The two questions are not mutually exclusive. What I find quite humorous is that the &lt;a href="http://www.projectliberty.org/"&gt;Liberty Alliance&lt;/a&gt; has had a "&lt;a href="http://www.projectliberty.org/liberty/content/download/3450/22976/file/liberty-idwsf-disco-svc-v2.0-original.pdf"&gt;Discovery Service&lt;/a&gt;" for quite some time that is capable of answering both those questions (and others). I wish I had Paul's witty way of poking fun... but alas I'm not that talented.&lt;/p&gt;&lt;p&gt;Here are a few recent proposals&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;for "Discovery" services. I'm sure there are many I'm missing...&lt;/p&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.oasis-open.org/xri/2.0/specs/cd02/xri-resolution-V2.0-cd-02.html"&gt;XRI Resolution&lt;/a&gt; -- a mechanism for describing and querying personal service endpoints (among other things)&lt;/li&gt;&lt;li&gt;&lt;a href="http://oomail.ootao.com/xpp%20v1.doc"&gt;XRD Provisioning Protocol&lt;/a&gt; (XPP) -- an XRI based mechanism for Service Providers to attach their service to a user's individual XRDS file hosted by the user's IdP&lt;/li&gt;&lt;li&gt;"&lt;a href="http://www.dataportability.org/"&gt;DHCP for Identity&lt;/a&gt;" -- "As users, our identity, photos, videos and other forms of personal data should be discoverable by, and shared between our chosen tools or vendors."&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.pingidentity.com/blog/ctotalk/2007/11/27/Dynamic-Federation-Under-the-Covers"&gt;Dynamic Federation&lt;/a&gt; -- service provider metadata is discovered via transformation of a user identifier&lt;/li&gt;&lt;li&gt;&lt;a href="http://oauth.googlecode.com/svn/spec/discovery/1.0/drafts/1/spec.html"&gt;OAuth Discovery 1.0 Draft 1&lt;/a&gt; -- This is really "service provider metadata" that is "discoverable".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Interesting to me is the leveraging of XRDS as a containing structure for describing service metadata amongst a number of these proposals. Anyway my hope is that as an industry we leverage all the work that has already been done while looking for ways to make things easier for users and developers. &lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;"&lt;a href="http://en.wikipedia.org/wiki/Standing_on_the_shoulders_of_giants"&gt;Standing on the shoulders of giants&lt;/a&gt;" comes to mind.&lt;/p&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Discovery" rel="tag"&gt;Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Liberty%20Alliance" rel="tag"&gt;Liberty Alliance&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRI" rel="tag"&gt;XRI&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS" rel="tag"&gt;XRDS&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OAuth" rel="tag"&gt;OAuth&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3043730698384588011?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3043730698384588011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3043730698384588011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3043730698384588011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3043730698384588011'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/12/discovery-wherefore-art-thou-discovery.html' title='Discovery, wherefore art thou Discovery?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6985205922508076642</id><published>2007-12-20T08:20:00.000-05:00</published><updated>2007-12-20T09:01:16.751-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Double Standard'/><category scheme='http://www.blogger.com/atom/ns#' term='Political Correctness'/><category scheme='http://www.blogger.com/atom/ns#' term='Christmas'/><title type='text'>Soapbox: "Likely to offend some" ???</title><content type='html'>I smiled at Paul's recent post of &lt;a href="http://connectid.blogspot.com/2007/12/xmas-cards.html"&gt;Xmas Cards&lt;/a&gt;. I find it humorous that in our society we quibble over such silly things. However as I thought more about it, what really struck me was the double standard that exists but we ignore all the time.&lt;br /&gt;&lt;br /&gt;What is it about “Merry Christmas” that might offend someone?&lt;br /&gt;&lt;br /&gt;Is it that Christmas is equated to a Christian holiday and somehow recognizing that such a holiday exists is offensive?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This doesn't make sense to me because I would guess that the majority of people who celebrate “Christmas” do not hold to the “truths of the Christian faith”. Christmas for them is a merry time of year to give to others and receive gifts from others. It's a time to enjoy family and friends. What is so offensive about that? Would people be offended if the greeting were Happy Hanukkah?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Is it that the word “Christ” appears in Christmas and hence that is offensive to some?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;This really doesn't make sense as the same people who are offended by the term “Merry Christmas” probably use “Christ”, “Jesus”, “God”, etc on a daily basis as an expression or expletive. So if it's OK to use these terms in a way that doesn't relate to the object of the term, why would the rule change for “Merry Christmas”?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The double standard is that it's OK to offend people who believe in God and Jesus Christ, but it's not OK for those people to use the same terms in an honoring way because they might be offensive to those who don't hold the same beliefs.&lt;br /&gt;&lt;br /&gt;So I'm not quite sure whether I should smile or be “offended” that “Merry Christmas” is “Likely to offend some” :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6985205922508076642?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6985205922508076642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6985205922508076642' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6985205922508076642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6985205922508076642'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/12/soapbox-likely-to-offend-some.html' title='Soapbox: &quot;Likely to offend some&quot; ???'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3536356469403701334</id><published>2007-12-20T07:56:00.000-05:00</published><updated>2007-12-20T08:01:42.958-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Dynamic'/><category scheme='http://www.blogger.com/atom/ns#' term='Federation'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>From the "Feeling rather behind..." department</title><content type='html'>A few weeks ago Johannes Ernst's posted a blog &lt;a href="http://netmesh.info/jernst/2007/12/4"&gt;entry&lt;/a&gt;, in which he describes a number of tiers regarding different classes of identity relationships between a business and it's partners/customers. I like the taxonomy and agree that its a good framework for communicating both identity issues and technology relevance.&lt;br /&gt;&lt;br /&gt;I just wanted to add that Ping! Identity's proposed “&lt;a href="http://blog.pingidentity.com/blog/ctotalk/2007/11/27/Dynamic-Federation-Under-the-Covers"&gt;dynamic federation&lt;/a&gt;” would perfectly suit Tier 2. It provides good secure SAML based federation while being easy to deploy. Of course, some of those 100's of affiliates might not support SAML as their identity solution so other easy to deploy mechanisms will need to exist as well.&lt;br /&gt;&lt;br /&gt;This multiple protocol, deployment environment is the main goal of the &lt;a href="http://www.projectconcordia.org"&gt;Concordia&lt;/a&gt; project. The definition of these environments as use cases and then the proposed solutions will significantly help businesses integrate their affiliates in a quick and seamless manner.&lt;br /&gt;&lt;br /&gt;Finally, I would expect that a business would want to use a single standard technology for Tier 0 and 1 as “federating” internally is a real pain.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Dynamic" rel="tag"&gt;Dynamic&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Federation" rel="tag"&gt;Federation&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3536356469403701334?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3536356469403701334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3536356469403701334' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3536356469403701334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3536356469403701334'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/12/from-feeling-rather-behind-department.html' title='From the &quot;Feeling rather behind...&quot; department'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2618133213173230545</id><published>2007-11-26T16:41:00.000-05:00</published><updated>2007-11-26T17:10:19.485-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='Obj-c 1.x'/><title type='text'>OAuth framework code checked in</title><content type='html'>&lt;p&gt;Ok, I've got the Mac OS 10.4.x port of OAuthConsumer framework checked in. You can get the code via anonymous svn &lt;a href="http://oauth.googlecode.com/svn/code/obj-c1"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2618133213173230545?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2618133213173230545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2618133213173230545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2618133213173230545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2618133213173230545'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/11/oauth-framework-code-checked-in.html' title='OAuth framework code checked in'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5107695259286129730</id><published>2007-11-22T20:35:00.000-05:00</published><updated>2007-11-22T20:40:10.229-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Framework'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OS X'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>OAuth consumer framework for Tiger</title><content type='html'>&lt;p style="color: #000000"&gt;Just a short post to say that I've completed a Mac OS X Tiger port of &lt;a href="http://kaboomerang.com/blog/"&gt;Jon Crosby&lt;/a&gt;'s &lt;a href="http://oauth.net"&gt;OAuth&lt;/a&gt; Consumer framework and it should&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;be appearing in the google code repository shortly.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;The back-port to Obj-c 1.x was very simple and I've tested the framework on Tiger against the version 2 ma.gnolia APIs. Start writing those cool Mac apps:)&lt;/p&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Idenity" rel="tag"&gt;Idenity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Web%20Service" rel="tag"&gt;Web Service&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Framework" rel="tag"&gt;Framework&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Mac%20OS%20X" rel="tag"&gt;Mac OS X&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5107695259286129730?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5107695259286129730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5107695259286129730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5107695259286129730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5107695259286129730'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/11/oauth-consumer-framework-for-tiger.html' title='OAuth consumer framework for Tiger'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1231022529735865737</id><published>2007-11-22T10:29:00.000-05:00</published><updated>2007-11-22T10:42:27.087-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='Thanksgiving'/><title type='text'>Happy Thanksgiving from Virginia</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;Shenandoah River Valley&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/R0WhrECJGFI/AAAAAAAAAHg/1PVwJFNnNAY/s1600-h/IMG_3510.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/R0WhrECJGFI/AAAAAAAAAHg/1PVwJFNnNAY/s400/IMG_3510.JPG" alt="" id="BLOGGER_PHOTO_ID_5135688711275092050" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;(taken Oct. 28, 2007)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:85%;"&gt;"God saw all that He had made and it was very good." Genesis 1:31&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Photo" rel="tag"&gt;Photo&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Thanksgiving" rel="tag"&gt;Thanksgiving&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1231022529735865737?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1231022529735865737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1231022529735865737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1231022529735865737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1231022529735865737'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/11/happy-thanksgiving-from-virginia.html' title='Happy Thanksgiving from Virginia'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__OXBEeawNCY/R0WhrECJGFI/AAAAAAAAAHg/1PVwJFNnNAY/s72-c/IMG_3510.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6393479320260029890</id><published>2007-10-24T20:05:00.000-04:00</published><updated>2007-10-24T20:10:14.781-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Concordia'/><category scheme='http://www.blogger.com/atom/ns#' term='IdP Discovery'/><title type='text'>Standards glue (a.k.a. conventions)</title><content type='html'>&lt;p&gt;While attending DIDW (ok, this is a little late for a DIDW blog entry) I heard an interesting presentation by Michael Barrett CISO of PayPal. One of his concerns is that we are getting more and more identity standards rather than fewer. In some senses we are fracturing the market rather than uniting it even though most agree that identity is critical to the success of the web and services going forward.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I've been feeling for a while that we have enough protocols to satisfy the different use cases that exist and many that will come up in the future. What we don't have is a way to use what exists as standards across a wide range of disparate deployments. This causes confusion for users and lots of work for developers. There is also the "I'll wait and see" affect in the industry as companies wait to see which "protocol" will "win".&lt;span class="Apple-converted-space"&gt; &lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;However, getting something that covers 50% to 80% of the use cases approved as a standard and adopted is rather a long process. So what about just some simple conventions that would allow existing protocols, services, and deployments to work together? In the past I've talked about both HTML markup on the RP web site as well as specifying the user's IdP in an HTTP header via an identity agent on the user's device.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Here is another. What about a simple transform on an email address to construct an URI that can then be put through the "Discovering an XRDS document from an http(s) URL" process? This would be another way to determine the IdP in an RP initiated authentication event.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;This could be something like take alice@example.com and transform it to &lt;a href="http(s)://services.example.com/idp."&gt;http(s)://services.example.com/idp.&lt;/a&gt;&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;I'm not particular to the transform itself, just that there be a way to convert an email address into a URI than can be commonly processed to determine the IdP endpoint(s) and supported protocol(s).&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/IdP%20Discovery" rel="tag"&gt;IdP Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Concordia" rel="tag"&gt;Concordia&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6393479320260029890?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6393479320260029890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6393479320260029890' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6393479320260029890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6393479320260029890'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/10/standards-glue-aka-conventions.html' title='Standards glue (a.k.a. conventions)'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8838002851425732407</id><published>2007-10-23T21:40:00.000-04:00</published><updated>2007-10-23T21:50:03.068-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='IdP Discovery'/><category scheme='http://www.blogger.com/atom/ns#' term='XRDS'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>YAIDO - Yet Another IdP Discovery Option</title><content type='html'>&lt;p&gt;In reading through &lt;a href="http://www.xmlgrrl.com/blog/archives/2007/08/07/the-three-faces-of-user-centricity/"&gt;Eve Maler&lt;/a&gt;'s slides from this year's &lt;a href="http://www.xmlsummerschool.com/"&gt;XML Summer School&lt;/a&gt;, she describes the standard IdP discovery problem for an RP initiated authentication event. One of the standard options is "Client tells RP". Putting this together with the proposal by &lt;a href="http://www.laurent-michel.net/"&gt;Laurent Michel&lt;/a&gt; on the OpenID lists regarding mobile use of OpenIDs, why not just use the convention of an HTTP header to describe the user's IdP? (I suspect this has been proposed before. Feel free to add a comment stating so). This HTTP header would not have to be sent with every request, because the identity agent could detect when an RP needed it from some additional simple &lt;a href="http://practicalid.blogspot.com/2007/06/passive-identity-meta-system-markup.html"&gt;HTML markup&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The RP could then do a &lt;a href="http://www.oasis-open.org/committees/download.php/25741/xri-resolution-v2.0-wd-11-ed-06.pdf"&gt;XRDS &lt;/a&gt;(XRI resolution v2.0 section 6) based discovery on the presented URI from the HTTP header. This would allow the IdP to expose multiple services and protocols via a simple XRDS file. The RP would then just pick the the appropriate protocol and endpoint from the XRDS file and start the RP initiated authentication process.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;One danger with this kind of a "push" mechanism is that over an untrusted channel the user is susceptible to MIT attacks. With a smart client and SSL I believe this is better than the cookie mechanism. For OpenID it's probably better to take the &lt;a href="https://pip.verisignlabs.com/seatbelt.do"&gt;seatbelt&lt;/a&gt; and &lt;a href="http://www.sxipper.com/"&gt;sxipper&lt;/a&gt; approach of just posting the user's OpenID to the OpenID login form. However, for a protocol like SAML2, identifying the IdP in this kind of a manner should improve the user experience.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/IdP%20Discovery" rel="tag"&gt;IdP Discovery&lt;/a&gt;, &lt;a href="http://technorati.com/tag/XRDS" rel="tag"&gt;XRDS&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt; &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8838002851425732407?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8838002851425732407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8838002851425732407' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8838002851425732407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8838002851425732407'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/10/yaido-yet-another-idp-discovery-option.html' title='YAIDO - Yet Another IdP Discovery Option'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8007697289912846859</id><published>2007-10-23T03:13:00.000-04:00</published><updated>2007-10-23T04:14:11.608-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Alliance'/><category scheme='http://www.blogger.com/atom/ns#' term='TEG'/><title type='text'>"Schooled" again...</title><content type='html'>I'm here in Tokyo for a Liberty Alliance meeting of the Technical Expert Group. This noon we had a "pick-up" soccer (football to the rest of the world) game. Not being in the best shape our TEG &lt;a href="http://connectid.blogspot.com/"&gt;co-chair&lt;/a&gt; made quick work of our challenges on the field:)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/Rx2ip_2t5UI/AAAAAAAAAGo/NOm6-rdr_3g/s1600-h/DSCN1577.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/Rx2ip_2t5UI/AAAAAAAAAGo/NOm6-rdr_3g/s400/DSCN1577.JPG" alt="" id="BLOGGER_PHOTO_ID_5124430793416762690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are some less incriminating pictures from the event.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/Rx2mCf2t5XI/AAAAAAAAAHA/esIcjw7HPkE/s1600-h/DSCN1581.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/__OXBEeawNCY/Rx2mCf2t5XI/AAAAAAAAAHA/esIcjw7HPkE/s400/DSCN1581.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5124434512858441074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/Rx2j2P2t5WI/AAAAAAAAAG4/aKFb9schyFE/s1600-h/DSCN1603.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/Rx2j2P2t5WI/AAAAAAAAAG4/aKFb9schyFE/s400/DSCN1603.JPG" alt="" id="BLOGGER_PHOTO_ID_5124432103381788002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Many thanks to &lt;a href="http://semid.blogspot.com/"&gt;Mikko Laukkanen&lt;/a&gt; for taking the pictures.&lt;br /&gt;&lt;br /&gt;More pictures by Phil Hunt found &lt;a href="http://independentidentity.blogspot.com/"&gt;here&lt;/a&gt;. I'm sure more will be appearing shortly.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Liberty%20Alliance" rel="tag"&gt;Liberty Alliance&lt;/a&gt;, &lt;a href="http://technorati.com/tag/TEG" rel="tag"&gt;TEG&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Soccer" rel="tag"&gt;Soccer&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8007697289912846859?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8007697289912846859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8007697289912846859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8007697289912846859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8007697289912846859'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/10/schooled-again.html' title='&quot;Schooled&quot; again...'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/Rx2ip_2t5UI/AAAAAAAAAGo/NOm6-rdr_3g/s72-c/DSCN1577.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8683908869390916086</id><published>2007-10-23T01:25:00.000-04:00</published><updated>2007-10-23T02:39:48.523-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='SFO'/><title type='text'>Blessings of an early flight home</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/Rx2W1v2t5PI/AAAAAAAAAGA/ABEUXoYfgBs/s1600-h/DSCN1545.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/__OXBEeawNCY/Rx2W1v2t5PI/AAAAAAAAAGA/ABEUXoYfgBs/s400/DSCN1545.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5124417801140692210" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8683908869390916086?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8683908869390916086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8683908869390916086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8683908869390916086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8683908869390916086'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/10/blessings-of-early-flight-home.html' title='Blessings of an early flight home'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__OXBEeawNCY/Rx2W1v2t5PI/AAAAAAAAAGA/ABEUXoYfgBs/s72-c/DSCN1545.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6534509818571796706</id><published>2007-09-21T15:46:00.000-04:00</published><updated>2007-09-21T15:54:10.700-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DIDW 2007'/><title type='text'>DIDW 2007: Shameless Plug</title><content type='html'>Like many others I'll be at DIDW 2007 next week. I'll be giving a talk on the evolution of identity at AOL. I'm very proud of the significant identity model changes that AOL has been able to make over the last couple of years.  I'll be covering this and amongst other things, our continued support of open standards.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6534509818571796706?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6534509818571796706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6534509818571796706' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6534509818571796706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6534509818571796706'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/09/didw-2007-shameless-plug.html' title='DIDW 2007: Shameless Plug'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6185444147879562224</id><published>2007-09-21T15:41:00.000-04:00</published><updated>2007-09-21T15:46:03.204-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='AIM'/><category scheme='http://www.blogger.com/atom/ns#' term='Social Networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Trust'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Protocols'/><title type='text'>Trust in social networks and identity protocols</title><content type='html'>So I've been “noodling” over this analogy for a while.  People often complain that protocols like SAML are complex and not scaleable because they require “out-of-band” provisioning. In other words, in deployment something has to happen first, before the protocol becomes valuable.  In the case of SAML, this “out-of-band” provisioning is what adds trust to the deployed network (hence the name circles-of-trust). (For all the SAML experts out there, please forgive my simplistic characterization).&lt;br /&gt;&lt;br /&gt;One of the big selling points for OpenID is that it does not require this “out-of-band” provisioning and hence is easier to deploy and more “scaleable” (I believe the term is “internet scale”).  However, one element missing from OpenID is trust.  The ideal is that both OPs and RPs trust the user, but that is a lot of risk for especially the RP to take on in today's business climate.&lt;br /&gt;&lt;br /&gt;So how does this relate to social networks? Well, in many social networks, both parties have to agree to the relationship before the relationship becomes valid.  This might not be explicitly “out-of-band” but it is similar in concept.  For example, if I invite someone to be a friend on Facebook, they don't show up as a friend until they have explicitly approved the relationship.  Because of this factor, I am in essence building a “circle-of-trust” that is my friends on Facebook.&lt;br /&gt;&lt;br /&gt;The “OpenID” example in social networks is AIM.  I can add anyone I want to my buddy list (provided I know their AIM id) and they will be part of my network.  I will also see when they are online and offline.  The only way for a person to “block” this behavior is to reject presence information for all users except those on their buddy list. &lt;br /&gt;&lt;br /&gt;My buddy list on AIM is definitely a social network of “people-I-know” but I don't think I could go so far as to call it a “circle-of-trust”:)&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/AIM" rel="tag"&gt;AIM&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Trust" rel="tag"&gt;Trust&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Social%20Networks" rel="tag"&gt;Social Networks&lt;/a&gt; &lt;a href="http://technorati.com/tag/Protocols" rel="tag"&gt;Protocols&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6185444147879562224?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6185444147879562224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6185444147879562224' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6185444147879562224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6185444147879562224'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/09/trust-in-social-networks-and-identity.html' title='Trust in social networks and identity protocols'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3317026622197164694</id><published>2007-08-17T09:14:00.000-04:00</published><updated>2007-08-17T09:20:14.379-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Whitelist'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><title type='text'>AOL OpenID provider whitelist</title><content type='html'>So there has been a lot of discussion regarding AOL's support for 3rd party OpenIDs and the fact that currently AOL has a whitelist of approved OpenID providers.  A number of good points have been raised.&lt;br /&gt;&lt;br /&gt;Kim Cameron &lt;a href="http://www.identityblog.com/?p=852"&gt;writes&lt;/a&gt;...&lt;br /&gt;&lt;blockquote&gt;What would make $$$ for AOL?  To get my pretty eyeballs over there PDQ.  What’s the best way to make that happen?  Make it easy!  Acquire new eyeballs! Acquire new eyeballs! Acquire new eyeballs! From anywhere and everywhere!&lt;br /&gt;&lt;br /&gt;The secret?  Auto-create an account on AOL no matter WHAT credential a user employs to get there.  You need this anyway to manage their profile.  Then get the user transparently to great experiences and start ringing up those eyeball seconds.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I fully agree with Kim that eyeballs are the desired commodity.  In fact, that is the whole reason AOL is implementing open standards and allowing 3rd party identities.  However, I do believe that accounts cost money (or at least can cost money depending on what that account is allowed to do at a service provider).  Take a picture sharing site for example. The picture service will provide some amount of space for each account (this is true of email providers, etc).  The picture service could charge for the space in which case the “real” accounts would be easily distinguished but most sites these days are trying the “free and paid by advertising” business model.  Also, another indirect cost of an account comes from whether the account can publish content.  Spammers love to create accounts for the sole purpose of posting one or two messages.  They don't care that they are spinning through zillions of accounts.  So yes, AOL is looking to get as many eyeballs as possible, but doing so carefully for this initial release.&lt;br /&gt;&lt;br /&gt;Ashish Jain &lt;a href="http://itickr.com/?p=79"&gt;writes&lt;/a&gt;...&lt;br /&gt;&lt;blockquote&gt;As it turns out, SignOn.com is not in their initial list. I talked to the AOL folks and they promised to add it during their update next week. Fair enough. However, this model isn’t scalable. Given the distributed nature of the protocol, it doesn’t seem right for IdP/OPs and RPs to individually contact each other to maintain this list. Isn’t there a need for an OP Reputation, a.k.a. qualification, a.k.a certification suite that the RPs can leverage?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Jeff Bohren &lt;a href="http://idlogger.wordpress.com/2007/08/16/not-so-openid/"&gt;writes&lt;/a&gt;...&lt;br /&gt;&lt;blockquote&gt;In OpenID, there is very little perceived risk in being a provider. If a user compromises your site and uses your site to authenticate to a relying party as someone else, there is really very little consequence to you. After all you don’t have any agreements with any specific relying parties. Why not be a provider, if there is so little risk involved?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Being a relying party however is a different matter. If someone compromises a provider and falsely authenticates to your relying party, they are misusing someone’s resources. The sensitivity of these resources would make the difference between allowing unrestricted OpenID or white list controlled OpenID.&lt;br /&gt;&lt;br /&gt;Ashish and Jeff both make great points.  The crux of the issue is that all the risk is assumed by the relying party.  That means the relying party needs to be able to detect “fraud” and take appropriate action.  This could be done through a number of mechanisms like a “Provider” Reputation service or “fraud” detection infrastructure.  The OpenID model is similar to the email model. Anyone can stand up a SMTP server and send mail.  It's the receivers of the mail (ISP or individual) that have to filter the spam. In order to learn from our implementation and fix any bugs, we decided to take a cautious approach at first.&lt;br /&gt;&lt;br /&gt;I would say this approach is actually very common in the Web 2.0 community.  How many sites starting out are by invitation only? Do they do that to create buzz? Well maybe... but I suspect that the biggest reason is that it limits their exposure to invalid/spam accounts.&lt;br /&gt;&lt;br /&gt;Finally, Carsten Pötter &lt;a href="http://www.notsorelevant.com/2007-08-15/who-supports-openid-at-aol/"&gt;writes&lt;/a&gt;...&lt;br /&gt;&lt;blockquote&gt;Is this the positive signal to send out to the community? Is there even a strategy at AOL? It seems like there is not much support for OpenID from within the company. But I may be wrong and see things too negative but I am actually really disappointed. :(&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Well... I hope it is a positive signal to the community:)  AOL is the first major provider to support OpenID as a relying party.  As to strategy, yes there is one.  It's one thing to implement the OpenID RP protocol.  It's another to have all the associated infrastructure in place to detect and protect against “fraud”.  As was pointed out earlier, the relying party assumes all the risk in the OpenID protocol. We are actively working on that infrastructure and process so that in the future we can remove the whitelist.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/AOL" rel="tag"&gt;AOL&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Whitelist" rel="tag"&gt;Whitelist&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3317026622197164694?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3317026622197164694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3317026622197164694' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3317026622197164694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3317026622197164694'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/08/aol-openid-provider-whitelist.html' title='AOL OpenID provider whitelist'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3555788633267408482</id><published>2007-08-08T11:52:00.000-04:00</published><updated>2007-08-08T12:02:15.648-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Bugs'/><title type='text'>The lowered expectations of web applications</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/RrnozCysePI/AAAAAAAAAFI/cHACReGAf-A/s1600-h/blogger+error.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/RrnozCysePI/AAAAAAAAAFI/cHACReGAf-A/s400/blogger+error.jpg" alt="" id="BLOGGER_PHOTO_ID_5096360416966899954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I find it interesting that consumers continue to put up with more and more “bugs” in the software and appliances we use.  Today, in trying to publish my last post, I had to try 3 times to get &lt;a href="http://www.blogger.com"&gt;blogger&lt;/a&gt; to accept the entry, including getting the wonderful page to the right.&lt;br /&gt;&lt;br /&gt;While hardware appliances are better, I run into the same thing with my wide area wireless broadband connection.  The first trouble shooting step is to reboot the wireless unit to see if that solves the problem.&lt;br /&gt;&lt;br /&gt;Then just recently after getting back from vacation, I found that my satellite TV DVR service had been deactivated.  When calling customer service to get it re-instated, it took the representative a couple tries to get it working.  He finally had to first de-provision my DVR service and then re-activate it.&lt;br /&gt;&lt;br /&gt;I guess the “benefit” for technologists is that we don't have to work so hard to build good products ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3555788633267408482?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3555788633267408482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3555788633267408482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3555788633267408482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3555788633267408482'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/08/lowered-expectations-of-web.html' title='The lowered expectations of web applications'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/RrnozCysePI/AAAAAAAAAFI/cHACReGAf-A/s72-c/blogger+error.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-7223572562634337254</id><published>2007-08-08T11:42:00.001-04:00</published><updated>2007-08-08T11:51:32.136-04:00</updated><title type='text'>Cardspace &amp; Service Invocation</title><content type='html'>I got thinking about Cardspace the other day and it struck me that Cardspace does a great job of authenticating me to the relying party, but the relying party can't use that authentication for service invocations on my behalf.&lt;br /&gt;&lt;br /&gt;For example...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User browses to the relying party (RP) and is prompted by Cardspace to authenticate&lt;/li&gt;&lt;li&gt;User selects one of their cards (that they've previously used with the RP) and is logged in to the site&lt;/li&gt;&lt;li&gt;Next the RP wants to import the user's AIM buddy list in order to enhance the user's experience at the site (e.g. find other users who also use the RP)&lt;/li&gt;&lt;li&gt;The RP either requests AIM credentials and uses a back-channel API call to authenticate the user separately, or it redirects the user to AIM to authenticate&lt;/li&gt;&lt;li&gt;AIM validates the credentials and returns a service API token&lt;/li&gt;&lt;li&gt;The RP uses the service API token to request the buddy list&lt;/li&gt;&lt;li&gt;Note that the user now has two different and distinct authentication sessions (one with the Cardspace or Managed STS and one with AIM)&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Now it would be nice if the RP could use the existing authentication “session” with the user (as represented by the Cardspace token) without forcing the user to re-authenticate to AIM.  Of course, the RP has no way of knowing whether the token it has is valid at AOL, nor probably, how to transform the token it has into a token that is valid at AOL.  I suppose that if the token is a SAML token, then the RP could look at the issuer of the token and check to see if it is the AOL STS and from that try to use the token at AOL. The problem for the RP is that it might need to interact with many different services. What kind of claims does the RP request of Cardspace in order to get a token with the desired capabilities (e.g. service invocation with either Google or AOL)?&lt;br /&gt;&lt;br /&gt;In order to solve this problem, it is very common in today's web experience for relying party A to request relying part B's authentication credentials in order to provide a service to the user. However, I always feel very nervous about giving relying party B's authentication credentials to relying party A. As the number of identities that consumers have to manage shrinks, the overlap of an authentication session across multiple relying parties grows.  The identity meta-system should allow for the re-use of the authentication session across multiple relying parties as approved by the consumer.&lt;br /&gt;&lt;br /&gt;One workable model, though somewhat inefficient, is for relying party A to request a service invocation token from relying party B.  Using OpenID as the authentication protocol, the flow goes something like this...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User browses to relying party A (RPA) and enters their OpenID to login&lt;/li&gt;&lt;li&gt;Relying party A invokes the OpenID authentication flow redirecting the user to their OpenID Provider (OP)&lt;/li&gt;&lt;li&gt;The user authenticates to the OP and is redirected back to RPA&lt;/li&gt;&lt;li&gt;RPA requests a service token from relying party B (RPB) using a browser re-direct&lt;/li&gt;&lt;li&gt;RPB requests an authentication of the user via their OP&lt;/li&gt;&lt;li&gt;Since the user is already logged into the OP, this authentication step could be “seamless” to the user&lt;/li&gt;&lt;li&gt;RPB creates a service invocation token for RPA and redirects the browser back to RPA&lt;/li&gt;&lt;li&gt;RPA requests the data from RPB using the returned service invocation token&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;All the front-channel redirects make it easy to get the user's consent as necessary.  However, depending on the bandwidth of the consumer's internet connection, and the physical locations of RPA, RPB and OP, there can be some significant performance implications.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Concordia" rel="tag"&gt;Concordia&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Cardspace" rel="tag"&gt;Cardspace&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Identity%20Meta-System" rel="tag"&gt;Identity Meta-System&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Service%20Invocation" rel="tag"&gt;Service Invocation&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-7223572562634337254?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/7223572562634337254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=7223572562634337254' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7223572562634337254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/7223572562634337254'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/08/cardspace-service-invocation.html' title='Cardspace &amp; Service Invocation'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1381594911736918518</id><published>2007-07-11T13:16:00.001-04:00</published><updated>2007-07-11T14:56:24.542-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Theology'/><category scheme='http://www.blogger.com/atom/ns#' term='Relationship'/><title type='text'>Divine IM? ... no ... Divine I AM</title><content type='html'>Paul in his usual humorous way has an &lt;a href="http://connectid.blogspot.com/2007/07/divine-im.html"&gt;entry&lt;/a&gt; here describing some of the annoyances of IM systems. (I've recently run into something similar but that will have to wait for a different post).&lt;br /&gt;&lt;br /&gt;Not surprisingly :), I do have an issue with Paul's “theology”. Yahweh (the God of the Bible) is a God of Relationship. IM is a rather un-relationship form of communication. In fact, I distinctly remember a conversation with someone well known in the identity industry, talking about how IM “paled” (my word) in comparison to meeting the person face-to-face. IM is useful in its own right but not one that takes the place of a personal conversation.&lt;br /&gt;&lt;br /&gt;The giving of the Ten Commandments was not a short handoff of a “set of instructions” but rather a time where God spoke directly to the whole nation of Israel (&lt;a href="http://www.biblegateway.com/passage/?search=Exodus%2019-20;&amp;version=31;"&gt;Exodus 19-20&lt;/a&gt;). God then called Moses to a 40 day conversation at the end of which he received the stone tables.&lt;br /&gt;&lt;blockquote&gt;Moses speaking in &lt;a href="http://www.biblegateway.com/passage/?search=Deut%209:9-10;&amp;version=31;"&gt;Deuteronomy 9:9-10&lt;/a&gt;...&lt;br /&gt;&lt;br /&gt;“When I went up on the mountain to receive the tablets of stone, the tablets of the covenant that the Lord had made with you [Israel], I stayed on the mountain forty days and forty nights; I ate no bread and drank no water. The Lord gave me two stone tablets inscribed by the finger of God. On them were all the commandments the Lord proclaimed to you on the mountain out of the fire, on the day of the assembly.”&lt;/blockquote&gt;Yahweh communicated directly with the people of Israel and Yahweh still desires to communicate with each of us as well.&lt;br /&gt;&lt;br /&gt;I do, however, agree with Paul on one thing. Too often we are “screening” out God.&lt;br /&gt;&lt;blockquote&gt;Yahweh22: YT?&lt;br /&gt;Moses88: I am not here right now.&lt;br /&gt;Yahweh22: Moses, I know you're there, I can SEE you.&lt;br /&gt;Moses88: Sorry Boss, I was screening.&lt;br /&gt;Yahweh22: Well don't, it's annoying.&lt;/blockquote&gt;How can we possibly have a relationship with Yahweh (the creator of the universe; &lt;a href="http://www.biblegateway.com/passage/?search=Genesis%201;&amp;version=31;"&gt;Genesis 1&lt;/a&gt;) if we don't listen?&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Theology" rel="tag"&gt;Theology&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Relationship" rel="tag"&gt;Relationship&lt;/a&gt; &lt;/div&gt;&lt;br /&gt;P.S. For those wanting the Biblical facts... the story of the burning bush can be found in &lt;a href="http://www.biblegateway.com/passage/?search=Exodus%203-4%20;&amp;version=31;"&gt;Exodus 3-4&lt;/a&gt; and the story of the 10 commandments can be found in &lt;a href="http://www.biblegateway.com/passage/?search=Exodus%2019-20;&amp;version=31;"&gt;Exodus 19-20&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1381594911736918518?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1381594911736918518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1381594911736918518' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1381594911736918518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1381594911736918518'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/07/divine-im-no-divine-i-am.html' title='Divine IM? ... no ... Divine I AM'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2577047039648493839</id><published>2007-07-07T21:28:00.000-04:00</published><updated>2007-07-07T21:44:22.537-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Independence Day'/><title type='text'>Independence Day on the Potomac...</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-size:180%;"&gt;"Better late than never"&lt;/span&gt;&lt;br /&gt;(between Family and Work these had to wait till today)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/RpA-sfzWB1I/AAAAAAAAAEw/yNGa5vCybkg/s1600-h/Butterfly2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/__OXBEeawNCY/RpA-sfzWB1I/AAAAAAAAAEw/yNGa5vCybkg/s400/Butterfly2.png" alt="" id="BLOGGER_PHOTO_ID_5084632913473308498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/RpA_mPzWB2I/AAAAAAAAAE4/5f-xR0DLWvw/s1600-h/4th+of+July.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/RpA_mPzWB2I/AAAAAAAAAE4/5f-xR0DLWvw/s400/4th+of+July.png" alt="" id="BLOGGER_PHOTO_ID_5084633905610753890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/RpBAW_zWB3I/AAAAAAAAAFA/VxmNM8Ibozw/s1600-h/Sparklers.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__OXBEeawNCY/RpBAW_zWB3I/AAAAAAAAAFA/VxmNM8Ibozw/s400/Sparklers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5084634743129376626" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2577047039648493839?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2577047039648493839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2577047039648493839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2577047039648493839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2577047039648493839'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/07/independence-day-on-potomac.html' title='Independence Day on the Potomac...'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__OXBEeawNCY/RpA-sfzWB1I/AAAAAAAAAEw/yNGa5vCybkg/s72-c/Butterfly2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8814077072924002415</id><published>2007-06-29T14:33:00.000-04:00</published><updated>2007-06-29T15:39:41.481-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='Cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity Meta-System'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Passive identity meta-system markup</title><content type='html'>In talking to a number of people both internally to AOL and externally (most recently at the Burton Catalyst conference) I've become more convinced that in order to enable intelligent identity agents in client devices, service providers (SP) need a standard way to passively describe what identity meta-systems they support.  This passive description allows “dumb-mode” browsers to act in the current way, while allowing “advanced clients” to provide more sophisticated user experiences as described in my recent &lt;a href="http://practicalid.blogspot.com/2007/06/clients-to-rescue.html"&gt;entry&lt;/a&gt; on “Clients to the rescue”.&lt;br /&gt;&lt;br /&gt;It's important to note that OpenID and Cardspace already provide this passive description albeit in an implicit rather than explicit way.  In OpenID the login text field should be named openid-url, and in Cardspace there is the &amp;lt;object type=“application/x-informationCard“ .../&amp;gt; tag which intelligent clients can search for in the DOM.  However, “cool” dynamic web design can make finding these implicit descriptions difficult.  And AFAIK, there is no best practice/recommendation/suggestion to do this passive description for SAML.&lt;br /&gt;&lt;br /&gt;So I'm advocating an explicit markup in the HTML that would allow identity agents the ability to determine the identity meta-system characteristics of the site.  This metadata would be used to make the user experience as seamless as possible while still protecting the user-centricity of the different protocols.&lt;br /&gt;&lt;br /&gt;I don't think this needs to be complicated.  For many web sites the description of protocols supported could be done with an XRDS or SAML metadata document.  Reference to this document could then be done through &amp;lt;link&amp;gt; tags.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;    &amp;lt;link rel=”metadata” class=”saml” href=”http://path/to/sp/metadata”/&amp;gt;&lt;br /&gt;    &amp;lt;link rel=”metadata” class=”xrds” href=”http://path/to/sp/xrds”/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The next step might be to use something like a &lt;a href="http://www.microformats.org/"&gt;microformat&lt;/a&gt; to describe the actual login form.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;    &amp;lt;div id=“signin-openid“ &lt;span style="font-weight: bold;"&gt;class=“login-openid“&lt;/span&gt;&amp;gt;&lt;br /&gt;     &amp;lt;form action=“http://ficlets.com/signin/openid.signin“ method=“post“ id=“openid-form“&amp;gt;&lt;br /&gt;        &amp;lt;ul&amp;gt;&lt;br /&gt;            &amp;lt;li&amp;gt;&lt;br /&gt;                &amp;lt;label for=“openid-url“&amp;gt;Your OpenID:&amp;lt;/label&amp;gt; &amp;lt;input&lt;br /&gt;                    type=“text“ name=“openid“ id=“openid-url“&lt;br /&gt;                    class=“text-field &lt;span style="font-weight: bold;"&gt;login-openid-identity&lt;/span&gt;“&lt;br /&gt;                    value=““ /&amp;gt;&amp;lt;input type=“submit“&lt;br /&gt;                    value=“Login“ class=“submit“ /&amp;gt;&lt;br /&gt;&lt;br /&gt;                &amp;lt;i&amp;gt;Ex: http://your-username.livejournal.com/,&lt;br /&gt;                   http://your-username.myopenid.com/&amp;lt;/i&amp;gt;&lt;br /&gt;            &amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;/ul&amp;gt;&lt;br /&gt;     &amp;lt;/form&amp;gt;&lt;br /&gt;    &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The &amp;lt;div&amp;gt; that contains the login form could then be referenced by id (or maybe just use the id of the form itself) via another &amp;lt;link&amp;gt; tag.&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;    &amp;lt;link rel=”login.form” class=”openid” target=”signin-openid”/&amp;gt;&lt;br /&gt;    &amp;lt;link rel=”login.form” class=”infocard” target=”nameOfDivId”/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;The goal of these examples is to show a possible method for explicit, passive declaration of capabilities.  I'm sure there are many ways to optimize and improve the concept... but hopefully this is enough to make the suggestion concrete.&lt;br /&gt;&lt;br /&gt;[Credits: Many thanks to &lt;a href="http://lawver.net/"&gt;Kevin Lawver&lt;/a&gt; for microformat suggestions/corrections.]&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Identity%20Meta-System" rel="tag"&gt;Identity Meta-System&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Cardspace" rel="tag"&gt;Cardspace&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/User%20Experience" rel="tag"&gt;User Experience&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8814077072924002415?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8814077072924002415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8814077072924002415' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8814077072924002415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8814077072924002415'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/passive-identity-meta-system-markup.html' title='Passive identity meta-system markup'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5318701787984618719</id><published>2007-06-27T14:33:00.000-04:00</published><updated>2007-06-27T14:43:11.919-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='User Experience'/><category scheme='http://www.blogger.com/atom/ns#' term='BurtonCatalyst2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Concordia'/><category scheme='http://www.blogger.com/atom/ns#' term='Federation'/><title type='text'>Concordia workshop @ Burton Catalyst</title><content type='html'>Yesterday I gave a presentation at the &lt;a href="http://www.projectconcordia.org/"&gt;Concordia&lt;/a&gt; workshop (a pre-conference event to the Burton Catalyst &lt;a href="http://catalyst.burtongroup.com/NA07/index.html"&gt;conference&lt;/a&gt;) on issues consumers face when dealing with the user experience exposed to them by different identity meta-systems. Good summaries of the workshop can be found &lt;a href="http://blogs.sun.com/identity/entry/concordia_project_making_identity_federation"&gt;here&lt;/a&gt; and &lt;a href="http://www.ldap.com/1/commentary/wahl/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A number of points stood out to me as I listened to the different presentations.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Even enterprise deployments have issues with the user experience. Enterprise users want a easy/seamless experience as much as consumers.&lt;/li&gt;&lt;li&gt;Companies &lt;span style="font-style: italic;"&gt;have&lt;/span&gt; figured out to get COTS products based on different protocols to work together, albeit in a rather complex deployment architecture.&lt;/li&gt;&lt;li&gt;Scaleability of federation is a real issue. Scaleability issues exist in deployment configurations, administration as well as technically.&lt;/li&gt;&lt;li&gt;Solving how to federate between federations is an important task that needs clear best practices.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Overall, it was a very productive workshop. Expect more information to appear on the Concordia wiki shortly.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Concordia" rel="tag"&gt;Concordia&lt;/a&gt;, &lt;a href="http://technorati.com/tag/BurtonCatalyst2007" rel="tag"&gt;BurtonCatalyst2007&lt;/a&gt;, &lt;a href="http://technorati.com/tag/User%20Experience" rel="tag"&gt;User Experience&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Federation" rel="tag"&gt;Federation&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5318701787984618719?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5318701787984618719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5318701787984618719' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5318701787984618719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5318701787984618719'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/concordia-workshop-burton-catalyst.html' title='Concordia workshop @ Burton Catalyst'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1756418398027876953</id><published>2007-06-26T02:09:00.001-04:00</published><updated>2007-06-26T02:19:03.429-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><title type='text'>Sometimes you just have to go fish</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/RoCuyp_-bKI/AAAAAAAAAEY/uSQS_IsAFWo/s1600-h/IMG_2723.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/__OXBEeawNCY/RoCuyp_-bKI/AAAAAAAAAEY/uSQS_IsAFWo/s400/IMG_2723.JPG" alt="" id="BLOGGER_PHOTO_ID_5080252564964797602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;Shenandoah River, Virginia&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1756418398027876953?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1756418398027876953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1756418398027876953' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1756418398027876953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1756418398027876953'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/sometimes-you-just-have-to-go-fish.html' title='Sometimes you just have to go fish'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__OXBEeawNCY/RoCuyp_-bKI/AAAAAAAAAEY/uSQS_IsAFWo/s72-c/IMG_2723.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2365764494896770917</id><published>2007-06-15T15:37:00.000-04:00</published><updated>2007-06-15T16:29:12.761-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Clients to the rescue</title><content type='html'>So last week I &lt;a href="http://practicalid.blogspot.com/2007/06/identity-at-sp.html"&gt;blogged&lt;/a&gt; about issues the SP faces when trying to reach as many consumers as possible. There are things the SP can do to make this easier for consumers… but maybe “clients” are the “real” solution. &lt;a href="http://dev.aol.com/blog/82"&gt;Praveen Alavilli&lt;/a&gt; started a very interesting internal (to AOL) email thread which is in part summarized below.&lt;br /&gt;&lt;br /&gt;For the sake of discussion, let’s assume that SPs have a way to markup up their sites with which identity protocols they support/require. Let’s also assume that the client knows which identities the user has authenticated in the current session and which identities were used with which protocol.&lt;br /&gt;&lt;br /&gt;Using the use case from the previous post… My mother-in-law opens the browser to find a new coffee-cake recipe. She finds cooking.example.com which accepts OpenIDs. The client (browser/identity agent/etc) recognizes that the site supports OpenID and pops up a message to my mother-in-law saying “You can log into this sight using your AOL account. Would you like to continue?“. If she clicks the “Continue“ button, she starts the process of signing into the site with OpenID. If she is already authenticated, she should just get a consent page. [Note that the Versign Seatbelt and &lt;a href="http://www.sxipper.com/"&gt;Sxipper&lt;/a&gt; plugins provide this kind of behavior for OpenID already.]&lt;p&gt;&lt;/p&gt;My problem with the current solutions is that they are all protocol specific. The client code has to look for OpenID named form elements, or Cardspace Object tags in order to determine what the site supports. In addition, SAML has no mechanism (as far as I know) to allow the SP to declare that it supports SAML. Sure the client app could try to query for SAML metadata for every web site but that is a lot of overhead where some simple markup would be so much easier. Consolidating this markup via a mirco-format or some simple &amp;lt;link&amp;gt; mechanism to a XRDS file would make this kind of client support that much easier.&lt;br /&gt;&lt;br /&gt;Finally, if the client can detect and manage cross identity protocol interactions, then these additional features would make the user experience that much better.&lt;br /&gt;&lt;table style="border-collapse: collapse;" cellpadding="0" cellspacing="0"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;Remember Identity &lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(1)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;Auto-Login &lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;(2)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;Behavior&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;x&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p&gt;The identity agent would remember the mapping between the identity the user specified and the site.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;However, the identity agent would not automatically log the user into the site.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;The identity agent could present pop-up UI to ask the user if they want to log in or just enable a button in the frame of the client that the user can click when they want to log in.&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;x&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p&gt;The identity agent would start a login to the site.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;The agent could just pop up UI with the current set of authenticated identities that match the supported identity protocols of the site.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;If there are no authenticated identities that match, it should show any identity it knows about that matches (this of course is more like Cardspace).&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;x&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p style="text-align: center;"&gt;&lt;span style="font-size:180%;"&gt;x&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;td style="border: 1px solid rgb(191, 191, 191); padding: 0px 5px;" valign="middle"&gt;&lt;br /&gt;&lt;p&gt;This is the SSO option for the client.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;Now when I browse the web I can be selectively, automatically signed in to the sites I care about.&lt;span class="Apple-converted-space"&gt;  &lt;/span&gt;If the previously mapped identity is not already authenticated, the agent would start the authentication process.&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;(1) “Remember Identity” means that the client will remember the mapping between an identity and the site at which it is used.&lt;br /&gt;(2) “Auto-Login” means that the client will initiate a login sequence without user interaction.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Cardspace" rel="tag"&gt;Cardspace&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2365764494896770917?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2365764494896770917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2365764494896770917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2365764494896770917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2365764494896770917'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/clients-to-rescue.html' title='Clients to the rescue'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1660497035216672395</id><published>2007-06-15T14:53:00.000-04:00</published><updated>2007-06-15T14:57:00.747-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Symmetry'/><category scheme='http://www.blogger.com/atom/ns#' term='Architecture'/><title type='text'>The simplicity of symmetry</title><content type='html'>When it comes to architectures I've always liked the simplicity of symmetric solutions.  They are much easier to understand and it is easy to spot inconsistencies in process flow.  Well... given the following story... it MUST be that symmetry is much easier for children to understand as well.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;The other morning it was raining and my almost 4yr old daughter asked where her Cinderella umbrella was because she couldn't find it.  My wife replied that it was in the mud room closet and was likely hanging up in the closet.  My daughter went to investigate and came back in a few minutes with the following question. “Mommy can you help me &lt;span style="font-weight: bold;"&gt;hang it down&lt;/span&gt;?”&lt;/blockquote&gt;&lt;br /&gt;Principle: Don't underestimate the power of a simple solution:)&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Architecture" rel="tag"&gt;Architecture&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Symmetry" rel="tag"&gt;Symmetry&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1660497035216672395?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1660497035216672395/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1660497035216672395' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1660497035216672395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1660497035216672395'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/simplicity-of-symmetry.html' title='The simplicity of symmetry'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8763565049443235417</id><published>2007-06-07T15:22:00.000-04:00</published><updated>2007-06-07T15:28:18.983-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Service Provider'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Identity at the SP</title><content type='html'>When it comes to identity, a Service Provider (SP) or Relying Party (RP) has a couple of key issues.  One is customer facing (user experience) and another is technical (supporting multiple identity protocols).  Of these two, the user experience is more important as it affects the consumer.&lt;br /&gt;&lt;br /&gt;Take the following use case.  My mother-in-law goes to a cooking web site to search for a new coffee-cake recipe.  The cooking site (SP) allows for personalization and saving of favorite recipes, so she is presented with UI to login so she can save the recipe as a favorite (we'll assume that the “create the account” process has already occurred).  The cooking site wants to support the widest range of people possible to access their site so they decide to support Cardspace, OpenID, and SAML at the identity protocol layer. Questions? How does the SP represent the UI so that it's not confusing to my mother-in-law? She doesn't understand anything about Cardspace, OpenID or SAML.  She does understand that she has an AOL account.&lt;br /&gt;&lt;br /&gt;Does this mean SP/RP's should be putting up icons of well known identity providers? That solution is not equalitarian and it doesn't scale. It's great that we have all these cool technologies that tackle different parts of the identity space, but it doesn't really help consumers if it is too confusing to use.  I suspect most users know who they have an account with but not many know what protocol is used by their account.  For example, I suspect that most Live Journal and AOL users do not know that they have an OpenID.&lt;br /&gt;&lt;br /&gt;As for the technology side, the problem at the SP/RP is not that the issues are unsolvable (or even not currently solved).  The problem is that all this code has to be written (or incorporated) and glued together to enable these different identity protocols.  That is a rather significant barrier to entry.  Currently, this tends to drive SPs to pick one of the existing identity protocols.  From a business perspective this limits the total number of people that can use the service.&lt;br /&gt;&lt;br /&gt;I tend to agree with &lt;a href="http://netmesh.info/jernst/Comments/concordia-vendor-sports.html"&gt;Johannes&lt;/a&gt;, all this talk and work won't mean much if we don't make things simpler for the consumer first and the SP developer second.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/Identity" rel="tag"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID" rel="tag"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Cardspace" rel="tag"&gt;Cardspace&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Service+Provider" rel="tag"&gt;Service Provider&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8763565049443235417?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8763565049443235417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8763565049443235417' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8763565049443235417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8763565049443235417'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/06/identity-at-sp.html' title='Identity at the SP'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8243716288360881219</id><published>2007-05-22T20:36:00.000-04:00</published><updated>2007-05-22T20:49:20.445-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><title type='text'>AOL supports simple federation with SAMLv2</title><content type='html'>In addition to the work &lt;a href="http://www.aol.com/"&gt;AOL&lt;/a&gt; is doing to support &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;, we've also been working with &lt;a href="http://www.oasis-open.org/specs/index.php#samlv2.0"&gt;SAMLv2&lt;/a&gt; to provide a simple federation profile for our partners. This allows users to federate an account at a partner to an account at AOL so that SSO is enabled from the partner to AOL or vise-versa.&lt;br /&gt;&lt;br /&gt;This implementation uses the “SAMLv2 Lightweight Web Browser SSO Profile” and “&lt;a href="http://www.oasis-open.org/committees/download.php/22713/draft-sstc-saml-binding-simplesign-cd-01.pdf"&gt;SAMLv2.0 HTTP POST SimpleSign Binding&lt;/a&gt;”. Since the current use cases are fairly restricted we simplified the process even more such that only source-first SSO, using an unsolicited &amp;lt;Response&amp;gt; message is supported.&lt;br /&gt;&lt;br /&gt;The actual federation of identifiers is done during the registration process using existing AOL protocols. SAML is then used for the SSO Assertion between the partners. The flow goes something like this...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User goes to browser and loads site A&lt;/li&gt;&lt;li&gt;User authenticates at site A using the account credentials associated with site A&lt;/li&gt;&lt;li&gt;User clicks on link to partner site B&lt;/li&gt;&lt;li&gt;Site A generates the SSO Assertion for site B using site B's pre-determined federation identifier&lt;/li&gt;&lt;li&gt;Site A uses the http POST method to post the SSO Assertion to site B&lt;/li&gt;&lt;li&gt;Site B validates and verifies the SSO Assertion&lt;/li&gt;&lt;li&gt;User is “signed-on” to site B with site B's federated identifier&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Using the Simple-Sign binding significantly simplified the development effort as XMLDSIG is one of the more complicated parts of SAML. As more tools for XMLDSIG become available this will be less and less of a barrier to adoption.&lt;br /&gt;&lt;br /&gt;&lt;div class="tags"&gt;Tags: &lt;a href="http://technorati.com/tag/SAML" rel="tag"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/AOL" rel="tag"&gt;AOL&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SSO" rel="tag"&gt;SSO&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8243716288360881219?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8243716288360881219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8243716288360881219' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8243716288360881219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8243716288360881219'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/05/aol-supports-simple-federation-with.html' title='AOL supports simple federation with SAMLv2'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8841820878042601949</id><published>2007-05-17T19:54:00.000-04:00</published><updated>2007-05-17T20:10:56.652-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Offline Identity'/><category scheme='http://www.blogger.com/atom/ns#' term='iiw2007'/><category scheme='http://www.blogger.com/atom/ns#' term='OSIS'/><category scheme='http://www.blogger.com/atom/ns#' term='Reputation'/><title type='text'>Wednesday @ IIW 2007</title><content type='html'>Thankfully Wed. was not quite so intense, at least for me. The main items of interest for me were a review of Pythia (a reputation system that Phil Windley has been working on), the results of the OSIS interop event, and a discussion about user experience and identity.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;Pythia&lt;/span&gt;&lt;br /&gt;Phil Windley lead a session on the reputation system (&lt;a href="http://www.windley.com/essays/2006/dim2006/framework_for_building_reputation_systems"&gt;pythia&lt;/a&gt;) he's been working on with his graduate students over the last year and a half.  The system is based on evaluating transactions between identities.  Reputation scores are calculated on a “personal” basis meaning that I can define my own ruleset for calculating reputation that might be different than someone else's ruleset.  This, I think, is important because it allows me to value the information I receive about another identity according to my own view of what's important.  For example, just because an identity has a great reputation within the drug culture doesn't mean that I want to ascribe a high reputation to them.  Reputations are very contextual and I ascribe different levels of value to the different contexts.&lt;br /&gt;&lt;br /&gt;In a very concrete example, there was a fair amount of discussion by relying party implementors (both during and after the session) about how to get transaction data (i.e. initial reputation) when a new identifier shows up at their site.  The basic question being, is there a way for a relying party to know whether they can “trust” the 3rd party OpenID to be a genuine user. If there was a way to convey transaction data such identifier creation date, date of last use, number of “publish” transactions (meaning blog posts, comments, etc) then RPs could make a much better decision on whether to just let the identifier use their site, or whether they need to do some additional “verification” of the user.  In this specific case there is immediate value in identity providers providing some additional attributes about the identifier that relying parties can use to make business decisions.  For OpenID this probably means adoption of the Attribute Exchange extension or some additions to SREG.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;OSIS interop event&lt;/span&gt;&lt;br /&gt;I didn't participate in the OSIS event but was interested in the issues that arose from the event. Being an “outsider” it seems that while a number of issues were found, over all the event was a success. I think a next step is to get more RP's and IdP's involved especially where RP's are bridging identity meta-systems. Things like namespace mismatches, claim mismatches, and certificates are small hurdles that can easily be fixed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; text-decoration: underline;"&gt;User Experience&lt;/span&gt;&lt;br /&gt;This was a very interesting discussion as it did not focus on computer user experience and UI for interacting online. Instead it was much more about how people use identity in the offline world and how does that map into the online world. One of the interesting points to me is that in the offline world, there is a lot of context available as part of the interaction. These could be visual clues (body language, facial expressions, etc), auditory clues (tone of voice, distance from sound, etc), olfactory clues (smell, etc) and the list goes on. In online social interactions much of this additional context is lost and hence a “distance” in the communication is created. This “distance”, or incompleteness in the context, causes some to feel safe to say anything and others to hold back and mask themselves. As more transactions and social interactions move online, it will be increasingly important for consumers to understand these dynamics. A more complete summary will likely be appearing on Heather's &lt;a href="http://heathervescent.blogs.com/"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/iiw2007"&gt;iiw2007&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Reputation"&gt;Reputation&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OSIS"&gt;OSIS&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Offline+Identity"&gt;Offline Identity&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8841820878042601949?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8841820878042601949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8841820878042601949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8841820878042601949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8841820878042601949'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/05/wednesday-iiw-2007.html' title='Wednesday @ IIW 2007'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3121714854621837496</id><published>2007-05-16T19:57:00.000-04:00</published><updated>2007-05-16T20:10:07.280-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iiw2007'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><title type='text'>Tuesday @ IIW 2007</title><content type='html'>Tuesday was a very full day at IIW. The sessions I attended are listed below with a brief summary.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;AOL OpenAuth -- Overview&lt;/span&gt;&lt;br /&gt;Srinivas Lingutla from AOL gave an overview of the AOL &lt;a href="http://dev.aol.com/openauth"&gt;OpenAuth&lt;/a&gt; API's and discussed the differences between the OpenAuth capabilities and existing OpenID authentication. The key additions of OpenAuth are the ability to retrieve a “security token” that represents the authentication and can be used in a back-channel way with other AOL services (e.g. instant messaging), and the consent model that is structured around the use of the “security token”.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;HTTP binding for identity web services&lt;/span&gt;&lt;br /&gt;This discussion was intended to gage interest in a standard framework for invoking identity based web services using HTTP as the core binding. The focus being support of browser based applications that make use of AJAX and XSS. The session was not well attended so the group present ended up covering many different issues relating to HTTP based invocation of services. &lt;a href="http://abstractioneer.org/"&gt;John Panzer&lt;/a&gt; from AOL discussed some work he's done extending the HTTP support for authentication and authorization to support authentication use of ATOM/APP interfaces. There was some consensus that for REST based API's extending the existing HTTP mechanisms is the best solution. For AJAX based applications, this method does not work well so another method is required. I discussed the simple framework that AOL has defined for its Open Services APIs (e.g. Web Instant Messaging). We also discussed a couple of different invocation models that can be used (front-channel based vs back-channel based) with HTTP.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Rich Client Authentication&lt;/span&gt;&lt;br /&gt;In this group we discussed the issues around allowing device specific applications (i.e. not a browser) to authenticate the user and then invoke identity based web services on the user's behalf. From the client developer perspective, the general consensus was that they didn't want to deal with implementing this and would rather the environment provide a consistent API that could authenticate the user and return the appropriate token. Of course this sort of just pushes the problem to a different layer. One idea was to look at OSIS and Cardspace as possible client side systems that could be used to do the authentication though this requires the user to adopt a new model of authentication. It is not clear to me how long that sort of user “training” is going to take.&lt;br /&gt;&lt;br /&gt;Another aspect of client authentication is the desire to provision the authentication credentials in such a way that they are specific to the device. This way if they are compromised, they are not valid outside the context of the device. One solution here would be to use PKI provisioned through some “installation/setup” step. What that would be was not discussed, though one could use the Liberty Alliance Advanced Client specifications if willing to implement SOAP web services.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;OpenID Token Exchange extension&lt;/span&gt;&lt;br /&gt;Srinivas Lingutla also did a session on a proposed extension to OpenID that will allow relying parties (RP) to request an authentication token from the OpenID Provider (OP) at the time of authentication. The token can then be used to access identity based web services. AOL has implemented this proposed extension and demoed it during the “speed geeking” session on Monday by using an AOL OpenID to launch a buddylist using the AOL Web IM APIs. There were a number of questions around how to support different token types (simple support already present in the proposed extension), and whether some level of application id (or provider id) is required. The next steps include evaluating the other related proposed extensions and seeing if these can be combined into a single extension to support token request and validation. The proposed extension should be posted to the OpenID list/wiki in the next week or so.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;What's broken with OpenID 2.0&lt;/span&gt;&lt;br /&gt;&lt;a href="http://identity20.com/"&gt;Dick Hardt&lt;/a&gt; led a session on what is broken with the existing OpenID 2.0 spec. I'm sure the details will be appearing on his blog in the near future. The session of course grew beyond just what is broken to business issues and next generation feature requests. It was a very lively discussion. The “really broken” things were tackled during sessions on Wed. At the closing session on Wed. Dick promised that the 2.0 specification would be ready “real soon now”.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/iiw2007"&gt;iiw2007&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenAuth"&gt;OpenAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3121714854621837496?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3121714854621837496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3121714854621837496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3121714854621837496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3121714854621837496'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/05/tuesday-iiw-2007.html' title='Tuesday @ IIW 2007'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-341220490170190424</id><published>2007-05-15T09:57:00.000-04:00</published><updated>2007-05-15T10:02:42.170-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iiw2007'/><title type='text'>Identity issues at IIW 2007</title><content type='html'>Something “new” happened at IIW 2007 yesterday. Instead of the normal “state-of-identity” talks and “introduction to the issues”, Monday afternoon focused around “speed geeking” and collective identity issues. We divided into groups and each group came up with a set of issues that they felt were important. Kaliya collected all the different issues/questions into a mind map (picture of it came be found &lt;a href="http://photos.windley.com/gallery/view_photo.php?set_albumName=iiw2007a&amp;amp;id=DSC_0018"&gt;here&lt;/a&gt;). Other summaries can be found &lt;a href="http://heathervescent.blogs.com/heathervescent/2007/05/day_1_internet_.html"&gt;here&lt;/a&gt; and &lt;a href="http://www.windley.com/archives/2007/05/iiw2007_has_begun_day_one_activities.shtml"&gt;here&lt;/a&gt;.&lt;p&gt;&lt;/p&gt;Of noticeable interest to me was the commonality of a lot of the questions/issues.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;privacy&lt;/li&gt;&lt;li&gt;trust&lt;/li&gt;&lt;li&gt;reputation&lt;/li&gt;&lt;li&gt;delegation&lt;/li&gt;&lt;li&gt;user experience&lt;/li&gt;&lt;li&gt;interoperability between identity systems&lt;/li&gt;&lt;li&gt;identity relationships (parental controls was brought up and not by me:) )&lt;/li&gt;&lt;li&gt;and the list goes on&lt;/li&gt;&lt;/ul&gt;These issues are at a different level that just figuring out how the technology will work to do SSO or authentication. It should be a good conference.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/iiw2007"&gt;iiw2007&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-341220490170190424?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/341220490170190424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=341220490170190424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/341220490170190424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/341220490170190424'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/05/identity-issues-at-iiw-2007.html' title='Identity issues at IIW 2007'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4923975692585256608</id><published>2007-05-09T09:33:00.000-04:00</published><updated>2007-05-09T09:46:16.754-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Convergence'/><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='ID-WSF'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Interoperability'/><title type='text'>Technology convergence or seamless integration?</title><content type='html'>A while ago I &lt;a href="http://practicalid.blogspot.com/2007/02/users-want-convergence-not.html"&gt;wrote&lt;/a&gt; that users want convergence not interoperability. I still hold that this is true, however “convergence” in this case, is “convergence of the user experience” not necessarily the technology. Paul describes the issues very well in his recent &lt;a href="http://connectid.blogspot.com/2007/05/no-man-or-provider-is-island.html"&gt;post&lt;/a&gt;. For users, the experience has to be that using one identity meta-system is all that is necessary to interact with the entire set of services on the web. Forcing a user to know about which meta-system is needed for which online services will never succeed. This means that the industry has to solve the problem somehow “under the covers”.&lt;br /&gt;&lt;br /&gt;I applaud Sun's &lt;a href="http://blogs.sun.com/superpat/entry/openid_at_sun"&gt;entry&lt;/a&gt; into the OpenID space. However, I disagree with &lt;a href="http://www.sxip.com/newsitem-sun_openid_usercentric_community"&gt;some&lt;/a&gt; that this will lead to technological convergence. The existing meta-systems are too entrenched in their existing deployments to change to something new. Some believe that convergence will come through &lt;a href="http://duckdown.blogspot.com/2007/05/links-for-2007-05-06.html"&gt;domination&lt;/a&gt; of a single protocol, but I have a hard time excepting that. So that leaves determining how to interoperate between the different identity meta-systems.&lt;br /&gt;&lt;br /&gt;I don't think this is unsolvable but it will likely NOT be simple. There are issues with token exchange, token transformation, provider discovery, etc. With a number of good choices for back-channel web services (WS-*, ID-WSF), front-channel communication (OpenID, SAML, Cardspace, WS-Fed, ID-WSF, ...), and SSO (OpenID, SAML, Cardspace, WS-Fed, ID-WSF, ...) it seems the time has come for the industry to slow down the spec development work and instead focus on seamless interoperability.&lt;br /&gt;&lt;br /&gt;Here are some starting use cases...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User uses Cardspace to authenticate to a picture services that uses ID-WSF with it's billing partner(s)&lt;/li&gt;&lt;li&gt;User authenticates with her college library using SAML and then wants to SSO into zooomr.com&lt;/li&gt;&lt;li&gt;User users OpenID to sign in to their favorite hiking site which wants to display their buddy list as part of the site experience&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Convergence"&gt;Convergence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Interoperability"&gt;Interoperability&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SAML"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ID-WSF"&gt;ID-WSF&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4923975692585256608?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4923975692585256608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4923975692585256608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4923975692585256608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4923975692585256608'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/05/technology-convergence-or-seamless.html' title='Technology convergence or seamless integration?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-148575778914575606</id><published>2007-04-30T16:55:00.000-04:00</published><updated>2007-04-30T17:04:41.116-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='metasystem'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Identity Meta-System SSO</title><content type='html'>In his entry “&lt;a href="http://connectid.blogspot.com/2007/04/openid-bootstrap-to-id-wsf.html"&gt;OpenID bootstrap to ID-WSF&lt;/a&gt;”, Paul describes the results of a very interesting IOS &lt;a href="http://ios.windley.com/wiki/MetaSystem_Slice_Dice"&gt;session&lt;/a&gt; in Brussels.  As he outlines, the bootstrapping possibilities are pretty straight forward.  An interesting point of the second option is that the RP would need to know how to obtain the appropriate security token in order to invoke the Discovery Service (DS) as defined in the publicly available DS-EPR.  In the OpenID case, the OpenID “assertion” would need to be exchanged for the appropriate token used to invoke the Liberty DS service (in most cases a SAMLv2 assertion).&lt;br /&gt;&lt;br /&gt;It's this token exchange mechanism that I find intriguing.  Does it work both ways? Can I exchange a SAMLv2 Assertion for an OpenID “assertion”? This seems doable if the user is using a single IdP that “speaks” all the identity protocols.  With this kind of a deployment model, the IdP can use browser cookies and other mechanisms to maintain the authentication session of the user.  An example flow could be...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User visits RP-A which only supports SAMLv2&lt;/li&gt;&lt;li&gt;User's browser has a stored cookie identifying the SAML IdP to use (existing SAML IdP discovery mechanism)&lt;/li&gt;&lt;li&gt;RP-A re-directs the user's browser to the IdP to authenticate via the AuthnRequest&lt;/li&gt;&lt;li&gt;User authentications and the IdP sets authentication state cookies in the user's browser&lt;/li&gt;&lt;li&gt;The IdP re-directs the user's browser back to RP-A passing the AuthnResponse&lt;/li&gt;&lt;li&gt;User is not authenticated at RP-A&lt;/li&gt;&lt;li&gt;User now loads RP-B which only supports OpenID&lt;/li&gt;&lt;li&gt;User's browser has a stored cookie identifying the last OpenID used with RP-B&lt;/li&gt;&lt;li&gt;RP-B invokes a check_immediate with the OP resolved via OpenID discovery (in this case the same IdP)&lt;/li&gt;&lt;li&gt;The check_immediate re-directs the user's browser such that the IdP can validate the user's authenticated session&lt;/li&gt;&lt;li&gt;The IdP now verifies that there is a previously established federation between the OpenID and SAML identifier&lt;/li&gt;&lt;li&gt;If the federation exists, then the IdP can return the OpenID authenticated response&lt;/li&gt;&lt;/ol&gt;This would allow seamless SSO between different front-channel identity systems, though it is dependent on “identifier federation” at the IdP. However, if the IdP's are not the same, it should still be possible, but more complicated, as the user's identity would need to be federated across the involved IdP's.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SAML"&gt;SAML&lt;/a&gt;, &lt;a href="http://technorati.com/tag/SSO"&gt;SSO&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/metasystem"&gt;metasystem&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-148575778914575606?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/148575778914575606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=148575778914575606' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/148575778914575606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/148575778914575606'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/identity-meta-system-sso.html' title='Identity Meta-System SSO'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-9094360834052776908</id><published>2007-04-23T16:48:00.000-04:00</published><updated>2007-04-23T17:02:44.185-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='United'/><category scheme='http://www.blogger.com/atom/ns#' term='Travel'/><title type='text'>A knife... a real knife... magnetized!</title><content type='html'>To anyone familiar with the &lt;a href="http://traytable.blogspot.com/"&gt;Tray Table&lt;/a&gt; blog, it is certainly no surprise that a certain &lt;a href="http://conorcahill.blogspot.com/"&gt;unnamed&lt;/a&gt; individual was once again traveling in 1st class. However, just a &lt;a href="http://conorcahill.blogspot.com/2007/04/knife-real-knife-like-metal-kind.html"&gt;metal knife&lt;/a&gt; in business class? Boring... Mine were &lt;span style="font-weight: bold;"&gt;magnetized&lt;/span&gt;!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/Ri0cUsP2dxI/AAAAAAAAAD0/5RinI8Sv1HI/s1600-h/DSCN1340.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/Ri0cUsP2dxI/AAAAAAAAAD0/5RinI8Sv1HI/s400/DSCN1340.JPG" alt="" id="BLOGGER_PHOTO_ID_5056729098407540498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Not sure what caused the magnetism. Feel free to post theories in the comments.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-9094360834052776908?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/9094360834052776908/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=9094360834052776908' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/9094360834052776908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/9094360834052776908'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/knife-real-knife-magnetized.html' title='A knife... a real knife... magnetized!'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/Ri0cUsP2dxI/AAAAAAAAAD0/5RinI8Sv1HI/s72-c/DSCN1340.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8074993861696463202</id><published>2007-04-16T19:40:00.000-04:00</published><updated>2007-04-16T19:56:11.733-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ID-WSF'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Alliance'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenAuth'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>AOL releases OpenAuth</title><content type='html'>As has been blogged by &lt;a href="http://dev.aol.com/blog/82"&gt;Praveen Alavilli&lt;/a&gt; and &lt;a href="http://journals.aol.com/panzerjohn/abstractioneer/entries/2007/04/16/aol-openauth-launches/1428"&gt;John Panzer&lt;/a&gt;, today &lt;a href="http://www.aol.com/"&gt;AOL&lt;/a&gt; released a set of http-rpc based API's for authenticating AOL identities and leveraging that authentication to access AOL services. These API's fill a niche in the existing http based web protocols by supporting the concept of authenticated service access and user consent. As many web based applications move to an AJAX model, being able to expose identity based services in a user-centric way becomes very important. Hence the importance on user consent for access to a user's data by a 3rd party application.&lt;br /&gt;&lt;br /&gt;There are a lot of similarities in the identity processing model between the AOL OpenAuth API's and the &lt;a href="http://www.projectliberty.org/"&gt;Liberty Alliance&lt;/a&gt; ID-WSF SOAP based framework (authentication tokens and multi-party transactions to name a few). The similarities are intentional. The goal has been to leverage the work done by the Liberty Alliance and other internet standards organizations, and apply it to the http-rpc space for which till now there hasn't been a “good” solution. While these API's only support AOL services, the model is extensible to other protocols (as Praveen mentions in regards to an extension to &lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The basics for web developers are...&lt;ul&gt;&lt;li&gt;Provisioning&lt;/li&gt;&lt;br /&gt;1. Get a provider id (called a developer key)&lt;br /&gt;&lt;br /&gt;&lt;li&gt;At runtime&lt;/li&gt;&lt;br /&gt;2. Request an authentication token&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  requires both authentication and consent from the user before returning the authentication token&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;3. Invoke AOL identity based service&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  requires user consent (can be remembered) before returning requested data&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;Much more detailed documentation is available at &lt;a href="http://dev.aol.com/openauth."&gt;http://dev.aol.com/openauth.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Full disclosure: I work for AOL but not directly as part of the Authentication team.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/AOL"&gt;AOL&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenAuth"&gt;OpenAuth&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Liberty+Alliance"&gt;Liberty Alliance&lt;/a&gt;, &lt;a href="http://technorati.com/tag/ID-WSF"&gt;ID-WSF&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8074993861696463202?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8074993861696463202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8074993861696463202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8074993861696463202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8074993861696463202'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/aol-releases-openauth.html' title='AOL releases OpenAuth'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8920191943470931099</id><published>2007-04-15T17:35:00.000-04:00</published><updated>2007-04-15T17:50:41.725-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='North Carolina'/><category scheme='http://www.blogger.com/atom/ns#' term='Dogwood'/><title type='text'>Spring Blossoms</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/RiKeF_q5aHI/AAAAAAAAADs/xsB78T_FA_k/s1600-h/Dogwood+Blossom.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/RiKeF_q5aHI/AAAAAAAAADs/xsB78T_FA_k/s400/Dogwood+Blossom.JPG" alt="" id="BLOGGER_PHOTO_ID_5053775557691009138" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8920191943470931099?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8920191943470931099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8920191943470931099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8920191943470931099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8920191943470931099'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/spring-blossoms.html' title='Spring Blossoms'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__OXBEeawNCY/RiKeF_q5aHI/AAAAAAAAADs/xsB78T_FA_k/s72-c/Dogwood+Blossom.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4337333056205667905</id><published>2007-04-11T12:59:00.000-04:00</published><updated>2007-04-11T13:10:56.134-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phishing'/><category scheme='http://www.blogger.com/atom/ns#' term='PayPal'/><category scheme='http://www.blogger.com/atom/ns#' term='eBay'/><title type='text'>When it is a Phish</title><content type='html'>So after my experience with getting a valid notification from &lt;a href="http://www.ebay.com/"&gt;eBay&lt;/a&gt; (thanks again eBay), I received the following email supposedly from &lt;a href="http://www.paypal.com/"&gt;PayPal&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__OXBEeawNCY/Rh0UpPq5aDI/AAAAAAAAADQ/QbMDtEK5pwo/s1600-h/scam.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/__OXBEeawNCY/Rh0UpPq5aDI/AAAAAAAAADQ/QbMDtEK5pwo/s400/scam.jpg" alt="" id="BLOGGER_PHOTO_ID_5052217055793211442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This one was immediately suspicious.  For one, the href for the URL was a dotted quad (85.234.150.131).  Two, the “whois” entry wasn't in anyway associated with PayPal.&lt;br /&gt;&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="font-size:85%;"&gt;OrgName:    RIPE Network Coordination Centre&lt;br /&gt;OrgID:      RIPE&lt;br /&gt;Address:    P.O. Box 10096&lt;br /&gt;City:       Amsterdam&lt;br /&gt;StateProv:&lt;br /&gt;PostalCode: 1001EB&lt;br /&gt;Country:    NL&lt;br /&gt;&lt;br /&gt;ReferralServer: whois://whois.ripe.net:43&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;% Information related to '85.234.128.0/19AS29550'&lt;br /&gt;&lt;br /&gt;route:          85.234.128.0/19&lt;br /&gt;descr:          PH-Network Europe, operated by Euroconnex Networks LLP&lt;br /&gt;origin:         AS29550&lt;br /&gt;remarks:        *********************************************&lt;br /&gt;remarks:        For Peering and more info: www.euroconnex.net&lt;br /&gt;remarks:        *********************************************&lt;br /&gt;mnt-by:         POUNDHOST&lt;br /&gt;source:         RIPE # Filtered&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;And three, the email was not sent to the email address associated with my PayPal account.&lt;br /&gt;&lt;br /&gt;The rest of the email looked pretty legit however, and after my experience of the previous week... I had to look closely to file this in the “scam” folder.  I have to wonder if this email is in any way related to the credit card fraud of the previous week.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Phishing"&gt;Phishing&lt;/a&gt;, &lt;a href="http://technorati.com/tag/eBay"&gt;eBay&lt;/a&gt;, &lt;a href="http://technorati.com/tag/PayPal"&gt;PayPal&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4337333056205667905?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4337333056205667905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4337333056205667905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4337333056205667905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4337333056205667905'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/when-it-is-phish.html' title='When it is a Phish'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/__OXBEeawNCY/Rh0UpPq5aDI/AAAAAAAAADQ/QbMDtEK5pwo/s72-c/scam.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6839255374694408095</id><published>2007-04-08T07:12:00.000-04:00</published><updated>2007-04-08T20:18:05.115-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sunrise'/><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><category scheme='http://www.blogger.com/atom/ns#' term='Easter'/><title type='text'>Happy Easter!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/RhmFt23PStI/AAAAAAAAADI/81L_WeMBo7c/s1600-h/IMG_2486.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/__OXBEeawNCY/RhmFt23PStI/AAAAAAAAADI/81L_WeMBo7c/s400/IMG_2486.JPG" alt="" id="BLOGGER_PHOTO_ID_5051215479940532946" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;"He is risen!" ... "He is risen indeed!"  &lt;&gt;&lt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6839255374694408095?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6839255374694408095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6839255374694408095' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6839255374694408095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6839255374694408095'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/happy-easter.html' title='Happy Easter!'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__OXBEeawNCY/RhmFt23PStI/AAAAAAAAADI/81L_WeMBo7c/s72-c/IMG_2486.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4533132256532559374</id><published>2007-04-06T21:30:00.000-04:00</published><updated>2007-04-06T21:44:20.910-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phishing'/><category scheme='http://www.blogger.com/atom/ns#' term='Fraud'/><category scheme='http://www.blogger.com/atom/ns#' term='Credit Card'/><title type='text'>When it's not a Phish</title><content type='html'>On March 29 I received the following email from &lt;a href="http://www.ebay.com/"&gt;eBay&lt;/a&gt; (I left out the “boiler plate” text regarding how to protect yourself from fraud).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/Rhb0W23PSsI/AAAAAAAAADA/F_7w44FZzp4/s1600-h/not+a+phish.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/__OXBEeawNCY/Rhb0W23PSsI/AAAAAAAAADA/F_7w44FZzp4/s400/not+a+phish.jpg" alt="" id="BLOGGER_PHOTO_ID_5050492705664092866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;My first thought was another clever phishing scheme as I don't have a credit card on file with eBay other than my PayPal account. So I looked through the email for links or other telltale signs that would indicate a phish. I couldn't find anything so I went to eBay and logged in (not via the email of course). There were the same two emails in my eBay “inbox”. I checked my account at eBay and everything looked fine. I then checked my associated PayPal account and there were no purchases via that account. Next step was to check my credit card balance.&lt;br /&gt;&lt;br /&gt;Hmm... there on my activity statement was a charge from &lt;a href="http://www.snapfish.com/"&gt;snapfish.com&lt;/a&gt;. The immediate red lights started whirring as I don't have a snapfish account. So off to the hassle of calling the credit card company, snapfish.com etc. The result of these calls was to watch my credit card account (the first fraudulent charge was $1.33). The following day there were two more fraudulent charges from snapfish.com ($2.90 and $41.65 respectively). Now back to the phone to remove these charges from my bill, cancel the credit card and get a new card issued with a new number. The biggest hassle being finding all the companies that have re-occuring charges against that card. Yet another thing to keep track of in the event this happens again.&lt;br /&gt;&lt;br /&gt;A &lt;span style="font-weight: bold;"&gt;BIG&lt;/span&gt; thank you to eBay for sending this email and helping me catch the fraud right from the start. Needless to say this experience has not been pleasant, including monitoring of online credit card statements while on vacation this week. This is my first experience with this sort of fraud and I don't hope to repeat the process anytime soon:)&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Fraud"&gt;Fraud&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Credit+Card"&gt;Credit Card&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Phishing"&gt;Phishing&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4533132256532559374?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4533132256532559374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4533132256532559374' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4533132256532559374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4533132256532559374'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/04/when-its-not-phish.html' title='When it&apos;s not a Phish'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__OXBEeawNCY/Rhb0W23PSsI/AAAAAAAAADA/F_7w44FZzp4/s72-c/not+a+phish.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-5458023471472456096</id><published>2007-03-23T11:41:00.000-04:00</published><updated>2007-03-23T11:58:21.142-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='People Service'/><category scheme='http://www.blogger.com/atom/ns#' term='Social Networks'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity Relationship'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Identity Relationships: User vs Service Provider</title><content type='html'>There has been a significant amount of discussion and work (&lt;a href="http://www.projectliberty.org/liberty/resource_center/faq/people_service__1"&gt;People Service&lt;/a&gt;, &lt;a href="http://gmpg.org/xfn/"&gt;XFN&lt;/a&gt;, and &lt;a href="http://www.foaf-project.org/"&gt;FOAF&lt;/a&gt; to name a few) around the concept of managing personal or social relationships.  These relationships are managed from a user-centric perspective and are really a one-to-many relationship between the user and the identities being managed.  This allows the identity of the user to be implied in regards to the other identities and groups (e.g. it is my buddy list).  The group structure provides a form of role classification that can then be leveraged for permissions and access control among other things.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/RgP4XMkWieI/AAAAAAAAACc/8ophRs-dUdk/s1600-h/Social+Relationships.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/RgP4XMkWieI/AAAAAAAAACc/8ophRs-dUdk/s400/Social+Relationships.jpg" alt="" id="BLOGGER_PHOTO_ID_5045149084979464674" border="0" /&gt;&lt;/a&gt;However, managing relationships between identities at the service level is a little different.  For a service provider the relationship is not one-to-many but rather many-to-many.  For example, a hospital will want to manage which patients are assigned to which doctors.  A doctor can have many patients and a patient might have many doctors.  The existing social relationship mechanisms don't really fit this model as these relationships are defined from a service provider centric perspective.  The hospital manages the relationships not the user; though the user is free to leave one doctor and move to another.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/RgP4lMkWifI/AAAAAAAAACk/d3uM4ZpLAtg/s1600-h/Service+Relationships.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/__OXBEeawNCY/RgP4lMkWifI/AAAAAAAAACk/d3uM4ZpLAtg/s400/Service+Relationships.jpg" alt="" id="BLOGGER_PHOTO_ID_5045149325497633266" border="0" /&gt;&lt;/a&gt;Where social relationships tend to be defined in a uni-directional manner (from the user to the other identity), service based relationships are often bi-directional. I don't see this as a problem as it is rather easy to model and implement.  However, it is important to distinguish between these two kinds of relationships.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technoratic.com/tag/Identity+Relationship"&gt;Identity Relationship&lt;/a&gt;, &lt;a href="http://technorati.com/tag/People+Service"&gt;People Service&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Social+Networks"&gt;Social Networks&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-5458023471472456096?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/5458023471472456096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=5458023471472456096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5458023471472456096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/5458023471472456096'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/identity-relationships-user-vs-service.html' title='Identity Relationships: User vs Service Provider'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/RgP4XMkWieI/AAAAAAAAACc/8ophRs-dUdk/s72-c/Social+Relationships.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6615716979487935719</id><published>2007-03-19T14:40:00.000-04:00</published><updated>2007-03-19T14:44:11.698-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DST'/><title type='text'>How DST cost me $5</title><content type='html'>So in the US we started daylight savings time (DST) three weeks early.  I'm sure most of you received the wonderful emails from the IT department that outlook entries would be tenuous for the weeks between March 11 and April 1.  I figured I'd just have a few meetings that were messed up and nothing major.&lt;br /&gt;&lt;br /&gt;However, after returning from a Liberty Alliance TEG meeting in Ipswich, UK, I got a rude awakening.  I did the normal airport procedures and paid my parking fee in the terminal using the "pay-and-go" ticket I had received when entering the parking lot 7 days earlier.  The parking receipt is below.  Notice that the payment time is 16:25pm.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/Rf7ZXnSD2ZI/AAAAAAAAABs/9nV0MnvDxQ8/s1600-h/ParkReceipt-1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/__OXBEeawNCY/Rf7ZXnSD2ZI/AAAAAAAAABs/9nV0MnvDxQ8/s400/ParkReceipt-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5043707632406485394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I then walked to Daily Garage 1 (about 5-8 minutes), put my stuff in my car and proceeded to the parking lot exit.  Normally, you just put in your ticket and it raises the gate and off you go.  Not so this time.  I received a screen on the monitor stating that the "grace period" (the time between paying in the terminal and exiting the parking lot; around 45 minutes) had expired and I needed to pay and additional $5 or press the button to speak with someone over the intercom. Without thinking, I just put in my credit card and paid the $5.  The receipt for that is below.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/Rf7Zm3SD2aI/AAAAAAAAAB0/JM-GuUfUWc0/s1600-h/ParkReceipt-2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/__OXBEeawNCY/Rf7Zm3SD2aI/AAAAAAAAAB0/JM-GuUfUWc0/s400/ParkReceipt-2.jpg" alt="" id="BLOGGER_PHOTO_ID_5043707894399490466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Then as I was driving home (in the surprise snow/sleet/ice/rain) I realized that there was no way my approximately 10 minutes between paying in the terminal and exiting the parking lot could have been more than the grace period allowed.  The time in the machines must be off.  This turns out to be the case.  The time on the second receipt is 17:35pm which should be 16:35pm.  I'm guessing the machines in the parking lot initially didn't adjust so they were adjusted manually.  Then a "software update" came through and adjusted the times again.&lt;br /&gt;&lt;br /&gt;Unfortunately, I have no excuse as to why I didn't think this through before paying :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6615716979487935719?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6615716979487935719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6615716979487935719' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6615716979487935719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6615716979487935719'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/how-dst-cost-me-5.html' title='How DST cost me $5'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__OXBEeawNCY/Rf7ZXnSD2ZI/AAAAAAAAABs/9nV0MnvDxQ8/s72-c/ParkReceipt-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-2987132054478394829</id><published>2007-03-14T10:14:00.000-04:00</published><updated>2007-03-15T07:45:20.230-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SAML'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Provisioning Mobile Applications with SAML</title><content type='html'>So earlier this month I &lt;a href="http://practicalid.blogspot.com/2007/03/provisioning-identity-to-mobile.html"&gt;described&lt;/a&gt; a method that would simplify provisioning a user's identity credentials to a mobile application.  This method will work but requires the application provider (e.g. an Instant Messaging service) to be able to send a binary SMS message to the phone to configure the application with the necessary credentials.&lt;br /&gt;&lt;br /&gt;A less invasive method would be for the mobile operator and the application provider to federate their identities such that when the user activated an application on the phone, the mobile operator could authenticate the user to the application provider via a &lt;a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=security"&gt;SAML&lt;/a&gt; assertion. This is not complicated and already supported via the existing SAML protocols.  A possible flow could be...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User goes to application provider (Instant Messaging service) web page&lt;/li&gt;&lt;li&gt;Web page asks the user if they want to activate their IM account on their phone&lt;/li&gt;&lt;li&gt;User selects the link to start the process&lt;/li&gt;&lt;li&gt;The web page asks the user to authenticate their Instant Messaging account (if not already authenticated)&lt;/li&gt;&lt;li&gt;After authentication, the web site asks the user for their mobile operator and phone number&lt;/li&gt;&lt;li&gt;One the information is received the web site sends a SMS message to the phone&lt;/li&gt;&lt;li&gt;The user enters the SMS confirmation code to the web site&lt;/li&gt;&lt;li&gt;The web site sends a SAML federation message to the mobile operator providing a pseudonymous identifier and phone number for the user&lt;/li&gt;&lt;li&gt;The mobile operator receives the SAML message and maps the phone number to the user's account and stores the pseudonymous identifier for the IM service&lt;/li&gt;&lt;/ol&gt;Now when the user activates the IM application on the phone, the phone communicates it's identity to the mobile operator.  The mobile operator sends a SAML assertion (containing the pseudonymous identifier) to the IM application to authenticate the user.  The user is now authenticated and the IM application can send back any connection information required to complete the IM session.&lt;br /&gt;&lt;br /&gt;This model keeps the interactions between the mobile operator host services and external application providers.  It also makes it much easier for users to configure their applications because they don't have to enter their credentials into the phone itself. A win-win.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Mobile"&gt;Mobile&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/SAML"&gt;SAML&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update:&lt;/span&gt; In my rush to post this entry I was remiss in pointing out that this solution was discussed over lunch at a Liberty Alliance interim TEG meeting.  The other principals in the discussion were Fulup Ar Foll and Alvaro Armenteros.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-2987132054478394829?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/2987132054478394829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=2987132054478394829' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2987132054478394829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/2987132054478394829'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/provisioning-mobile-applications-with.html' title='Provisioning Mobile Applications with SAML'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-840165793126327969</id><published>2007-03-09T09:36:00.000-05:00</published><updated>2007-03-09T09:42:35.574-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Phishing'/><category scheme='http://www.blogger.com/atom/ns#' term='eBay'/><title type='text'>When phishers get lazy</title><content type='html'>So I received this email at one of my email accounts this week.  It's not nearly so clever as the one pointed out by Conor &lt;a href="http://conorcahill.blogspot.com/2007/02/using-ebay-to-phish-ebay.html"&gt;here&lt;/a&gt;.  What I found interesting is that I don't use that email account with &lt;a href="http://www.ebay.com/"&gt;eBay&lt;/a&gt; and I've never sold anything on eBay.  So naturally I was suspicious.  I suppose it's just easier for the phishers to swamp the "market" rather than do their homework.&lt;br /&gt;&lt;br /&gt;Hmm... I wonder if all those PowerSeller ratings are real?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__OXBEeawNCY/RfFxTY0SiXI/AAAAAAAAABk/bbctsZAjeGI/s1600-h/phishing.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/__OXBEeawNCY/RfFxTY0SiXI/AAAAAAAAABk/bbctsZAjeGI/s400/phishing.jpg" alt="" id="BLOGGER_PHOTO_ID_5039934035897518450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Phishing"&gt;Phishing&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/ebay"&gt;eBay&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-840165793126327969?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/840165793126327969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=840165793126327969' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/840165793126327969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/840165793126327969'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/when-phishers-get-lazy.html' title='When phishers get lazy'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/__OXBEeawNCY/RfFxTY0SiXI/AAAAAAAAABk/bbctsZAjeGI/s72-c/phishing.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6275545020666442941</id><published>2007-03-07T14:58:00.000-05:00</published><updated>2007-03-07T15:03:48.731-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Do we really want SSO?</title><content type='html'>With the recent flurry of announcements around OpenID the same SSO issues are once again being raised.  Kevin Farham documents some of these in his  &lt;a href="http://dev.aol.com/blog/kevinfarnham/2007/03/02/openid-id-never-use-that"&gt;piece&lt;/a&gt; on OpenID.  Kevin's friend's issues are not around OpenID but rather the whole concept of Single-Sign-On (SSO).&lt;br /&gt;&lt;br /&gt;This begs the question, "Do users really want SSO?"  Unfortunately, the perception might be scarier than the reality.  &lt;blockquote&gt;"You mean, if someone knows my password they can access all my web sites?"&lt;/blockquote&gt;  Well... yes and no (depending on the implementation).  However, the reality is that many users have the same password at all/most their sites and so the "hacker" can already get access to all their sites without SSO.&lt;br /&gt;&lt;br /&gt;With a good Identity Provider (IdP) and strong authentication, the user should be more secure even though a single authentication event allows access to many sites.  In fact, for many users, they expect this within a "proprietary" or "closed" environment ( &lt;a href="http://www.aol.com/"&gt;AOL&lt;/a&gt;, &lt;a href="http://www.google.com/"&gt;Google&lt;/a&gt;, &lt;a href="http://www.yahoo.com/"&gt;Yahoo&lt;/a&gt;, &lt;a href="http://www.msn.com/"&gt;MSN&lt;/a&gt;, etc). It's extending this SSO concept beyond the "proprietary" environment that "scares" them.&lt;br /&gt;&lt;br /&gt;Of course part of the issue is that this kind of "cross-domain" SSO doesn't really exist in the general consumer space.  The unknown always breads fear; it's human nature.  To overcome this "fear", we need SSO to be common place (known not unknown), and show how SSO is "just-as-secure" as the "&lt;a href="http://connectid.blogspot.com/2007/03/money-markets.html"&gt;money under the mattress&lt;/a&gt;" solution.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Single+Sign+On"&gt;SSO&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/OpenID"&gt;OpenID&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6275545020666442941?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6275545020666442941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6275545020666442941' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6275545020666442941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6275545020666442941'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/do-we-really-want-sso.html' title='Do we really want SSO?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-638884836019330949</id><published>2007-03-05T11:52:00.000-05:00</published><updated>2007-03-05T12:04:16.063-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Parental Controls'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Simplifying Parental Controls</title><content type='html'>In his blog entry "&lt;a href="http://connectid.blogspot.com/2007/03/social-engineering.html"&gt;Social Engineering&lt;/a&gt;" Paul Madsen describes the classic "parental control" problem where the children understand the technology better than the parents:)  However, this doesn't have to be the case.  I can think of a number of simple solutions.&lt;br /&gt;&lt;br /&gt;In my household, all members have their own OS user account (yes, including my 3 1/2 yr old daughter who dutifully types in her password to sign on).  This works out great for them and simplifies my life as I don't have to deal with changed desktops pictures, dock apps appearing/disappearing (yes it's a Mac), etc.  I highly recommend setting up OS user accounts for individuals (there can be a family one as well if necessary).  On the parental control front at the very least it allows you to turn off Administrator rights for certain accounts.&lt;br /&gt;&lt;br /&gt;Getting back to a solution.... Once signed in to my OS user account, I could click a widget/gadget/desktop-thingy to generate an assertion to my PS2 or other device authorizing the suspension of parental controls.  I suppose that the PS2 could support something like Cardspace, but that seems a little overkill.  Remembering the OS account password is not too difficult and should provide the necessary level of assurance as to the subject of the assertion.&lt;br /&gt;&lt;br /&gt;Then again, a simple USB fob with appropriate credentials would work as well.  Now where did I put that "key" for the &lt;a href="http://www.tivo.com"&gt;TiVo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technoratic.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Parental+Controls"&gt;Parental Controls&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-638884836019330949?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/638884836019330949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=638884836019330949' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/638884836019330949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/638884836019330949'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/simplifying-parental-controls.html' title='Simplifying Parental Controls'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-299614605864474898</id><published>2007-03-02T09:25:00.000-05:00</published><updated>2007-03-02T09:29:42.701-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Instant Message'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Alliance'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Provisioning identity to mobile applications</title><content type='html'>Not to long ago I decided to try and set up the instant messaging client on my cell phone.  I dutifully went through the painful process of entering my authentication credentials (loginid and password).  However, when I got to my password, I couldn't find one of the characters in my password using the phone character entry system.  This was rather frustrating and I gave up using the instant messaging client for a while.  Later I tried a different account where I knew I could find the characters for the password and the mobile application worked.&lt;br /&gt;&lt;br /&gt;This got me thinking that there has to be a better way to provision the identity to the phone for use with mobile applications.  One possible process flow would be...&lt;br /&gt;&lt;ol&gt;&lt;li&gt;User authenticates to web site of mobile application provider&lt;/li&gt;&lt;li&gt;User enters their phone #, and carrier to the web site&lt;/li&gt;&lt;li&gt;The web site sends a code to the phone&lt;/li&gt;&lt;li&gt; User receives the code and enters it into the web site&lt;/li&gt;&lt;li&gt; The web site generates a unique set of authentication credentials for the phone&lt;/li&gt;&lt;li&gt;The web site sends a binary SMS message to the phone with the mobile application identity configuration&lt;/li&gt;&lt;li&gt; User starts up mobile application and is automatically authenticated&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;This should all be doable with today's technology.  Of course, the next step would be secure provisioning of multiple identities for the device, where the identities are consumable by multiple applications.  For this, the &lt;a href="http://www.projectliberty.org/resource_center/specifications/liberty_alliance_id_wsf_advanced_client_1_0_draft_specifications"&gt;Advanced Client&lt;/a&gt; work underway in the Liberty Alliance should help.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Mobile"&gt;Mobile&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Instant+Message"&gt;Instant Message&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Liberty+Alliance"&gt;Liberty Alliance&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-299614605864474898?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/299614605864474898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=299614605864474898' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/299614605864474898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/299614605864474898'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/03/provisioning-identity-to-mobile.html' title='Provisioning identity to mobile applications'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3443188465127699836</id><published>2007-02-25T12:05:00.000-05:00</published><updated>2007-02-27T20:20:05.487-05:00</updated><title type='text'>Where's the ice?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__OXBEeawNCY/ReTW430wSmI/AAAAAAAAABY/KynBVEd_wKs/s1600-h/house+snow.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/__OXBEeawNCY/ReTW430wSmI/AAAAAAAAABY/KynBVEd_wKs/s320/house+snow.jpg" alt="" id="BLOGGER_PHOTO_ID_5036386555853294178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Unfortunately, predicting the weather here in VA is a bit of a trick.  Instead of 1/4" to 1/2" of ice, we ended up with 7+" of snow:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3443188465127699836?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3443188465127699836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3443188465127699836' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3443188465127699836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3443188465127699836'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/wheres-ice.html' title='Where&apos;s the ice?'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/__OXBEeawNCY/ReTW430wSmI/AAAAAAAAABY/KynBVEd_wKs/s72-c/house+snow.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-6819054493299573246</id><published>2007-02-23T09:52:00.000-05:00</published><updated>2007-02-23T09:54:00.226-05:00</updated><title type='text'>No ads for kids</title><content type='html'>Consider this for a moment.... My child gets online and goes to google to do some research for a school project.  Google senses that the user is a child and does not display any ads (OK, maybe I'm dreaming) or displays child appropriate ads.  This kind of claim "under 13" could be tied to an anonymous identifier so that each time my child interacts with a web site, they aren't being tracked and all their actions correlated to build a profile about them (of course there are many ways to do the correlation; using an anonymous identifier just makes it a little harder).  The next piece of the puzzle would be for user agents to expose this information directly to the web site through some means.&lt;br /&gt;&lt;br /&gt;My one concern is whether "pushing" the claim of "under 13" leaks too much information.  Would this enable someone to target my child because they know s/he is "under 13"?  However, I fear that if the claim is not "pushed" most web sites would just ignore it and not bother to go check with the appropriate attribute provider.  Maybe the only way to solve this is through legislation (any one want to sponsor a "No ads for kids" bill?).  Until then &lt;a href="http://www.mozilla.com/en-US/"&gt;Firefox2&lt;/a&gt; + &lt;a href="https://addons.mozilla.org/firefox/1865/"&gt;AdBlock Plus&lt;/a&gt; is your friend.&lt;br /&gt;&lt;br /&gt;I'd be interested to hear if anyone else has ideas or even considers this a significant problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-6819054493299573246?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/6819054493299573246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=6819054493299573246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6819054493299573246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/6819054493299573246'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/no-ads-for-kids.html' title='No ads for kids'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3753666698363774599</id><published>2007-02-19T09:48:00.000-05:00</published><updated>2007-02-19T09:50:45.602-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Reputation'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>OpenID and reputation</title><content type='html'>So the news that AOL supports OpenID finally bubbled up to &lt;a href="http://yro.slashdot.org/yro/07/02/18/2033235.shtml"&gt;Slashdot&lt;/a&gt;.  What I found interesting is that most of the slashdot readers focused on the single-sign-on capabilities of OpenID.  In doing so, there were a lot of comments regarding the privacy exposure of using a single identifier at many different sites.  In fact, some were suggesting that having a unique account at every site is a "good thing".  I understand their privacy concerns though that doesn't mean the user has to give up the benefit of SSO.  &lt;a href="http://www.oasis-open.org/specs/index.php#samlv2.0"&gt;SAML2&lt;/a&gt; solves this problem just fine.&lt;br /&gt;&lt;br /&gt;However, what is being missed by most of the slashdot community is that OpenID's are fantastic  public personal identifiers.  A few astute readers pointed out that in order to build reputation its important to have the same id.  Otherwise, how will people realize I'm the same person on multiple sites?  OpenID's provide an identifier that I can use so that people will recognize me at multiple locations.  Now OpenID's are not the only kind of identifiers that provide this capability; XRI's and any consistent identifier will do the trick.&lt;br /&gt;&lt;br /&gt;I found it interesting that while the "identity community" have no problems with the above concepts (if you've made it this far you're probably yawning), there is still a very large technical community that does not understand the ramifications of identity.&lt;br /&gt;&lt;br /&gt;One final thought.  There should be no reason why my IdP can't provide public personal identifiers in certain instances, pseudonymous identifiers in others, and temporary identifiers with claims in still others.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Reputation"&gt;Reputation&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3753666698363774599?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3753666698363774599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3753666698363774599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3753666698363774599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3753666698363774599'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/openid-and-reputation.html' title='OpenID and reputation'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-514791301296347491</id><published>2007-02-16T10:20:00.000-05:00</published><updated>2007-02-16T10:35:59.110-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Cardspace'/><category scheme='http://www.blogger.com/atom/ns#' term='Convergence'/><category scheme='http://www.blogger.com/atom/ns#' term='Liberty Alliance'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Identity'/><title type='text'>Users want convergence, not interoperability</title><content type='html'>Paul Madsen has a great &lt;a href="http://connectid.blogspot.com/2007/02/metasystem-permutations-combinations.html"&gt;post&lt;/a&gt; today regarding the permutations that must be supported to allow for interoperability between the different identity systems.  A meta-system framework is great, but implementing it can be a big problem.  Interoperability is a great first step but it can not be the end goal.&lt;br /&gt;&lt;br /&gt;Stopping at interoperability has some unfortunate consequences for each of the parties in the identity transactions.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Identity Provider&lt;/u&gt;&lt;/strong&gt;: Must implement multiple protocols. This isn't so bad for IdP's because there are relatively few of them and they can get a fair amount of value for their effort because it means more people will want to use their IdP (why Paul &lt;a href="http://connectid.blogspot.com/2007/02/please-delete-my-aol-openid.html"&gt;selected&lt;/a&gt; &lt;a href="http://www.protectnetwork.org/"&gt;ProtectNetwork&lt;/a&gt; over &lt;a href="http://www.aol.com/"&gt;AOL&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Relying Party&lt;/u&gt;&lt;/strong&gt;: Must implement multiple protocols based on the services they provide.  This is much more invasive because there are a lot more RPs than IdPs.  Getting lots of RPs to support multiple protocols will be difficult unless it is made extremely easy through available toolkits. Developers (people?) are inherently lazy and spending time writing the equivalent of a TCP/IP stack by hand is not something they want to do.  You can also apply these same consequences to web service providers.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;u&gt;Users&lt;/u&gt;&lt;/strong&gt;: Must have multiple identities from different IdPs and know when to use them.  This is the one that will kill the internet identity layer if we don't figure out a way toward better convergence.  Here is my reasoning (corrections greatly appreciated)...&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Web site will need to implement multiple identity systems in order to take advantage of services available on the web&lt;/li&gt;&lt;li&gt; Supporting multiple identity systems means that the bootstrap problem must be solved (how to exchange my OpenID authentication for a WS-Trust binary security token)&lt;/li&gt;&lt;li&gt; Solving the bootstrapping problem is most easily done at the IdPs&lt;/li&gt;&lt;li&gt; Not all IdPs will support all the necessary bootstrapping mechanisms&lt;/li&gt;&lt;li&gt; Therefore, users will need to have identities at the "right" IdPs in order to use certain web sites&lt;/li&gt;&lt;li&gt; Those web sites will have to figure out how to inform the user that their single-sign-on identifier doesn't work at their site.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;As we work toward convergence, we need to be mindful of the impacts on users.  If we don't make it easy for them, the coolness of the technology doesn't matter.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Identity"&gt;Identity&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Convergence"&gt;Convergence&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Liberty+Alliance"&gt;Liberty Alliance&lt;/a&gt;, &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Cardspace"&gt;Cardspace&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-514791301296347491?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/514791301296347491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=514791301296347491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/514791301296347491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/514791301296347491'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/users-want-convergence-not.html' title='Users want convergence, not interoperability'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-3187232056842587070</id><published>2007-02-15T12:03:00.000-05:00</published><updated>2007-02-15T15:07:34.429-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='AOL'/><title type='text'>OpenID and AOL Consumers</title><content type='html'>As has already been noted by &lt;a href="http://journals.aol.com/panzerjohn/abstractioneer/entries/2007/02/15/aol-and-openid-where-we-are/1406"&gt;John Panzer&lt;/a&gt;, &lt;a href="http://lawver.net/archive/2007/02/15/h09_aol_and_openid.php"&gt;Kevin Lawver&lt;/a&gt; and others, AOL is providing an OpenID URL for all AOL &amp; AIM members.  This enables a significant number of consumers with an OpenID URL.  I hope this encourages greater participation amongst existing services on the web.  I find that many of the services I want to try out, don't support OpenID and hence I tend not to go through the whole registration process just to see if the site offers the services I'm interested in. Greater participation by relying parties will be key for adoption and use of OpenID by the "mass market".&lt;br /&gt;&lt;br /&gt;In the "adoption and use" department... Given that many AOL users will not realize they have an OpenID, it would be great if the help text for "what is an OpenID?" on relying party "login" screens would mention that if you have a LiveJournal or AOL account, you already have an OpenID.  This isn't very inclusive so maybe there could be a link ("Do I already have an OpenID?") to a wiki page or something that could be updated as more OpenID Providers become available.  This isn't that important for those who explicitly create OpenID's at OpenID providers, but is important for those consumers who have an OpenID by virtual of having an account for other services.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href='http://technorati.com/tag/OpenID'&gt;OpenID&lt;/a&gt;, &lt;a href='http://technorati.com/tag/AOL'&gt;AOL&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-3187232056842587070?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/3187232056842587070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=3187232056842587070' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3187232056842587070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/3187232056842587070'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/openid-and-aol-consumers.html' title='OpenID and AOL Consumers'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-4951298813951863137</id><published>2007-02-14T12:30:00.000-05:00</published><updated>2007-02-15T21:53:23.418-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Photo'/><title type='text'>Valentines Day in VA</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__OXBEeawNCY/RdUcdHKIMYI/AAAAAAAAAA0/JcWIEnsvALE/s1600-h/berries+and+ice.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/__OXBEeawNCY/RdUcdHKIMYI/AAAAAAAAAA0/JcWIEnsvALE/s400/berries+and+ice.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5031959445119709570" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-4951298813951863137?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/4951298813951863137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=4951298813951863137' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4951298813951863137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/4951298813951863137'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/valentines-day-in-va.html' title='Valentines Day in VA'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/__OXBEeawNCY/RdUcdHKIMYI/AAAAAAAAAA0/JcWIEnsvALE/s72-c/berries+and+ice.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-1215503451020417618</id><published>2007-02-13T10:21:00.000-05:00</published><updated>2007-02-15T17:11:47.986-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Correlation'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenID'/><category scheme='http://www.blogger.com/atom/ns#' term='Privacy'/><title type='text'>OpenID: Not all Chocolates and Roses</title><content type='html'>There has been quite a bit of hype regarding OpenID within that last few weeks. One of the biggest &lt;a href="http://www.identityblog.com/?p=668"&gt;announcements&lt;/a&gt; is that Microsoft will work to support OpenID with its Cardspace card selection metaphor. While there are not many details about how this will work, this is still very good news for the OpenID community. There are other major identity players also working to support OpenID for their customers.&lt;br /&gt;&lt;br /&gt;I would, however, like to bring some practicality to all this hype. OpenID as an identity system is perfect for the blogosphere and any publicly published content. It provides single-sign-on and auto-correlation across all comments, blog posts, picture galleries, etc that I publish. However, it's the auto-correlation part that causes problems when I'm NOT wanting to operate on the web in a public manner.&lt;br /&gt;&lt;br /&gt;There are many tasks I do online that I do not want to ever by public (e.g. my banking site, purchasing history from Amazon, etc). While OpenID provides the single-sign-on benefit I desire even for these kinds of tasks, it also inherently allows for the correlation of my activities by those sites without my consent. This is definitely NOT user-centric.&lt;br /&gt;&lt;br /&gt;The problem this creates is that most users will not understand the impact of using a correlatable identifier at all the sites they interact with and will leak privacy information in the process. I do want to note that the OpenID 2.0 draft spec addresses this issue by allowing an interaction method where the user can allow the OpenID Provider (OP) to pick a unique identifier for them. The user will then be known by that identifier at that site. However, my concern is that while this method is supported, it's not getting much traction in the industry.&lt;br /&gt;&lt;br /&gt;As OpenID becomes more main stream it will be important for OpenID Providers to address not just the social-web tasks of users, but also the personal tasks of users and provide appropriate privacy protection.&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/OpenID"&gt;OpenID&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Correlation"&gt;Correlation&lt;/a&gt;, &lt;a href="http://technoratic.com/tag/Privacy"&gt;Privacy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-1215503451020417618?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/1215503451020417618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=1215503451020417618' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1215503451020417618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/1215503451020417618'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/02/openid-not-all-chocolates-and-roses.html' title='OpenID: Not all Chocolates and Roses'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34275044.post-8707178342161867288</id><published>2007-01-03T08:27:00.000-05:00</published><updated>2007-01-03T08:48:00.226-05:00</updated><title type='text'>Social Networking my way</title><content type='html'>It seems that I'm not the only one frustrated with the effort and work it takes to maintain relationships between my family and friends at social networking sites.  Today on Slashdot there is an article on &lt;a href="http://slashdot.org/articles/07/01/02/237223.shtml"&gt;"Social Network Fatigue Coming?"&lt;/a&gt; which references &lt;a href="http://blogs.zdnet.com/social/?p=53" rel="bookmark" title="Permalink"&gt;Steve O'Hear's blog&lt;/a&gt;. A few weeks ago in a similar blog entry Paul Madsen &lt;a href="http://connectid.blogspot.com/2006/12/single-social-network.html"&gt;described&lt;/a&gt; how the Liberty Alliance People Service can help solve this sort of fatigue using published standard protocols.&lt;br /&gt;&lt;br /&gt;I have to admit that there have been a number of sites I've been tempted to try out and yet when I consider that I will have to create an account, invite my family and friends, and have them create accounts before the site becomes useful... I just kill the page and decide I don't really need that service.&lt;br /&gt;&lt;br /&gt;If the social networking services would adopt standards so that I could use a single account and manage my social relationships in one place I would be much more likely to use their services (and pay for them if they provided the right value).&lt;br /&gt;&lt;br /&gt;Tags: &lt;a href="http://technorati.com/tag/Liberty+Alliance"&gt;Liberty Alliance&lt;/a&gt;, &lt;a href="http://technorati.com/tag/People+Service"&gt;People Service&lt;/a&gt;, &lt;a href="http://technorati.com/tag/social+networks"&gt;social networks&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34275044-8707178342161867288?l=practicalid.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://practicalid.blogspot.com/feeds/8707178342161867288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34275044&amp;postID=8707178342161867288' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8707178342161867288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34275044/posts/default/8707178342161867288'/><link rel='alternate' type='text/html' href='http://practicalid.blogspot.com/2007/01/social-networking-my-way.html' title='Social Networking my way'/><author><name>George Fletcher</name><uri>http://www.blogger.com/profile/12081110172957645007</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/__OXBEeawNCY/S04GI8sdBtI/AAAAAAAAAjU/-FTy7pv5qxI/S220/great_falls_profile.jpg'/></author><thr:total>0</thr:total></entry></feed>
