acrn-hypervisor/hypervisor
Chen, Gang G fc9ec5d88f hv: Derive decryption key from Seed for Trusty to decrypt attestation keybox
CSE FW uses an AEK (Attestation keybox Encryption Key) to encrypt the keybox
with AES-256-GCM algorithm before sending it to Android/Trusty. This key is
derived from the latest platform Seed by CSE FW with KDF (key derivation function)
HMAC-SHA256. After Trusty retrieves this encrypted keybox over HECI/MEI driver,
Trusty needs the same AEKkey to decrypt it. Hence, before Trusty launches,
Hypervisor derives the same AEK key from Platform Seed with the same algorithm
and the same derivation parameters, then sends this AEK along with Trusty vSeed
to Trusty world memory.

Since Platform Seed is only visible to Hypervisor and it must not be
sent to any guest VM, only Hypervisor can derive this AEK from this
Platform Seed, just like previous per-Trusty virtual Seed derivation.
Please note that Android Attestation Keybox is shared in a single hardware
platform, so all the Trusty instance/world can get the same AEK for
decryption even if there are multiple Android User OS/VMs running
on top of Hypervisor.

v1 --> v2:
	Add detailed description why we need the patch to derive an extra key

v2 --> v3:
	Convert API descriptions to Doxygen

Tracked-On: #1812
Reviewed-by: Bing Zhu <bing.zhu@intel.com>
Reviewed-by: Kai Wang <kai.z.wang@intel.com>
Signed-off-by: Chen Gang G <gang.g.chen@intel.com>
Acked-by: Bing Zhu <bing.zhu@intel.com>
2018-11-20 09:22:37 +08:00
..
arch/x86 hv: Derive decryption key from Seed for Trusty to decrypt attestation keybox 2018-11-20 09:22:37 +08:00
boot hv: fix integer violations 2018-11-14 12:46:34 +08:00
bsp HV: For NUC, use 0x3F8/IRQ4 as the vuart port base address/IRQ and use ttyS0 accordingly 2018-11-16 10:24:48 +08:00
common hv: hv_main: clean up HV_DEBUG usage 2018-11-16 14:47:24 +08:00
debug hv: hv_main: clean up HV_DEBUG usage 2018-11-16 14:47:24 +08:00
dm hv: vpci: revert the temporary workaround of handling I/O port CF9 2018-11-19 09:34:34 +08:00
include hv: Derive decryption key from Seed for Trusty to decrypt attestation keybox 2018-11-20 09:22:37 +08:00
lib hv: Derive decryption key from Seed for Trusty to decrypt attestation keybox 2018-11-20 09:22:37 +08:00
partition hv: fix partition mode no console issue. 2018-11-08 14:41:31 +08:00
scripts kconfig: use defconfig instead of default values in silentoldconfig 2018-10-30 10:49:12 +08:00
Kconfig HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile hv: Derive decryption key from Seed for Trusty to decrypt attestation keybox 2018-11-20 09:22:37 +08:00
README.rst initial import 2018-05-11 14:44:28 +08:00

README.rst

Embedded-Hypervisor
###################

This open source embedded hypervisor defines a software architecture for
running multiple software subsystems managed securely on a consolidated
system (by means of a virtual machine manager), and defines a reference
framework Device Model implementation for devices emulation

This embedded hypervisor is type-1 reference hypervisor, running
directly on the system hardware. It can be used for building software
defined cockpit (SDC) or In-Vehicle Experience (IVE) solutions running
on Intel Architecture Apollo Lake platforms. As a reference
implementation, it provides the basis for embedded hypervisor vendors to
build solutions with an open source reference I/O mediation solution,
and provides auto makers a reference software stack for SDC usage.

This embedded hypervisor is able to support both Linux* and Android* as
a Guest OS, managed by the hypervisor, where applications can run.

This embedded hypervisor is a partitioning hypervisor reference stack,
also suitable for non-automotive IoT & embedded device solutions. It
will be addressing the gap that currently exists between datacenter
hypervisors, hard partitioning hypervisors, and select industrial
applications.  Extending the scope of this open source embedded
hypervisor relies on the involvement of community developers like you!