<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Managed Card Portability</title>
	<atom:link href="http://eternallyoptimistic.com/2008/04/22/managed-card-portability/feed/" rel="self" type="application/rss+xml" />
	<link>http://eternallyoptimistic.com/2008/04/22/managed-card-portability/</link>
	<description></description>
	<lastBuildDate>Wed, 21 Apr 2010 14:34:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: ignisvulpis</title>
		<link>http://eternallyoptimistic.com/2008/04/22/managed-card-portability/comment-page-1/#comment-369</link>
		<dc:creator>ignisvulpis</dc:creator>
		<pubDate>Thu, 24 Apr 2008 09:41:36 +0000</pubDate>
		<guid isPermaLink="false">http://eternaloptimist.wordpress.com/?p=275#comment-369</guid>
		<description>Here is what the XMLDAP STS does: http://code.google.com/p/openinfocard/source/browse/trunk/src/org/xmldap/sts/servlet/Utils.java#226
http://tinyurl.com/5fn7eg
In English:
If the id selector presented a PPID in the RST then just use that.
If the id selector provided the RP certificate then take the certs&#039; encoded bytes and concatenet with the STS PPID and then compute a SHA1 hash of the result. This hash is the returned ppid in the token.
Else if I don&#039;t know the RP cert but I have a value for &quot;restrictedTo&quot; then concatenate this with the STS PPID, hash the concatenated bytes as before and return the result.
Else if neither of the above is known then just return the STS ppid associated with the card which makes this ppic linkable.

As you can see in the comments in the code using the whole encoded bytes of the cert was never considered a good idea. But alternatives are not really easy to find as each variant has its own drawbacks. Comments and suggestions are very wellcome.</description>
		<content:encoded><![CDATA[<p>Here is what the XMLDAP STS does: <a href="http://code.google.com/p/openinfocard/source/browse/trunk/src/org/xmldap/sts/servlet/Utils.java#226" rel="nofollow">http://code.google.com/p/openinfocard/source/browse/trunk/src/org/xmldap/sts/servlet/Utils.java#226</a><br />
<a href="http://tinyurl.com/5fn7eg" rel="nofollow">http://tinyurl.com/5fn7eg</a><br />
In English:<br />
If the id selector presented a PPID in the RST then just use that.<br />
If the id selector provided the RP certificate then take the certs&#8217; encoded bytes and concatenet with the STS PPID and then compute a SHA1 hash of the result. This hash is the returned ppid in the token.<br />
Else if I don&#8217;t know the RP cert but I have a value for &#8220;restrictedTo&#8221; then concatenate this with the STS PPID, hash the concatenated bytes as before and return the result.<br />
Else if neither of the above is known then just return the STS ppid associated with the card which makes this ppic linkable.</p>
<p>As you can see in the comments in the code using the whole encoded bytes of the cert was never considered a good idea. But alternatives are not really easy to find as each variant has its own drawbacks. Comments and suggestions are very wellcome.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pamela</title>
		<link>http://eternallyoptimistic.com/2008/04/22/managed-card-portability/comment-page-1/#comment-370</link>
		<dc:creator>Pamela</dc:creator>
		<pubDate>Wed, 23 Apr 2008 16:20:57 +0000</pubDate>
		<guid isPermaLink="false">http://eternaloptimist.wordpress.com/?p=275#comment-370</guid>
		<description>I&#039;m glad you pointed to that entry - I hadn&#039;t read it yet and it brings up yet again more interesting points, for example I didn&#039;t know that the FQDN was not used in creating the ppid!

Personally, I would think that an STS would have to think long and hard before implementing something that changes the outwards behavior of the black-box system that is supposed to be a managed card.

I&#039;ll have to do some impromtu testing on whether signing key changes for managed cards when imported between browsers - I don&#039;t know if I&#039;ve ever done such a thing in my PamelaWare testing...</description>
		<content:encoded><![CDATA[<p>I&#8217;m glad you pointed to that entry &#8211; I hadn&#8217;t read it yet and it brings up yet again more interesting points, for example I didn&#8217;t know that the FQDN was not used in creating the ppid!</p>
<p>Personally, I would think that an STS would have to think long and hard before implementing something that changes the outwards behavior of the black-box system that is supposed to be a managed card.</p>
<p>I&#8217;ll have to do some impromtu testing on whether signing key changes for managed cards when imported between browsers &#8211; I don&#8217;t know if I&#8217;ve ever done such a thing in my PamelaWare testing&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: BarryD</title>
		<link>http://eternallyoptimistic.com/2008/04/22/managed-card-portability/comment-page-1/#comment-371</link>
		<dc:creator>BarryD</dc:creator>
		<pubDate>Wed, 23 Apr 2008 05:58:52 +0000</pubDate>
		<guid isPermaLink="false">http://eternaloptimist.wordpress.com/?p=275#comment-371</guid>
		<description>Remember it&#039;s up to the STS to generate a PPID, assuming they want to support it.

Right now we&#039;re all lazy *grin* We simply reflect back the suggested one that comes down as part of the ClientPseudonym in the RST. This is generally a bad idea, not just for the reason you give, but because that PPID is not immutable, it may change with the RP SSL certificate (I&#039;ve moaned about this before; http://idunno.org/archive/2008/02/02/certificates-information-cards-ppids-and-misconceptions.aspx )

Having said that the PPID itself should be constant with the same card, imported into different selectors. It&#039;s the signing key that will vary, and as you point out this needs to be combined with the PPID to make something unique. Thinking about it, it&#039;s worse than you think. If the key is per selector then even exporting a self issued card and importing on a new machine means a new signing cert, and authentication fails if an RP is following best practice.

Now yes, in a non-auditing STS there&#039;s no other way to provide a PPID (and I am not convinced you actually need to offer on), but once you slip into auditing mode, where you know the identity of the RP there&#039;s a whole world of possibilities; including say &quot;Sod off&quot; to the ClientPseudonym and doing it yourself; which, to my mind, is the right thing to do. Well, it would be, if there was an easy way to work out if the RP has an EV certificate rather than have a master table of EV OIDs.</description>
		<content:encoded><![CDATA[<p>Remember it&#8217;s up to the STS to generate a PPID, assuming they want to support it.</p>
<p>Right now we&#8217;re all lazy *grin* We simply reflect back the suggested one that comes down as part of the ClientPseudonym in the RST. This is generally a bad idea, not just for the reason you give, but because that PPID is not immutable, it may change with the RP SSL certificate (I&#8217;ve moaned about this before; <a href="http://idunno.org/archive/2008/02/02/certificates-information-cards-ppids-and-misconceptions.aspx" rel="nofollow">http://idunno.org/archive/2008/02/02/certificates-information-cards-ppids-and-misconceptions.aspx</a> )</p>
<p>Having said that the PPID itself should be constant with the same card, imported into different selectors. It&#8217;s the signing key that will vary, and as you point out this needs to be combined with the PPID to make something unique. Thinking about it, it&#8217;s worse than you think. If the key is per selector then even exporting a self issued card and importing on a new machine means a new signing cert, and authentication fails if an RP is following best practice.</p>
<p>Now yes, in a non-auditing STS there&#8217;s no other way to provide a PPID (and I am not convinced you actually need to offer on), but once you slip into auditing mode, where you know the identity of the RP there&#8217;s a whole world of possibilities; including say &#8220;Sod off&#8221; to the ClientPseudonym and doing it yourself; which, to my mind, is the right thing to do. Well, it would be, if there was an easy way to work out if the RP has an EV certificate rather than have a master table of EV OIDs.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
