The TCG Software Stack (TSS) is a software specification that provides a standard API for accessing the functions of the TPM. Application developers can use this software specification to develop interoperable client applications for more tamper-resistant computing.
The purpose of the TSS Work Group is to provide a standard set of APIs for Application vendors who wish to make use of the TPM. The group works to produce a vendor neutral specification which will provide an abstraction of the hardware differences so that application vendors can write applications that will work regardless of the hardware, Operating System, or environment that is used. The TSS also aims to provide means for applications to talk to TPM's either locally or remotely.
The TSS 2.0 Feature API is meant to be a very high level API, aimed at having commands in it that will allow 80% of the programmers who write a program using the TPM to find everything they want in the specification. The remaining 20% of programmers will have to supplement this set of APIs with the Extended System API (ESAPI) or System API (SAPI).
The scope of this document is to describe all the software interfaces to the TSS system API (SAPI) and TPM Command Transmission Interface (TCTI). Both of these interfaces are part of the TPM Software Stack (TSS).
The TCG TPM 1.2 Main specification defines a subsystem with protected storage and protected capabilities. This subsystem is the Trusted Platform Module (TPM). Since the TPM is both a subsystem intended to provide trust and to be an inexpensive component, resources within it are restricted.
This Architectural Overview provides an introduction to TCG goals and architecture. It defines anticipated scenarios for use of TPM enabled platforms, compliance procedures and anticipated implications on manufacturing and support processes. Anyone looking for an overview of TCG specification and its implications should read this document.