<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>danielmiessler.com &#187; Identity</title>
	<atom:link href="http://danielmiessler.com/categories/identity/feed" rel="self" type="application/rss+xml" />
	<link>http://danielmiessler.com</link>
	<description>grep understanding</description>
	<lastBuildDate>Thu, 24 May 2012 04:36:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Clickpass</title>
		<link>http://danielmiessler.com/blog/clickpass</link>
		<comments>http://danielmiessler.com/blog/clickpass#comments</comments>
		<pubDate>Sat, 28 Jun 2008 04:00:52 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[Identity]]></category>
		<category><![CDATA[Information Security]]></category>

		<guid isPermaLink="false">http://dmiessler.com/blog/clickpass</guid>
		<description><![CDATA[Clickpass looks really good, but I can&#8217;t get into it because once Google, Microsoft and Yahoo! embrace OpenID all these third party groups are going to be pushed out of the game. It&#8217;s kind of sad, really. Hurry up, Google. And I&#8217;m looking at you, too, Apple. Related ContentWhat Are You Guys Using For OpenID?Government [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://dmiessler.com/wp-content/uploaded_content/2008/06/clickpass.png" alt="clickpass" /></center></p>

<p><a href="http://www.clickpass.com/" title="Clickpass">Clickpass</a> looks really good, but I can&#8217;t get into it because once Google, Microsoft and Yahoo! embrace <a href="http://openid.net/" title="OpenID">OpenID</a> all these third party groups are going to be pushed out of the game.</p>

<p>It&#8217;s kind of sad, really.</p>

<p>Hurry up, Google. And I&#8217;m looking at you, too, Apple.</p>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/what-are-you-guys-using-for-openid" rel="bookmark" class="crp_title">What Are You Guys Using For OpenID?</a></li><li><a href="http://danielmiessler.com/blog/government-and-openid" rel="bookmark" class="crp_title">Government and OpenID</a></li><li><a href="http://danielmiessler.com/blog/google-doing-federated-openid-for-google-apps-now" rel="bookmark" class="crp_title">Google Doing Federated OpenID for Google Apps Now</a></li><li><a href="http://danielmiessler.com/blog/facebook-now-supports-openid" rel="bookmark" class="crp_title">Facebook Now Supports OpenID</a></li><li><a href="http://danielmiessler.com/blog/implementing-openid" rel="bookmark" class="crp_title">Implementing OpenID</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/clickpass/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Implementing OpenID</title>
		<link>http://danielmiessler.com/blog/implementing-openid</link>
		<comments>http://danielmiessler.com/blog/implementing-openid#comments</comments>
		<pubDate>Thu, 10 Jan 2008 03:38:10 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Information Security]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://dmiessler.com/blogarchive/implementing-openid</guid>
		<description><![CDATA[I&#8217;ve been wanting to implement an OpenID server for a long time now. After reading this article today about how people like Google, Facebook and Plaxo are getting on board, I figured it was time to go ahead and knock it off the project list. So using Sam Ruby&#8217;s excellent tutorial I implemented a full [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src="http://dmiessler.com/wp-content/uploaded_content/2008/01/openid.jpg" alt="openid" /></center></p>

<p>I&#8217;ve been wanting to implement an <a href="http://openid.net/" title="OpenID">OpenID</a> server for a long time now. After reading <a href="http://www.techcrunch.com/2008/01/08/the-openid-train-steams-ahead-google-ibm-and-verisign-said-to-be-joining/" title="The OpenID Train Steams Ahead: Google, IBM and Verisign Said To Be Joining">this article</a> today about how people like Google, Facebook and Plaxo are getting on board, I figured it was time to go ahead and knock it off the project list.</p>

<p>So using <a href="http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers" title="Sam Ruby: OpenID for non-SuperUsers">Sam Ruby&#8217;s excellent tutorial</a> I implemented a full endpoint in about 20 minutes. I did quite a bit of personalization, but I started with the <a href="http://siege.org/projects/phpMyID/" title="phpMyID">phpMyID</a> option mentioned on the OpenID site.</p>

<p>So as of now I can log into any OpenID-enabled site (there are many already and it&#8217;s about to hit its tipping point) using my very own OpenID identity &#8212; in my case &#8220;http://dmiessler.com&#8221;.</p>

<p>Very cool stuff.</p>

<h2>How It Works</h2>

<p>So I&#8217;m not actually <em>authenticating</em> using that &#8212; the identifier just tells the site I&#8217;m logging into (the &#8220;relying&#8221; party) how to get started with authentication. What it does then is head to that URL and look for some <code>rel</code> tags in the HTML for the site. Those sites are where the real work is done, and they can either point offsite to an OpenID provider, or you can point to yourself (like I have) and be an endpoint yourself.</p>

<p>Either way, I&#8217;m transparently redirected to the provider (me in this case) and prompted for my own credentials on the site via standard username and password popup window. Once I&#8217;ve authenticated to that, a &#8220;success&#8221; message is sent back to the original website I was logging in to, and I&#8217;m let in.</p>

<p>So if I had to enter a username and password anyway, what&#8217;s the advantage?</p>

<p>The answer is that I entered <strong>my own OpenID username and password</strong>, not some specific username and password for the site I was logging in to.</p>

<h2>Style Points</h2>

<p>So that&#8217;s cool, but to make it even more sexy I decided to use Quicksilver&#8217;s shelf functionality to streamline the process. Any time I am prompted for an OpenID identity I simply hit Shift-Option-D. This invokes a Quicksilver trigger that pulls the string &#8220;http://dmiessler.com&#8221; off of my QS shelf (think of it as a permanent clipboard).</p>

<p>Sexy as hell.</p>

<h3>Related Links</h3>

<p>The <a href="http://openid.net/" title="OpenID">OpenID</a> Website<br />
Click <a href="http://www.openidenabled.com/resources/openid-test/checkup" title="Check your OpenID">here</a> to see if your OpenID-fu is strong</p>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/what-are-you-guys-using-for-openid" rel="bookmark" class="crp_title">What Are You Guys Using For OpenID?</a></li><li><a href="http://danielmiessler.com/blog/facebook-now-supports-openid" rel="bookmark" class="crp_title">Facebook Now Supports OpenID</a></li><li><a href="http://danielmiessler.com/blog/disqus-3-embraces-openid" rel="bookmark" class="crp_title">DISQUS 3 Embraces OpenID</a></li><li><a href="http://danielmiessler.com/blog/verisign-pip-openid-delegation-code" rel="bookmark" class="crp_title">Verisign PIP OpenID Delegation Code</a></li><li><a href="http://danielmiessler.com/blog/w00t-i-just-posted-my-first-comment-using-openid-2" rel="bookmark" class="crp_title">W00t! I Just Posted My First Comment Using OpenID</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/implementing-openid/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kitmee: My Big Project</title>
		<link>http://danielmiessler.com/blog/kitmee-my-big-project</link>
		<comments>http://danielmiessler.com/blog/kitmee-my-big-project#comments</comments>
		<pubDate>Fri, 20 Jul 2007 03:21:23 +0000</pubDate>
		<dc:creator>Daniel Miessler</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Semantic]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://dmiessler.com/archives/1464</guid>
		<description><![CDATA[I&#8217;ve alluded to a major project a few times in recent months. Well, I&#8217;m now ready to talk about what it is. I apologize for the disjoined presentation; I&#8217;m a bit excited and will clean up as needed later. Background One of the most annoying problems that faces computer users is contact management. Most don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve alluded to a major project a few times in recent months. Well, I&#8217;m now ready to talk about what it is. I apologize for the disjoined presentation; I&#8217;m a bit excited and will clean up as needed later.</p>

<h2>Background</h2>

<p>One of the most annoying problems that faces computer users is contact management. Most don&#8217;t have a truly organized digital address book, and even those that do suffer from contact-rot. This is where each passing day means one more mailing address has changed, someone got a new mobile number, and another person got married and has a new last name. In other words, time deteriorates the quality of your information about other people.</p>

<p>Many services have come and gone that tried (or are trying) to solve this problem. Most notable of these is <a href="http://www.plaxo.com/">Plaxo</a>. Plaxo, as well as most of the other services like it, have essentially been services where you kept your updated information. The idea being that when you changed your info, Plaxo could notify the people in your address book that you had done so. At that point they could take some  steps to update their information. The problem is that it&#8217;s required too much involvement with the third party service. Plaxo is, after all, a for-profit company, so it makes sense that they would want you to interact with them.</p>

<h2>Identity Management + Semantic Web</h2>

<p align="center">My idea is simple: provide a free and open infrastructure upon which people can build identity-based services ranging from contact management to social interaction functionality. Focus on transparency and open standards, meaning that the exchange of informaton should be as simple as possible and should allow for infinite potential for securely sharing and manipulating the data.</p>

<p>Here are the two primary components:</p>

<ol>
    <li><strong>Central, Server-Side Representation of People using XML</strong>
I&#8217;m currently working on RDF for the main definition.</li>
    <li><strong>Open, RSS-based Client</strong>
The client piece, while completely open to various implementations, will have two components. 1) Subscriptions to contacts via RSS, and 2) translation of the server&#8217;s XML to their own address book format.</li>
</ol>

<h4>Functionality</h4>

<ul>
    <li>Maintain constantly updated contact information by <em>subscribing</em> to your friends&#8217; information on a central server. You stay updated because your information is not static. The information you see when you open your address book is what was last pulled from your contact&#8217;s RSS feed.</li>
    <li>Your contact list is constantly maintained in a neatly defined, XML-based format on the server (OPML?). To get your contacts onto any new system (including mobile devices), install any client (there will be many) that speaks both the server-side XML protocol and the local address book format.</li>
    <li>Link the elements within a given definition to other namespaces that carry weight within the semantic world. In other words, allow favorite bands, favorite foods, and a multitude of other attributes to be defined in such a way that associated information can be referenced (and  mashed) semantically.</li>
</ul>

<h4>The Architecture</h4>

<p>The server resides at kitmee.com (currently living in a VMware machine in San Fransisco that&#8217;s powered off) and hosts the various identity files (RDF, etc.). As an example, we&#8217;ll say we have two accounts &#8212; myself (Daniel Miessler), and my friend (Seth Kline).</p>

<p>We respectively live at kitmee.com/dmiessler and kitmee.com/skline. Within whatever client we&#8217;re using for the system (again, this will be any one of many available) I&#8217;ll <em>subscribe</em> to Seth&#8217;s address within my client that&#8217;s installed on my local system. The client works by maintaining two types of information: who you are, and who your subscriptions are (your contacts).</p>

<h4>More On Client Functionality</h4>

<p>The most basic client monitors the local address book for changes to my own contact information, and upon sensing changes translates the changed result into the server&#8217;s XML format and uploads it. This updates my information on the server and updates the associated RSS feed that represents me as a person.</p>

<p>Since people who have me in their &#8220;contact list&#8221; are actually just subscribed to my RSS feed, their respective clients (web clients, desktop clients, mobile clients) will be notified the next time they check in that I have updated my information. Their client will then update my information in their contact list (server-side) and make the associated change to the local address book on the system they are using (mobile phone, work computer, etc.).</p>

<p>So what we end up with is an infrastructure in which I can update my information <strong>using my own local address book</strong>, and that information will transparently be propogated (via RSS pull) to anyone who is subscribed to me using the system.</p>

<p align="center">Once I have a client installed it disappears into the background. From that point on I interact only with my regular contact management application, and changes I make are propogated to my subscribers, and their changes are propogated to me.</p>

<p align="left">The end result is that when I open my address book entry for Seth two years from now and dial his mobile number, I could very well be dialing a number that I never entered. He&#8217;ll still answer the phone on the other end, however, because at some point he updated <strong>HIS</strong> local address book, which updated the server, which updated <strong>MY</strong> local address book.</p>

<p align="left">No extra steps. No extra hassle.</p>

<h2>Considerations</h2>

<p><strong>Security</strong> is handled on the server by managing who can and cannot access your information. Obviously we don&#8217;t want just anyone to be able to pull your entire personal definition (essentially what&#8217;s now a vcard) by simply visiting a given URI. I also intend for the various elements/fields in the definition to be granularly controllable, e.g. work associates can see only your home number, while friends can see everything, etc.</p>

<p><strong>Clients</strong> are the key; without them we don&#8217;t have the transparency that&#8217;s required to make the infrastructure useful. Specifically, we need the client to be able to translate between the server&#8217;s XML format and the local address book format. In later client iterations, however, I anticipate moving towards address book integration, i.e. being able to add kitmee subscriptions right into the native address book.</p>

<h2>Final Thoughts</h2>

<p>So that&#8217;s the project. I&#8217;m currently working with <a href="http://skryking.net/">one other developer</a> on the server side, and have not even started considering the client piece. Our development environment currently consists of a fairly stout Gentoo Linux server running in VMware. The application platform is RoR, and we&#8217;re using Subversion for version control.</p>

<p>I am very much interested in any feedback you may have. And if you&#8217;re interested in contributing &#8212; either via conceptual input or actual development effort &#8212; I&#8217;d love to hear from you. I will be following the comments in this thread and am also <a href="mailto:daniel@dmiessler.com">available via email</a>.</p>
<div id="crp_related"><h3>Related Content</h3><ul><li><a href="http://danielmiessler.com/blog/blackberry-so-tired-of-mangled-contact-information" rel="bookmark" class="crp_title">Blackberry: So Tired Of Mangled Contact Information</a></li><li><a href="http://danielmiessler.com/blog/the-iphones-killer-app-address-book" rel="bookmark" class="crp_title">The iPhone&#8217;s Killer App: Address Book</a></li><li><a href="http://danielmiessler.com/blog/blackberry" rel="bookmark" class="crp_title">Blackberry</a></li><li><a href="http://danielmiessler.com/blog/filtering-non-gmail-email-with-gmail" rel="bookmark" class="crp_title">Filtering Non-Gmail Email With Gmail</a></li><li><a href="http://danielmiessler.com/blog/using-your-iphone-as-your-home-phone-the-ultimate-voip-solution" rel="bookmark" class="crp_title">Using Your iPhone as Your Home Phone: The Ultimate VOIP Solution</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://danielmiessler.com/blog/kitmee-my-big-project/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

