1 Information Security – Theory vs. Reality 0368-4474-01, Winter 2013-2014 Lecture 12: Trusted computing architecture (cont.), Eran Tromer Slides credit:

Slides:



Advertisements
Similar presentations
Confidential 1 Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies.
Advertisements

Eran Tromer Slides credit: Dan Boneh, Stanford course CS155
Trusted Platform Module
Vpn-info.com.
Internet and Intranet Protocols and Applications Lecture 9a: Secure Sockets Layer (SSL) March, 2004 Arthur Goldberg Computer Science Department New York.
Cryptography and Network Security
7-1 Chapter 7 – Web Security Use your mentality Wake up to reality —From the song, "I've Got You under My Skin“ by Cole Porter.
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
Ragib Hasan Johns Hopkins University en Spring 2011 Lecture 3 02/14/2010 Security and Privacy in Cloud Computing.
 Alexandra Constantin  James Cook  Anindya De Computer Science, UC Berkeley.
Eran Tromer Slides credit: Dan Boneh, Stanford
Hardware Security: Trusted Platform Module Amir Houmansadr CS660: Advanced Information Assurance Spring 2015 Content may be borrowed from other resources.
1 Introduction to Information Security , Spring 2014 Lecture 10: Trusted computing architecture (cont.), Smartphone security Eran Tromer Slides.
Computer Science HyperSentry: Enabling Stealthy In-context Measurement of Hypervisor Integrity Ahmed M. Azab, Peng Ning, Zhi Wang, Xuxian Jiang North Carolina.
1 Minimal TCB Code Execution Jonathan McCune, Bryan Parno, Adrian Perrig, Michael Reiter, and Arvind Seshadri Carnegie Mellon University May 22, 2007.
1 Bootstrapping Trust in a “Trusted” Platform Carnegie Mellon University November 11, 2008 Bryan Parno.
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Ragib Hasan Johns Hopkins University en Spring 2010 Lecture 5 03/08/2010 Security and Privacy in Cloud Computing.
Trusted Platform Modules: Building a Trusted Software Stack and Remote Attestation Dane Brandon, Hardeep Uppal CSE551 University of Washington.
Cryptography and Network Security Chapter 17
Trusted Computing Initiative Beyond trustworthy. Trusted Computing  Five Key Concepts >Endorsement Key >Secure Input and Output >Memory Curtain / Protected.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci599 Trusted Computing Lecture Three.
CMSC 414 Computer and Network Security Lecture 14
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci599 Trusted Computing Lecture notes.
TCG: Trusted Computing Group CS 155 Spring 2007 Dan Boneh.
1 Flicker: An Execution Infrastructure for TCB Minimization April 4, 2008 Jonathan McCune 1, Bryan Parno 1, Adrian Perrig 1, Michael Reiter 2, and Hiroshi.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
CMSC 414 Computer and Network Security Lecture 23 Jonathan Katz.
CSCI 6962: Server-side Design and Programming
Chapter 31 Network Security
1 Introduction to Information Security , Spring 2013 Lecture 9: Trusted computing architecture (cont.) Side-channel attacks Eran Tromer Slides.
Cloud Computing & Security Issues Prepared by: Hamoud Al-Shammari CS 6910 Summer, 2011 University of Colorado at Colorado Springs Engineering & Applied.
Securing Applications With Firmware (Going Beyond TCPA Platform Security) Dr. Robert W. Baldwin Chief Scientist.
© Check Point Software Technologies Ltd. All rights reserved. Proprietary and confidential. Trusted Computing Yaron Sheffer Manager, Standards.
Trusted Computing Platform Alliance
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
1 Architectural Support for Copy and Tamper Resistant Software David Lie, Chandu Thekkath, Mark Mitchell, Patrick Lincoln, Dan Boneh, John Mitchell and.
Passwords are not able to keep user safe.
Introduction to Secure Sockets Layer (SSL) Protocol Based on:
TCG: Trusted Computing Group CS 155 Spring Background TCG consortium. Founded in 1999 as TCPA. Main players (promotors): (>200 members) AMD, HP,
Cryptography and Network Security (CS435) Part Fourteen (Web Security)
Web Security : Secure Socket Layer Secure Electronic Transaction.
Cosc 4765 Trusted Platform Module. What is TPM The TPM hardware along with its supporting software and firmware provides the platform root of trust. –It.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
31.1 Chapter 31 Network Security Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1 Introduction to Information Security , Spring 2013 Lecture 8: Virtual machine confinement, trusted computing architecture Eran Tromer Slides.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
Introduction to Information Security , Spring 2015 Lecture 9: Low-level platform attacks, Trusted platform, TCP/IP security (1/2) Eran Tromer.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
TCG: Trusted Computing Group Dan Boneh CS 155 Spring 2006.
Trusted Computing and SGX
Windows 10 Device Health Attestation (DHA)
Computer Security module October 2008 Mark D. Ryan HP Labs, Bristol University of Birmingham Trusted Platform Module (TPM) introduction.
Computer Security module October 2009 Mark D. Ryan University of Birmingham Trusted Platform Module (TPM) introduction.
Trusted Computing and the Trusted Platform Module
Secure Sockets Layer (SSL)
Trusted Computing and the Trusted Platform Module
PV204 Security technologies
Innovations for Grid Security from Trusted Computing
Assignment #7 – Solutions
Intel Active Management Technology
Bruce Maggs (with some slides from Bryan Parno)
Bruce Maggs (with some slides from Bryan Parno)
Presentation transcript:

1 Information Security – Theory vs. Reality , Winter Lecture 12: Trusted computing architecture (cont.), Eran Tromer Slides credit: Dan Boneh, Stanford

2 Trusted Computing Architecture (continued)

3 Components on TPM chip I/O Crypto Engine: RSA, SHA-1, HMAC, RNG Non Volatile Storage (> 1280 bytes) PCR Registers (  16 registers) Other Junk RSA: 1024, 2048 bit modulus SHA-1: Outputs 20 byte digest LPC bus API calls

4 Protected storage (sealing) 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. Blob can only be decrypted with TPM_Unseal when PCR- reg-vals = PCR-vals in blob. TPM_Unseal will fail othrwise

5 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 tampering and reverse engineering Web server: seal server’s SSL private key Goal: only unmodified Apache can access SSL key Problem: updates to Apache or Apache config General problem with software upgrades/patches: Upgrade process must re-seal all blobs with new PCRs

6 A cloud application Client seals VM to VMM measurement VM code and data is encrypted Can only be decrypted on valid cloud server Cloud operator cannot easily access data cloud servers VMM TPM VMM TPM Client VM sealed to VMM

7 Security? Resetting TPM after boot Attacker can disable TPM until after boot, then extend PCRs arbitrarily (one-byte change to boot block ) [Kauer 07] Software attack: send TPM_Init on LPC bus allows calling TPM_Startup again (to reset PCRs) Simple hardware attack: use a wire to connect TPM reset pin to ground Once PCRs are reset, they can be extended to reflect a fake configuration. Rollback attack on encrypted blobs undo security patches

8 Better root of trust DRTM – Dynamic Root of Trust Measurement AMD: skinit Intel: senter Atomically does:  Reset CPU. Reset PCR 17 to 0.  Load given Secure Loader (SL) code into I-cache  Extend PCR 17 with SL  Jump to SL BIOS boot loader is no longer root of trust Avoids TPM_Init attack: TPM_Init sets PCR 17 to -1

Attestation 9

10 Attestation: what it does 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.

11 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 here AIK Private key known only to TPM AIK public cert issued only if EK cert is valid

12 Attestation: how it works 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.

13 Using attestation (to establish an SSL tunnel) Remote Server PC TPM OS App Generate pub/priv key pair TPM_Quote(AIK, PcrList, chal, pub-key) Obtain certs Attestation Request (20-byte challenge) (SSL) Key Exchange using Cert Validate : 1.Certs 2.PCR vals 3.Challenge Communicate with app using SSL tunnel Attestation must include key-exchange App must be isolated from rest of system

14 Trusted Computing Architecture Discussion (on whiteboard)