A Sane Version Of Trusted Computing May 29
Should you control your own computer?
That’s the question that opponents of trusted computing want us to ask. But that’s just as misleading as the suggestions that trusted computing will eliminate piracy thereby bringing about a digital paradise. A better more accurate question to ask is:
Should you be able to offer proof that this result is the output of running that program?
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 false results 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’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.
The worry that OS and hardware vendors will gang up with big content and leave you unable to trust your own computer 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’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.
First of all though it’s important to dispose of the myth that trusted computing is about creating ‘unbreakable’ DRM. Really what makes strong hardware backed DRM possible is secure I/O which, though often represented as part of the trusted computing package, is really a separate technology1 that is already being implemented2. As far as the absurd suggestion that TC will stop you from playing your mp3s not only is this against the OS and hardware vendor’s interests it doesn’t require TC in the first place. It’s obviously impossible to prevent any unprotected content from getting out3 so all DRM really tries to do is make ‘unauthorized’ use sufficiently difficult, something that may require secure I/O but certainly not trusted computing.
So if DRM is only a reason to oppose secure I/O (which we seem to have failed at) that only leaves us with Stallman’s worry that it would rob us of control of our computers, e.g., be unable to run open source software, and Schneier’s concern 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.
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’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 memory curtain. It will be in everyone’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.
Armed with this conception of trusted computing it’s easy to see that most of the criticisms don’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’t do with their computers. The absurd worries of external control of our computers simply don’t make sense. It will only make sense to run simple computational engines and security modules as trusted applications so it won’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.
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 platform4 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.
-
Secure I/O doesn’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’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. ↩
-
So long as your display will accept encrypted input directly from your BluRay drive it doesn’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. ↩
-
We can’t stop the diversion of massive amounts of prescription drugs every year it’s ridiculous to think that not a single corrupt person on the inside or clever hacker would free an unprotected version of the content. ↩
-
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. ↩
No Comments