Background. TPMs in the real world. Components on TPM chip TPM 101. TCG: Trusted Computing Group. TCG: changes to PC or cell phone



Similar documents
CS 155 Spring TCG: Trusted Computing Architecture

Secure Data Management in Trusted Computing

Software-based TPM Emulator for Linux

Patterns for Secure Boot and Secure Storage in Computer Systems

Software Execution Protection in the Cloud

Bypassing Local Windows Authentication to Defeat Full Disk Encryption. Ian Haken

BitLocker Drive Encryption Hardware Enhanced Data Protection. Shon Eizenhoefer, Program Manager Microsoft Corporation

Opal SSDs Integrated with TPMs

Property Based TPM Virtualization

TPM Key Backup and Recovery. For Trusted Platforms

vtpm: Virtualizing the Trusted Platform Module

Using the TPM: Data Protection and Storage

Recipe for Mobile Data Security: TPM, Bitlocker, Windows Vista and Active Directory

Trusted Platforms for Homeland Security

Lecture Overview. INF3510 Information Security Spring Lecture 4 Computer Security. Meaningless transport defences when endpoints are insecure

Protecting Data with Short- Lived Encryption Keys and Hardware Root of Trust. Dan Griffin DefCon 2013

Embedded Trusted Computing on ARM-based systems

William Hery Research Professor, Computer Science and Engineering NYU-Poly

Factory-Installed, Standards-Based Hardware Security. Steven K. Sprague President & CEO, Wave Systems Corp.

Whitepaper Enhancing BitLocker Deployment and Management with SimplySecure. Addressing the Concerns of the IT Professional Rob Weber February 2015

Acronym Term Description

vtpm: Virtualizing the Trusted Platform Module

Hi and welcome to the Microsoft Virtual Academy and

Technical Brief Distributed Trusted Computing

ARTICLE 29 Data Protection Working Party

On the security of Virtual Machine migration and related topics

Trusted Platform Module

Secure Storage. Lost Laptops

Using AES 256 bit Encryption

How to Secure Infrastructure Clouds with Trusted Computing Technologies

Certification Report

A Virtualized Linux Integrity Subsystem for Trusted Cloud Computing

Trustworthy Computing

Aircloak Analytics: Anonymized User Data without Data Loss

CS252 Project An Encrypted File System using TPM

Enhancing Organizational Security Through the Use of Virtual Smart Cards

Index. BIOS rootkit, 119 Broad network access, 107

Hierarchies. Three Persistent Hierarchies. Chapter 9

ACER ProShield. Table of Contents

Security Overview for Windows Vista. Bob McCoy, MCSE, CISSP/ISSAP Technical Account Manager Microsoft Corporation

Penetration Testing Windows Vista TM BitLocker TM

Data Firewall: A TPM-based Security Framework for Protecting Data in Thick Client Mobile Environment

Introduction to the TPM 1.2

Secure Network Communications FIPS Non Proprietary Security Policy

FileCloud Security FAQ

Course: Information Security Management in e-governance. Day 1. Session 5: Securing Data and Operating systems

Encrypting stored data. Tuomas Aura T Information security technology

Security Policy for FIPS Validation

Implementing Hardware Roots of Trust: The Trusted Platform Module Comes of Age Sponsored by the Trusted Computing Group (TCG)

TNC is an open architecture for network access control. If you re not sure what NAC is, we ll cover that in a second. For now, the main point here is

Introduction to BitLocker FVE

Dell Client BIOS: Signed Firmware Update

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

Secure Device Identity Tutorial

How To Trust Your Computer With A Trusted Platform Module (Tcp)

Certifying Program Execution with Secure Processors

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

Today. Important From Last Time. Old Joke. Computer Security. Embedded Security. Trusted Computing Base

EMBASSY Remote Administration Server (ERAS) BitLocker Deployment Guide

Using BroadSAFE TM Technology 07/18/05

Using the TPM to Solve Today s Most Urgent Cybersecurity Problems

A Security Assessment of Trusted Platform Modules Computer Science Technical Report TR

Security Technology for Smartphones

SecureAge SecureDs Data Breach Prevention Solution

Accellion Secure File Transfer Cryptographic Module Security Policy Document Version 1.0. Accellion, Inc.

Symantec Corporation Symantec Enterprise Vault Cryptographic Module Software Version:

DRAFT Standard Statement Encryption

Overview. SSL Cryptography Overview CHAPTER 1

Analyzing the Security Schemes of Various Cloud Storage Services

Cautions When Using BitLocker Drive Encryption on PRIMERGY

White Paper How Noah Mobile uses Microsoft Azure Core Services

The Impact of Cryptography on Platform Security

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Management of Hardware Passwords in Think PCs.

Computer Security. Draft Exam with Answers

End User Devices Security Guidance: Apple OS X 10.10

Digital Rights Management Demonstrator

TCG PC Client Specific Implementation Specification for Conventional BIOS

Windows Phone 8 Security Overview

Attestation and Authentication Protocols Using the TPM

Implementation of a Trusted Ticket System

CS 356 Lecture 28 Internet Authentication. Spring 2013

Windows Server 2008 R2 Boot Manager Security Policy For FIPS Validation

SecureDoc Disk Encryption Cryptographic Engine

Firmware security features in HP Compaq business notebooks

M-Shield mobile security technology

Secure File Transfer Appliance Security Policy Document Version 1.9. Accellion, Inc.

Mutual Authentication Cloud Computing Platform based on TPM

Chapter 4 Application, Data and Host Security

UNCLASSIFIED Version 1.0 May 2012

Introducing etoken. What is etoken?

Transcription:

CS 155 Spring 2006 Background TCG: Trusted Computing Group Dan Boneh TCG consortium. Founded in 1999 as TCPA. Main players (promotors): (>200 members) AMD, HP, IBM, Infineon, Intel, Lenovo, Microsoft, Sun Goals: Hardware protected (encrypted) storage: Only authorized software can decrypt data e.g.: protecting key for decrypting file system Secure boot: method to authorize software Attestation: Prove to remote server what software is running on my machine. TCG: changes to PC or cell phone TPMs in the real world Extra hardware: TPM Trusted Platform Module (TPM) chip Single 33MhZ clock. TPM Chip vendors: (~7$) Atmel, Infineon, National, STMicro Intel D875GRH motherboard Software changes: BIOS OS and Apps Systems containing TPM chips: Lenovo (IBM) Thinkpads and desktops Fujitsu lifebook HP desktop and notebooks Software using TPMs: File/disk encryption: Vista, IBM, HP, Softex Attestation for enterprise login: Cognizance, Wave Client-side single sign on: IBM, Utimaco, Wave Components on TPM chip TPM 101 Non Volatile Storage (> 1280 bytes) PCR Registers ( 16 registers) Other Junk What the TPM does How to use it I/O Crypto Engine: RSA, SHA-1, HMAC, RNG RSA: 1024, 2048 bit modulus SHA-1: Outputs 20 byte digest 1

PCR: the heart of the matter PCR: Platform Configuration Registers Lots of PCR registers on chip (at least 16) Register contents: 20-byte SHA-1 digest (+junk) Updating PCR #n : TPM_Extend(n,D): PCR[n] SHA-1 ( PCR[n] D ) TPM_PcrRead(n): returns value(pcr(n)) PCRs initialized to default value (e.g. 0) at boot time TPM can be told to restore PCR values via TPM_SaveState and TPM_Startup(ST_STATE) Using PCRs: the TCG boot process At power-up PCR[n] initialized to 0 BIOS boot block executes Calls PCR_Extend( n, <BIOS code> ) Then loads and runs BIOS post boot code BIOS executes: Calls PCR_Extend( n, <MBR code> ) Then runs MBR (master boot record), e.g. GRUB. MBR executes: Calls PCR_Extend( n, <OS loader code, config> ) Then runs OS loader and so on In a diagram Example: Trusted GRUB (IBM 05) Hardware BIOS boot block BIOS OS loader OS Application Root of trust in integrity measurement TPM Root of trust in integrity reporting measuring Extend PCR After boot, PCRs contain hash chain of booted software Collision resistance of SHA1 (?) ensures commitment What PCR # to use and what to measure specified in GRUB config file Using PCR values after boot Application 1: encrypted (a.k.a sealed) storage. Step 1: TPM_TakeOwnership( OwnerPassword, ) Creates 2048-bit RSA Storage Root Key (SRK) on TPM Cannot run TPM_TakeOwnership again: Ownership Enabled flag False Done once by IT department or laptop owner. (optional) Step 2: TPM_CreateWrapKey Create more RSA keys on TPM certified by SRK Each key identified by 32-bit keyhandle Protected Storage Main Step: Encrypt data using RSA key on TPM TPM_Seal (some) Arguments: keyhandle: which TPM key to encrypt with KeyAuth: Password for using key `keyhandle PcrValues: PCRs to embed in encrypted blob data block: at most 256 bytes (2048 bits) Used to encrypt symmetric key (e.g. AES) Returns encrypted blob. Main point: blob can only be decrypted with TPM_Unseal when PCR-reg-vals = PCR-vals in blob. TPM_Unseal will fail othrwise 2

Protected Storage Embedding PCR values in blob ensures that only certain apps can decrypt data. e.g.: Messing with MBR or OS kernel will change PCR values. Why can t attacker disable TPM until after boot, then extend PCRs with whatever he wants? Root of trust: BIOS boot block. Gaping hole: role-back attack on encrypted blobs e.g. undo security patches without being noticed. Can be mitigated using Data Integrity Regs (DIR) Sealed storage: applications Lock software on machine: OS and apps sealed with MBR s PCR. Any changes to MBR (to load other OS) will prevent locked software from loading. Prevents reverse-engineering Web server: seal server s SSL private key Goal: only unmodified Apache can access SSL key Problem: updates to Apache, config, or content General problem with software patches: When updating MBR, must re-seal blobs Not a simple process TPM Counters TPM must support at least four hardware counters Increment rate: every 5 seconds for 7 years. Applications: Provides time stamps on blobs. Supports music will pay for 30 days policy. Non-volatile TPM memory Stores: Storage Root Key (SRK) Owner Password Generated when user takes ownership Endorsement Key (EK) Created once for the life of the TPM Certificate for EK issued by TPM vendor Basis of attestation Persistent flags (e.g. ownership flag) Attestation: what it does Attestation Goal: prove to remote party what software is running on my machine. Good applications: Bank allows money transfer only if customer s machine runs up-to-date OS patches. Enterprise allows laptop to connect to its network only if laptop runs authorized software Quake players can join a Quake network only if their Quake client is unmodified. DRM: MusicStore sells content for authorized players only. 3

Attestation: how it works Attestation: how it works Recall: EK private key on TPM. Cert for EK public-key issued by TPM vendor. Step 1: Create Attestation Identity Key (AIK) Details not important. AIK Private key known only to TPM AIK public cert issued only if EK cert is valid Step 2: sign PCR values (after boot) Call TPM_Quote (some) Arguments: keyhandle: which AIK key to sign with KeyAuth: Password for using key `keyhandle PCR List: Which PCRs to sign. Challenge: 20-byte challenge from remote server Prevents replay of old signatures. Userdata: additional data to include in sig. Returns signed data and signature. Attestation: how it (should) work App OS TPM Attestation Request (20-byte challenge) Generate pub/priv key pair TPM_Quote(AIK, PcrList, chal, pub-key) Obtain cert (SSL) Key Exchange using Cert Communicate with app using SSL tunnel PC Attestation should include key-exchange App must be isolated from rest of system Validate: 1. Cert issuer, 2. PCR vals in cert Remote Server Using Attestation Attesting to VMs: Terra [SOSP 03] Nexus OS (Sirer et al. 06) Problem: attesting to hashed application/kernel code Too many possible software configurations Better approach: attesting to properties Example: application never writes to disk TVMM Provides isolation between attested applications Supported in Nexus OS (Sierer et al. 06) General attestation statements: TPM says that it booted Nexus, Nexus says that it ran checker with hash X, checker says that IPD A has property P 4

EFF: Owner Override TCG attestation: The good: enables user to prove to remote bank that machine is up-to-date The bad: content owners can release decryption key only to machines running authorized software. Stifles innovation in player design EFF: allow users to inject chosen values into PCRs. Enables users to conceal changes to their computing environment. Still defeats malicious changes to computing platform TCG Alternatives IBM 4758: Supports all TCG functionality and more. Tamper resistant 486 100MhZ PCI co-processor. Programmable. but expensive ~ $2000. TPM ~ $7. AEGIS System: Arbaugh, Farber, Smith 97: Secure boot with BIOS changes only. Cannot support sealed storage. Phoenix TrustConnector 2 SWATT: Seshadri et al., 2004 Attestation w/o extra hardware Server must know precise HW configuration 1. Attesting to Current State Attestation: challenges Attestation only attests to what code was loaded. Does not say whether running code has been compromised. Problem: what if Quake vulnerability exploited after attestation took place? Can we attest to the current state of a running system? or is there a better way? 2. Encrypted viruses Suppose malicious music file exploits bug in Windows Media Player. Music file is encrypted. TCG prevents anyone from getting music file in the clear. Can anti-virus companies block virus without ever seeing its code in the clear? 3. TPM Compromise Suppose one TPM Endorsement Private Key is exposed Destroys all attestation infrastructure: Embed private EK in TPM emulator. Now, can attest to anything without running it. Certificate Revocation is critical for TCG Attestation. 5

4. Private attestation Attestation should not reveal platform ID. Recall Intel CPU-ID fiasco. THE END Private attestation: Remote server can validate trustworthiness of attestation but cannot tell what machine it came from. TCG Solutions: Privacy CA: online trusted party Group sigs: privacy without trusted infrastructure 6