Blog-N-Play.com
Anytime a feature of a framework gives me something for free that I don't need to manually implement I'm a happy camper. One such feature of ASP.NET MVC 2 is jQuery client-side validation. The
Read Digital Edition


ADS BY GOOGLE
Most Read This Week
Top Three Links You Must Click On


Trusting Computing on Linux
Building a trusted platform

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 Group

The 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:

  • A TPM device driver, typically provided by the TPM manufacturer
  • An abstraction layer to TPM drivers, the TDDL, which makes it possible to develop upper components in the stack independent of the TPM chip
  • A core services layer (TCS) that groups all common services to the software stack, such as event management, key and credentials management, etc.
  • Various TSS Service Providers (TSP) that, for example, offer access to specific APIs such as PKCS#11
To illustrate the possible benefits of using trusted compu-ting, let's describe a simple case where a system administrator needs to secure an employee's laptop access to the corporate network. The employee accesses his or her company's network using a secret key and specific network access software (e.g., a VPN client). The problem is that the employee's laptop is obviously untrusted; it's carried everywhere and unfortunately is the ideal target for viruses or any other malware. If a laptop's corporate network access software and/or the secret key are compromised, this may seriously impact corporate security.

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 TCG

In 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 Linux

Actually, 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:

  • At the hardware level, by introducing new trusted hardware on the market (see for instance, Intel's trusted keyboard controller).
  • At the operating system level, with a new "trusted" OS making use of trusted hardware. This would probably consist of a kernel module but with a broader link to the OS.
  • At the application level, with numerous use cases for end-user "trusted" applications, but barely any implementation on Linux yet.
  • In the area of embedded systems - for example, mobile phones, PDAs, or other devices.

Conclusion

Currently, 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.

Resources

  • Yee, B. "Using Secure Coprocessors", PhD Thesis, CMUCS94149, May 1994: http://citeseer.ist.psu.edu/yee94using.htm
  • Arnold, T. W., and van Doorn, L. P. "The IBM PCIXCC: A new cryptographic coprocessor for the IBM eServer." IBM Research & Development Journal. Vol. 48, No. 3. May/July 2004.
  • Trusted Computing Group: www.trustedcomputinggroup.org
  • NTRU Core TCG Software Stack (CTSS): www.ntru.com/products/tcg_ss.htm
  • Safford, D. "TCPA Resources": www.research.ibm.com/gsal/tcpa/
  • Sailer, R.; Jaeger, T.; van Doorn, L.; Zheng, X. "TPM based Linux Runtime Attestation": www.research.ibm.com/secure_systems_department/projects/tcglinux/
  • Wild, O., and Marchesini, J. "Enforcer": http://enforcer.sourceforge.net/
  • Sevinc, P.E. "A Software-based TPM Emulator for Linux": www.infsec.ethz.ch/people/psevinc
  • Selhorst, M., and Stueble, C. "Linux Kernel Module for the Infineon Trusted Platform Module SLD 9630 TT": www.prosec.rub.de/tpm/
  • Anderson, R. "Trusted Computing - Frequently Asked Questions", version 1.1. August 2003: www.againsttcpa.com/tcpafaqen.html
  • Schechter, S.E.; Greenstadt, R.A.; and Smith, M.D. "Trusted Computing, Peer to Peer Distribution, and the Economics of Pirated Entertainment." Second Workshop on Economics and Information Society, May 29, 2003: www.eecs.harvard.edu/~stuart/papers/eis03.pdf
  • Carrier Grade Linux Hardware Requirements definition version 3: www.osdl.org/docs/cgl_hw_req_def___v30_draft.pdf
  • Bajikar, S. "Trusted Mobile Keyboard Controller Architecture." Intel Developers Forum. Fall 2003: www.intel.com/idf/us/fall2003/presentations/F03USMOBS147_OS.pdf
  • Wave Systems, Embassy Trust Suite: www.wave.com/products/ets_pro.html
  • Linux Devices. January 22, 2003: www.linuxdevices.com/news/NS9222005703.html
  • Walko, J. "ARM links with Trusted Logic for secure mobile, set tops." July 14, 2004: www.embedded.com/showArticle.jhtml?articleID=23900682&_loopback=1
  • About Makan Pourzandi
    Makan Pourzandi received his doctoral degree on parallel computing in 1995 from the University of Lyon, France. He works for Ericsson Research
    Canada in the Open Systems Research Department. His research domains are security, cluster computing, and component-based methods for
    distributed programming. He has more than 7 publications in International conferences with reference committees. Makan has delivered several talks
    at universities, international conferences, and Open Source forums. He is involved in several Open Source projects: Distributed Security
    Infrastructure (disec.sourceforge.net), and a contributer to the
    security requirements of the Open Source Development Lab (OSDL) Carrier Grade Linux (CGL).

    About Axelle Apvrille
    Axelle Apvrille currently works for Ericsson Research Canada in the Open Systems Research Department. Her
    research interests are cryptography, security protocols and distributed
    security. She received her computer science engineering degree in 1996
    at ENSEIRB, Bordeaux, France.

    In order to post a comment you need to be registered and logged in.

    Register | Sign-in

    Reader Feedback: Page 1 of 1

      Subscribe to our RSS feeds now and receive the next article instantly!
    In It? Reprint It! Contact advertising(at)sys-con.com to order your reprints!
    Subscribe to the World's Most Powerful Newsletters
    Linux Links You Must Click On !

    Lo Ultimo
    La embajadora mundial de AvonReese Witherspoon ha sido anfitriona de una fiesta del té exclusiva par...

    GameStop Corp. (NYSE:GME), la empresa minorista de software de videojuegos y entret...

    Un estudio online publicado esta semana en Science ha demostrado que SPC3649, una revolucionaria ter...
    Microsoft Corp. ha anunciado hoy una oleada de informes voluntarios - más de 150.000 en los dos últi...
    Tras dos décadas de éxito demostrado a nivel científico y médico en su campo, los expertos de Lightl...
    ADS BY GOOGLE
    Some people say “oh, you’re dual licensing like MySQL. So does that mean that I get to use it and no...
    Michael Bell, founder of Methodologies Corporation, the leading service-oriented modeling company, a...
    Dune Networks' Highly Scalable Switch Fabric Technology Expands Broadcom's Product Portfolio for Dat...
    M86 Security, a leading global provider of Web and messaging security products, released Predictions...
    JetBrains, creators of intelligent, productivity-enhancing development tools, announced the public a...
    Researchers from Intel Labs demonstrated an experimental, 48-core Intel processor, or “single-chip c...
    The irony is that Oracle has advanced MySQL, lost money in the process, and helped its competitors -...
    The founders of Crystal Reports and veterans of Microsoft, Symmetrics and Business Objects have laun...
    I first met Mark Fishburn at the Convergence Technology Council (CTC) in Calabasas, California. Mark...
    Concerns about the security of cloud computing environments top the list of reasons for firms not be...
    WSO2, the open source SOA company, today announced the launch of the WSO2 Cloud Platform. Available ...
    Red Hat Enterprise Linux running on Intel® processor-based servers helps your customers reduce TCO, ...
    Now is the time to examine the TCO migrating from Unix to the more cost-effective open systems platf...
    Making the right choices around technology is critical to the success of your business. Finding out ...
    Dell is transferring ownership of its new factory in Poland over to contract manufacturer Foxconn Te...
    Michael Donnelly, Group Director Worldwide Interactive Marketing, Coca-Cola and Michael Buck Global ...
    To address this need, increasing numbers of healthcare organizations are evaluating enterprise imagi...
    Some great news came out of Sun Microsystems yesterday with the release of VirtualBox 3.1.o. This is...
    Thales announces SafeSign Mobile Authentication which enables strong authentication using a mobile d...
    IGEL's Linux firmware now supports popular touchscreen monitors, including the LG L1730SF Monitor an...