<?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>Infinite Injury &#187; Trusted Computing</title>
	<atom:link href="http://www.infiniteinjury.org/blog/topics/programming-computer-science-and-technology/trusted-computing-programming-computer-science-and-technology/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.infiniteinjury.org/blog</link>
	<description>Good Analysis, Bad Grammar</description>
	<lastBuildDate>Sat, 22 May 2010 13:18:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Sane Version Of Trusted Computing</title>
		<link>http://www.infiniteinjury.org/blog/2008/05/29/a-sane-version-of-trusted-computing/</link>
		<comments>http://www.infiniteinjury.org/blog/2008/05/29/a-sane-version-of-trusted-computing/#comments</comments>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<dc:creator>TruePath</dc:creator>
				<category><![CDATA[DRM]]></category>
		<category><![CDATA[Trusted Computing]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[computing market]]></category>
		<category><![CDATA[grid computing]]></category>
		<category><![CDATA[palladium]]></category>
		<category><![CDATA[secure IO]]></category>
		<category><![CDATA[TC]]></category>
		<category><![CDATA[trusted computing]]></category>

		<guid isPermaLink="false">http://www.infiniteinjury.org/blog/?p=408</guid>
		<description><![CDATA[Trusted computing is not a magic wand that solves our digital security and ownership issues but nor is it a great menace.  It's simply a useful tool that will allow a new interesting class of applications to be created.  So let's object to the really troubling things like secure I/O (aka HDCP) and offer positive suggestions for a sane trusted computing platform instead of rejecting it out of hand.  I want to be able to buy and sell CPU time like they are always doing in scifi novels and I think it's a shame open source advocates and anti-DRM campaigners are pointlessly standing in the way.]]></description>
			<content:encoded><![CDATA[<blockquote class="question">Should you control your own computer?</blockquote>

<p>That&#8217;s the question that opponents of <a href="http://en.wikipedia.org/wiki/Trusted_Computing">trusted computing</a> want us to ask.  But that&#8217;s just as misleading as the suggestions that trusted computing will <a href="http://www.gamesindustry.biz/articles/encryption-chip-will-end-piracy-open-markets-says-bushnell">eliminate piracy</a> thereby bringing about a digital paradise.  A better more accurate question to ask is:</p>

<blockquote class="question">
Should you be able to <I>offer</I> proof that this result is the output of running that program?
</blockquote>

<p>Stated this way the issue of trusted computing becomes much clearer.  Obviously, other things being equal, it would be desierable to be able to prove the information you are submitting really did result from the execution of a particular program.  For instance this would allow you to purchase processor cycles without the fear of <a href="http://en.wikipedia.org/wiki/Trusted_Computing#Verification_of_remote_computation_for_grid_computing">false results</a> or to trust calculations performed by other clients in a distributed virtual world.  Moreover, like other technologies it would surely offer benefits that we can&#8217;t yet imagine.  Below the break I explain why DRM opponents and open source advocates should get behind this useful technology rather than leaving it to falsely identified with DRM and standardized in the worst possible way.</p>

<p><span id="more-408"></span>
The worry that OS and hardware vendors will gang up with big content and leave you <a href="http://newsforge.com/newsforge/02/10/21/1449250.shtml?tid=19">unable to trust your own computer</a> is quite real.  However, we need to carefully distingush the motivations some companies might have for pursuing this technology and the technology itself.  Bashing the idea of trusted computing or demanding that it&#8217;s fundamental utility be compromised by allowing the user to tell their computer to lie just gives big media more influence over how trusted computing will work.  A much better solution is to offer a vision of trusted computing that brings all the benefits while avoiding most of the pitfalls.</p>

<p>First of all though it&#8217;s important to dispose of the myth that trusted computing is about creating &#8216;unbreakable&#8217; <a href="http://en.wikipedia.org/wiki/Digital_rights_management">DRM</a>.  Really what makes strong hardware backed DRM possible is <a href="http://en.wikipedia.org/wiki/Trusted_Computing#Secure_I.2FO">secure I/O</a> which, though often represented as part of the trusted computing package, is really a separate technology<sup id="fnref:secio"><a href="#fn:secio" rel="footnote">1</a></sup> that is already being implemented<sup id="fnref:io"><a href="#fn:io" rel="footnote">2</a></sup>.  As far as the absurd suggestion that TC will <a href="http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html">stop you from playing your mp3s</a> not only is this against the OS and hardware vendor&#8217;s interests it doesn&#8217;t require TC in the first place.  It&#8217;s obviously impossible to prevent any unprotected content from getting out<sup id="fnref:drugs"><a href="#fn:drugs" rel="footnote">3</a></sup> so all DRM really tries to do is make &#8216;unauthorized&#8217; use sufficiently difficult, something that may require secure I/O but certainly not trusted computing.</p>

<p>So if DRM is only a reason to oppose secure I/O (which we seem to have failed at) that only leaves us with <a href="http://newsforge.com/newsforge/02/10/21/1449250.shtml?tid=19">Stallman&#8217;s worry</a> that it would rob us of control of our computers, e.g., be unable to run open source software, and <a href="http://www.schneier.com/blog/archives/2006/05/who_owns_your_c.html">Schneier&#8217;s concern</a> that it will make life even easier for malware or vendors wishing to track your activities.  These worries, however, can be solved with a proper trusted computing stack.</p>

<p>Any attempt to secure the full operating system from video card drivers to virtual filesystems to keyboard input is too absurd to even bother attempting.  If code executing in a trusted enviornment depends on the entirety of a modern kernel to be secure it&#8217;s a lost cause.  There is simply too much stuff going on in a modern OS and it is updated too frequently to be able to trust any signature resting on kernel security.  A much more secure and less troublesome way to make everything work is to leave the standard kernel untrusted but run it under a minimal trusted hypervisor.  When it becomes necessary to run some code in a trusted environment the kernel hands off the call to the hypervisor which hashes any necessary inputs and starts the program behind a <a href="http://en.wikipedia.org/wiki/Trusted_Computing#Memory_curtaining">memory curtain</a>.  It will be in everyone&#8217;s interest to make this hypervisor as small as possible and as broadly compatible as possible so not only is there no threat to open source software but I would expect such a hypervisor to be open source.</p>

<p>Armed with this conception of trusted computing it&#8217;s easy to see that most of the criticisms don&#8217;t apply.  With such a simple environment for trusted programs they will never control the GUI or become a vendor controlled citadel telling users what they can and can&#8217;t do with their computers.  The absurd worries of external control of our computers simply don&#8217;t make sense.  It will only make sense to run simple computational engines and security modules as trusted applications so it won&#8217;t give the court or microsoft magical power over your whole software stack.  Heck, if the public was willing to buy it MS could insert remote censorship software in word right now and only a small digital elite would be able to circumvent it.  Worries about compatibility or vendor lock in are really moot since these can already be achieved quite effectively for 99% of users.</p>

<p>Trusted computing is not a magic wand that solves our digital security and ownership issues but nor is it a great menace.  It&#8217;s simply a useful tool that will allow a new interesting class of applications to be created.  So let&#8217;s object to the really troubling things like secure I/O (aka HDCP) and offer positive suggestions for a sane trusted computing platform<sup id="fnref:no"><a href="#fn:no" rel="footnote">4</a></sup> instead of rejecting it out of hand.  I want to be able to buy and sell CPU time like they are always doing in scifi novels and I think it&#8217;s a shame open source advocates and anti-DRM campaigners are pointlessly standing in the way.</p>

<div class="footnotes">
<hr />
<ol>

<li id="fn:secio">
<p>Secure I/O doesn&#8217;t provide many useful benefits apart from DRM restrictions.  As far as security goes it really only prevents against man-in-the-middle attacks on physical keyboard cables and wholesale mimicry of the entire desktop environment by an attacker.  Moreover, mounting a single $1 text display on the monitor for secure messages would capture all the security benefits.  The computational parts of games and distributed worlds can be performed in protected mode but guaranteeing it&#8217;s really a human (rather than a robot) entering the commands is beyond the ability of computer hardware.  I think a more profitable approach to block enhanced inputs in games would be to try and identify the signature of modified inputs rather than installing expensive cryptographic keyboards everywhere.&#160;<a href="#fnref:secio" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:io">
<p>So long as your display will accept encrypted input directly from your BluRay drive it doesn&#8217;t matter whether your computer has a trusted platform module in it since it never has access to the unencrypted content in the first place.&#160;<a href="#fnref:io" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:drugs">
<p>We can&#8217;t stop the diversion of massive amounts of prescription drugs every year it&#8217;s ridiculous to think that not a single corrupt person on the inside or clever hacker would free an unprotected version of the content.&#160;<a href="#fnref:drugs" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:no">
<p>No, suggesting we do away with the central benefit by letting users falsely certify something as the result of a computation is not a useful contribution.&#160;<a href="#fnref:no" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.infiniteinjury.org/blog/2008/05/29/a-sane-version-of-trusted-computing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trusted Computing: No Different Than BitTorrent or DeCSS</title>
		<link>http://www.infiniteinjury.org/blog/2006/08/12/trusted-computing-no-different-than-bittorrent-or-decss/</link>
		<comments>http://www.infiniteinjury.org/blog/2006/08/12/trusted-computing-no-different-than-bittorrent-or-decss/#comments</comments>
		<pubDate>Sat, 12 Aug 2006 23:49:49 +0000</pubDate>
		<dc:creator>TruePath</dc:creator>
				<category><![CDATA[DRM]]></category>
		<category><![CDATA[Trusted Computing]]></category>
		<category><![CDATA[bittorrent]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[DeCSS]]></category>
		<category><![CDATA[P2P]]></category>
		<category><![CDATA[trusted computing]]></category>

		<guid isPermaLink="false">http://www.infiniteinjury.org/blog/2006/8/12/trusted-computing-no-different-than-bittorrent-or-decss/</guid>
		<description><![CDATA[If computer freedom advocates want to be consistent they should recognize that it is wrong to demonize the <I>technology</I> of trusted computing just because it can be used for evil just like it is wrong to demonize P2P networks or DeCSS because of their illicit applications.  Certainly their are improvements that can be made to trusted computing to make it better (instead of verifying the software stack thus requiring a trusted kernel features to authenticate valid context switching should be used instead) but we should work to improve the technology not throw it out.]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Trusted_computing">Trusted Computing</A> (TC) (<A href="http://www.cl.cam.ac.uk/~rja14/tcpa-faq.html">good faq</A>), in case you don&#8217;t obsessively read <a href="http://slashdot.org">slashdot</A>, is the name for a range of technologies that enable cryptographic verification of the code running on a computer as well as the ability to control what code can access certain information.  This technology would allow people to verify that the output of some program running on an untrusted computer, possibly even one owned by someone else, is indeed produced by that program and hasn&#8217;t been forged or modified.  In theory it would also allow people to encrypt information in such a way that only authorized programs could access the unencrypted data.</p>

<p>The most well known &#8216;feature&#8217; of trusted computing is to enable secure digital rights management (DRM) for digital media.  For instance an online music store like the apple music store might encrypt the song they sell you so that only the iTunes player on a system with TC technology could access the decrypted data and unlike current DRM technology it would be (in principle) secure [insecure].  Among other things this would make it very difficult to illegally copy the content you purchased.  For this reason trusted computing is being strongly promoted by the <a href="https://www.trustedcomputinggroup.org/home">Trusted Computing Group</A> which includes some of the biggest companies in the computer world (Intel, Microsoft, IBM, HP and AMD). However, TC faces significant opposition from many computer hobbyists, open source advocates and the EFF.  The concern of these groups isn&#8217;t that TC and DRM would prevent piracy, they convincingly argue that it would not, but that it would take too much power away from the user and give it to the vendor.</p>

<p>The essential concern is that the vendor has complete control over your use of their content enabling anti-competitive behavior, blocking fair use, preventing the use of third party of hobbyist enhancements and forcing unnecessary repurchase.  These problems have been widely discussed and the EFF <A href="https://www.eff.org/Infrastructure/trusted_computing/20031001_tc.php">can explain the harms</A> far better than I.  Suffice it to say that DRM technology could be really fucking bad for the consumer as well as culture.</p>

<p>However, these misuses of the technology are something that can be addressed by proper legislation (the market isn&#8217;t sufficient as many of the harms occur via a tragedy of the commons or are opaque to the average consumer).  One ambitious solution I think has promise would be for congress to define a set of mandatory rights for the retail purchase of media/IP by individuals.  This could deal with the DRM problem and End User License Agreements (EULA) in one fell swoop and if the rights were broad enough undermine the motivation for DRM technology or even ban it&#8217;s use for retail media entirely.</p>

<p>While I&#8217;m worried about the effects of DRM technology, especially during the time it takes to pass new laws, the fact that it can be used for unsavory purposes isn&#8217;t enough of a reason to oppose the technology.  In fact it is downright inconsistent for the hacker/open source community to defend services like bittorrent and programs like DeCSS (unencrypts DVDs) because they have upstanding uses as well as enabling piracy but dismissing trusted computing because it could be used for evil.  Like bittorrent and DeCSS trusted computing also has many compelling applications.</p>

<p>Utilization of all the excess computing power in PCs around the world has been a dream of researchers and hackers for years but apart from free projects like Seti@Home it has yet to come to fruition.  One large obstacle is the technological inability to guarantee the results of a remote computation are valid.  Few people are going to fake results for Seti@Home or other charitable work but once you start paying people for the use of their computer their is an incentive to make more money by only pretending to run the computations.  Also more serious projects need to worry about malicious interference.  Trusted computing can solve these problems by providing a cryptographic guarantee the result you receive is the result of running a certain piece of code.  Additionally companies will be reluctant to make use of commoditize computing power if their competitors can see their private data just by selling time on their CPUs.  While it is more difficult than generally acknowledge to provide truly cryptographically secure computation (timing attacks) trusted computing can make it very very difficult to decipher the encrypted data while still allowing your computer to work on it.</p>

<p>This is just one potential application of trusted computing other than DRM.  Many others have been proposed including, email with guaranteed deletion dates, to better protection of personal information, greater computer security, digital cash and perhaps the ability to run your programs on anyone&#8217;s computer.  As with any major computing advance the most compelling uses are probably things that haven&#8217;t even been thought of yet.  Given all these potential advantages it would be a shame to throw out a whole technology just because it can also be used for evil.  It would be unfortunate even to adopt the EFF&#8217;s solution that would give the computer owner an override of trusted computing facilities as this would eliminate all but the computer security application of trusted computing.</p>

<p>If computer freedom advocates want to be consistent they should recognize that it is wrong to demonize the <I>technology</I> of trusted computing just because it can be used for evil just like it is wrong to demonize P2P networks or DeCSS because of their illicit applications.  Certainly their are improvements that can be made to trusted computing to make it better (instead of verifying the software stack thus requiring a trusted kernel features to authenticate valid context switching should be used instead) but we should work to improve the technology not throw it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.infiniteinjury.org/blog/2006/08/12/trusted-computing-no-different-than-bittorrent-or-decss/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
