19
Systems and Internet Infrastructure Security (SIIS) Laboratory Page 1 Systems and Internet Infrastructure Security k and Security Research Center ment of Computer Science and Engineering lvania State University, University Park PA vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman

vTPM: Virtualizing the Trusted Platform Module

  • Upload
    kiley

  • View
    81

  • Download
    1

Embed Size (px)

DESCRIPTION

vTPM: Virtualizing the Trusted Platform Module. Joshua Schiffman. It could happen to you…. Computers offer no implicit reason to trust them Key Loggers, root kits, spy ware Do you know of anyone who has fallen victim to one of these? What can we do?. Trusted Computing. - PowerPoint PPT Presentation

Citation preview

Page 1: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 1

Systems and InternetInfrastructure Security

Network and Security Research CenterDepartment of Computer Science and EngineeringPennsylvania State University, University Park PA

vTPM: Virtualizing the Trusted Platform Module

Joshua Schiffman

Page 2: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 2

It could happen to you…

• Computers offer no implicit reason to trust them

‣ Key Loggers, root kits, spy ware

• Do you know of anyone who has fallen victim to one of these?

• What can we do?

Page 3: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 3

Trusted Computing

• The Trusted Computing Group suggests we:

‣ Deploy a Trusted Platform Module (TPM) in all systems

‣ And an infrastructure to support their use

• Shamon?

• TPMs allow a system to:

‣ Gather and attest system state

‣ Store and generate cryptographic data

‣ Prove platform identity

Page 4: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 4

Virtual Trust?

• Unfortunately, your computer might be an illusion…

• Advances in hardware virtualization

‣ Improve system utilization

‣ Saves money

‣ Gives the illusion of an independent system

• A Virtual Machine Monitor (Hypervisor) could control what data is measured by the TPM

Page 5: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 5

Virtualize the TPM

• Cannot have multiple users per TPM

• Why don’t we just virtualize the TPM?

‣ It would violate its security properties

• Trust rooted in hardware

• VMs support unique lifecycles

‣ Suspend and Resume on different platforms

• How do you trust a transient environment?

Page 6: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 6

Requirements

• Authors identify four requirements for vTPMs:

‣ Same usage model and command set

‣ Strong association between VM and its vTPM instance

‣ Strong association between real TPM and vTPM

‣ Easy to distinguish between real and virtual TPM

Page 7: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 7

The vTPM Model

• Similar to Xen, Dom-0:

‣ Contains access to the hardware TPM

‣ Control of vTPM instances

‣ Can spawn vTPMs

• Client-side driver request are routed to the server-side drivers

Page 8: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 8

Secure Coprocessor

• The vTPM design was made to be modular

• PCI-X Cryptographic Coprocessor

‣ Accelerated cryptographic engine

‣ Tamper-Responsive

• Not all TPMs have this support

‣ Expensive

Page 9: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 9

Xend is your Friend

• Implementation modified Xen to support the vTPM

‣ Xen Management tool parses config file

‣ Xend determines where the vTPM manager is located

• Xenstore, frontend, backend, hotplug scripts

‣ A table of VM to vTPMs is also maintained

• Absence of mapping = create new instance

• Presence of mapping = resume vTPM

Page 10: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 10

Driver Considerations

• Existing TPM protocol assumes

‣ Reliable bus

‣ Must ensure a response is given to the last message before suspending the OS

• Shared memory (grant tables) is used to communicate between Front and Backends

• Concurrent access

Page 11: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 11

Interesting Issues

• VM migration

• Associating vTPM with underlying system

• Key management

• Trust Management

Page 12: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 12

VM Migration

• Created extensions to TPM 1.2 command set

‣ vTPM Management / Migration / Utility commands

• Migration is rather straightforward:

‣ Create instance with associated nonce

‣ Lock source with nonce and encrypt with key

• Wrapped with parent TPM instance SRK

‣ Serialize and update message digest

‣ Migrate data, digest and verify

Page 13: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 13

Associating the Real TPM

• The TPM has security properties that makes it different from most hardware

‣ Virturalized TPMs cannot be totally transparent

‣ Must have knowledge of the underlying system

• Solution: Divide the PCRs into localities

‣ Lower set used for system

‣ Upper set for the vTPM instance

• Issues with nested VMs?

Page 14: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 14

Key Hierarchy

• Root keys stored inside the TPM to prevent leakage

‣ Endorsement Key (EK) to identify the platform

• Manufacture certificates not so common as once prescribed

‣ Storage Root Key (SRK) to seal (encrypt) data / keys

• vTPMs are too ephemeral to bind to hardware TPM

‣ They are kept independent of the platform

‣ Speeds key creation

‣ Persistent store emulated with real TPM

Page 15: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 15

Trust Management

• AIKs and SKs follows a chain of keys rooted hardware

• Programs rely on these keys (TSS, User PS)

‣ Migrating VMs will change their host TPM EK

‣ vTPM EKs are freshly generated for each VM

‣ How can we identify a vTPM EK?

• Some VMs may not want to be on certain machines

Page 16: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 16

Suggestions

• Create EK’ for each vTPM

• Create an AIK’ for all vTPMs

• Use a local authority to verify the vTPM

• Use a secure coprocessor

Page 17: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 17

Create an EK

Page 18: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 18

Create AIK

Page 19: vTPM: Virtualizing the Trusted Platform Module

Systems and Internet Infrastructure Security (SIIS) Laboratory

Page 19

Take Away

• Virtualizing a TPM is not as easy as normal hardware

‣ Security and trust must be addressed

• It is not clear how to establish trust in a transient TPM identity

‣ We can compromise