vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf ·...

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

Transcript of vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf ·...

Page 1: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 theTrusted Platform Module

Joshua Schiffman

Page 2: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 oneof these?

• What can we do?

Page 3: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 whatdata is measured by the TPM

Page 5: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

Systems and Internet Infrastructure Security (SIIS) Laboratory Page 7

The vTPM Model

• Similar to Xen, Dom-0:

‣ Contains access to thehardware TPM

‣ Control of vTPMinstances

‣ Can spawn vTPMs

• Client-side driverrequest are routed tothe server-side drivers

Page 8: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 messagebefore suspending the OS

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

• Concurrent access

Page 11: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

Systems and Internet Infrastructure Security (SIIS) Laboratory Page 13

Associating the Real TPM

• The TPM has security properties that makes itdifferent 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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

Systems and Internet Infrastructure Security (SIIS) Laboratory Page 15

Trust Management

• AIKs and SKs follows a chain of keys rootedhardware

• 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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

Systems and Internet Infrastructure Security (SIIS) Laboratory Page 17

Create an EK

Page 18: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

Systems and Internet Infrastructure Security (SIIS) Laboratory Page 18

Create AIK

Page 19: vTPM: Virtualizing the Trusted Platform Modulepdm12/cse544/slides/cse544-schiffman-vTPM.pdf · vTPM: Virtualizing the Trusted Platform Module Joshua Schiffman. Systems and Internet

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 transientTPM identity

‣ We can compromise