Creating the Complete Trusted Computing Ecosystem

Creating the Complete Trusted Computing Ecosystem

FEBRUARY 2018 Creating the Complete Trusted Computing Ecosystem: An Overview of the Trusted Software Stack (TSS) 2.0 Trusted Computing Group 3855 SW 153rd Drive Beaverton, OR 97003 Tel (503) 619-0562 Fax (503) 644-6708 [email protected] www.trustedcomputinggroup.org © 2018 Trusted Computing Group | All Rights Reserved CREATING THE COMPLETE TRUSTED COMPUTING ECOSYSTEM AN OVERVIEW OF THE TRUSTED SOFTWARE STACK (TSS) 2.0 igh-end computing systems such as those used in traditional top-down security approaches do not start Hfinancial institutions, critical industries (including running until well within the bootup of the system healthcare), large data centers, and more require and they cannot protect the lower layers of the hardware-based security. These heavily regulated system software stack leaving the system vulnerable security applications must employ very expensive to serious and largely undetectable attacks (i.e., hardware security modules (HSMs). Rootkits and Bootkits). In contrast, all the other (more cost sensitive) Trusted computing implements bottom-up security platforms in the world store keys and certificates in which begins at the first instruction the system file systems and the user hopes that firewalls and executes when booting and extends as far into software-only solutions provide sufficient protection. the operating system and applications as system software designers desire it to go. A comprehensive Antivirus programs, firewalls, secure network links, security approach using top-down and bottom-up compliance management and other software-based security provides protection for all the software in approaches provide “top down” security. Top-down the system (Figure 1). Trusted computing also can security approaches essentially provide security be used to ensure strong device identity for remote on the perimeter of the system in an attempt to management and code updates. stop attackers from penetrating the system. These APPLICATIONS APPLICATIONS SQL INJECTION, DATABASE ATTACKS, PW ATTACK, WINDOWS FOLDER/ DRIVE SHARING, JAVA ATTACKS OPERATING SYSTEM OPERATING SYSTEM HYPERVISOR ROOTKITS HYPERVISOR ROOTKITS, ROGUE TOP DOWN DEFENSE DOWN TOP TOP DOWN DEFENSE DOWN TOP FIRMWARE FIRMWARE UPDATES FIRMWARE UP DEFENSE BOTTOM ALL LEVELS OF THE STACK ATTACKS CAN OCCUR AT ATTACKS (BIOS) HARDWARE SERVICE PROCESSOR, HARDWARE DIRECT PHYSICAL ATTACKS Figure 1. The shortcomings of a top-down only approach are corrected with a comprehensive (top down and bottom up) security solution. he bottom up solution requires trusted hardware, computing. Building on the foundation of TSS 1.2 Tfirmware and software. To provide the most that has been available since March 2009, TSS 2.0 rigorous hardware protection, companies introduced addresses some of its missing pieces and simplifies the first hardware-based Trusted Computing Module the programming requirements for the software. (TPM) based on Trusted Computing Group (TCG) The trusted computing-enabled firmware builds specifications more than a decade ago. With the a “transitive trust chain” and establishes systems recent announcement of TPM 2.0, TCG now has measurements from a Core Root of Trust for standards for discrete, integrated, firmware and Measurement (CRTM) to launch bottom-up security. software TPMs (listed in decreasing security order) offering different tradeoffs between cost, features, With TSS 2.0, OSs, RTOSs, firmware become trusted and security for essentially all applications. applications that seal secrets to protect overall platform security to the TPM Programmable Complementing TPM 2.0, TCG also recently Configuration Registers (PCRs) and use the TPM as an announced the TCG Software Stack (TSS) 2.0 to HSM where appropriate. complete the support infrastructure for trusted Creating the Complete Trusted Computing Ecosystem: TSS 2.0 Copyright© 2018 Trusted Computing Group | All Rights Reserved CREATING THE COMPLETE TRUSTED COMPUTING ECOSYSTEM BUILDING SOLUTIONS WITH TRUSTED COMPUTING For those unfamiliar with the TPM, it Is best described in two pieces. It can be thought of as a code ADMINISTRATIVE USER APPLICATION— measurement / key sealing system combined with a CRYPTOGRAPHIC USES KEYS HSM (hardware security module), but the HSM can be PROVISIONING (BUT MAY NOT SEE APPLICATION PRIVATE KEYS) achieved at significantly lower cost points. The TPM’s trusted computing functions include PCRs for measuring code, key sealing and enhanced authorization. The HSM section contains key storage PKCS #11 MIDDLEWARE and a cryptographic acceleration engine. The TSS 2.0 specification defines several Application Programming Interfaces (APIs) that simplify implementing a TPM in an end product. TSS 2.0 The TCG Software Stack 2.0 (TSS 2.0) was developed by the TCG to provide a trusted system utility that allows the operating system and applications to elegantly share the system’s TPM. There are other pieces of software that have described themselves using the term TSS 2.0, but there is only one TCG Software Stack 2.0. TPM Middlewares such as Public-Key Cryptography Standards #11 (PKCS#11) can be interfaced to TSS 2.0 to allow legacy applications to use the TPM as if it was a traditional HSM or smartcard. Figure 2. Use Case 1: HSM-style key store and use can be Two specific use case examples are shown in Figures provided by a TPM. 2 & 3 and demonstrate how TSS 2.0 enables the use of the TPM’s capabilities. APPLICATIONS MIDDLEWARE TPM OPERATING SYSTEM ROOT FIRMWARE Figure 3. Use Case #2: With TSS 2.0, the TPM can measure software—seal keys, detect attacks, provide endpoint management and more. Architect’sCreating the Guide: Complete IOT Security Trusted Computing Ecosystem: TSS 2.0 Copyright© 20172018 Trusted Computing Group | All Rights Reserved TSS 2.0 BENEFITS Together with the TPM 2.0, the TSS 2.0 helps will be able to read your code, understand it and programmers and significantly reduces their maintain it over the lengthy product lifecycle that programming task by: must be supported. • Handling the marshalling/unmarshalling needed • No global variables for communication with a TPM and handling multiple TPM applications • Both synchronous and asynchronous call support. • Providing synchronous and asynchronous • TSS 2.0 implementations are written in C99 function call models for communicating with in such a fashion as to make it easy to write the TPM language bindings. • Encrypting the data stream from the software • The TSS 2.0 API was created to be compatible with to the TPM stopping side-channel (hardware Motor Industry Software Reliability Association probing) attacks (achieving Common Criteria (MISRA) coding standards (required in embedded Evaluation Assurance Level (EAL) 4++) and IoT products where safety is an issue). Note: The implementation underlying the TSS 2.0 may • Simplifying context and session management or may not be MISRA compliant. needed when applications work with TPMs In addition to being developed and scrutinized by • Providing varying levels of abstraction (depending the TCG community at large, strong versioning and on the TSS layer used) simplifying the task of revision control is ensured by the design of the TSS using the TPM 2.0. Your TSS 2.0 applications will tend to fail at compile time – not run time – with TSS 2.0’s strong • Providing “scalable solutions” that allow different type checking and high semantic content. This is a code footprints from the smallest Internet of powerful method of stopping errors from reaching Things (IoT) device up to server applications the field. This supports a “fail early, fail fast and Using the official TCG Software Stack (TSS 2.0) not at the customer” strategy. Figure 4 shows the specifically provides a standardized API which interactions of the various TSS 2.0 defined structures. permits applications to use the same programming Application model across platforms with no need for completely different APIs on each platform. FAPI Crypto (Feature API) For this reason, many governments and critical Library industries will specifically specify its use in their ESAPI (Enhanced System API) requests for proposals (RFPs) thus requiring the use Marshalling/ of the official TSS 2.0 in your product to meet their Unmarshalling Code SAPI (Feature API) procurement requirements. TCTI (TPM Command Transmission Interface) TCTI To ensure that you meet these RFP requirements, (TPM Command Transmission Interface) make sure you are using the TCG Software Stack Connections to other TCTIs can be made 2.0 (TSS 2.0) and not another solution describing (e.g., network connected) itself as a TSS. TSS 2.0 complies with modern “clean Tab & Resource Manager programming” techniques to make code more TPM maintainable and more secure. Its capabilities TPM Device Driver include: • No function overloading—High semantic content Figure 4. The TSS 2.0 software stack includes Marshalling/ • Strong type checking—No variadic variables Unmarshalling API (MUAPI), Feature API (FAPI), Enhanced System API (ESAPI), System API (SAPI), TPM Command Transmission • High semantic content—others (including yourself) Interface (TCTI) and more. Architect’sCreating the Guide: Complete IOT Security Trusted Computing Ecosystem: TSS 2.0 Copyright© 20172018 Trusted Computing Group | All Rights Reserved EASE OF USE WITH TSS 2.0 With the Feature API (FAPI), TSS 2.0 provides ease The TPM Command Transmission Interface (TCTI) of use that was not available for TSS 1.2. It allows significantly helps development programmers. It programmers to interface to the TPM without having allows the use of TPMs other than the primary TPM to be TPM experts. on a platform. You can target TPM simulators and even remote TPMs with TCTI. The Enhanced System API (ESAPI) is another new ease of use aspect to TSS 2.0. ESAPI provides easier The Tab and Resource Manager will vary depending context management and the ability to encrypt the on the operating system. It allows multiple data stream to the TPM stopping side-channel attacks applications and the kernel to share TPM resources. (and essential to EAL4++). Drivers are available today in Linux and Windows but The System API (SAPI) doesn’t need a file system or some I/O platforms may need a modified or custom a heap data structure.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us