Trusted Computing Group
|Founder(s)||AMD, Hewlett-Packard, IBM, Intel, Microsoft|
|Headquarters||Beaverton, Oregon, USA|
The Trusted Computing Group (TCG), successor to the Trusted Computing Platform Alliance (TCPA), is an initiative started by AMD, Cisco, Hewlett-Packard, IBM, Intel, Microsoft and Wave Systems Corp. to implement Trusted Computing. Many others[which?] followed.
TCG's original goal was the development of a Trusted Platform Module (TPM), a semiconductor intellectual property core or integrated circuit that conforms to the trusted platform module specification put forward by the Trusted Computing Group and is to be included with computers to enable trusted computing features. TCG-compliant functionality has since been integrated directly into certain[specify] mass-market chipsets.
TCG also recently released the first version of their Trusted Network Connect ("TNC") protocol specification, based on the principles of AAA, but adding the ability to authorize network clients on the basis of hardware configuration, BIOS, kernel version, and which updates that have been applied to the OS and anti-virus software, etc.
In 2009, TCG released a set of specifications that describe the protocol to communicate with self encrypting disk drives. The TCG Storage Work Group (SWG) Storage Core Architecture Specification describes in detail how to implement and utilize trust and security services on storage devices. Security Subsystem Class (SSC) Specifications describe the requirements for specific classes of devices; specifically, the Enterprise SSC defines minimum requirements for Data Center and Server Class devices while the Opal SSC defines minimum requirements for client devices.
The vendor of a TPM-enabled system has complete control over what software does and does not run on the owner's system. In some cases the vendor may choose to grant permission to the owner to configure hardware they have legally purchased. This does include the possibility that a system owner would choose to run a version of an operating system (OS) that refuses to load unsigned or unlicensed software, but those restrictions would have to be enforced by the operating system and not by the TCG technology. What a TPM does provide in this case is the capability for the OS to lock software to specific machine configurations, meaning that "hacked" versions of the OS designed to get around these restrictions would not work. There is legitimate concern that OS vendors could use these capabilities to restrict what software would load under their OS (hurting small software companies or open source/shareware/freeware providers, and causing vendor lock-in for some data formats), and Microsoft has already stated they will begin restricting what software they will allow to run on Windows, starting with Windows 8 on ARM.
The TPM can be used in conjunction with the boot loader to ensure only vendor-approved operating systems are running. This could restrict alternative operating systems from running, including free or open source operating systems. For example, Microsoft is requiring x86/x64 machines which come with Windows 8 to have Secure Boot enabled by default, which has caused alternative OS vendors to make payments through Microsoft to ensure their OS will be able to be installed by the user; additionally any ARM machine shipped with Windows 8 is banned from allowing another OS to be installed.
At the same time, there are several projects which are experimenting with TPM support in free operating systems; examples of such projects include a TPM device driver for Linux, an open source implementation of the TCG's Trusted Software Stack called TrouSerS (also ported to Windows Vista and Windows 7 in 2010), a Java interface to TPM capabilities called TPM/J, and a TPM-supporting version of the Grub bootloader called TrustedGrub. Watch a video to understand working of TCPA.
The TPM 1.1 specification envisioned a standard PC platform equipped with a TPM chip. In this scenario, the TPM chip can serve as a hardware key storage. Additionally, it can keep track of so-called measurements of the platform (i.e. hashes of various software) and be able to produce signed statements about the running software chain. Particularly the latter mode of operation proved unfeasible in practice, since the amount of software that has to be measured and trusted is very large; it includes (in addition to the system firmware) the operating system, drivers and application programs. Therefore, numerous other TPM-related projects are in progress, the purpose of which is to make it possible to launch and measure a trusted subenvironment from within an untrusted environment. The TPM specification 1.2 has been enhanced to accommodate this mode of operation. Additionally, hardware changes are required in the CPU and chipset (note that this should not be confused with the inclusion of TPM functionality into the chipset even though this is a possibility too). Intel's approach is called Trusted Execution Technology (TXT). Many of Intel's Core 2 Duo CPUs are advertised to support these extensions. However, chipset support is required for the extensions to be operational. Currently, Intel's chipset Q35 Express supports TXT. In addition to chipset support, the mainboard must also feature a TPM 1.2 chip. Intel currently advertises DQ35MP and DQ35JO as being compliant with the technology. The first application of the technology will be a set of manageability enhancements under the brand name vPro. AMD's platform is called Secure Execution Mode.
In 2002-2003, Microsoft announced an initiative called Next-Generation Secure Computing Base (formerly Palladium). This was basically a vision of how a TPM 1.2 chip, CPU, chipset and software could provide an environment and a software ecosystem in which trusted applications (launched from within "regular" Windows) could be developed. Intel's TXT and AMD's SEM can be seen as realizations of the hardware side of the NGSCB vision. Owing to significant difficulties in creating a working implementation that third-party developers were interested in using and in unavailability of the enhancements to CPU and chipset, NGSCB was not included with Microsoft Windows Vista. Instead, Vista ships with a few technologies that can make use of a subset of the functions of the TPM chip (but not of Intel's TXT or AMD's SEM), such as BitLocker Drive Encryption, and a new version of the Microsoft Cryptography API.
The group has faced widescale opposition from the free software community on the grounds that the technology they are developing has a negative impact on the users' privacy and can create customer lock-in, especially if it is used to create DRM applications. It has received criticism from the GNU/Linux and FreeBSD communities, as well as the software development community in general. Significant backlash amongst the Trusted Computing Group was present during Richard Stallman's speech at the Hackers on Planet Earth conference in July 2006, in New York. Richard Stallman and the Free Software Foundation have also criticized the group publicly in other speeches. The criticism calls Trusted Computing "Treacherous Computing" instead and warns that vendors can lock out software that is not officially signed by specific vendors, rendering it unusable.
Privacy concerns with the TCG revolve around the fact that each TPM has a unique keypair, called the "endorsement key", that identifies the platform. In initial versions of the TPM (version 1.1), the TCG addressed privacy concerns by suggesting the use of a "Privacy CA" that could certify pseudonymous machine credentials. By having separate credentials for interacting with different parties, actions could not be linked, and so some level of privacy is provided. However, this requires trust in the Privacy CA, who could still link pseudonyms to the common, identifying machine credential. Since this left unresolved privacy concerns, version 1.2 of the TPM specification introduced "Direct anonymous attestation": a protocol based on the idea of a zero-knowledge proof which allows a TPM user to receive a certification in such a way that the Privacy CA would not be able to link requests to a single user or platform, while still being able to identify rogue TPMs.
Privacy concerns for TPM were heightened when Christopher Tarnovsky presented methods to access and compromise the Infineon TPM non-volatile memory capacity which contains user data at Black Hat 2010.
Efforts to have the TCG specifications standardized by ISO was active for a first part in October 2007. Member states of the ISO/DIS JTC1 were expected to send their opinion to ISO by July 24, 2008. On May 18, 2009, TCG managed to achieve standardization for their TPM specifications:
- ISO/IEC 11889-1:2009 Information technology—Trusted Platform Module—Part 1: Overview
- ISO/IEC 11889-2:2009 Information technology—Trusted Platform Module—Part 2: Design principles
- ISO/IEC 11889-3:2009 Information technology—Trusted Platform Module—Part 3: Structures
- ISO/IEC 11889-4:2009 Information technology—Trusted Platform Module—Part 4: Commands
As of June 2011, about 110 enterprises are promoters of, contributors to, or adopters of TCG specifications.
Membership fees vary by level. Promoters pay annual membership fees of $55,000, contributors pay $16,500, and depending upon company size, adopters pay annual membership fees of either $1,000 or $8,250.
- Trusted Computing
- Trusted Platform Module
- Trusted Computing Platform Alliance
- Digital Rights Management
- Consumer Broadband and Digital Television Promotion Act
- Trusted Computing Group Timeline
- Trusted Computing Group: Contact Us
- The Trusted Platform Module FAQ from the TCG website
- Windows 8 ARM devices to have a non-Metro desktop experience with app restrictions?
- Implementing UEFI Secure Boot in Fedora
- confirms UEFI fears, locks down ARM devices
- Linux TPM Device Driver
- TrouSerS - The open-source TCG Software Stack
- TrouSerS for Windows Vista and Windows 7
- TPM/J Java-based API for the Trusted Platform Module (TPM)
- SourceForge.net: TrustedGRUB
- AMD Platform for Trustworthy Computing
- Windows Vista Technical Library Roadmap
- "Can you trust your computer?" by Richard Stallman, from the GNU Project website
-  by Christopher Tarnovsky from Flylogic.net
- TCG Current Members from the TCG website
- Trusted Computing Group: Levels of Membership