Note: The information provided in this document is of a general nature and does not constitute legal advice. Moreover, it addresses only some issues involved with trusted computing. If you have questions about how trusted computing interacts with the law in a particular situation, you should consult a local lawyer.
The term Trusted Computing refers to a computer hardware and software design paradigm pioneered by the Trusted Computing Group that aims to make personal computers more secure. The technology ensures that a computer only runs trusted software, and only communicates to other computers that are also running trusted software.
Trusted Computing has the potential to increase computer security, but is also controversial because it transfers some control of a computer away from the user to a “trusted” third party. Trusted computing hardware technology includes a encryption key which the user cannot access. Additionally, the technology relies on the third-party to decide whether a computer's configuration is acceptable. In most cases, these third-parties are the persons and companies who create a computer's hardware and software.
Many critics worry that this third-party control is prone to abuse and will harm computer users’ freedoms. The technology grants significant powers to the Trusted Computing Group, manufacturers and commercial software developers, who together exert control over what software applications and websites can be trusted. Some predict that the technology will pave the way for anti-competitive behavior in the software marketplace, harming consumers.
Today, adoption of this technology is widespread throughout the personal computer industry, with most major players now shipping personal computers with Trusted Computing capabilities. Industry practice is currently to ship personal computers with Trusted Computing disabled, leaving the decision to enable the technology to the consumer. However, should the technology become even more widespread, consumers may have no option but to enable it. All computers without the technology could be left outside of the network of trust, thus having a severely limited ability with communicate to other computers.
Trusted Computing encompasses four key technological concepts: Secure Input and Output, Memory Curtaining, Sealed Storage and Remote Attestation.
Secure input and output (secure I/O) creates a protected channel between the user and the software with which she or he interacts. The result is that a user can immediately identify and remove malicious software injecting itself into this path, improving the security of the computer. For example, secure I/O could prevent a key logger program from intercepting the key strokes entered on a banking website.
Memory curtaining provides full isolation of sensitive areas of memory from all software except the software intended to have access. Even the computer’s operating system does not have full access to these curtained memory locations. The result is very strong protection for sensitive information, such as cryptographic keys.
Sealed storage provides a way to restrict use of data to a particular computer. By encrypting the data using a key derived from the combination of the hardware and software present on the computer, the data is restricted for use only on a computer that has an identical hardware and software combination. The security benefit is that lost or stolen data remains secure. Even if a thief were to steal the hard drive of a computer, or a hacker were to retrieve a sealed file, the data would remain encrypted and inaccessible.
Remote attestation enables the user and third parties to determine what software is currently running on the computer. Through remote attestation, the user’s computer generates a response to inquires regarding what software is currently running. This response is sent to the requesting party. The result is that the requesting party can avoid sending sensitive information to, or receive commands from, a compromised or unsecured computer.
Trusted Computing will make a user’s computer more secure from threats such as viruses and malware. It will secure the data by making it harder for unauthorized third parties to access it. It will also make the Internet a more secure environment because the remote attestation feature will help ensure that a remote computer is secure before a user's computer interacts with it.
However, it is important to remember that computer security is a relative concept. Anytime a computer stores or communicates sensitive information, at least one software program and the computer hardware must access the sensitive information. The goal of computer security is to ensure that only trusted programs and parties have access to any particular item of information. The aim is to bar access from all viruses, hackers, and thieves outside of the circle of trust. Of course, in many cases, a user can still be exposed to malware coming from a compromised “trusted” source.
Controversially, Trusted Computing can also end up leaving a computer's owner outside of that computer's own circle of trust. The technology implicitly identifies as a threat anything which causes the computer to behave in a way unintended by the trusted authority. Thus, software “mods” and add-ons that a user intentionally installs may be blocked by Trusted Computing or, worse, may turn the computer into an untrusted source which is no longer permitted to communicate with other parties.
Security analysts and Trusted Computing critics have identified several drawbacks to the Trusted Computing paradigm:
(1) It gives control over the user’s computer to the trusted authority
Critics of Trusted Computing argue that too much control of a user’s computer is given to the trusted authority, which is usually the computer's manufacturer. Trusted Computing restricts some uses of a user’s own computer to purposes defined by the trusted authority, rather than the user. The user does not have the option to override this control and will not be able to make decisions contrary to what the trusted authority allows.
(2) It will remove control from the user over the information they receive, possibly leading to undue censorship
Critics argue that Trusted Computing will be used to enforce stronger digital rights management (and proponents of the technology agree), which will remove the user’s control over the information they receive. The critics are also concerned that this technology could enable the trusted authority to enforce undue censorship because Trusted Computing will allow the trusted authority to decide whether a file is trusted or not. If it is not trusted, then that file will not be allowed to operate on the user’s computer.
(3) It could cause users to lose their on-line anonymity
Critics argue that the ability for trusted computers to attest to their own unique configuration and identity will cause users to lose their anonymity on-line, because third parties can simply request that the user’s computer attest to its identity. Once a third party establishes the identity of the computer, it can trace the communication back to the user. This loss of anonymity could apply during on-line interactions. Critics argue that this could have a chilling effect on political free speech, the ability of journalists to use anonymous sources, whistleblowing, political blogging and other areas where the public needs anonymity in order to secure protection from retaliation.
The response of Trusted Computing advocates is that anonymity is built into the technology. In fact, the privacy issue is one that the Trusted Computing Group has recently tried to tackle. The latest version of the Trusted Computing specification uses a concept called “zero-knowledge proof”, a technology which attempts to separate the trust verification stage from the actual communication with another computer. However, collaboration and information sharing between remote servers and the various “trusted” authorities could still compromise a user's identity.
(4) It could lead to anti-competitive behavior from the trusted authority
Critics argue that Trusted Computing could be used by software designers, who may act as trusted authorities to force their existing customers to use their software, instead of that of a competitor. Trusted Computing technology could prevent a user from accessing their existing data with any unapproved software application, locking-in consumers to their existing application.
Furthermore, Trusted Computing implemented at the level of the operating system could theoretically view competing software applications as untrusted, such that other applications would not run on the user’s computer.
(5) It could force a user’s data to die along with the computer
Critics argue that Trusted Computing will prevent users from transferring their files when they switch to a new computer. The migration section of the TPM specification requires that it be impossible to move certain types of files, except to a computer with the identical make and model of security chip. If an old model of a chip is no longer produced, it becomes impossible to move the data to a new machine at all; the data is forced to die along with the old computer.
A key feature of Trusted Computing is remote attestation. Remote attestation allows the user, as well as other computers with whom a user communicates, to verify that the software applications in use have a trusted and untampered configuration. This feature assures the parties that no malware has intruded into their set of software application.
However, this process requires another party to verify the trustworthiness of a user's software configuration (otherwise a tampered program running on a user's computer could simply lie about its authenticity). Problematically, this verification process requires the computer to send detailed information about the software applications installed, raising significant privacy concerns.
The Trusted Computing Group has tried to mitigate this privacy issue. In particular, the Trusted Computing specifications lay out a technology called “zero-knowledge proof” to try to maintain user anonymity. This concept uses a third party “Verifier” that operates separately from the remote party interested in verifying the user's trust. However, problems remain and it may be possible to identify users when parties collude to share information.
Critics worry that the technologies underlying a computer employing a Trusted Computing platform will be used to fundamentally alter the way a user is able to use their computer.
Trusted Computing could inhibit users from changing their software. Sealed storage can lock-in user data to a particular software application. For example, your word processor could potentially save all documents to sealed storage and ensure that no other word processor could open them. This feature could also limit the use of an application to only that functionality which the trusted authority authorizes.
Remote attestation can remove a user’s control over the data they receive. Prior to any data being sent to a user’s computer, the sending computer can request a certificate that will indicate whether the user is running an approved software configuration. If unapproved software is operating, the sending computer can refuse to send the requested data.
The trusted authority can thus exert a high degree of control over a user's operations on their own data. It can ensure that the user only runs the software that the trusted authority allows the user to run, and it can prevent any other data from being sent to the user if other software is present on the user’s computer.
Sealed storage could also remove the user’s control where it prevents users from moving their files to a new computer. The migration section of the TPM specifications even requires that it be impossible to move certain kinds of files, except to a computer with an identical make and model of security chip.
Critics identify open-source software as being especially vulnerable to the changes brought about by Trusted Computing, as it will be difficult to reconcile the open source software model with the Trusted Computing paradigm.
Generally, open source software relies on development through incremental changes made by many different developers. However, in order for a software application to obtain certification as being trusted by the Trusted Computing Group, it must remain unmodified from the original state in which it was certified. Changing a piece of software causes the software to lose its TCG certification, which requires the software to then be re-certified by the TCG before it can run on a trusted platform.
On the other hand, developers have already implemented Trusted Computing technology in the linux kernel. Many open-source linux projects for Trusted Computing are currently underway. It remains to be seen whether Trusted Computing can be adequately reconciled with the open-source software model.
If Trusted Computing becomes a ubiquitous technology, it could become harmful to innovation. Trusted Computing places the power to decide what software is allowed to run on a user’s computer in the hands of the trusted authority.
Trusted authorities (most often, the computer manufacturers) could exploit their control over computers to thwart new and innovative computer programs, by simply not allowing these new programs to operate. They could accomplish this by defining a competitors' software as untrusted (i.e. not certifying a competitor's software). This type of anti-competitive behavior is a serious concern for many experts in the field.
Several major industry players are key supporters of Trusted Computing. In 1999, Compaq, HP, IBM, Intel, and Microsoft founded the Trusted Computing Platform Alliance. This organization evolved into the Trusted Computing Group.
According to their website “[t]he Trusted Computing Group (TCG) is a not-for-profit organization formed to develop, define, and promote open standards for hardware-enabled Trusted Computing and security technologies, including hardware building blocks and software interfaces, across multiple platforms, peripherals, and devices. TCG specifications will enable more secure computing environments without compromising functional integrity, privacy, or individual rights. The primary goal is to help users protect their information assets (data, passwords, keys, etc.) from compromise due to external software attack and physical theft”.
Security researchers have mixed views on Trusted Computing. Although most experts agree that Trusted Computing can increase security, many prominent security experts have spoken out against it, arguing that there are better methods to secure computers. For example, Ross Anderson, a Professor of Security Engineering at the University of Cambridge enumerates a substantial list of security and privacy concerns
with Trusted Computing. Bruce Schneier, the author of several renowned books on computer security, comments that Trusted Computing “will lead us down a road where our computers are no longer our computers, but are instead owned by a variety of factions and companies all looking for a piece of our wallet”.
Several organizations have also addressed concerns over Trusted Computing. The organization Against TCPA was created to advocate against Trusted Computing. Also, the Free Software Foundation has spoken out in opposition.
Yes, encryption technology built on top of Trusted Computing can help you secure personal and confidential data. For example, if you use a recent version of Microsoft Windows, you may encrypt your entire hard disk with a Trusted Computing technology called Microsoft BitLocker. This is one of the most popular uses of Trusted Computing today.
Trusted Computing encryption technology can provide a high degree of security to a user's data. In fact, although governmental organizations such as U.K. Home Security pressured Microsoft to leave open back doors in BitLocker (for access by intelligence agencies and law enforcement officials), Microsoft reports that no such security holes were put in place.
One security researcher did recently demonstrate a successful attack against Trusted Computing encryption technology. However, of note, this attack requires physical access to the computer and highly specialized equipment for analyzing a computer's hardware. At present, the attack poses only a small risk to most common uses of BitLocker encryption.
Trusted Computing will be able to prevent any “unauthorized” program from operating on a computer. The power to authorize a program’s operation resides in the software designer; therefore, Trusted Computing will be effective in preventing spyware and viruses that the software designer has not authorized.
However, Trusted Computing does not completely immunize the user from spyware and viruses. It is possible that the software designer could authorize certain spyware and viruses to run on the user’s computer, whether inadvertently or intentionally.
Digital rights management enforced through Trusted Computing could help copyright owners combat piracy by authorizing a work to only function on certain computers, and only when used by certain software applications. Lenovo is one company that has already created a DRM system based on Trusted Computing technology.
However, this practice could also prohibit fair uses of copyrighted works. It could prevent use of a work even when the use is legal under Canadian copyright law. The distributor, rather than he user, would control the exact manner in which an individual uses a work, even after a copyright term expires.
To date, there are only a few practical applications of Trusted Computing in place. A foremost example is Microsoft BitLocker Drive Encryption, a hard-drive encryption method available in Microsoft Windows Vista and Windows 7. Some enterprises also use Trusted Computing to enforce internal security policies.
The Trusted Computing hardware technology itself has quickly gained traction over the past few years. Most recent business-grade notebook computers have the hardware capabilities to run Trusted Computing technologies. Most operating systems support Trusted Computing, including all recent versions of Microsoft Windows, Apple Mac OS, and Linux.
Trusted Computing: Promise and Risk: Seth Schoen, a staff technologiest at the Electronic Frontier Foundation (EFF), provides an overview of Trusted Computing technologies and outlines many of the pros and cons.
Trusted Computing : A Public Policy Perspective: A Staff Working Paper of the European Commission discusses the public policy issues surrounding Trusted Computing.
Trusted Computing Group FAQs: The Trusted Computing Group is the organization responsible for establishing the industry standards and specifications for Trusted Computing technologies. They provide an FAQ addressing various issues and questions.
Trusted Computing: An Animated Short: A short online film highlighting the dangers of Trusted Computing.
Security Analyses of Trusted Computing
'Trusted Computing' Frequently Asked Questions: In this FAQ, security expert Ross Anderson analyses many of the security drawbacks of Trusted Computing.
Why TCPA: A report from the Global Security Analysis Lab of IBM Watson Research that discusses how Trusted Computing technologies might address modern security threats.
Trusted Computing Technologies
Trusted Computing in the News