SlideShare a Scribd company logo
1 of 30
Download to read offline
ACRN CSE Virtualization Introduction
Tomas Winkler
Tomas Winkler <tomas.winkler@intel.com>
03/25/2020
Agenda
❑CSE Overview
❑MEI Driver
❑MEI in ACRN Device Model.
Agenda
❑CSE Overview
❑MEI Driver
❑MEI in ACRN Device Model.
4
CSE/CSME
CSE/CSME - an embedded subsystem in Platform
Controller Hub (PCH)
• CSE = Converged Security Engine
• CSME = Converged Security & Manageability Engine
• Standalone small x86 processor, Memory, Crypto engine and I/O’s.
• CSE is Trusted Execution Environment (TEE)
• Provides an isolated and secured HW execution environment protected from
host processors
Serves Three Main Platform Roles
• Chassis: Secure boot of the platform / Survivability
• Security: Boot & Runtime Platform Apps
• Manageability: Optional Extensions for Out Of Band (OOB) Network Management
CSE also known as ME and TXE
CPU
PCH
CSME
LAN /
WLAN
SMB
GPIO
PECI
5
CSME features High Level Overview
- Root of Trust (ROT) of the platform, starts the chain of trust
- Verified system configuration: Clocks, PCIe configuration,
overclocking, power configuration, many more
Chassis
- Platform Trust Technology (PTT) – An Integrated TPM 2.0 device
- Data Rights Management (DRM) - MSFT PlayReady, Google Widevine
- Anonymous Device Identity (EPID 2.0) – Remote Attestation, Provisioning
- Dynamic Application Load (DAL), allow 3rd party write Java applets running
inside CSE.
Security
- Intel Active Management Technology (AMT), allow IT to remotely connect to
the managed platform through OOB network interface
- Works even if system in low power state or hanged.
- Remote power-management capabilities.
- Remote redirection.
Manageability
PCI Device.
FW HECI Driver
FW
HECI Client
DAL
HECI Clients
HOST
HECI Client -
DRM
HECI Client
FW update
PTT (TPM 2.0)
ACPI Device
• Goal, enabling access to
security services provided
by CSE to guest OS.
• Each CSE service is
represented as HECI Client
locatable by client GUID.
• PTT is unique has dedicated
ACPI device to support
standard.
Agenda
❑CSE Overview
• DRM Use case
• DAL Use case
Intro to DRM
• DRMs can be used to protect content such as music, e-books, videos and
documents.
• A DRM is a scheme that allows to obtain licenses to protected content in a secure
fashion. (Examples: Play Ready, Widevine)
• CSE offers the ability for HW-backed DRM using its security infrastructure.
• What we need to protect (in order of importance):
• Device Keys, Title keys, Decrypted Media
• HDCP 2.0 – Link protection (between device and display)
CSE
Gen-DRM
Secure Decode
Content
Provider
Content License
Encrypted/Compressed Content
Title Keys
(VDM)
Gen:
Display Engine Monitor
Surface Key
Encrypted
HDCP
Encrypted
Content
Write HDCP2 Keys
Read Connection Status (VDM)
DRAM
Fetch and Decrypt
Content Protection
Agenda
❑CSE Overview
• DRM Use case
• DAL Use case
Intel ® Dynamic Application Loader
• Extends the CSE FW by dynamically loading signed CSE
applications at runtime.
• Allows agile and faster deployment of FW applications by decoupling
the application development from the platform development life cycle
• The FW applications are stored on host file system, thus avoiding
flash size considerations
• Enables binary-level portability for FW applications
• The only mechanism for dynamically extending CSE FW capabilities
• DAL applications are signed by Intel, and there is support for OEM
signing on certain platforms.
• DAL is based on a virtual machine., DAL applications are written in the
Java programming language
Host to FW Flow
Host FW
Clients
JHI (Java Host Interface)
HECI Kernel Driver FW OS + HECI
HECI Client API
VM
HECI Server API
Service
Manager
App
1
App
2
App
3
HECI
Communication
Buffer
App
1
JHI ServiceUser C/C++
Application
libjhi.so
bhPlugin.dll
HECI Driver
User
Space
FW
DAL
HECI ClientVirtual
Machine
BH Applet
Applet
Library load
Connection
OS
Solution
Module
KDI
14
Operating Systems
DAL SW is supported on Windows, Linux, Android and UEFI
It is released as open source on GitHub
MEI DAL (“KDI”) – enables working with DAL directly from Linux
kernel space.
Agenda
❑CSE Overview
❑MEI Driver
❑MEI in ACRN Device Model.
16
MEI driver.
MEI – Kernel driver drivers/misc/mei
AMT WD - drives/watchdog/wdt_me
SOL- drivers/serial (generic driver
IDR – drivers/hda
NFC – drivers/nfc/mei_phy.c
KDI – drivers/misc/mei/dal
SPD – drivers/misc/mei/spd
TPM_CRB – TPM PTT support drivers/char/tpm/tpm_crb
• MEI is a PCI device driver exposed /dev/mei character device
node.
• MEI also provides a client bus where FW clients can be
expressed as virtual devices, to be exposed via standard Linux
kernel subsystems or provide interface to other Linux kernel
drivers.
mei.ko (protocol).
HECI PCI Device.
FW HECI Driver
FW
HECI Client DAL
MEI Driver
OS
HECI Client -
DRM
HECI Client
FW update
mei_me.ko (pci).
HOST Client
1
HOST Client
2
HOST Client
FW update
Mei-bus.
mei_dal.ko HECI Client – DRM
mei_hdcp.ko
/dev/meiX
/dev/dalX
GFX
Key-master
User
Space
MEI (protocol).
HECI PCI
Device.
FW HECI Driver
FW
MEI Management Protocol
OS
Management Messages and Clients bookkeeping.
1. Enumerates Clients.
2. Create connections between:
Host and ME Clients
3. Disconnection
4. Flow Controller
5. (Few more)
MEI user space API.
Basic user space API for the MEI driver.
fd = open(“/dev/mei”, O_RDWR);
ret = ioclt(fd, IOCTL_MEI_CONNECT_CLIENT, CL_GUID);
ret = write(fd, cmd, sizeof(cmd));
ret = read(fd, resp, sizeof(resp));
Usually there is only one connection to one client.
Driver
After driver is located via GUID:
A tuple (Host Address ME Address) is used for communication
Data
Host
Address
Length
Message
complete
ME
Address
HECI PCI Device.
FW
HECI Client
ME Address
HECI Client
ME Address
HECI Client
ME Address
HOST Client
Host Address
HOST Client
Host Address
HOST Client
Host Address
HOST Client
Host Address
MEI Addressing..
Agenda
❑CSE Overview
❑MEI Driver
❑MEI in ACRN Device Model.
CSE Virtualization Requirements.
• CSE is a singleton in the system.
• In most cases a single connection to a client is allowed.
• Client resources are singleton.
• Required Changes:
• Allow virtual channels over single connection to support UOs
• Multiply FW resources.
• Isolated FW resources.
• User space applications should be oblivious to virtualization or
lack of it.
MEI Virtio Addressing
• Not enough free bits in the original
header.
• Extension bit is added.
• In the extended header a VTag is
added.
• VTag designate virtual channel.
• This affects available data size but
internal is already In place.
Data
Host
Address
Length
EXT
Message
complete
ME
Address
Rsvd VTag
Client Resources.
• A ME client declares during enumeration if it can support multiple
virtual channels.
• Some resources must be assigned to specific VTag.
• Persistent tag assignment is required between VTag and resources.
• Examples: WV Keybox, HDCP ports.
• Some ME clients don’t require context and have no real resources
associated. Can support unlimited number of virtual connections.
• Isolation – Relay on device model persistent vtag assignment,
possible to enhance with cryptography.
Device Model Framework
(reminder)
ACRN Device Model (DM) is a
QEMU-like application in SOS
and it is responsible for
creating a UOS VM and then
performing devices emulation
based on command line
configurations.
Service OS.
HECI Virtualization – components introduction
HECI virtio
pci device
PCI-MEI
HECI virtio BE Add/Strip VM
TAG to HECI
message
header
User OS 1
User
Kernel
MEI
PCI-HECI-VIRTIO (mei-virtion.ko)
/dev/mei0
APP
CSE FW
VM1 TAG
CSE CL 1 CSE CL2 CSE CLN
HECI virtio
pci device
VM2 TAG
User OS 2
User
Kernel
MEI
/dev/mei0
APP
PCI-HECI-VIRTIO (mei-virtion.ko)
MEI Front end driver.
mei-virtio.ko
• mei-virito.ko implements a
virtio_driver that binds to virtio
device [0x1AF4, 0x8602]. The
device ID is hard coded in ACRN
device model.
• The driver implements virtio_driver
handlers: probe, remove,
config_changes, freeze, and
restore.
• The driver is using two virtio
queues for communication. One for
RX and one for TX.
OS HECI Driver
(e.g. /dev/mei0)
mei.ko
mei_virtio.ko
vHECI-FE
virtio
mei_me.ko
MEI backend
Implemented in ACRN SOS mediator
• MEI-BE backend comprise of two parts.
1. Enhanced MEI base driver.
(SOS kernel)
New IOCTL - IOCTL_MEI_CONNECT_CLIENT_VTAG
2. The virtio backend service (VBE-U) that operates in service OS.
./devicemodel/hw/pci/virtio/virtio_mei.c
• MEI-BE will serve as a HECI FW driver proxy.
1. It implements management protocol towards vHECI-FE.
2. HW states CSE readiness and the link reset are mediated to the
vMEI-FE via virtio configurations as well as FW status register values.
3. vHECI-FE will sees only clients that supports virtualization.
4. Maps UOS ids to vtags
Device Model Configuration
acrn-dm -A
-m 2048M 
-s 0:0,hostbridge 
-s 2,pci-gvt -G "64 448 8“ 
-s 5,virtio-blk,/home/clear/uos/uos.img 
-s 6,virtio-net,tap0 
-s 15,virtio-heci,0/0f/0 "
--ovmf /usr/share/acrn/bios/OVMF.fd 
vm1
acrn-hypervisor/devicemodel/samples
https://projectacrn.github.io/latest/user-guides/acrn-dm-parameters.html#acrn-dm-parameters
Q & A

More Related Content

What's hot

ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorProject ACRN
 
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...Project ACRN
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionProject ACRN
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootProject ACRN
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN
 
Project ACRN system debug
Project ACRN system debugProject ACRN system debug
Project ACRN system debugProject ACRN
 
Project ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN
 
Project ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN
 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationGeoffroy Van Cutsem
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationProject ACRN
 
Project ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...The Linux Foundation
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN
 
Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN
 
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...The Linux Foundation
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project VirtualisationThe Linux Foundation
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARMLinaro
 
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...The Linux Foundation
 

What's hot (20)

ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisorACRN vMeet-Up EU 2021 - debug ACRN hypervisor
ACRN vMeet-Up EU 2021 - debug ACRN hypervisor
 
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
ACRN vMeet-Up EU 2021 - Bridging Orchestrator and Hard Realtime Workload Cons...
 
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introductionACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
ACRN vMeet-Up EU 2021 - shared memory based inter-vm communication introduction
 
Project ACRN hypervisor introduction
Project ACRN hypervisor introduction Project ACRN hypervisor introduction
Project ACRN hypervisor introduction
 
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure BootACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
ACRN vMeet-Up EU 2021 - Boot Process and Secure Boot
 
Project ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOSProject ACRN expose and pass through platform hidden PCIe devices to SOS
Project ACRN expose and pass through platform hidden PCIe devices to SOS
 
Project ACRN system debug
Project ACRN system debugProject ACRN system debug
Project ACRN system debug
 
Project ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introductionProject ACRN Yocto Project meta-acrn layer introduction
Project ACRN Yocto Project meta-acrn layer introduction
 
Project ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOSProject ACRN how to build a Yocto Project-based SOS
Project ACRN how to build a Yocto Project-based SOS
 
Project ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementationProject ACRN: SR-IOV implementation
Project ACRN: SR-IOV implementation
 
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance OptimizationACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
ACRN vMeet-Up EU 2021 - Real Time Management and Performance Optimization
 
Project ACRN USB mediator introduction
Project ACRN USB mediator introductionProject ACRN USB mediator introduction
Project ACRN USB mediator introduction
 
Project ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorialProject ACRN GVT-d introduction and tutorial
Project ACRN GVT-d introduction and tutorial
 
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...XPDS16:  AMD's virtualization memory encryption technology - Brijesh Singh, A...
XPDS16: AMD's virtualization memory encryption technology - Brijesh Singh, A...
 
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisorProject ACRN CPU sharing BVT scheduler in ACRN hypervisor
Project ACRN CPU sharing BVT scheduler in ACRN hypervisor
 
Project ACRN EtherCAT 101
Project ACRN EtherCAT 101Project ACRN EtherCAT 101
Project ACRN EtherCAT 101
 
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
 
Rootlinux17: An introduction to Xen Project Virtualisation
Rootlinux17:  An introduction to Xen Project VirtualisationRootlinux17:  An introduction to Xen Project Virtualisation
Rootlinux17: An introduction to Xen Project Virtualisation
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
XPDDS18: The Evolution of Virtualization in the Arm Architecture - Julien Gra...
 

Similar to Project ACRN CSE Virtualization

Review of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptxReview of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptxssusere142fe
 
Virtual Pc Seminar
Virtual Pc SeminarVirtual Pc Seminar
Virtual Pc Seminarguest5b5549
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..Aashish Uppal
 
Presentation power vm virtualization without limits
Presentation   power vm virtualization without limitsPresentation   power vm virtualization without limits
Presentation power vm virtualization without limitssolarisyougood
 
Driver Configuration Webinar
Driver Configuration WebinarDriver Configuration Webinar
Driver Configuration WebinarAVEVA
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)iXsystems
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Louis Göhl
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server VirtualisationAlan McSweeney
 
What's new in IBM MQ Messaging
What's new in IBM MQ MessagingWhat's new in IBM MQ Messaging
What's new in IBM MQ MessagingMarkTaylorIBM
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Clint Edmonson
 
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical HighlightsRed hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical HighlightsFilipe Miranda
 
Cloud computing and its job opportunities
Cloud computing and its job opportunities Cloud computing and its job opportunities
Cloud computing and its job opportunities Ramya SK
 
Clusters (Distributed computing)
Clusters (Distributed computing)Clusters (Distributed computing)
Clusters (Distributed computing)Sri Prasanna
 
Open Virtualization Format - Detailed
Open Virtualization Format - DetailedOpen Virtualization Format - Detailed
Open Virtualization Format - DetailedMahesh. Rudrachar
 
Isolation of vm
Isolation of vmIsolation of vm
Isolation of vmHome
 

Similar to Project ACRN CSE Virtualization (20)

Handout2o
Handout2oHandout2o
Handout2o
 
Review of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptxReview of Hardware based solutions for trusted cloud computing.pptx
Review of Hardware based solutions for trusted cloud computing.pptx
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
Virtual Pc Seminar
Virtual Pc SeminarVirtual Pc Seminar
Virtual Pc Seminar
 
Mobile operating system..
Mobile operating system..Mobile operating system..
Mobile operating system..
 
Presentation power vm virtualization without limits
Presentation   power vm virtualization without limitsPresentation   power vm virtualization without limits
Presentation power vm virtualization without limits
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
Driver Configuration Webinar
Driver Configuration WebinarDriver Configuration Webinar
Driver Configuration Webinar
 
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
PCI Pass-through - FreeBSD VM on Hyper-V (MeetBSD California 2016)
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server Virtualisation
 
What's new in IBM MQ Messaging
What's new in IBM MQ MessagingWhat's new in IBM MQ Messaging
What's new in IBM MQ Messaging
 
Madrid meetup #7 deployment models
Madrid meetup #7   deployment modelsMadrid meetup #7   deployment models
Madrid meetup #7 deployment models
 
Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01Windows Server 2008 R2 Dev Session 01
Windows Server 2008 R2 Dev Session 01
 
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical HighlightsRed hat Enterprise Linux 6.4 for IBM System z Technical Highlights
Red hat Enterprise Linux 6.4 for IBM System z Technical Highlights
 
Cloud computing and its job opportunities
Cloud computing and its job opportunities Cloud computing and its job opportunities
Cloud computing and its job opportunities
 
Clusters (Distributed computing)
Clusters (Distributed computing)Clusters (Distributed computing)
Clusters (Distributed computing)
 
Open Virtualization Format - Detailed
Open Virtualization Format - DetailedOpen Virtualization Format - Detailed
Open Virtualization Format - Detailed
 
IBM Notes in the Cloud
IBM Notes in the CloudIBM Notes in the Cloud
IBM Notes in the Cloud
 
Isolation of vm
Isolation of vmIsolation of vm
Isolation of vm
 

Recently uploaded

tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 

Recently uploaded (20)

tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
WSO2CON 2024 - WSO2's Digital Transformation Journey with Choreo: A Platforml...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 

Project ACRN CSE Virtualization

  • 1. ACRN CSE Virtualization Introduction Tomas Winkler Tomas Winkler <tomas.winkler@intel.com> 03/25/2020
  • 4. 4 CSE/CSME CSE/CSME - an embedded subsystem in Platform Controller Hub (PCH) • CSE = Converged Security Engine • CSME = Converged Security & Manageability Engine • Standalone small x86 processor, Memory, Crypto engine and I/O’s. • CSE is Trusted Execution Environment (TEE) • Provides an isolated and secured HW execution environment protected from host processors Serves Three Main Platform Roles • Chassis: Secure boot of the platform / Survivability • Security: Boot & Runtime Platform Apps • Manageability: Optional Extensions for Out Of Band (OOB) Network Management CSE also known as ME and TXE CPU PCH CSME LAN / WLAN SMB GPIO PECI
  • 5. 5 CSME features High Level Overview - Root of Trust (ROT) of the platform, starts the chain of trust - Verified system configuration: Clocks, PCIe configuration, overclocking, power configuration, many more Chassis - Platform Trust Technology (PTT) – An Integrated TPM 2.0 device - Data Rights Management (DRM) - MSFT PlayReady, Google Widevine - Anonymous Device Identity (EPID 2.0) – Remote Attestation, Provisioning - Dynamic Application Load (DAL), allow 3rd party write Java applets running inside CSE. Security - Intel Active Management Technology (AMT), allow IT to remotely connect to the managed platform through OOB network interface - Works even if system in low power state or hanged. - Remote power-management capabilities. - Remote redirection. Manageability
  • 6. PCI Device. FW HECI Driver FW HECI Client DAL HECI Clients HOST HECI Client - DRM HECI Client FW update PTT (TPM 2.0) ACPI Device • Goal, enabling access to security services provided by CSE to guest OS. • Each CSE service is represented as HECI Client locatable by client GUID. • PTT is unique has dedicated ACPI device to support standard.
  • 7. Agenda ❑CSE Overview • DRM Use case • DAL Use case
  • 8. Intro to DRM • DRMs can be used to protect content such as music, e-books, videos and documents. • A DRM is a scheme that allows to obtain licenses to protected content in a secure fashion. (Examples: Play Ready, Widevine) • CSE offers the ability for HW-backed DRM using its security infrastructure. • What we need to protect (in order of importance): • Device Keys, Title keys, Decrypted Media • HDCP 2.0 – Link protection (between device and display)
  • 9. CSE Gen-DRM Secure Decode Content Provider Content License Encrypted/Compressed Content Title Keys (VDM) Gen: Display Engine Monitor Surface Key Encrypted HDCP Encrypted Content Write HDCP2 Keys Read Connection Status (VDM) DRAM Fetch and Decrypt Content Protection
  • 10. Agenda ❑CSE Overview • DRM Use case • DAL Use case
  • 11. Intel ® Dynamic Application Loader • Extends the CSE FW by dynamically loading signed CSE applications at runtime. • Allows agile and faster deployment of FW applications by decoupling the application development from the platform development life cycle • The FW applications are stored on host file system, thus avoiding flash size considerations • Enables binary-level portability for FW applications • The only mechanism for dynamically extending CSE FW capabilities • DAL applications are signed by Intel, and there is support for OEM signing on certain platforms. • DAL is based on a virtual machine., DAL applications are written in the Java programming language
  • 12. Host to FW Flow Host FW Clients JHI (Java Host Interface) HECI Kernel Driver FW OS + HECI HECI Client API VM HECI Server API Service Manager App 1 App 2 App 3 HECI Communication Buffer App 1
  • 13. JHI ServiceUser C/C++ Application libjhi.so bhPlugin.dll HECI Driver User Space FW DAL HECI ClientVirtual Machine BH Applet Applet Library load Connection OS Solution Module KDI
  • 14. 14 Operating Systems DAL SW is supported on Windows, Linux, Android and UEFI It is released as open source on GitHub MEI DAL (“KDI”) – enables working with DAL directly from Linux kernel space.
  • 16. 16 MEI driver. MEI – Kernel driver drivers/misc/mei AMT WD - drives/watchdog/wdt_me SOL- drivers/serial (generic driver IDR – drivers/hda NFC – drivers/nfc/mei_phy.c KDI – drivers/misc/mei/dal SPD – drivers/misc/mei/spd TPM_CRB – TPM PTT support drivers/char/tpm/tpm_crb • MEI is a PCI device driver exposed /dev/mei character device node. • MEI also provides a client bus where FW clients can be expressed as virtual devices, to be exposed via standard Linux kernel subsystems or provide interface to other Linux kernel drivers.
  • 17. mei.ko (protocol). HECI PCI Device. FW HECI Driver FW HECI Client DAL MEI Driver OS HECI Client - DRM HECI Client FW update mei_me.ko (pci). HOST Client 1 HOST Client 2 HOST Client FW update Mei-bus. mei_dal.ko HECI Client – DRM mei_hdcp.ko /dev/meiX /dev/dalX GFX Key-master User Space
  • 18. MEI (protocol). HECI PCI Device. FW HECI Driver FW MEI Management Protocol OS Management Messages and Clients bookkeeping. 1. Enumerates Clients. 2. Create connections between: Host and ME Clients 3. Disconnection 4. Flow Controller 5. (Few more)
  • 19. MEI user space API. Basic user space API for the MEI driver. fd = open(“/dev/mei”, O_RDWR); ret = ioclt(fd, IOCTL_MEI_CONNECT_CLIENT, CL_GUID); ret = write(fd, cmd, sizeof(cmd)); ret = read(fd, resp, sizeof(resp)); Usually there is only one connection to one client.
  • 20. Driver After driver is located via GUID: A tuple (Host Address ME Address) is used for communication Data Host Address Length Message complete ME Address HECI PCI Device. FW HECI Client ME Address HECI Client ME Address HECI Client ME Address HOST Client Host Address HOST Client Host Address HOST Client Host Address HOST Client Host Address MEI Addressing..
  • 22. CSE Virtualization Requirements. • CSE is a singleton in the system. • In most cases a single connection to a client is allowed. • Client resources are singleton. • Required Changes: • Allow virtual channels over single connection to support UOs • Multiply FW resources. • Isolated FW resources. • User space applications should be oblivious to virtualization or lack of it.
  • 23. MEI Virtio Addressing • Not enough free bits in the original header. • Extension bit is added. • In the extended header a VTag is added. • VTag designate virtual channel. • This affects available data size but internal is already In place. Data Host Address Length EXT Message complete ME Address Rsvd VTag
  • 24. Client Resources. • A ME client declares during enumeration if it can support multiple virtual channels. • Some resources must be assigned to specific VTag. • Persistent tag assignment is required between VTag and resources. • Examples: WV Keybox, HDCP ports. • Some ME clients don’t require context and have no real resources associated. Can support unlimited number of virtual connections. • Isolation – Relay on device model persistent vtag assignment, possible to enhance with cryptography.
  • 25. Device Model Framework (reminder) ACRN Device Model (DM) is a QEMU-like application in SOS and it is responsible for creating a UOS VM and then performing devices emulation based on command line configurations.
  • 26. Service OS. HECI Virtualization – components introduction HECI virtio pci device PCI-MEI HECI virtio BE Add/Strip VM TAG to HECI message header User OS 1 User Kernel MEI PCI-HECI-VIRTIO (mei-virtion.ko) /dev/mei0 APP CSE FW VM1 TAG CSE CL 1 CSE CL2 CSE CLN HECI virtio pci device VM2 TAG User OS 2 User Kernel MEI /dev/mei0 APP PCI-HECI-VIRTIO (mei-virtion.ko)
  • 27. MEI Front end driver. mei-virtio.ko • mei-virito.ko implements a virtio_driver that binds to virtio device [0x1AF4, 0x8602]. The device ID is hard coded in ACRN device model. • The driver implements virtio_driver handlers: probe, remove, config_changes, freeze, and restore. • The driver is using two virtio queues for communication. One for RX and one for TX. OS HECI Driver (e.g. /dev/mei0) mei.ko mei_virtio.ko vHECI-FE virtio mei_me.ko
  • 28. MEI backend Implemented in ACRN SOS mediator • MEI-BE backend comprise of two parts. 1. Enhanced MEI base driver. (SOS kernel) New IOCTL - IOCTL_MEI_CONNECT_CLIENT_VTAG 2. The virtio backend service (VBE-U) that operates in service OS. ./devicemodel/hw/pci/virtio/virtio_mei.c • MEI-BE will serve as a HECI FW driver proxy. 1. It implements management protocol towards vHECI-FE. 2. HW states CSE readiness and the link reset are mediated to the vMEI-FE via virtio configurations as well as FW status register values. 3. vHECI-FE will sees only clients that supports virtualization. 4. Maps UOS ids to vtags
  • 29. Device Model Configuration acrn-dm -A -m 2048M -s 0:0,hostbridge -s 2,pci-gvt -G "64 448 8“ -s 5,virtio-blk,/home/clear/uos/uos.img -s 6,virtio-net,tap0 -s 15,virtio-heci,0/0f/0 " --ovmf /usr/share/acrn/bios/OVMF.fd vm1 acrn-hypervisor/devicemodel/samples https://projectacrn.github.io/latest/user-guides/acrn-dm-parameters.html#acrn-dm-parameters
  • 30. Q & A