The EFF's report on trusted computing
The report mentions four different technologies that make up current trusted computing efforts:
- Memory curtaining. Modern operating systems already go to
considerable lengths to keep one process from being able to mess with
another process's memory. Memory curtaining takes things further by
improving memory isolation support in the hardware, so that even the
kernel cannot modify one process's memory while working on behalf of
another process.
- Secure I/O is the creation of a data path from the keyboard (or
other input devices) to the application, and from the application to
the screen which cannot be seen or modified by other processes. It is
an attempt to stop software keystroke loggers, screen readers, and
other eavesdropping tools.
- Sealed storage works by hiding encryption keys within the
system hardware, so that encrypted data cannot be read anywhere else.
- Remote attestion is a hardware-supported mechanism for ensuring that the software running on a system has not been modified. The technology allows the generation of certificates that can allow a remote application (a web server, say) to be sure of the software it is talking to.
The report acknowledges that all of these technologies can help to improve the security of computer systems. With a trusted computing architecture in place, a worm which is able to exploit a hole in one program will find its ability to do anything interesting on the system much reduced. The EFF does not have any real problem with most of the technologies discussed.
That is not true, however, for remote attestation:
A few cases where the remote attestation feature could backfire on users are mentioned. One is web servers which refuse to talk to anything other than the One Chosen Browser. There are sites which do that now, but most modern browsers are capable of masquerading as something else, so these techniques are not effective. Remote attestion would change that. Other examples include software interoperability (i.e. eliminating Samba forevermore), forced upgrades, and forced use of digital rights management schemes.
As a solution, the EFF suggests an "owner override" feature. The owner of a system could, while physically present at the machine, force it to produce an attestation for software that the owner has modified or replaced, making it look like something else. This feature would solve the problem for suitably capable users. It is hard to imagine users developing a widespread ability to safely perform overrides, however.
The real conclusion to be taken from this report is that the owners and
users of computers need to maintain control over their machines.
When your own computer treats you like an attacker, it has ceased to be
truly yours, and it becomes a tool for controlling your behavior. Free
software users have understood this point for years, of course. We have
built a system that allows us to stay in control. But we need to be
careful that the hardware platforms of the future do not take that control
away from us.
