<?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-79822538226766961</id><updated>2011-04-21T11:56:23.246-07:00</updated><title type='text'>Steve Churchill's Blog</title><subtitle type='html'>This is home for my notes and observations regarding XDI, XRI, and digital identity. Visit www.wingaa.com.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stevenchurchillsblog.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/79822538226766961/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://stevenchurchillsblog.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Steve Churchill</name><uri>http://www.blogger.com/profile/01878476937540204953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_EvdYKbUcaI0/R5LfrVRkG6I/AAAAAAAAAAM/YeuCuzCSsbo/S220/SteveCowboy.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-79822538226766961.post-4143823635183544997</id><published>2008-04-22T20:29:00.000-07:00</published><updated>2008-04-22T20:58:01.261-07:00</updated><title type='text'>Using Context Sensitive Identifier Mappings -- Lessons in XRI and XDI</title><content type='html'>The XRI Resolver provides a flexible identifier mapping that allows a &lt;em&gt;service type&lt;/em&gt; to be passed to the mapping along with the identifier. The canonical example is where the two identifiers @ootao*steven and =steven.churchill map to the same XRI authority when asking for the OpenID service--thus allowing both identifiers to share the same OP account and password--while the same identifiers map to two different XRI authorities when asking for some other service type.&lt;br /&gt;&lt;br /&gt;But this flexibility leads to an entity/identity model that can be hard to understand. I've written a paper in order to help navigate the territory: &lt;a href="ftp://sandbox.myxdi.net/papers/context-sensitive-identifier-mappings.pdf"&gt;ftp://sandbox.myxdi.net/papers/context-sensitive-identifier-mappings.pdf&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/79822538226766961-4143823635183544997?l=stevenchurchillsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stevenchurchillsblog.blogspot.com/feeds/4143823635183544997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=79822538226766961&amp;postID=4143823635183544997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/79822538226766961/posts/default/4143823635183544997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/79822538226766961/posts/default/4143823635183544997'/><link rel='alternate' type='text/html' href='http://stevenchurchillsblog.blogspot.com/2008/04/using-context-sensitive-identifier.html' title='Using Context Sensitive Identifier Mappings -- Lessons in XRI and XDI'/><author><name>Steve Churchill</name><uri>http://www.blogger.com/profile/01878476937540204953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_EvdYKbUcaI0/R5LfrVRkG6I/AAAAAAAAAAM/YeuCuzCSsbo/S220/SteveCowboy.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-79822538226766961.post-5255174467259704185</id><published>2008-01-19T19:09:00.000-08:00</published><updated>2008-01-19T21:39:32.802-08:00</updated><title type='text'>Systems using Binary Identity Models</title><content type='html'>&lt;span style="font-family:arial;"&gt;When dealing with identity system constructs, such as end users logging into online accounts and the like, I often find it useful to decompose the actors into a system of connected &lt;span style="font-style: italic;"&gt;binary identity models&lt;/span&gt;. It's kind of like two stars falling around each other in a mutual gravitational embrace. &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Or something. &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;:&lt;span style="font-size:85%;"&gt;-)&lt;/span&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;A Simple Identity Model (SIM)&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;In so doing, I employ a very atomic and simple abstract identity model. The following is the definition of the Simple Identity Model: &lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;em&gt;&lt;em&gt;&lt;br /&gt;&lt;blockquote&gt;A formalization of entities and their groups. The formalization includes that which distinguishes entities within the group. &lt;/blockquote&gt;&lt;/em&gt;&lt;/em&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Some definitions are in order: &lt;/span&gt;&lt;span style="font-family:arial;"&gt;An &lt;em&gt;&lt;strong&gt;entity&lt;/strong&gt;&lt;/em&gt; is simply something that can formalized, and a &lt;em&gt;&lt;strong&gt;group &lt;/strong&gt;&lt;/em&gt;is just a collection of zero or more entities. The definition of &lt;span style="font-weight: bold;"&gt;identity&lt;/span&gt;, in this context, is simple and natural: "that which distinguishes entities within a group". (See again the definition of the "Simple Identity Model" above.)&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;Examples:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;pre&gt;&lt;strong&gt;SIM1&lt;/strong&gt;:   My poker buddies&lt;br /&gt;I play poker with this group every third week.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Entity:    A human being with which I play poker.&lt;br /&gt;Group:     Jim, Craig, Karen, Lee, and sometimes&lt;br /&gt;           Blake.&lt;br /&gt;Identity:  Distinguished using my normal means&lt;br /&gt;           of separating humans (name, appearance,&lt;br /&gt;           etc.)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SIM2&lt;/span&gt;:   My online widget store's user accounts&lt;br /&gt;My company has a website that it uses to sell&lt;br /&gt;its widgets.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Entity:    Record in the user_account SQL table&lt;br /&gt;           (along with all child records in&lt;br /&gt;           tables email, phone, purchases,&lt;br /&gt;           etc.)&lt;br /&gt;Group:     All records in user_account table.&lt;br /&gt;Identity:  Distinguished by PK of the&lt;br /&gt;           user_account table.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SIM3&lt;/span&gt;:   My blogging website's user comment&lt;br /&gt;        identifiers&lt;br /&gt;My company offers a blogging web site where&lt;br /&gt;users can leave comments on blog postings&lt;br /&gt;if they leave an unique identifier (in the&lt;br /&gt;form of a URL).&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Entity:    Unique "comment identifier URL"&lt;br /&gt;Group:     All "comment identifier URLs" ever&lt;br /&gt;           used at the blogging website.&lt;br /&gt;Identity:  Distinguished by the text value&lt;br /&gt;           of the URL.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Here's a quick look at the notion of authentication within the three identity models:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family:arial;"&gt;In SIM1, any notion of &lt;span style="font-style: italic;"&gt;authentication &lt;/span&gt;has to do with my inherent ability to distinguish human beings. (Usually, when I get to the point where I cannot distinguish Craig from Karen, that's when I know that I've had a few too many beers at the old poker table.)&lt;br /&gt;&lt;br /&gt;In SIM2, there needs to be a means of verifying that an end user behind a web browser has been authenticated as the owner of a given account. (We are, after all, going to bill his or her credit card, so authentication would be very helpful.)&lt;br /&gt;&lt;br /&gt;In SIM3, there needs to be a means of verifying that an end user behind a web browser has been authenticated as the owner of a given comment identifier URL.&lt;br /&gt;&lt;br /&gt;If you look closely, you may notice something: None of the three identity models above say &lt;em&gt;anything whatsoever&lt;/em&gt; about the notion of authentication (or an end user.) So why don't the SIMs cover this?&lt;/span&gt; &lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;It is because the abstract identity model definition (repeated here, from above) ... &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;    &lt;em&gt;A formalization of entities and their groups. The formalization includes that which distinguishes entities within the group&lt;/em&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;... does not have any support for notions such as authentication or end users. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;Expand the model?&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;It might be tempting at this point to say that the Simple Identity Model is not very useful--that it doesn't support constructs such as end users and authentication--and that we would need to add these constructs in order to make it useful. &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;I think it better, however, to keep the identity model abstraction in its atomic form.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Instead we can model the authentication and the end user by spinning off, so to speak, a new SIM--call it SIM4--and then by defining the connections between two SIMS. (And, woohoo, we will have our system of binary identity models.)&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Let's look at SIM2. We need a way of verifying that an end user behind a web browser has been authenticated as the owner of a given account, so that he or she can buy widgets. We spin off SIM4 to define that user.&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;SIM4&lt;/span&gt;:   End users who have accounts at at my&lt;br /&gt;        online widget store&lt;br /&gt;... and who we'd like to authenticate, because&lt;br /&gt;we are going to bill their credit cards.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Entity:     Human being who buys widgets at my&lt;br /&gt;            company's online widget store.&lt;br /&gt;Group:      All the human beings who buy widgets&lt;br /&gt;            at my company's online widget store.&lt;br /&gt;Identity:   Distinguished by the Cardspace PPID&lt;br /&gt;            used to communication with my the&lt;br /&gt;            online widget store.&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SIM Connections:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We can now formalize connections between the entities of the given identity models. (Conceptually, we can draw the lines between the entities in one SIM and the entities in another SIM.)&lt;br /&gt;&lt;br /&gt;For example, the connection between SIM4 and SIM2 can be formalized as: the entity (the end user) in SIM4 &lt;span style="font-style: italic;"&gt;uses &lt;/span&gt;the entity (the user account) in SIM2 when he or she buys online widgets. It should be noted that the connections are not necessarily one-to-one. For example, a given end-user in SIM4 might use two separate accounts at the widget store.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Authentication&lt;/span&gt;, then, is simply whatever means used to validate a given entity connection between two identity models.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:arial;"&gt;Rather than attempting to complicate a simple identity model by adding constructs such as authentication, it is better to keep the abstract model in its most atomic form and then to define notions such as authentication in terms of connections between entities in different identity models.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/79822538226766961-5255174467259704185?l=stevenchurchillsblog.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://stevenchurchillsblog.blogspot.com/feeds/5255174467259704185/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=79822538226766961&amp;postID=5255174467259704185' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/79822538226766961/posts/default/5255174467259704185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/79822538226766961/posts/default/5255174467259704185'/><link rel='alternate' type='text/html' href='http://stevenchurchillsblog.blogspot.com/2008/01/systems-using-binary-identity-models.html' title='Systems using Binary Identity Models'/><author><name>Steve Churchill</name><uri>http://www.blogger.com/profile/01878476937540204953</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://bp1.blogger.com/_EvdYKbUcaI0/R5LfrVRkG6I/AAAAAAAAAAM/YeuCuzCSsbo/S220/SteveCowboy.JPG'/></author><thr:total>5</thr:total></entry></feed>
