Enarx Protection for data in use Mike Bursell Office of the CTO - - PowerPoint PPT Presentation

enarx
SMART_READER_LITE
LIVE PREVIEW

Enarx Protection for data in use Mike Bursell Office of the CTO - - PowerPoint PPT Presentation

Enarx Protection for data in use Mike Bursell Office of the CTO https://enarx.io Nathaniel McCallum Sr. Principal Engineer Trusted Execution Environments Trusted Execution Environments Host TEE TEE is a protected area within the host,


slide-1
SLIDE 1

Protection for data in use

Enarx

Mike Bursell Office of the CTO Nathaniel McCallum

  • Sr. Principal Engineer

https://enarx.io

slide-2
SLIDE 2

Trusted Execution Environments

slide-3
SLIDE 3

Trusted Execution Environments

TEE TEE is a protected area within the host, for execution of sensitive workloads Host

slide-4
SLIDE 4

TEE provides:

  • Memory Confidentiality
  • Integrity Protection
  • General compute
  • HWRNG

Trusted Execution Environments

TEE TEE is a protected area within the host, for execution of sensitive workloads Host

slide-5
SLIDE 5

TEE provides:

  • Memory Confidentiality
  • Integrity Protection
  • General compute
  • HWRNG

Trusted Execution Environments

TEE Host

  • Q. “But how do I know that it’s a

valid TEE?” Tenant

slide-6
SLIDE 6

TEE provides:

  • Memory Confidentiality
  • Integrity Protection
  • General compute
  • HWRNG

Trusted Execution Summary

Tenant TEE

  • Q. “But how do I know that it’s a

valid TEE?”

  • A. Attestation

Host Attestation

slide-7
SLIDE 7

TEE provides:

  • Memory Confidentiality
  • Integrity Protection
  • General compute
  • HWRNG

Trusted Execution Summary

Tenant TEE Attestation Attestation includes:

  • Diffie-Hellman Public Key
  • Hardware Root of Trust
  • TEE Measurement

Host

slide-8
SLIDE 8

TEE provides:

  • Memory Confidentiality
  • Integrity Protection
  • General compute
  • HWRNG

Trusted Execution Summary

Tenant TEE Attestation Attestation includes:

  • Diffie-Hellman Public Key
  • Hardware Root of Trust
  • TEE Measurement

Code + Data (Encrypted) Host

slide-9
SLIDE 9

Introducing Enarx

slide-10
SLIDE 10

Enarx Principles

1. We don’t trust the host owner 2. We don’t trust the host software 3. We don’t trust the host users 4. We don’t trust the host hardware a. … but we’ll make an exception for CPU + firmware

slide-11
SLIDE 11

Enarx Design Principles

1. Minimal Trusted Computing Base 2. Minimum trust relationships 3. Deployment-time portability 4. Network stack outside TCB 5. Security at rest, in transit and in use 6. Auditability 7. Open source 8. Open standards 9. Memory safety 10. No backdoors

slide-12
SLIDE 12

Enarx Architecture

VM-Based Keep Process-Based Keep SGX Sanctum SEV PEF WebAssembly WASI Language Bindings (libc, etc.) W3C standards Application MKTME

slide-13
SLIDE 13

Enarx is a Development Deployment Framework

Choose Your Language / Tools Compile to WebAssembly Develop Application Choose Host Instance Configuration

slide-14
SLIDE 14

Bare Metal Virtual Machine Container Serverless Abstracts HW Abstracts Linux Abstracts Protocol Just enough legacy support to enable trivial application portability. Homogeneity to enable radical deployment-time portability. No interfaces which accidentally leak data to the host. Bridges process-based and VM-based TEE models. No operating system to manage. Abstracts Common OS APIs

slide-15
SLIDE 15

Process flow

slide-16
SLIDE 16

Overview (AMD example)

16

Secure VM “Server” “Client” Tenant

Attestation handshake Code + data delivery (encrypted)

Host

AMD firmware Code runs

slide-17
SLIDE 17

17

Enarx architectural components

Attestation Code + Data (Encrypted) Host Client Orchestrator (e.g. Openshift/k8s, Openstack) Enarx runtime Application CPU + firmware Enarx host agent Enarx client agent CLI Keep Client/ host agent comms

6 2, 4 1, 5 1, 5 3,7

slide-18
SLIDE 18

Enarx attestation process diagram

Client Host CLI / Orchestrator Enarx client agent Enarx host agent CPU/firmware Enarx Keep

  • 1. Request workload

placement

  • 2. Request Keep
  • 3. Create Keep, load

Enarx runtime

  • 4. Measurement of

Keep + Enarx runtime

  • 5. OK/not-OK
  • 6. Code + Data

(encrypted)

  • 7. Load Code + Data

into Keep

slide-19
SLIDE 19

Enarx Status

slide-20
SLIDE 20

Current Status

1. SEV: Fully attested demo w/ custom assembly. a. Ketuvim: KVM library with SEV support 2. SGX: Fully attested demo w/ data delivery. 3. PEF: Ongoing discussions with POWER team. 4. WASM/WASI: Demo with some basic WASI functions.

slide-21
SLIDE 21

We Need Your Help!

21

Website: https://enarx.io Code: https://github.com/enarx Master plan: https://github.com/enarx/enarx/issues/1 License: Apache 2.0 Language: Rust

slide-22
SLIDE 22

Questions?

https://enarx.io