SlideShare a Scribd company logo
Property­Based TPM Virtualization

Ahmad­Reza Sadeghi, Christian Stüble*, Marcel Winandy

                    Horst Görtz Institute for IT Security
                    Ruhr­University Bochum, Germany

                      * Sirrix AG security technologies
                              Bochum, Germany




ISC 2008, Taipei/Taiwan          Marcel Winandy  ­  Property­Based TPM Virtualization   1
Introduction: Virtualization

●    Features
     –    Standardized operating systems on various hardware platforms
     –    Virtual machines: suspend & resume, migration
     –    Security: isolation of virtual machines
     –    Application scenario: corporate/private computing
          ●    Isolated work loads for private and corporate working
          ●    Isolated work loads for different security levels




               Linux        Linux       Windows                            Linux       Windows
                          Hypervisor                                             Hypervisor
                          Hardware                                               Hardware



ISC 2008, Taipei/Taiwan         Marcel Winandy  ­  Property­Based TPM Virtualization             2
Introduction: Trusted Computing (TPM)
     –    TPM: cheap, tamper­evident hardware security module
          ●    Cryptographic functions (RSA, SHA­1, key generation, RNG)
          ●    Protected storage for small data (e.g. keys)
          ●    Special keys: Endorsement Key (EK) and Storage Root Key (SRK)
     –    Authenticated Boot (recording integrity measurements)
          ●    Measurements stored in Platform Configuration Registers (PCRs)
          ●    Each component measures next component (chain of trust)

                          hash         Apps
                                                           store hash
                          hash          OS                                              TPM
                                    Boot Loader            store hash
                          hash                                                PCRs
                                       BIOS                store hash                         SRK
                          hash                             store hash                         EK
                                      CRTM

     –    Attestation and Sealing
          ●    Attestation Identity Key (AIK) signs PCRs for (remote) attestation
          ●    Binding key is used to encrypt data to the current PCR values (decrypting only 
               possible with same PCR states)
ISC 2008, Taipei/Taiwan          Marcel Winandy  ­  Property­Based TPM Virtualization               3
Introduction: Virtual TPM (vTPM)

●    Each VM should be able to use TPM
     –    Providing protected storage and crypto coprocessor
     –    Assurance about the booted hypervisor and virtual machines
     –    Support for migration




                          Private Working     Unclassified Corporate        Classified Corporate
                           Environment            Environment                  Environment
                                VM                      VM                           VM




                                                     Hypervisor

                             TPM                      Hardware



ISC 2008, Taipei/Taiwan               Marcel Winandy  ­  Property­Based TPM Virtualization         4
Introduction: Virtual TPM (vTPM)

●    Each VM should be able to use TPM
     –    Providing protected storage and crypto coprocessor
     –    Assurance about the booted hypervisor and virtual machines
     –    Support for migration
●    Virtualization of the TPM
     –    Emulation in software, but binding to VM and hardware TPM

                          Private Working       Unclassified Corporate       Classified Corporate
                           Environment              Environment                 Environment
                                VM                        VM                          VM
                                   TPM Driver                 TPM Driver                  TPM Driver

                                    vTPM                        vTPM                          vTPM
                                                      Hypervisor

                             TPM                       Hardware



ISC 2008, Taipei/Taiwan                Marcel Winandy  ­  Property­Based TPM Virtualization            5
Shortcomings of Existing vTPM Solutions


●    Migration
     –    Protected data bound to binary representation of hypervisor
          ●    VM's data may be unavailable after migration to another platform


●    Keys
     –    Differentiated strategies for key generation missing
          ●    some IT environments demand hardware­protected keys
          ●    wheras others would benefit from flexibility of software keys


●    Privacy
     –    Revealing information about system configuration
          ●    (v)TPM reveals information during remote attestation of PCR values
          ●    Profiling (security risk) and discrimination possible


ISC 2008, Taipei/Taiwan         Marcel Winandy  ­  Property­Based TPM Virtualization   6
New vTPM Design

●    Adding new components to internal vTPM design:

●    Property Management
     –    Representation of virtual PCRs
     –    Different mechanisms to store and read values
     –    Realizing property­based attestation and sealing

●    Key Management
     –    Creating and loading cryptographic keys
     –    Supports software keys or keys of physical TPM

●    vTPM Policy
     –    User­defined policy of the vTPM instance

ISC 2008, Taipei/Taiwan    Marcel Winandy  ­  Property­Based TPM Virtualization   7
Flexible vTPM Architecture
                                                             VM
                                                          TPM Driver

                          TPM_CreateWrapKey()    TPM_Extend(i, m)                        TPM_PCRRead(i)

                                       vTPM Interface                                                       Management Interface
                   CreateKey()             Extend(i, m)                           PCRRead(i)    crypto...             migrate()

            Key                         Property                                      Cryptographic              Migration
         Management                    Management                                       Functions                Controller




                                                                 PropertyFilter
        Software Key                PropertyProvider 1

        Hardware Key                PropertyProvider 2                                                           vTPM
                                 ...



                                             ...



                                                           ...

                                    PropertyProvider N

                                                          vTPM Policy


                                                          Hypervisor

           TPM Key        TPM                                                                    Novel components for vTPM

ISC 2008, Taipei/Taiwan                Marcel Winandy  ­  Property­Based TPM Virtualization                                        8
Property Providers

●    Each property provider has its own PCR vector
     –    How to store values is up to each implementation
     –    This results in a matrix of vPCRs
     –    vTPM Policy decides which vector to use on which operation
                                             vTPM Instance
                           PropertyProvider 1         PropertyProvider j            PropertyProvider N
              vPCR[0]                           ...                           ...
              vPCR[1]                           ...                           ...                           Mapping
                                  ...




                                                               ...




                                                                                            ...
              vPCR[n]                           ...                           ...


     –    Initialization                                                                                   TPM
          ●    Applying all property providers to build the vPCR matrix                                  PCRs
          ●    Each Property Provider can implement a different mapping


ISC 2008, Taipei/Taiwan            Marcel Winandy  ­  Property­Based TPM Virtualization                          9
Changing the Measurement Function

●    PCR extension function of the TPM:
           Extend(i, m): PCRi ← SHA1(PCRi || m)

●    Generalizing this for each Providerj:
           Providerj.Extend(i,m): vPCRi,j← translatej(vPCRi,j,m)

●    Examples:
     –    translatehash() is hashing like in hardware TPM
     –    translatecert() looks for a certificate and stores the public key


ISC 2008, Taipei/Taiwan     Marcel Winandy  ­  Property­Based TPM Virtualization   10
PCR Extension: Example

  VM­OS measures a file and wants to extend the measurement in PCR 10 of the vTPM 


                  TPM_Extend(10, f572d396fae9206628714fb2ce00f72e94f2258f)
                                                                                                                




                Property Management of vTPM instance calls each Property Provider



vPCR10,hash of Providerhash                                                      vPCR10,cert of Providercert
 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7                                        PKcertA                                                                                

vPCR10,hash := SHA1(vPCR10,hash ||                                              Look for cert for hash f572d....
f572d396fae9206628714fb2ce00f72e94f2258f)                                       If found one (e.g., certB), add its PK
vPCR10,hash :                                                                    vPCR10,cert :
 3a2fdfb2e10d4286a56715952340177c508b173c                                        PKcertA , PKcertB                                                            



ISC 2008, Taipei/Taiwan                Marcel Winandy  ­  Property­Based TPM Virtualization                                                                            11
Property­Based Attestation with vTPM

●     Providercert is one example to use property certificates
      –   Certificates describe the properties for a particular measurement
      –   Issued by a Trusted Third Party

                                                               1. attest(nonce,i,...,j)

                                     VM                        6. (pcrData, nonce)        Verifier


    2. quote(vAIKID,nonce,i,...,j)              5. (pcrData, nonce)
                                        vTPM

                      3. prov = policy.askForProvider(i,...,j)

                      4. sign[vAIKID](nonce,vPCRi,prov,...,vPCRj,prov)


ISC 2008, Taipei/Taiwan            Marcel Winandy  ­  Property­Based TPM Virtualization              12
Migration of VM and vTPM

●    Secure migration needed
     (confidentiality, integrity, authenticity)
●    Example: move private working environment to home PC



     Private Working          Classified Corporate                                                    Online Gaming
      Environment                Environment                                                           Environment
           VM                          VM                                                                  VM


                 vTPM                       vTPM                                                               vTPM
                  Hypervisor (Xen 3.1)                                                 Hypervisor (Xen 3.2)


                 Hardware (Office PC)     TPM                                TPM      Hardware (Home PC)




ISC 2008, Taipei/Taiwan              Marcel Winandy  ­  Property­Based TPM Virtualization                             13
Trusted Channel based Migration

●    Source platform requests trusted channel to destination
     –    Creates secret encryption key bound to TPM and configuration of 
          destination platform (assurance about integrity of end points)
     –    Configuration can also be property­based
     –    Re­usable for several migrations

     Private Working          Classified Corporate                                                    Online Gaming
      Environment                Environment                                                           Environment
           VM                          VM                                                                  VM


                 vTPM                       vTPM                                                               vTPM
                  Hypervisor (Xen 3.1)                                                 Hypervisor (Xen 3.2)
                                                Trusted Channel
                 Hardware (Office PC)     TPM                                TPM      Hardware (Home PC)




ISC 2008, Taipei/Taiwan              Marcel Winandy  ­  Property­Based TPM Virtualization                             14
Trusted Channel based Migration

●    Source platform requests trusted channel to destination
     –    Creates secret encryption key bound to TPM and configuration of 
          destination platform (assurance about integrity of end points)
     –    Configuration can also be property­based
     –    Re­usable for several migrations

     Private Working          Classified Corporate                                                    Online Gaming
      Environment                Environment                                                           Environment
           VM                          VM                                                                  VM


                 vTPM                       vTPM                                                               vTPM
                  Hypervisor (Xen 3.1)                                                 Hypervisor (Xen 3.2)
                                                Trusted Channel
                 Hardware (Office PC)     TPM                                TPM      Hardware (Home PC)


                         Transfer encrypted TPM state via Trusted Channel
                  No re­mapping of PCRs necessary (because of property providers)
ISC 2008, Taipei/Taiwan              Marcel Winandy  ­  Property­Based TPM Virtualization                             15
Trusted Channel based Migration

●    Source platform requests trusted channel to destination
     –    Creates secret encryption key bound to TPM and configuration of 
          destination platform (assurance about integrity of end points)
     –    Configuration can also be property­based
     –    Re­usable for several migrations

                              Classified Corporate                        Private Working             Online Gaming
                                 Environment                               Environment                 Environment
                                       VM                                       VM                         VM


                                            vTPM                                       vTPM                    vTPM
                  Hypervisor (Xen 3.1)                                                 Hypervisor (Xen 3.2)
                                                Trusted Channel
                 Hardware (Office PC)     TPM                                TPM      Hardware (Home PC)


                         Transfer encrypted TPM state via Trusted Channel
                  No re­mapping of PCRs necessary (because of property providers)
ISC 2008, Taipei/Taiwan              Marcel Winandy  ­  Property­Based TPM Virtualization                             16
Summary
                                                                           VM



                                                                                                                                                 New vTPM Design
                                                                        TPM Driver

                                      TPM_CreateWrapKey()     TPM_Extend(i, m)                         TPM_PCRRead(i)


                                                      vTPM Interface                                                      Management Interface
                                  CreateKey()            Extend(i, m)                           PCRRead(i)    crypto...             migrate()

                             Key                       Property                                     Cryptographic              Migration
                          Management                  Management                                      Functions                Controller
                                                                                                                                                   ­ Property Providers



                                                                               PropertyFilter
                          Software Key            PropertyProvider 1

                                                                                                                               vTPM
                                                                                                                                                   ­ Key Management
                          Hardware Key            PropertyProvider 2


                                                ...



                                                           ...



                                                                         ...
                                                  PropertyProvider N

                                                                        vTPM Policy
                                                                                                                                                   ­ vTPM Policy
                            TPM Key             TPM                                                            Novel components for vTPM




●    Allows to link hypervisor to vTPM based on properties
     –    Data availability after migration or software updates
     –    Trusted Migration protocol ensures binding to trustworthy platform
●    More flexibility in key usage
     –    Key Management can delegate key requests to hardware TPM
●    User­defined policy decides which information to reveal
     –    Policy defines which Property Provider to use on attestation


ISC 2008, Taipei/Taiwan                                                    Marcel Winandy  ­  Property­Based TPM Virtualization                                           17
Thank you for your attention!

Questions?

Contact:

Marcel Winandy
Horst Görtz Institute for IT Security
Ruhr­University Bochum, Germany
marcel.winandy@trust.rub.de




ISC 2008, Taipei/Taiwan   Marcel Winandy  ­  Property­Based TPM Virtualization   18
BACKUP




ISC 2008, Taipei/Taiwan   Marcel Winandy  ­  Property­Based TPM Virtualization   19
Property­Based Sealing




ISC 2008, Taipei/Taiwan   Marcel Winandy  ­  Property­Based TPM Virtualization   20
Migration Protocol

                          Source platform                                                            Destination platform

          vTPM                     Migration Controlling Process                 Migration Controlling Process '

                                                               initiateMigration()
                                                                                                           create()
                                                                                                                                   vTPM '
                           migrate()
                                                             requestTrustedChannel()

                                                                   (PKBind, certBind)
     verify(PKBind, certBind)

                 sk := createKey()

    esk := bind[PKBind](sk)

                 s := getState()

    es := encrypt[sk](s)

                 deleteKey(sk), deleteState()
                                                                   transfer(es,esk)

                  destroy()                                                                                           sk := unbind[PKBind](esk)
                                                                                                                        s := decrypt[sk](es)
            X
                                                                                                                            setState(s)



ISC 2008, Taipei/Taiwan                       Marcel Winandy  ­  Property­Based TPM Virtualization                                                21

More Related Content

PDF
Practical Trusted Platform Module (TPM2) Programming
PDF
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
PDF
Pfe master fst_final_decembre2015
PDF
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
PDF
CTF超入門 (for 第12回セキュリティさくら)
PPTX
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
PDF
TEE - kernel support is now upstream. What this means for open source security
Practical Trusted Platform Module (TPM2) Programming
"How to Use Bazel to Manage Monorepos: The Grammarly Front-End Team’s Experie...
Pfe master fst_final_decembre2015
Alphorm.com Formation Hacking et Sécurité 2020 (3of4) : Attaques Réseaux, Sys...
CTF超入門 (for 第12回セキュリティさくら)
Deep Dive into the Linux Kernel - メモリ管理におけるCompaction機能について
TEE - kernel support is now upstream. What this means for open source security

What's hot (20)

PDF
Linux Preempt-RT Internals
PDF
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
PDF
Introduction to yocto
PDF
Zabbix, garder un oeil toujours ouvert
PDF
Fiche projet réseau local d'une entreprise moderne
PDF
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
PDF
Ducky USB - Indicators of Compromise (IOCs)
PPTX
Supervision V2 ppt
PPTX
présentation STM32
PDF
Making Linux do Hard Real-time
PDF
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
PDF
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
PPTX
Python et son intégration avec Odoo
PPTX
Monitoring avec Zabbix
PDF
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
PDF
Apache Pulsarの概要と近況
PPT
PFE : ITIL - Gestion de parc informatique
PDF
Page reclaim
PDF
BPF Internals (eBPF)
Linux Preempt-RT Internals
NGINX Back to Basics: Ingress Controller (Japanese Webinar)
Introduction to yocto
Zabbix, garder un oeil toujours ouvert
Fiche projet réseau local d'une entreprise moderne
ネットワークスイッチ構築実践 2.STP・RSTP・PortSecurity・StormControl・SPAN・Stacking編
Ducky USB - Indicators of Compromise (IOCs)
Supervision V2 ppt
présentation STM32
Making Linux do Hard Real-time
ARMv8-M TrustZone: A New Security Feature for Embedded Systems (FFRI Monthly ...
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
Python et son intégration avec Odoo
Monitoring avec Zabbix
Intel® QuickAssist Technology Introduction, Applications, and Lab, Including ...
Apache Pulsarの概要と近況
PFE : ITIL - Gestion de parc informatique
Page reclaim
BPF Internals (eBPF)
Ad

Viewers also liked (20)

PDF
XS 2008 Boston VTPM
PDF
NEOS IoT Security Platform : System-on-module with WiFi and TPM (Trusted Plat...
PPT
Vacatures bij Infotheek
PPTX
Pb group 6
PPT
Centros de voluntariado
DOCX
CURRICULU VITAE
ODP
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
PPTX
Powerfitness
PDF
Competir en el futuro inmediato
PDF
Boletim Informativo - Ano 4, nº 05 - Janeiro de 2008 - Informativo do deputad...
PDF
Bibliotecas académicas, laboratorio de innovación social
PDF
Jutharat's Resume
PDF
FhC spring edition
PPTX
Beyond XPages
PDF
EESAP4 VEKA
PDF
Microscopía: Una herramienta avanzada para el desarrollo y caracterización de...
PPTX
Corporate Innovation at 3M
PDF
Analise de fourier murray spiegel
PPT
Paradigma y pensamiento complejo 1 laminas
XS 2008 Boston VTPM
NEOS IoT Security Platform : System-on-module with WiFi and TPM (Trusted Plat...
Vacatures bij Infotheek
Pb group 6
Centros de voluntariado
CURRICULU VITAE
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
Powerfitness
Competir en el futuro inmediato
Boletim Informativo - Ano 4, nº 05 - Janeiro de 2008 - Informativo do deputad...
Bibliotecas académicas, laboratorio de innovación social
Jutharat's Resume
FhC spring edition
Beyond XPages
EESAP4 VEKA
Microscopía: Una herramienta avanzada para el desarrollo y caracterización de...
Corporate Innovation at 3M
Analise de fourier murray spiegel
Paradigma y pensamiento complejo 1 laminas
Ad

Similar to Property-Based TPM Virtualization (20)

PDF
XS Japan 2008 BitVisor English
PDF
Virtualization Technology Overview
PDF
virtualization tutorial at ACM bangalore Compute 2009
PPTX
Trusted Platform Module (TPM)
PDF
Trusted Computing Base
PDF
VMware and Trend Micro, partnering to revolutionise virtualised security
PPTX
Ws08 r2 hyper v overview r2
PPTX
VMUG ISRAEL November 2012, EMC session by Itzik Reich
PDF
VMware Performance for Gurus - A Tutorial
PDF
IBM Tivoli Storage Manager Data Protection for VMware - PCTY 2011
PDF
Virtualizing & Mobility - Transforming the way governments communicate - Mitel
PPTX
ProtectV - Data Security for the Cloud
PDF
Designing and Attacking Virtual Machines (RSA 2004)
PPTX
System Center Virtual Machine Manager 2008 R2
PPT
Overview of VMware & VMware Education from IBM
PDF
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
PDF
Desktopvirtualisatie met VMware View, de laatste ontwikkelingen
PPTX
The VDI InfoSec Conundrum
PPTX
It camp veeam presentation (no videos)
PPTX
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Disco
XS Japan 2008 BitVisor English
Virtualization Technology Overview
virtualization tutorial at ACM bangalore Compute 2009
Trusted Platform Module (TPM)
Trusted Computing Base
VMware and Trend Micro, partnering to revolutionise virtualised security
Ws08 r2 hyper v overview r2
VMUG ISRAEL November 2012, EMC session by Itzik Reich
VMware Performance for Gurus - A Tutorial
IBM Tivoli Storage Manager Data Protection for VMware - PCTY 2011
Virtualizing & Mobility - Transforming the way governments communicate - Mitel
ProtectV - Data Security for the Cloud
Designing and Attacking Virtual Machines (RSA 2004)
System Center Virtual Machine Manager 2008 R2
Overview of VMware & VMware Education from IBM
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
Desktopvirtualisatie met VMware View, de laatste ontwikkelingen
The VDI InfoSec Conundrum
It camp veeam presentation (no videos)
Disco: Running Commodity Operating Systems on Scalable Multiprocessors Disco

More from Marcel Winandy (13)

PDF
Security Patterns - An Introduction
PDF
Applying a Security Kernel Framework to Smart Meter Gateways
PDF
Uni-directional Trusted Path: Transaction Confirmation on Just One Device
PDF
MediTrust: Secure Client Systems for Healthcare IT to Protect Sensitive Data ...
PDF
A Note on the Security in the Card Management System of the German E-Health Card
PDF
Securing the E-Health Cloud
PDF
Trusted Virtual Domains on OpenSolaris: Usable Secure Desktop Environments
PDF
Patterns for Secure Boot and Secure Storage in Computer Systems
PDF
A Pattern for Secure Graphical User Interface Systems
PDF
TruWallet: Trustworthy and Migratable Wallet-Based Web Authentication
PDF
Dynamic Integrity Measurement and Attestation: Towards Defense Against Return...
PDF
Modeling Trusted Computing Support in a Protection Profile for High Assurance...
PDF
Compartmented Security for Browsers
Security Patterns - An Introduction
Applying a Security Kernel Framework to Smart Meter Gateways
Uni-directional Trusted Path: Transaction Confirmation on Just One Device
MediTrust: Secure Client Systems for Healthcare IT to Protect Sensitive Data ...
A Note on the Security in the Card Management System of the German E-Health Card
Securing the E-Health Cloud
Trusted Virtual Domains on OpenSolaris: Usable Secure Desktop Environments
Patterns for Secure Boot and Secure Storage in Computer Systems
A Pattern for Secure Graphical User Interface Systems
TruWallet: Trustworthy and Migratable Wallet-Based Web Authentication
Dynamic Integrity Measurement and Attestation: Towards Defense Against Return...
Modeling Trusted Computing Support in a Protection Profile for High Assurance...
Compartmented Security for Browsers

Property-Based TPM Virtualization

  • 1. Property­Based TPM Virtualization Ahmad­Reza Sadeghi, Christian Stüble*, Marcel Winandy Horst Görtz Institute for IT Security Ruhr­University Bochum, Germany * Sirrix AG security technologies Bochum, Germany ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 1
  • 2. Introduction: Virtualization ● Features – Standardized operating systems on various hardware platforms – Virtual machines: suspend & resume, migration – Security: isolation of virtual machines – Application scenario: corporate/private computing ● Isolated work loads for private and corporate working ● Isolated work loads for different security levels Linux Linux Windows Linux Windows Hypervisor Hypervisor Hardware Hardware ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 2
  • 3. Introduction: Trusted Computing (TPM) – TPM: cheap, tamper­evident hardware security module ● Cryptographic functions (RSA, SHA­1, key generation, RNG) ● Protected storage for small data (e.g. keys) ● Special keys: Endorsement Key (EK) and Storage Root Key (SRK) – Authenticated Boot (recording integrity measurements) ● Measurements stored in Platform Configuration Registers (PCRs) ● Each component measures next component (chain of trust) hash Apps store hash hash OS TPM Boot Loader store hash hash PCRs BIOS store hash SRK hash store hash EK CRTM – Attestation and Sealing ● Attestation Identity Key (AIK) signs PCRs for (remote) attestation ● Binding key is used to encrypt data to the current PCR values (decrypting only  possible with same PCR states) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 3
  • 4. Introduction: Virtual TPM (vTPM) ● Each VM should be able to use TPM – Providing protected storage and crypto coprocessor – Assurance about the booted hypervisor and virtual machines – Support for migration Private Working Unclassified Corporate Classified Corporate Environment Environment Environment VM VM VM Hypervisor TPM Hardware ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 4
  • 5. Introduction: Virtual TPM (vTPM) ● Each VM should be able to use TPM – Providing protected storage and crypto coprocessor – Assurance about the booted hypervisor and virtual machines – Support for migration ● Virtualization of the TPM – Emulation in software, but binding to VM and hardware TPM Private Working Unclassified Corporate Classified Corporate Environment Environment Environment VM VM VM TPM Driver TPM Driver TPM Driver vTPM vTPM vTPM Hypervisor TPM Hardware ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 5
  • 6. Shortcomings of Existing vTPM Solutions ● Migration – Protected data bound to binary representation of hypervisor ● VM's data may be unavailable after migration to another platform ● Keys – Differentiated strategies for key generation missing ● some IT environments demand hardware­protected keys ● wheras others would benefit from flexibility of software keys ● Privacy – Revealing information about system configuration ● (v)TPM reveals information during remote attestation of PCR values ● Profiling (security risk) and discrimination possible ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 6
  • 7. New vTPM Design ● Adding new components to internal vTPM design: ● Property Management – Representation of virtual PCRs – Different mechanisms to store and read values – Realizing property­based attestation and sealing ● Key Management – Creating and loading cryptographic keys – Supports software keys or keys of physical TPM ● vTPM Policy – User­defined policy of the vTPM instance ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 7
  • 8. Flexible vTPM Architecture VM TPM Driver TPM_CreateWrapKey() TPM_Extend(i, m) TPM_PCRRead(i) vTPM Interface Management Interface CreateKey() Extend(i, m) PCRRead(i) crypto... migrate() Key Property Cryptographic Migration Management Management Functions Controller PropertyFilter Software Key PropertyProvider 1 Hardware Key PropertyProvider 2 vTPM ... ... ... PropertyProvider N vTPM Policy Hypervisor TPM Key TPM Novel components for vTPM ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 8
  • 9. Property Providers ● Each property provider has its own PCR vector – How to store values is up to each implementation – This results in a matrix of vPCRs – vTPM Policy decides which vector to use on which operation vTPM Instance  PropertyProvider 1 PropertyProvider j PropertyProvider N vPCR[0] ... ... vPCR[1] ... ... Mapping ... ... ... vPCR[n] ... ... – Initialization TPM ● Applying all property providers to build the vPCR matrix PCRs ● Each Property Provider can implement a different mapping ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 9
  • 10. Changing the Measurement Function ● PCR extension function of the TPM: Extend(i, m): PCRi ← SHA1(PCRi || m) ● Generalizing this for each Providerj: Providerj.Extend(i,m): vPCRi,j← translatej(vPCRi,j,m) ● Examples: – translatehash() is hashing like in hardware TPM – translatecert() looks for a certificate and stores the public key ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 10
  • 11. PCR Extension: Example VM­OS measures a file and wants to extend the measurement in PCR 10 of the vTPM  TPM_Extend(10, f572d396fae9206628714fb2ce00f72e94f2258f)                                                                                Property Management of vTPM instance calls each Property Provider vPCR10,hash of Providerhash vPCR10,cert of Providercert 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7 PKcertA                                                                                 vPCR10,hash := SHA1(vPCR10,hash ||  Look for cert for hash f572d.... f572d396fae9206628714fb2ce00f72e94f2258f) If found one (e.g., certB), add its PK vPCR10,hash : vPCR10,cert : 3a2fdfb2e10d4286a56715952340177c508b173c PKcertA , PKcertB                                                             ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 11
  • 12. Property­Based Attestation with vTPM ● Providercert is one example to use property certificates – Certificates describe the properties for a particular measurement – Issued by a Trusted Third Party 1. attest(nonce,i,...,j) VM 6. (pcrData, nonce) Verifier 2. quote(vAIKID,nonce,i,...,j) 5. (pcrData, nonce) vTPM 3. prov = policy.askForProvider(i,...,j) 4. sign[vAIKID](nonce,vPCRi,prov,...,vPCRj,prov) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 12
  • 13. Migration of VM and vTPM ● Secure migration needed (confidentiality, integrity, authenticity) ● Example: move private working environment to home PC Private Working Classified Corporate Online Gaming Environment Environment Environment VM VM VM vTPM vTPM vTPM  Hypervisor (Xen 3.1)  Hypervisor (Xen 3.2) Hardware (Office PC) TPM TPM Hardware (Home PC) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 13
  • 14. Trusted Channel based Migration ● Source platform requests trusted channel to destination – Creates secret encryption key bound to TPM and configuration of  destination platform (assurance about integrity of end points) – Configuration can also be property­based – Re­usable for several migrations Private Working Classified Corporate Online Gaming Environment Environment Environment VM VM VM vTPM vTPM vTPM  Hypervisor (Xen 3.1)  Hypervisor (Xen 3.2) Trusted Channel Hardware (Office PC) TPM TPM Hardware (Home PC) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 14
  • 15. Trusted Channel based Migration ● Source platform requests trusted channel to destination – Creates secret encryption key bound to TPM and configuration of  destination platform (assurance about integrity of end points) – Configuration can also be property­based – Re­usable for several migrations Private Working Classified Corporate Online Gaming Environment Environment Environment VM VM VM vTPM vTPM vTPM  Hypervisor (Xen 3.1)  Hypervisor (Xen 3.2) Trusted Channel Hardware (Office PC) TPM TPM Hardware (Home PC) Transfer encrypted TPM state via Trusted Channel No re­mapping of PCRs necessary (because of property providers) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 15
  • 16. Trusted Channel based Migration ● Source platform requests trusted channel to destination – Creates secret encryption key bound to TPM and configuration of  destination platform (assurance about integrity of end points) – Configuration can also be property­based – Re­usable for several migrations Classified Corporate Private Working Online Gaming Environment Environment Environment VM VM VM vTPM vTPM vTPM  Hypervisor (Xen 3.1)  Hypervisor (Xen 3.2) Trusted Channel Hardware (Office PC) TPM TPM Hardware (Home PC) Transfer encrypted TPM state via Trusted Channel No re­mapping of PCRs necessary (because of property providers) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 16
  • 17. Summary VM New vTPM Design TPM Driver TPM_CreateWrapKey() TPM_Extend(i, m) TPM_PCRRead(i) vTPM Interface Management Interface CreateKey() Extend(i, m) PCRRead(i) crypto... migrate() Key Property Cryptographic Migration Management Management Functions Controller ­ Property Providers PropertyFilter Software Key PropertyProvider 1 vTPM ­ Key Management Hardware Key PropertyProvider 2 ... ... ... PropertyProvider N vTPM Policy ­ vTPM Policy TPM Key TPM Novel components for vTPM ● Allows to link hypervisor to vTPM based on properties – Data availability after migration or software updates – Trusted Migration protocol ensures binding to trustworthy platform ● More flexibility in key usage – Key Management can delegate key requests to hardware TPM ● User­defined policy decides which information to reveal – Policy defines which Property Provider to use on attestation ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 17
  • 19. BACKUP ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 19
  • 20. Property­Based Sealing ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 20
  • 21. Migration Protocol Source platform Destination platform vTPM Migration Controlling Process Migration Controlling Process ' initiateMigration() create() vTPM ' migrate() requestTrustedChannel() (PKBind, certBind) verify(PKBind, certBind) sk := createKey() esk := bind[PKBind](sk) s := getState() es := encrypt[sk](s) deleteKey(sk), deleteState() transfer(es,esk) destroy() sk := unbind[PKBind](esk) s := decrypt[sk](es) X setState(s) ISC 2008, Taipei/Taiwan Marcel Winandy  ­  Property­Based TPM Virtualization 21