|
Blog-N-Play.com
|
Top Three Links You Must Click On
Security Trusting Computing on Linux
Building a trusted platform
Dec. 13, 2004 12:00 AM
In an era where everybody is connected to a potentially harmful Internet with an increasing number of complex and distributed applications, controlling what the computers do has become significantly harder. At the core, simple actions (executing software, e-commerce, etc.) rely on trust relationships; what if your computer (or the merchant's) has been compromised and alters your perception of reality? Indeed, at the beginning, Neo did not know there was a Matrix because he trusted everything he saw... Closer to our world, and without being paranoid, one of the first actions intruders or rootkits take is to replace common commands with fake ones. Is it then possible to guarantee that we'll really execute the code we intended to? How far can you trust the computer of a given merchant not to reveal your credit card number? This is precisely what trusted computing is about: providing the means to know how much a given machine may be trusted. Actually, the use of chips to enforce security within the lowest layers isn't new; it's existed for many years. However, their high price, difficult integration with commercial software, and high impact on systems' performances has restricted their use to the mainstream industry. Several major industrials decided to join their efforts and design a compromise that would meet market needs. The idea was to build a trusted platform, including a new security chip, that would be easier to use and with more computational power, but perhaps a little less secure. They first gave birth to the TCPA (Trusted Computing Platform Alliance) in 1999, and then to its successor, TCG (Trusted Computing Group), in 2003. Trusted Computing GroupThe primary goal of the TCG is to provide the industry with vendor-neutral standard specifications for various platforms (PC, PDA, mobile phone, etc.). To do so, they describe a subsystem to integrate onto each platform and that provides protection to a user's computing environment, and information and keys to operating systems or applications. More precisely, TCG's proposed subsystem consists of a Trusted Platform Module (TPM) and the TPM Software Stack (TSS).The TPM is a hardware chip. It provides low-level trusted computing functionalities such as protected storage (making sure encryption keys cannot be retrieved even if the platform is compromised), integrity metrics (detecting compromise), and platform attestation (prove to others that the platform has a given property). As for the TSS, it's organized as shown in Figure 1:
To avoid such a scenario, a possible solution relies on trusted computing. The administrator uses the TPM to seal the secret key with the BIOS, OS, and the network access software. This cryptographically binds the keys to a given software stack, so that only the TPM may unseal the key if and only if the software stack (BIOS, OS, network-access software) has not been compromised. This virtually establishes trust on an untrusted platform. Linux Support for TCGIn practice, TPMs are already well established on the market, although perhaps not that widely yet. Several chip manufacturers propose TPM chips (e.g., Infineon's SLD 9630 TT or Atmel's AT97SC3201). Intel has developed TPM-integrated boards (D865GRH, D915GEV, and D915GUX desktop boards). TPMs are even sold on a specific desktop or laptop series (IBM ThinkCentre, HP Compaq DC7100, Toshiba Tecra M2, Fujitsu Lifebook S, etc.). The real difficulty in getting your hands on TCG arises later, within the TPM Software Stack. Indeed, mainstream Linux kernels do not natively recognize TPM chips, and solutions to use them are nearly nonexistent at the moment.With Linux, we are presently only aware of NTRU's TSS and a few research projects listed in Table 1. Most of those are highly experimental, with only limited support of TPM chips and a selected subset of TCG functions. Clearly, this is currently only a developer's or an expert's world; there is no way an end user can benefit from TCG's functionalities without getting into the source code. TCG and LinuxActually, trusted computing's first exposure to the public has been quite controversial. Basically, people worried that this technology would scorn privacy or block software interoperability. Others even exposed startling side effects. The reality is probably somewhat more balanced, and we dare to compare trusted computing to a Swiss army knife: it can be extremely useful for getting out of (dangerous?) situations, but obviously it may be lethal.It's beyond the scope of this article to tackle privacy and TCG issues in more detail, though we invite interested readers to refer to the resources section for further readings. Whether we want it or not, trusted computing seems to be a part of the future for many commercial systems. Support for TCG is already part of the requirements for some industrial Linux systems. Market perspective looks extremely promising; indeed, there are still several research and development opportunities:
ConclusionCurrently, the best way to qualify TCG's penetration in the market is moderate: the TPM chips are already on the market, but their software stack is extremely limited and experimental. Yet, whatever your rationale is - for or against TCG technology - with the widespread propagation of viruses and other malware, and the ever-increasing security needs of the industry, trusted computing seems an extremely promising technology and TPM chips are very likely to be deployed more frequently on systems around us. It would then be extremely positive for the Linux community - and more generally the open source community - to get involved. Indeed, how much and how well TPMs are supported and integrated could become a selection criteria among operating systems in the future.ResourcesReader Feedback: Page 1 of 1
Subscribe to our RSS feeds now and receive the next article instantly!
Subscribe to the World's Most Powerful Newsletters
Linux Links You Must Click On !
|
Lo Ultimo
|
||||||||||||||||||||||||||||||||||||||||