Infineon Technologies has enabled a new open source software stack. It makes work easier for developers who want to use the Trusted Platform Module (TPM) 2.0 – a standardized hardware-based security solution for securing industrial, automotive and other applications such as network equipment. This is the first open source TPM middleware that complies with the Software Stack (TSS) Enhanced System API (ESAPI) specification of the Trusted Computing Group (TCG), providing significant value to the open source community.
Making the TSS ESAPI layer available to everyone is part of Infineon´s commitment to ease the integration and wide adoption of strong security. This is further supported by security experts and industry leaders of the Infineon Security Partner Network (ISPN). The ISPN offers a wide variety of software libraries meeting the requirements of different applications and target platforms.
Infineon funded the development of the ESAPI by Fraunhofer Institute for Secure Information Technology SIT, a long-term partner of Infineon in this field. The Infineon-funded ESAPI layer is based on the SAPI layer developed by Intel Corporation. It includes a new layer of API functions to simplify the use and integration of the TPM. It facilitates establishing a connection with the TPM through an application, secured communication between the host CPU and the TPM, and authorization using message authentication codes (HMAC).
Based on the ESAPI layer, the stack includes support for OpenSSL. It can use the Infineon OPTIGA TPM to protect device communication secured with SSL/TLS via a standardized interface by deploying TPM 2.0 as a secured key store for OpenSSL. It thus protects the keys from vulnerabilities like the famous Heartbleed bug.
The TSS stack and ESAPI layer are published under the permissive 2-clause BSD license, which provides high flexibility and increases adoption. The ESAPI has been designed and validated by a wide community to achieve a high level of quality and stability, as is required in modern embedded and IoT systems. With industrial and automotive customers in mind, the code was developed using industry standards, continuous integration and testing, a thorough two-person review process, and static code analyzers like clang and Coverity. In addition, the stack was tested and evaluated on Infineon OPTIGA TPM SLB 9670 with the latest TPM specifications. Future enhancements will include support for Cryptsetup/LUKS disk encryption and a version featuring ESAPI support for TPM tools.