{"id":780,"date":"2007-05-24T12:05:32","date_gmt":"2007-05-24T20:05:32","guid":{"rendered":"\/?p=780"},"modified":"2007-05-27T09:41:48","modified_gmt":"2007-05-27T17:41:48","slug":"ben-laurie-on-selective-disclosure-part-2","status":"publish","type":"post","link":"https:\/\/www.identityblog.com\/?p=780","title":{"rendered":"Ben Laurie on Selective Disclosure (Part 2)"},"content":{"rendered":"<p>In introducing people to his&nbsp;Selective Disclosure paper,&nbsp;Google&#39;s Ben Laurie&nbsp;says:&nbsp;<\/p>\n<blockquote><p>In fact, there are many ways CardSpace <em>could<\/em> violate the laws, but there is one which it is currently inherently incapable of satisfying, which is the 4th law &#8211; the law of directed identity &#8211; which says, once you\u00e2\u20ac\u2122ve fought your way through the jargon, that your data should not be linkable.<\/p><\/blockquote>\n<p>Ben doesn&#39;t like the term &#8220;omni-directional identifier&#8221;, which is certainly his prerogative.&nbsp; But speaking of jargon, note that&nbsp;according to the Oxford English Dictionary,&nbsp;Ben&#39;s word &#8220;linkable&#8221; doesn&#39;t&nbsp;actually exist&#8230;&nbsp;<\/p>\n<p>Meanwhile &#8220;omni-directional&#8221; is a real word from the field of telecommunications&nbsp;(isn&#39;t that&nbsp;what we are&nbsp;working in?)&nbsp;&nbsp;It means&nbsp;&#8220;of equal sensitivity or power in all directions&#8221;.&nbsp; Similarly, &#8220;unidirectional&#8221;&nbsp;means&nbsp;&#8220;moving or operating in a single direction&#8221;.<\/p>\n<p>So I think the&nbsp;Fourth Law is precise enough:<\/p>\n<blockquote><p>A universal identity system must support both omni-directional identifiers for use by public entities and unidirectional identifiers for use by private entities, thus facilitating discovery while preventing unnecessary release of correlation handles.<\/p><\/blockquote>\n<p>The word &#8220;discovery&#8221; is again used in the technical sense of making it possible to locate and rendezvous with other entities.&nbsp;&nbsp; The goal here is to embrace the range of use cases I <a href=\"\/?p=778\">discussed in part one<\/a>.&nbsp;<\/p>\n<p>Ben argues that CardSpace breaks this Fourth Law.&nbsp; In this he is wrong.&nbsp; I suspect he is confusing CardSpace, which is just a way of selecting between identity providers, and the identity providers themselves.&nbsp; Let&#39;s get that really straight.<\/p>\n<p>CardSpace is&nbsp;one&nbsp;component of the Identity Metasystem &#8211; by which I mean a distributed mesh of parties asserting and&nbsp;depending upon&nbsp;identity.&nbsp; CardSpace&nbsp;informs the user&nbsp;about the identity providers that can satisfy a given relying party request, and&nbsp;provides a mechanism to tell the user&nbsp;what information must be released to the relying party in order to gain admission to the site.&nbsp; But the identity selector does not itself make assertions or sign them cryptographically, or <em>do anything that introduces linkability or traceability<\/em>.&nbsp;&nbsp;If linkability is introduced, it&nbsp;is because of the choice of&nbsp;the identity provider people&nbsp;use with the&nbsp;the system, and of the cryptographic systems they employ.&nbsp;&nbsp;<\/p>\n<p><strong>Privacy characteristics of the self-asserted Identity Provider<\/strong>&nbsp;<\/p>\n<p>While CardSpace is an identity selector, we have&nbsp;built it&nbsp;to <em>include<\/em> a self-asserted identity provider as a way to bootstrap the system.&nbsp;&nbsp; So what are the privacy characteristics of this provider?<\/p>\n<ul>\n<li>It&nbsp;emits <strong>no&nbsp;identifiers<\/strong> that allow the identity of the user on one system to be linked to the identity of the user on any other.&nbsp;&nbsp;<\/li>\n<li>A <strong>different signing key<\/strong> is used at each site visited so keys and signatures cannot be correlated.<\/li>\n<li>Relying parties <strong>cannot collude<\/strong> with this identity provider because it is run by the user.&nbsp;<\/li>\n<\/ul>\n<p>So the Identity Provider that ships with CardSpace <em>does not break the Fourth Law either<\/em>.<\/p>\n<p><strong>Managed Card Providers<\/strong>&nbsp;<\/p>\n<p>Now let&#39;s talk about managed card providers, and think about other systems such as Liberty or Shibboleth or OpenID or SAML or WS-Federation in&nbsp;browser mode.&nbsp;<\/p>\n<p>These systems&nbsp;<strong>always <\/strong>identify the relying party to the identity provider.&nbsp; They do so because they need to tell the identity provider how to redirect the client&#39;s browser back&nbsp;to the relying party.&nbsp; So they are what I call&nbsp;<strong>panoptical by design<\/strong>.&nbsp; There is zero collusion required for the identity provider to know what is being asserted where &#8211; that knowledge&nbsp;is&nbsp;designed right into the system.<\/p>\n<p>CardSpace breaks with this paradigm, and I hope Ben comes to recognize this.&nbsp;<\/p>\n<p>To support&nbsp;use cases where we do NOT want linkability, CardSpace <strong>hides the identity of the relying party<\/strong> from the identity provider.&nbsp; If we had built it without this feature, it too would have been &#8220;panoptical by design&#8221;.&nbsp; But we didn&#39;t do that.&nbsp; We built it to&nbsp;conform with the Fourth Law.&nbsp; In other words, CardSpace does not provide unnecessary handles to facilitate linkability.<\/p>\n<p>How does CardSpace hide the identity of the relying party?&nbsp; It associates some random information &#8211; unknown to the identity provider &#8211; with each Information Card.&nbsp; Then it&nbsp;hashes this random information (let&#39;s call it a &#8220;salt&#8221;) with the identity of the site being visited.&nbsp; That is conveyed to the identity provider&nbsp;<strong>instead of<\/strong> the identity of the site.&nbsp; We call it the &#8220;Client Pseudonym&#8221;.&nbsp; Unlike a Liberty Alliance client pseudomym, the identity provider doesn&#39;t know what&nbsp;relying party a client pseudonym is associated with.&nbsp;<\/p>\n<p>The identity provider can use this value to determine that the user is returning to some site she has visited before, but has no idea which site that would be.&nbsp; Two users going to the same site would have cards containing different random information.&nbsp; Meanwhile, the Relying Party&nbsp;does not see the client pseudonym and has no way of calculating what&nbsp;client pseudonym is associated with a given user.&nbsp;&nbsp;&nbsp;<\/p>\n<p>The question now becomes that of how identity providers behave.&nbsp; Given&nbsp;that suddenly they&nbsp;have no visibility onto the relying party, is linkability still possible?&nbsp; I&#39;ll discuss this next.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ben Laurie confuses CardSpace, which is a way of selecting between identity providers, and the characteristics of the identity providers themselves.<\/p>\n","protected":false},"author":68,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[16,8,7,3,11],"tags":[],"_links":{"self":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/780"}],"collection":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/users\/68"}],"replies":[{"embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=780"}],"version-history":[{"count":0,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=\/wp\/v2\/posts\/780\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=780"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=780"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.identityblog.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=780"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}