EOF - Give TCPA an Owner Override

Don't accept “trusted computing” unless it's under the control of the user. One new feature can eliminate TCPA's most serious privacy concern and give it a chance to be really trustworthy.

The Trusted Computing Platform Alliance (TCPA) overview in Linux Journal's August 2003 issue, “Take Control of TCPA” written by Dave Safford, Jeff Kravitz and Leendert van Doorn, discusses some of the TCPA system's security features. The article does not consider, however, that the remote attestation feature of TCPA is likely to cause harm unless a simple fix is applied.

TCPA's basic rationale is correct: today's PC architecture lacks hardware features that would improve computer security. For instance, current PCs have no secure key storage mechanism. If you keep your GPG key on your computer, as most GPG users do, someone who breaks in is able to read it from disk and copy it.

The PC also is vulnerable to keyloggers and screen-grabbers. An attacker can watch you by installing code to record what you type and can capture what appears on your monitor.

TCPA improves computer security by addressing these weaknesses with corresponding hardware improvements. One of these, the secure key storage mechanism described in “Take Control of TCPA”, lets you prevent keys from being stolen, even in the case of a root compromise.

The Trusted Computing Group (TCG) also may develop hardware to defend against software keyloggers and screen-grabbers and to support stronger memory isolation than what exists in most popular operating systems today. Even if your system is compromised, your data and communications still could be protected. This approach would help programmers limit the privilege of software, even operating systems—that's good security design.

But trusted computing architects have gone astray in designing “system software integrity measurement”, which Safford et al. note “can be used to detect software compromise”. The TCPA software attestation mechanisms go beyond this; they're built to enforce policies even against the wishes of the computer owner.

Even as the attestation features prove to you that your computer's software is unaltered, they also can be used to prove to a third party that your computer's software is unaltered. If you, as the computer owner, make a change, a third party sees that the content of your attestation is different. That's fine if the third party has your interests at heart, but computer owners and third parties with whom they interact often have different interests.

Creating a reliable way for a third party to determine what software you're using is a pernicious project. Today, it's trivial to fool “Internet Explorer only” sites: change how your browser identifies itself, and there is nothing the other end can do. With TCPA's remote attestation, a site that insists on an attestation would receive the whole truth or a highly suspicious “No Comment”.

Another casualty might be the software interoperability that we currently take for granted. For example, today you can access Microsoft file servers with a Samba client. With a software attestation scheme that treats you as an adversary, software publishers and service providers would have a remarkably sophisticated toolset for locking out competition, forcing upgrades or downgrades and deliberately breaking interoperability. Software publishers could control their customers' backups or migration paths or build monopoly power over after-market products and services. That some will do so seems beyond dispute.

In the past, anticonsumer misfeatures and barriers to interoperability were remedied by reverse engineering. But the TCPA security design allows software publishers to hamper this practice severely. They can create encrypted network protocols and file formats—with keys tucked away in hardware rather than accessible in memory. Thus, the same security features that protect your computer and its software against intruders can be turned against you.

Fortunately, this problem is fixable. TCG should empower computer owners to override attestations deliberately to defeat policies of which they disapprove. Giving the owner this choice preserves an essential part of the status quo: third parties can never know for sure what's running on your PC. TCG already defines a platform owner concept. The TCG specification also should provide for a facility by which the platform owner, when physically present, can force the TPM chip to generate an attestation as if the Platform Configuration Registers (PCRs) contained values of the owner's choice instead of their actual values.

APIs and a clear user interface for the override mechanism could be specified by an appropriate TCG committee. Only the platform owner should be able to do this; whenever a machine provides an inaccurate attestation, it does so for what its owner considered an appropriate reason. This change would do nothing to undermine the basic security benefits of the TCPA hardware, including those outlined in the Safford article; you still could tell whether your computer had been altered.

EFF (www.eff.org) has been in regular contact with the TCG organization and its members. So far, these companies have resisted the Owner Override idea. We can use your help in the future to get them to fix trusted computing so that it benefits computer owners.

Seth David Schoen created the position of EFF Staff Technologist to help other technologists understand the civil liberties implications of their work, EFF staff better understand the underlying technology related to EFF's legal work and the public understand what the technology products they use really do.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Too much control

Jenny's picture

The technology is not the problem. As always it's men who want to abuse the technology.


baidu's picture

ubuntu forever

Anonymous's picture

ubuntu forever

At the same time start to make the movies, total 100 films.

Dong Jian Nong's picture

Dream web news:

1, Dong Jian Nong created the film stories prepared in 2009 at the same time start to make the movies, total 100 films.
2, Life Source Center
First activity area: Start Life Source District Enrollment
Second activity area: Deep-sea life source Fleet Enrollment
2007.Dec.17. Beijing

The fundamental issue is

Wong Seoul's picture

The fundamental issue is that whoever controls the TC infrastructure will acquire a huge amount of power. Having this single point of control is like making everyone use the same bank, or the same accountant, or the same lawyer. There are many ways in which this power could be abused.


Anonymous's picture

If you like cookies or jerky and eating in genral check out this great place. Lakeshorebakery.com

A timeline-based iterative approach

software engineering's picture

A timeline-based iterative approach identifies the schedule of
deadlines and well-charted out action-plans provide clarity on
how to go about achieving the targets. Management of work flow
is based on a systematic process to provide better predictability.

TCPA does not do local attestation

Zygo Blaxell's picture

Ummm...One thing TCPA does not do is local attestation. TCPA can prove to any computer on the Internet that the software on some computer has not been tampered with, except one: the computer on which it is running. The owner of the PC still has no idea what software is actually running on the machine, even if remote attestation is working according to TCPA spec.

Think about it...to verify PCR values, you have to query the local TPM chip using a trusted computer, and check the certificate against a CA that you trust; however, since we're trying to verify your own computer, you can't actually trust the result of this certificate check: your computer might be running a trojan that only pretends to do the attestation protocol with the TPM, but in reality wants to send your boot password to anyone within range of the integrated wireless LAN. You'd need to use another, secure computer, to verify that your secure computer is secure (maybe your PDA or cell phone? But how do you know those are secure?). Eventually, you have to just hold your breath and trust some machine, somewhere, and we're right back to where we started before we spent all this time and energy on TCPA.

The best approximation of a solution to this would be an embedded LCD panel somewhere in the machine which displayed PCR registers or SHA1 signatures, fed directly from the TPM without control by the host CPU. Alternatively, TPM systems should come with a SecurID-type external card which displays a number that changes over time, which can be verified by comparing the number on the card with a number that comes from the TPM only after the TPM attestation certificates are validated. That way you, the user, would have some way to know whether the OS you booted is lying about the TPM's attestation results.

Re: Give TCPA an Owner Override

gbullough's picture

Seth's article is one of the sillier things I've read in the whole of my 15 years of experience in trusted computing.
The very notion of an 'owner override' (read: the ability to lie to another TCPA entity while still retaining TCPA
certification) is absurd.
To use Seth's example, if my bank says to me: 'You
must use TCPA, and under TCPA you must certify that
you are using Browser X in order to use our online banking
system' then I'm free to take issue with their decision. What
I am NOT free to do is to certify falsely that I'm using Browser
X, when I'm really using Browser Y.
If you want to reserve the right to deceive, then don't
expect to be trusted.
Yes there are civil liberties, restaint of trade, and all
sorts of other issues raised by the TCPA standard. However
the way to confront these issues is head-on, and forthrightly,
not by taking the 'trust' out of 'trusted' by empowering
anybody...even the platform owner...to deceive other
entities under the guise of 'Trust.'
The TCPA committee is right to reject Seth's and the EFF's
petition for platform owner override. Two wrongs, in this case
would not make a right.

Re: Give TCPA an Owner Override

Anonymous's picture

I believe that an owner override is a very valuable addition. It allows reliable interoperation of different programs, as well as giving the user the ability to detect unauthorised changes.

In the case that you propose, the person logging onto the bank website has the choice of using the 'appropriate' software, or software of their choice. Since it is the user that stands to lose from any loss of security in the transaction with the bank, it is the user who should make the choice. The user can be sure that the software that they are using has not been changed without their consent, and the much more important goal of software interoperability remains.

Remember, there is nothing that says that buisnesses should do buisness on the internet. If someone wants security, then they can always walk to the physical bank.

I think that a quote from Benjamin Franklin is appropriate at this point:

They who would give up an essential liberty for temporary security, deserve neither liberty or security

Re: Give TCPA an Owner Override

Anonymous's picture

That's a bunch of nosie and you know it. If they try and lock it out, crackers will simply find a way to make it do what they want it to do, which will take what? A day and a half tops? So you idley trust anything that represents itself as X, and you end up with annother patented M$ security hole that is illegal to fix or tamper with in any way. If the option to override is there, then at the very least everyone will know about it.

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot