Developing TPM application

What do I need?

To develop TPM application, you need a computer with a TPM or you can use a TPM Emulator.

TPM emulator is a software-based emulator of a TPM and also a TCG Device Driver Library (TDDL, see above about this library). This emulator works on Linux, Mac OS X and Windows and can be run in virtual environment. You can find how to install a TPM emulator on a Linux here: http://www.boottruster.com/howto.php?part=1.

You can also find additional informations about TPM emulator into the official site: http://tpm-emulator.berlios.de/

If you use hardware TPM, you must enable it on the BIOS.

You must also take the ownership of the TPM. If you are on Linux, you can read the second part of this tutorial: http://www.boottruster.com/howto.php?part=1.

In other system, TPM vendors provide homemade solution to take ownership of the TPM.



How can I communicate with the TPM?

You have three choices to communicate with the TPM:

- Use BIOS TPM functions

- Use TCG Device Driver Library (TDDL)

- Use a TPM Software Stack (TSS)

The BIOS TPM functions are the method the less used. It serves when the others methods can't be applied, this happens when the TPM drivers arent't loaded.

For example, the BIOS TPM functions can be implemented in a boot loader.

Theses commands can be seen in the official documentation: http://www.trustedcomputinggroup.org/resources/tpm_main_specification

The bios must implements this functions, nothing else is needed to be installed.



The TDDL is the library that permits to send commands to the TPM through the TPM driver.

They are the same than the commands passed by BIOS TPM functions: http://www.trustedcomputinggroup.org/resources/tpm_main_specification

The TDDL and the TPM driver are installed by default in Windows Vista, Seven and Linux. An installation pack is usually distributed for Windows XP with the TPM chip.



Finally, the TSS is a high level library full object for developing TPM powered application. The most known TSS is Trousers.

You can found information about trousers here: http://trousers.sourceforge.net. Trousers works for Linux, there is an adaptation for Windows, but this adaptation doesn't work well.

In Windows, you can use a TSS distributed with your TPM.

Design downloaded from free website templates.