Using the Windows 8 Platform Crypto Provider and Associated TPM Functionality

Total Page:16

File Type:pdf, Size:1020Kb

Using the Windows 8 Platform Crypto Provider and Associated TPM Functionality Using the Windows 8 Platform Crypto Provider and Associated TPM Functionality Functionality, Usage Models, and Reference Implementation White Paper Stefan Thom, [email protected] Paul England, [email protected] Jork Loeser, [email protected] Rob Spiger, [email protected] Ron Aigner, [email protected] Jim Morgan, [email protected] Version 1.0 © Microsoft Corporation. All rights reserved. This document is provided "as-is." Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. Microsoft, Active Directory, BitLocker, Windows, and Windows Vista are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries and regions. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document for your internal, reference purposes. Table of Contents Introduction to Attestation and PCP-Kit ....................................................................................................... 1 Scope ......................................................................................................................................................... 2 PCP-Kit and TPM Versions ......................................................................................................................... 2 Key Concepts Used in This Paper .............................................................................................................. 2 Acronyms and Abbreviations ........................................................................................................................ 6 TPM Provisioning and Management ............................................................................................................. 7 Pre-Windows 8 Architecture for TPM 1.2 Provisioning ............................................................................ 7 Auto-Provisioning ...................................................................................................................................... 7 Provisioning Through the UI ..................................................................................................................... 8 TPM State in the OS .................................................................................................................................. 8 Provisioning with WMI .............................................................................................................................. 8 Provisioning Differences Between TPM Versions 1.2 and 2.0 ................................................................ 12 Windows 8 Certified Hardware Requirements ....................................................................................... 12 Platform Crypto Provider in Windows 8 ..................................................................................................... 13 Certificate Enrollment with the Platform Crypto Provider ..................................................................... 13 Tracing Provider TPM Commands........................................................................................................... 14 BCrypt RNG Platform Crypto Provider .................................................................................................... 14 NCrypt RSA Platform Key Storage Provider ............................................................................................ 15 Executing Custom TPM Commands Through the TBS API .......................................................................... 23 TPM Resource Virtualization ................................................................................................................... 23 Command Filtering for 1.2 and 2.0 ......................................................................................................... 24 TBS API .................................................................................................................................................... 24 Creating TPM 1.2 and 2.0 Contexts ........................................................................................................ 24 Deleting TPM 1.2 and 2.0 Contexts......................................................................................................... 26 Obtaining the Windows Boot Configuration Log (WBCL) ....................................................................... 26 Invalidating the System Trust State ........................................................................................................ 26 Obtaining the TPM Version ..................................................................................................................... 27 Submitting a Custom TPM Command ..................................................................................................... 28 Windows Boot Configuration Log ............................................................................................................... 30 Windows Integrity Measurements ......................................................................................................... 30 Using the Windows 8 Platform Crypto Provider and Associated TPM Functionality iii Root of Trust Overview ........................................................................................................................... 33 Platform Trust Considerations across Hibernation and Resume ............................................................ 33 ELAM Driver Data Measurements .......................................................................................................... 35 Automatic Key Certification for Platform-Bound Keys ............................................................................... 36 Format of the Key Attestation Data ........................................................................................................ 36 Attestation API Reference Implementation................................................................................................ 38 Introduction ............................................................................................................................................ 38 Creating Attestation Identity Keys (AIKs) and Forming Remote Trust.................................................... 38 Obtaining and Parsing Platform Configuration and Measurements ...................................................... 41 Platform Attestation and Validation ....................................................................................................... 42 Key Attestation and Validation ............................................................................................................... 46 Key Hostage ............................................................................................................................................ 49 Overview of the PCP-Kit Package ................................................................................................................ 52 PCPTool ................................................................................................................................................... 52 Commands .............................................................................................................................................. 54 Scenario Scripts ....................................................................................................................................... 62 Certificate Enrollment Templates ........................................................................................................... 66 PFX Private Key and Certificate Import ................................................................................................... 70 Windows Attestation Scenarios .................................................................................................................. 71 Enterprise Asset Management with EK Certificates ............................................................................... 71 Retirement of User Names and Passwords for Web Authentication with Mutual SSL .......................... 72 Remote Platform Attestation for Malware Detection ............................................................................ 73 Platform Health Certificates ................................................................................................................... 74 Certificate Enrollment with Key Origination Proof ................................................................................. 77 Secure Key Roaming ................................................................................................................................ 78 Using the Windows 8 Platform Crypto Provider and Associated TPM Functionality iv Introduction to Attestation and PCP-Kit This paper describes how a software provider can use the Microsoft® Windows® operating system and the Trusted Platform Module (TPM) to provide more reliable reporting of the health or policy compliance of computer systems and strong attestation of key origin and key properties. It also describes core operating system (OS) features for creating and using TPM keys that are bound to the physical machine, and how provisioning and other actions are performed. Finally, this paper describes a package of sample code and utilities called the Platform Configuration Provider
Recommended publications
  • Trusted Platform Module (TPM) TCG 1.2 / 2.0
    Trusted Platform Module (TPM) TCG 1.2 / 2.0 USER GUIDE Revision 1.20 The information in this user's guide has been carefully reviewed and is believed to be accurate. The vendor assumes no responsibility for any inaccuracies that may be contained in this document, and makes no commitment to update or to keep current the information in this manual, or to notify any person or organization of the updates. Please Note: For the most up-to-date version of this manual, please see our website at www.supermicro.com. Super Micro Computer, Inc. ("Supermicro") reserves the right to make changes to the product described in this manual at any time and without notice. This product, including software and documentation, is the property of Supermicro and/ or its licensors, and is supplied only under a license. Any use or reproduction of this product is not allowed, except as expressly permitted by the terms of said license. IN NO EVENT WILL SUPER MICRO COMPUTER, INC. BE LIABLE FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, SPECULATIVE OR CONSEQUENTIAL DAMAGES ARISING FROM THE USE OR INABILITY TO USE THIS PRODUCT OR DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN PARTICULAR, SUPER MICRO COMPUTER, INC. SHALL NOT HAVE LIABILITY FOR ANY HARDWARE, SOFTWARE, OR DATA STORED OR USED WITH THE PRODUCT, INCLUDING THE COSTS OF REPAIRING, REPLACING, INTEGRATING, INSTALLING OR RECOVERING SUCH HARDWARE, SOFTWARE, OR DATA. Any disputes arising between manufacturer and customer shall be governed by the laws of Santa Clara County in the State of California, USA. The State of California, County of Santa Clara shall be the exclusive venue for the resolution of any such disputes.
    [Show full text]
  • Introduction to Trusted Computing: TPM 101
    Introduction to Trusted Computing: TPM 101 Ariel Segall [email protected] Day 1 Approved for Public Release: 12-2749. Distribution unlimited Day 1 Approved for Public Release: 12-2749. Distribution unlimited 1 Ariel Segall [email protected] () TPM 101 / 1 License All materials are licensed under a Creative Commons \Share Alike" license. http://creativecommons.org/licenses/by-sa/3.0 Day 1 Approved for Public Release: 12-2749. Distribution unlimited 2 Ariel Segall [email protected] () TPM 101 / 1 What We'll Be Covering In this section: What is a TPM? What does it do? What's it good for? Some TPM myths (and the truths behind them) Why enterprises should care about TPMs All at a high level{ deep dive this afternoon. Day 1 Approved for Public Release: 12-2749. Distribution unlimited 3 Ariel Segall [email protected] () TPM 101 / 1 What is a TPM? Trusted Platform Module Inexpensive (<$1, usually) chip on almost all motherboards today Not in Macs Only some servers have them{ ask. Hardware basis for platform trust In secrets In platform state Combined with a Root of Trust for Measurement1 In platform identity Current version is 1.2 Unless otherwise specified, we'll always refer to 1.2 TPMs Previous version 1.1; next, 2.0. 1We'll get to these in a little while Day 1 Approved for Public Release: 12-2749. Distribution unlimited 4 Ariel Segall [email protected] () TPM 101 / 1 What's In a TPM? TPM Non−Volatile Memory Cryptographic Co−Processor Volatile Memory Execution Engine (Processor) Random Number Generator Day 1 Approved for Public Release: 12-2749.
    [Show full text]
  • Trusted Platforms UEFI, PI and TCG-Based Firmware
    White Paper by Intel Corporation and IBM Corporation Trusted Platforms UEFI, PI and TCG-based firmware Vincent J. Zimmer Intel Corporation Shiva R. Dasari Sean P. Brogan IBM September 2009 Executive Summary This document provides an overview of the interactions of the Trusted Computing Group (TCG) [TCG Overview], the firmware standards work within the Unified Extensible Firmware Interface (UEFI) Forum, and implementation practices of UEFI PI-based [UEFI Book][UEFI Shell Book][UEFI Overview] implementations. In addition, this paper will provide some use-cases and implementation examples of this technology in addition to the industry threats that motivate the design of this class of technology. This paper is mainly intended for Hardware, firmware, software, and BIOS engineers. But beyond this audience, some of the information in this paper will be valuable for IT decision makers, marketing, and other parties. The goal of the paper is to take away an understanding of the motivations behind trusted platform design, the terminology of trust, how to navigate the Trusted Computing Group set of specifications and technology that relate to platform, impact on platform firmware and UEFI, instances of deployment in the market, and some future possible directions for hardware and firmware. ii Table of Contents Overview ............................................................................................................2 Problems to solve ...........................................................................................3 Security architecture
    [Show full text]
  • Open Source TPM Support
    Open Source TPM support Open source application and support software for TPM is available for several operating systems like Linux, Android and in different programming languages supporting the following scenarios: - embedded Systems - servers - mobile communication and portable devices (e.g. tablet computer or smartphone) Open source implementations can also be ported to other platforms and processors and may be act as a starting point for the development of new applications. Some open source projects from the following list are supported by Infineon while other packages are separately developed by independent parties. The following list of Open Source software utilizing Trusted Computing and/or TPM software makes no claim to be complete and represents a limited number of projects: 1. Linux TPM Driver ( http://www.kernel.org ) Linux device driver for Trusted Platform Modules (TPM) in standard kernel (Vanilla). 2. I2C driver for TPM The driver is available on Linux kernel.org ( https://lkml.org/lkml/2011/7/22/137 ) 3. Trusted GRUB ( http://sourceforge.net/projects/trustedgrub ) Trusted GRUB extends the GRUB bootloader for Linux platforms with TPM support. This makes it possible to provide a secure Bootstrap architecture; Code is in general useful for initializing a Trusted Platform Module and execute integrity measurement based on Trusted Computing. 4. UBoot based on TPM with I2C ( http://git.chromium.org/gitweb/?p=chromiumos/third_party/u- boot.git;a=tree;f=drivers/tpm/slb9635_i2c;hb=chromeos-v2011.03 ) UBoot involving TPM using I2C interface. 5. The TROUSERS project ( http://sourceforge.net/projects/trousers ): An open-source TCG Software Stack implementation created and released by IBM.
    [Show full text]
  • Recipe for Mobile Data Security: TPM, Bitlocker, Windows Vista and Active Directory
    Recipe for Mobile Data Security: TPM, Bitlocker, Windows Vista and Active Directory Tom Olzak October 2007 If your business is like mine, laptops regularly disappear. Until recently, centrally managed mobile storage encryption solutions for Windows environments were either too costly, required users to carry a key-resident device, or relied on keys residing on local disk. Sometimes the best solution under these circumstances was the presence of administrative controls (i.e. policies) prohibiting users from storing sensitive information on local laptop drives. With the proliferation of TPM 1.2 across most laptop platforms and the release of Microsoft Windows Vista, most roadblocks to laptop data encryption have been removed. In this paper, I explore the challenges facing security managers responsible for laptop data security, TPM technology, and how the features of a TPM can integrate with Microsoft’s Bitlocker and Active Directory technologies to provide for more secure data on the road. The Challenges Vulnerable Laptop Data When a mobile user’s laptop is stolen, a variety of data might be potentially exposed. The following is a short list of some of the most common types of sensitive information that might be found on a laptop drive: ¾ ePHI – Electronic Protected Health Information, protected under the HIPAA, is any information that can be used to uniquely identify a health care recipient. ¾ PII – Essentially, Personally Identifiable Information is any data that can be used to steal a person’s identity. Most states have passed laws requiring businesses to take steps to protect this information as well as to notify and assist victims if this information is compromised.
    [Show full text]
  • Attestation and Trusted Computing
    Attestation and Trusted Computing Abstract A look at the cryptographic techniques and protocols used in trusted computing with particular attention to remote attestation. CSEP 590: Practical Aspects of Modern Cryptography March 2006 J. Christopher Bare Introduction Trusted computing, in some form, is almost certain to become part of the computing landscape over the next few years. This is because email viruses, trojans, spyware, phishing scams, key-stroke loggers, and security exploits are so much a part of the landscape already. The current computing infrastructure was built with a premium on openness and interoperability which has paid huge dividends in terms of creativity and innovation. But, the same openness is somewhat problematic for security. Experience has shown that the access control model of present operating systems is inadequate against many types of attacks particularly in the hands of inexpert users. Previous attempts to roll out cryptographic infrastructure to a mass-market have met with limited success.[10] The various competing visions of trusted computing seek to strike a workable balance between enhanced security and openness and backward-compatibility. One component of trusted computing that has attracted particular attention is remote attestation. Attestation allows a program to authenticate itself and remote attestation is a means for one system to make reliable statements about the software it is running to another system. The remote party can then make authorization decisions based on that information. This paper will look at the cryptographic techniques and protocols used in trusted computing with particular attention to remote attestation. Trusted Computing The term trusted computing applies to a number of distinct proposals and initiatives with the general goal of engineering more security into commodity computing systems.
    [Show full text]
  • Trust and Trusted Computing Platforms
    Trust and Trusted Computing Platforms David A. Fisher Jonathan M. McCune Archie D. Andrews January 2011 TECHNICAL NOTE CMU/SEI-2011-TN-005 CERT Program Unlimited distribution subject to the copyright. http://www.sei.cmu.edu This report was prepared for the SEI Administrative Agent ESC/XPK 5 Eglin Street Hanscom AFB, MA 01731-2100 The ideas and findings in this report should not be construed as an official DoD position. It is published in the interest of scientific and technical information exchange. This work is sponsored by the U.S. Department of Defense. The Software Engineering Institute is a federally funded research and development center sponsored by the U.S. Department of Defense. Copyright 2011 Carnegie Mellon University. NO WARRANTY THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. Use of any trademarks in this report is not intended in any way to infringe on the rights of the trademark holder. Internal use. Permission to reproduce this document and to prepare derivative works from this document for internal use is granted, provided the copyright and “No Warranty” statements are included with all reproductions and derivative works. External use. This document may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission.
    [Show full text]
  • Dell Trusted Device Below the OS Whitepaper
    Client Solutions Dell Trusted Device: BIOS Security An introduction to the Dell Trusted Device BIOS and security features. Author: Rick Martinez © 2020 Dell Inc. or its subsidiaries. All Rights Reserved. Dell, EMC and other trademarks are trademarks of Dell Inc. or its subsidiaries. Other trademarks may be trademarks of their respective owners. Initial Release – September 2020 Table of Contents Executive summary 3 The Key Elements of Dell BIOS Security 4 What is BIOS? What is UEFI? . 4 The Importance of “Below the OS” Security . 5 NIST Cybersecurity Framework . 6 Identify 6 Identity and Asset Management Tags . 6 SDL 7 Secure Design Processes and SDL . 8 Industry Affiliations . .8 “Below the OS” Threat Modeling . 8 Protect 9 The PC Boot Process . 9 UEFI Secure Boot Expert Mode . 11 Signed Firmware Update. .11 NIST SP800-147 Support . 12 Mitigating SMM Threats with Intel BIOS Guard . 12 What is SMM? . 12 Mitigation: Intel BIOS Guard . 13 BIOS Patch Management . 13 BIOS Downgrade Protection . 14 Embedded Controller: Signed Firmware . 14 Protecting BIOS Configuration. 14 Protecting BIOS at Runtime . 17 Detect 19 Intel Boot Guard . 19 SafeBIOS Verification . 20 BIOS Indicators of Attack . 21 Chassis Intrusion . 22 TCG Measured Boot . 22 Recover 24 Embedded Controller Recovery . 24 BIOS Recovery . 24 Dell Data Wipe . 26 Supply Chain Assurance 27 Protected Signing Infrastructure. 27 The Future of Security 28 Appendix 29 Referenced Links. 29 Learn More 30 Acknowledgements . 30 About the author. 30 Executive summary Computer security is a multi-billion dollar business with thousands of companies competing for organizations’ attention and enterprise dollars. Dell Technologies has created an innovative and effective portfolio of technologies and solutions in this industry to help organizations secure their enterprises.
    [Show full text]
  • Trusted Computing
    TTRRUUSSTTEEDD CCOOMMPPUUTTIINNGG An Already Deployed, Cost Effective, ISO Standard, Highly Secure Solution for Improving Cybersecurity Wave Systems Corp. response to Department of Commerce Internet Policy Task Force Notice of Inquiry Section 4. Authentication/Identity (ID) Management Dated: July 28, 2010 480 Pleasant Street, Lee, MA 01238 Phone 877-228-WAVE www.wave.com Table of Contents EXECUTIVE SUMMARY ........................................................................................................................ 2 INTRODUCTION ................................................................................................................................... 3 THE TRUSTED PLATFORM MODULE .................................................................................................... 5 MARKET APPLICATIONS of DEVICE ID ................................................................................................. 8 OpenID ............................................................................................................................................ 8 SAML ............................................................................................................................................... 9 Wireless Access ............................................................................................................................... 9 GOVERNMENT .................................................................................................................................. 10 Government Recognizes the
    [Show full text]
  • Trusted Computing & Digital Rights Management – Theory & Effects
    School of Mathematics and Systems Engineering Reports from MSI - Rapporter från MSI Trusted Computing & Digital Rights Management – Theory & Effects Daniel Gustafsson Tomas Stewén Sep MSI Report 04086 2004 Växjö University ISSN 1650-2647 SE-351 95 VÄXJÖ ISRN VXU/MSI/DA/E/--04086/--SE Preface First we want to thank Pernilla Rönn, Lena Johansson and Jonas Stewén that made it possible for us to carry out this master thesis at AerotechTelub. A special thank to Lena Johansson, our supervisor at AerotechTelub, for her help with ideas and opinions. A special thank to Jonas Stewén, employee at AerotechTelub, for his help with material and his opinions on our work. We also want to thank Ola Flygt our supervisor and Mathias Hedenborg our examiner at Växjö University. Växjö, June 2004 Abstract Trusted Computing Platform Alliance (TCPA), now known as Trusted Computing Group (TCG), is a trusted computing initiative created by IBM, Microsoft, HP, Compaq, Intel and several other smaller companies. Their goal is to create a secure trusted platform with help of new hardware and software. TCG have developed a new chip, the Trusted Platform Module (TPM) that is the core of this initiative, which is attached to the motherboard. An analysis is made on the TCG’s specifications and a summary is written of the different parts and functionalities implemented by this group. Microsoft is in the development stage for an operating system that can make use of TCG’s TPM and other new hardware. This initiative of the operating system is called NGSCB (Next Generation Secure Computing Base) former known as Palladium.
    [Show full text]
  • Foundational Trust for Iot – Dennis Mattoon, Microsoft
    Foundational Trust for IoT Dennis Mattoon, Microsoft ©2019 Trusted Computing Group The importance of a secure supply chain… 35C3 - https://youtu.be/C7H3V7tkxeA THE SEVEN PROPERTIES Property Hardware-based Small Trusted Defense Compartmentalization Certificate- Renewable Failure Root of Trust Computing Base in Depth based Authentication Security Reporting Key Questions Does the device Is most of the Is the device still Does a failure in Does the device Is the device’s Does the device have a unique, device’s software protected if the one component of use certificates software updated report failures to its unforgeable outside the device’s security of one the device require a instead of automatically? manufacturer? identity that is trusted computing layer of device reboot of the entire passwords for inseparable from base? software is device to return to authentication? the hardware? breached? operation? ©2019 Trusted Computing Group 3 Cloud Provider Security controls Device Management Device Provisioning Service Choice of Secure Hardware and Device Firmware • Secure silicon vendors • Language and OS agnostic MCUs, SoCs, etc. • Secure silicon hardware • Secure silicon standards • Critical security services • DICE • TPMs Device Security Hardware Root of Trust in secure silicon + High-integrity software operations ©2019 Trusted Computing Group 4 WHY HARDWARE SUPPORT? • Serious problems with software-only solutions • If a bug leads to disclosure of Device Identity secret, then how do we securely (and remotely) recover and re-provision a device?
    [Show full text]
  • Governance of Trusted Computing
    Governance of Trusted Computing Clark Thomborson Department of Computer Science University of Auckland [email protected] Matt Barrett Department of Computer Science University of Auckland [email protected] Abstract Trusted computing systems offer great promise in corporate and governmental applications. Their uptake has been very slow outside of the national security agencies for which they were developed, in part because they have been difficult and expensive to configure and use. Recent designs are easier to use, but some compliance and governance issues are unresolved. Our analysis suggests that cryptographic systems, in order to be trustworthy in corporate environments, must support an audit of their most important operations. At minimum the audit record must reveal the number of keys that have been generated, as well as the creation times and authorities of these keys. This record of cryptographic activity must be tamper-evident, and must be open to inspection by the IT staff of the corporate owners as well as by their independent auditors. Key Words: Trusted computing; Audit; Digital Rights Management. 1. INTRODUCTION Security analysts use the word “trusted” in a way that may seem confusing to the non-specialist. Components are considered to be trusted only if their failure or misbehaviour might cause a violation of a security goal of a system. A security analysis is required to distinguish the components that must be trusted from the ones it is not necessary to trust. All subsequent analysis will focus on the trusted components. If any trusted component has a vulnerability which could be exploited in a foreseeable attack, then the security analyst will propose modifications to the component that make it more trustworthy.
    [Show full text]