Property Based TPM Virtualization



Similar documents
Secure Data Management in Trusted Computing

Patterns for Secure Boot and Secure Storage in Computer Systems

vtpm: Virtualizing the Trusted Platform Module

vtpm: Virtualizing the Trusted Platform Module

On the security of Virtual Machine migration and related topics

Lecture Embedded System Security Dynamic Root of Trust and Trusted Execution

Using the TPM: Data Protection and Storage

TPM Key Backup and Recovery. For Trusted Platforms

Opal SSDs Integrated with TPMs

Embedded Trusted Computing on ARM-based systems

Uni-directional Trusted Path: Transaction Confirmation on Just One Device

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

Software Execution Protection in the Cloud

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

Software-based TPM Emulator for Linux

Mutual Authentication Cloud Computing Platform based on TPM

Embedding Trust into Cars Secure Software Delivery and Installation

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

A Virtualized Linux Integrity Subsystem for Trusted Cloud Computing

Acronym Term Description

Attestation and Authentication Protocols Using the TPM

Trustworthy Computing

Using the TPM to Solve Today s Most Urgent Cybersecurity Problems

Technical Brief Distributed Trusted Computing

Introduction to the TPM 1.2

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

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

Index. BIOS rootkit, 119 Broad network access, 107

Trusted Platform Module

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

Implementation of a Trusted Ticket System

CS 155 Spring TCG: Trusted Computing Architecture

Hardware Security for Device Authentication in the Smart Grid

Windows Server 2008 R2 Boot Manager Security Policy For FIPS Validation

Trusted Platforms for Homeland Security

Penetration Testing Windows Vista TM BitLocker TM

Secure Storage. Lost Laptops

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

M-Shield mobile security technology

Trusted Virtual Machine Management for Virtualization in Critical Environments

CS 356 Lecture 28 Internet Authentication. Spring 2013

Security Requirements of a Trusted Virtual Domain (TVD)

Accelerate OpenStack* Together. * OpenStack is a registered trademark of the OpenStack Foundation

Cryptography as a service in a cloud computing environment

Threat Model for Software Reconfigurable Communications Systems

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

Building Blocks Towards a Trustworthy NFV Infrastructure

Using etoken for SSL Web Authentication. SSL V3.0 Overview

An Improved Trusted Full Disk Encryption Model

Secure Device Identity Tutorial

Digital Rights Management Demonstrator

SecureDoc Disk Encryption Cryptographic Engine

Encrypting stored data. Tuomas Aura T Information security technology

TPM. (Trusted Platform Module) Installation Guide V2.1

Data At Rest Protection

TCG PC Client Specific Implementation Specification for Conventional BIOS

CycurHSM An Automotive-qualified Software Stack for Hardware Security Modules

FPGAs for Trusted Cloud Computing

IBM Crypto Server Management General Information Manual

TPM. (Trusted Platform Module) Installation Guide V for Windows Vista

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

Securing sensitive data at Rest ProtectFile, ProtectDb and ProtectV. Nadav Elkabets Presale Consultant

TruWallet: Trustworthy and Migratable Wallet-Based Web Authentication

Applying Cryptography as a Service to Mobile Applications

Hierarchies. Three Persistent Hierarchies. Chapter 9

How to Secure Infrastructure Clouds with Trusted Computing Technologies

CRYPTOGRAPHY AS A SERVICE

Analyzing the Security Schemes of Various Cloud Storage Services

Key & Data Storage on Mobile Devices

Lecture 7: Privacy and Security in Mobile Computing. Cristian Borcea Department of Computer Science NJIT

File System Encryption with Integrated User Management

Aircloak Analytics: Anonymized User Data without Data Loss

SECURITY IN OPEN SOURCE VIRTUALIZATION

A Draft Framework for Designing Cryptographic Key Management Systems

TECHNISCHE UNIVERSITÄT MÜNCHEN. Lehrstuhl für Datenverarbeitung. Runtime integrity framework based on trusted computing.

Security Policy for FIPS Validation

Deployment Scenarios

Communication Security for Applications

Encrypted File Systems. Don Porter CSE 506

ERserver. iseries. Secure Sockets Layer (SSL)

Securing the E-Health Cloud

CS252 Project An Encrypted File System using TPM

Transcription:

Property Based Virtualization Marcel Winandy Joint work with: Ahmad Reza Sadeghi, Christian Stüble Horst Görtz Institute for IT Security Chair for System Security Ruhr University Bochum, Germany Sirrix AG security technologies Bochum, Germany Marcel Winandy Property Based Virtualization 1

Introduction: Virtualization Features Commodity 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 Hardware Hypervisor Hardware Marcel Winandy Property Based Virtualization 2

Introduction: Trusted Computing () : 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 hash hash hash Apps OS Boot Loader BIOS CRTM store hash store hash store hash store hash PCRs SRK EK 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) Marcel Winandy Property Based Virtualization 3

Introduction: Virtual () Each should be able to use Providing protected storage and crypto coprocessor Assurance about the booted hypervisor and virtual machines Support for migration Private Working Unclassified Corporate Classified Corporate Hypervisor Hardware Marcel Winandy Property Based Virtualization 4

Introduction: Virtual () Each should be able to use Providing protected storage and crypto coprocessor Assurance about the booted hypervisor and virtual machines Support for migration Virtualization of the Emulation in software, but binding to and hardware Berger et al. (USENIX 2006), Scarlata et al. (2007) Private Working Unclassified Corporate Classified Corporate Driver Driver Driver Hypervisor Hardware Marcel Winandy Property Based Virtualization 5

Shortcomings of Existing Solutions Migration Protected data bound to binary representation of hypervisor '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) reveals information during remote attestation of PCR values Profiling (security risk) and discrimination possible Marcel Winandy Property Based Virtualization 6

New Design Adding new components to internal 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 Policy User defined policy of the instance Marcel Winandy Property Based Virtualization 7

Flexible Architecture Driver Key Management _CreateWrapKey() _Extend(i, m) Interface CreateKey() Extend(i, m) Property Management PCRRead(i) _PCRRead(i) crypto Cryptographic Functions Management Interface migrate() Migration Controller Software Key Hardware Key PropertyProvider 1 PropertyProvider 2 PropertyProvider N PropertyFilter Policy Hypervisor Key Novel components for Marcel Winandy Property Based 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 Policy decides which vector to use on which operation Instance vpcr[0] vpcr[1] PropertyProvider 1 PropertyProvider j PropertyProvider N Mapping vpcr[n] Initialization Applying all property providers to build the vpcr matrix Each Property Provider can implement a different mapping PCRs Marcel Winandy Property Based Virtualization 9

Changing the Measurement Function PCR extension function of the : Extend(i, m): PCR i SHA1(PCR m) i Generalizing this for each Provider j : Provider j.extend(i,m): vpcr i,j translate (vpcr,m) j i,j Examples: translate hash () is hashing like in hardware translate cert () looks for a certificate and stores the public key Marcel Winandy Property Based Virtualization 10

PCR Extension: Example OS measures a file and wants to extend the measurement in PCR 10 of the _Extend(10, f572d396fae9206628714fb2ce00f72e94f2258f) Property Management of instance calls each Property Provider vpcr 10,hash of Provider hash 09d2af8dd22201dd8d48e5dcfcaed281ff9422c7 vpcr 10,hash := SHA1(vPCR 10,hash f572d396fae9206628714fb2ce00f72e94f2258f) vpcr 10,cert of Provider cert PK certa Look for cert for hash f572d. If found one (e.g., certb), add its PK vpcr 10,hash : vpcr 10,cert : 3a2fdfb2e10d4286a56715952340177c508b173c PK certa, PK certb Marcel Winandy Property Based Virtualization 11

Property Based Attestation with Provider cert 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) 6. (pcrdata, nonce) Verifier 2. quote(vaik ID,nonce,i,,j) 5. (pcrdata, nonce) 3. prov = policy.askforprovider(i,,j) 4. sign[vaik ID ](nonce,vpcr i,prov,,vpcr j,prov ) Marcel Winandy Property Based Virtualization 12

Migration of and Secure migration needed (confidentiality, integrity, authenticity) Example: move private working environment to home PC Private Working Classified Corporate Online Gaming Hypervisor (Xen 3.1) Hypervisor (Xen 3.2) Hardware (Office PC) Hardware (Home PC) Marcel Winandy Property Based Virtualization 13

Trusted Channel based Migration Source platform requests trusted channel to destination Creates secret encryption key bound to 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 Hypervisor (Xen 3.1) Hypervisor (Xen 3.2) Hardware (Office PC) Trusted Channel Hardware (Home PC) Marcel Winandy Property Based Virtualization 14

Trusted Channel based Migration Source platform requests trusted channel to destination Creates secret encryption key bound to 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 Hypervisor (Xen 3.1) Hypervisor (Xen 3.2) Hardware (Office PC) Trusted Channel Hardware (Home PC) Transfer encrypted state via Trusted Channel No re mapping of PCRs necessary (because of property providers) Marcel Winandy Property Based Virtualization 15

Trusted Channel based Migration Source platform requests trusted channel to destination Creates secret encryption key bound to 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 Hypervisor (Xen 3.1) Hypervisor (Xen 3.2) Hardware (Office PC) Trusted Channel Hardware (Home PC) Transfer encrypted state via Trusted Channel No re mapping of PCRs necessary (because of property providers) Marcel Winandy Property Based Virtualization 16

Summary Key Management Software Key Hardware Key Key Driver _CreateWrapKey() _Extend(i, m) Interface CreateKey() Extend(i, m) Property Management PropertyProvider 1 PropertyProvider 2 PropertyProvider N PropertyFilter Policy PCRRead(i) _PCRRead(i) crypto Cryptographic Functions Management Interface Migration Controller migrate() Novel components for New Design Property Providers Key Management Policy Allows to link hypervisor to based on properties Availability of sealed data 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 User defined policy decides which information to reveal Policy defines which Property Provider to use on attestation Marcel Winandy Property Based 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 Marcel Winandy Property Based Virtualization 18

BACKUP Marcel Winandy Property Based Virtualization 19

Property Based Sealing Marcel Winandy Property Based Virtualization 20

Migration Protocol Source platform Destination platform Migration Controlling Process Migration Controlling Process ' migrate() initiatemigration() requesttrustedchannel() create() ' verify(pk Bind, cert Bind ) (PK Bind, cert Bind ) sk := createkey() esk := bind[pk Bind ](sk) s := getstate() es := encrypt[sk](s) deletekey(sk), deletestate() transfer(es,esk) X destroy() sk := unbind[pk Bind ](esk) s := decrypt[sk](es) setstate(s) Marcel Winandy Property Based Virtualization 21