Achieving Keyless CDNs with Conclaves Stephen Herwig Christina - - PowerPoint PPT Presentation

achieving keyless cdns with conclaves
SMART_READER_LITE
LIVE PREVIEW

Achieving Keyless CDNs with Conclaves Stephen Herwig Christina - - PowerPoint PPT Presentation

Achieving Keyless CDNs with Conclaves Stephen Herwig Christina Garman Dave Levin User Bank Content Delivery Networks host their customers websites customers origin server Content Delivery Networks host their customers websites


slide-1
SLIDE 1

Achieving Keyless CDNs with Conclaves

Stephen Herwig Dave Levin Christina Garman

slide-2
SLIDE 2

User Bank

slide-3
SLIDE 3

customer’s

  • rigin server

Content Delivery Networks host their customers’ websites

slide-4
SLIDE 4

CDNs

customer’s

  • rigin server

CDN’s edge server

Content Delivery Networks host their customers’ websites

slide-5
SLIDE 5

CDNs CDNs reduce page load times

CDN’s edge server

customer’s

  • rigin server
slide-6
SLIDE 6

CDNs CDNs reduce page load times

CDN’s edge server

customer’s

  • rigin server
slide-7
SLIDE 7

CDNs CDNs mitigate and block attacks

CDN’s edge server

customer’s

  • rigin server
slide-8
SLIDE 8

CDNs CDNs mitigate and block attacks

CDN’s edge server

customer’s

  • rigin server
slide-9
SLIDE 9

Customers share their keys with CDNs

CDN’s edge server

slide-10
SLIDE 10

bank’s private key

Customers share their keys with CDNs

CDN’s edge server

slide-11
SLIDE 11

Key sharing is widespread

Cangialosi et al., CCS 2016

slide-12
SLIDE 12

Key sharing is widespread

0.2 0.4 0.6 0.8 1 200k 400k 600k 800k 1M Fraction of Domains Hosted

  • n Third-party Providers

Alexa Site Rank (bins of 10,000) At least one key shared All keys shared

43% of the top 10k
 most popular websites

Cangialosi et al., CCS 2016

slide-13
SLIDE 13

Key sharing is widespread

0.2 0.4 0.6 0.8 1 200k 400k 600k 800k 1M Fraction of Domains Hosted

  • n Third-party Providers

Alexa Site Rank (bins of 10,000) At least one key shared All keys shared

43% of the top 10k
 most popular websites

Cangialosi et al., CCS 2016

The web has consolidated keys in the hands of a few CDNs

slide-14
SLIDE 14

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

slide-15
SLIDE 15

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin)

slide-16
SLIDE 16

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-17
SLIDE 17

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-18
SLIDE 18

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-19
SLIDE 19

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-20
SLIDE 20

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-21
SLIDE 21

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) Key server performs actions requiring private key

slide-22
SLIDE 22

Key server performs actions requiring private key

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) The CDN learns all session keys

slide-23
SLIDE 23

Key server performs actions requiring private key

Keyless SSL

Introduced by Cloudflare to mitigate key sharing

Private keys stay at the key server (origin) The CDN learns all session keys

In practice:
 CDN

slide-24
SLIDE 24

Third-party resources

  • n

using Legacy applications Can we Maintain privacy ?

slide-25
SLIDE 25

Third-party resources Legacy applications Maintain privacy

The CDN is no more trusted
 than a standard on-path attacker

slide-26
SLIDE 26

Third-party resources Legacy applications Maintain privacy

The CDN is no more trusted
 than a standard on-path attacker No changes to existing code-bases;
 facilitates deployment and adoption

slide-27
SLIDE 27

Third-party resources Legacy applications Maintain privacy

The CDN is no more trusted
 than a standard on-path attacker Leverage the existing infrastructure. One additional assumption: TEEs No changes to existing code-bases;
 facilitates deployment and adoption

slide-28
SLIDE 28

Third-party resources Legacy applications Maintain privacy

The CDN is no more trusted
 than a standard on-path attacker Leverage the existing infrastructure. One additional assumption: TEEs No changes to existing code-bases;
 facilitates deployment and adoption

slide-29
SLIDE 29

Third-party resources Legacy applications Maintain privacy

The CDN is no more trusted
 than a standard on-path attacker Leverage the existing infrastructure. One additional assumption: TEEs No changes to existing code-bases;
 facilitates deployment and adoption Phoenix

slide-30
SLIDE 30

Trusted execution environments

Hardware Operating
 System Application

By default, assume all system components are untrusted

Code Service

slide-31
SLIDE 31

Trusted execution environments

Hardware Operating
 System Application

By default, assume all system components are untrusted

Small trusted CPU
 Resistant to physical attacks

Code Service

slide-32
SLIDE 32

Trusted execution environments

Hardware Operating
 System Application

By default, assume all system components are untrusted

Small trusted CPU
 Resistant to physical attacks

Code Service

Enclave: Isolated
 application memory

Enclave

slide-33
SLIDE 33

Trusted execution environments

Hardware Operating
 System Application

By default, assume all system components are untrusted

Small trusted CPU
 Resistant to physical attacks

Code Service

Model: Code and data can safely reside inside an enclave

Enclave: Isolated
 application memory

Enclave

slide-34
SLIDE 34

Hardware Operating
 System Application

Code Service

Practical limitations of TEEs

Syscalls Untrusted

Applications inside enclaves cannot make syscalls

Enclave

slide-35
SLIDE 35

Hardware Operating
 System

Service

libOSes

Idea: Implement a small “OS” inside the enclave

Enclave

slide-36
SLIDE 36

Hardware Operating
 System

Service

Application

Code

libOS

Service

libOSes

Idea: Implement a small “OS” inside the enclave

Enclave

slide-37
SLIDE 37

Hardware Operating
 System

Service

Application

Code

libOS

Service

libOSes

"Syscalls"

Idea: Implement a small “OS” inside the enclave

Enclave

slide-38
SLIDE 38

Hardware Operating
 System

Service

Application

Code

libOS

Service

libOSes

"Syscalls"

Idea: Implement a small “OS” inside the enclave

Enclave

Service locally
 when possible

slide-39
SLIDE 39

Hardware Operating
 System

Service

Application

Code

libOS

Service

libOSes

"Syscalls"

Idea: Implement a small “OS” inside the enclave

Enclave

Service locally
 when possible Syscalls

slide-40
SLIDE 40

Graphene-SGX

Tsai et al., ATC 2017

A libOS for Intel SGX that supports some services

slide-41
SLIDE 41

Graphene-SGX

A libOS for Intel SGX that supports some services

fork exec

Graphene’s supported services:

pipes, signals, semaphores

Tsai et al., ATC 2017

slide-42
SLIDE 42

Graphene-SGX

A libOS for Intel SGX that supports some services

fork exec

Graphene’s supported services:

pipes, signals, semaphores

What constitutes a CDN?

Cache Web Application
 Firewall Key Server Web server

Multiple
 tenants Needs
 plaintext Needs
 disk Needs 
 safe
 storage

slide-43
SLIDE 43

Graphene-SGX

A libOS for Intel SGX that supports some services

fork exec

Graphene’s supported services:

pipes, signals, semaphores

What constitutes a CDN?

Cache Web Application
 Firewall Key Server Reading & writing files Shared memory

Also critical to a CDN:

Access to private keys Web server

Multiple
 tenants Needs
 plaintext Needs
 disk Needs 
 safe
 storage

slide-44
SLIDE 44

The first truly keyless CDN

fork exec

Graphene’s supported services:

pipes, signals, semaphores

What constitutes a CDN?

Cache Web Application
 Firewall Key Server Web server

Multiple
 tenants Needs
 plaintext Needs
 disk Needs 
 safe
 storage

Phoenix

Containers of enclaves Conclaves

slide-45
SLIDE 45

The first truly keyless CDN

fork exec

Graphene’s supported services:

pipes, signals, semaphores

What constitutes a CDN?

Cache Web Application
 Firewall Key Server Reading & writing files Shared memory

Also critical to a CDN:

Access to private keys Web server

Multiple
 tenants Needs
 plaintext Needs
 disk Needs 
 safe
 storage

Phoenix

Containers of enclaves Conclaves

slide-46
SLIDE 46

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

slide-47
SLIDE 47

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

TLS

Enclaves mutually
 authenticate via attested TLS

Knauth et al., 2018

slide-48
SLIDE 48

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

TLS

Private key operation

Enclaves mutually
 authenticate via attested TLS

Knauth et al., 2018

slide-49
SLIDE 49

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

TLS

Private key operation Result

Enclaves mutually
 authenticate via attested TLS

Knauth et al., 2018

slide-50
SLIDE 50

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

slide-51
SLIDE 51

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Shared memory read

slide-52
SLIDE 52

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Shared memory read Shared memory write

slide-53
SLIDE 53

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

slide-54
SLIDE 54

Application

Code

libOS

Service Enclave Enclave

Memory Server

Hardware Operating
 System

Service

Shared memory

Conclaves

slide-55
SLIDE 55

Application libOS

Service Enclave Enclave

Memory Server

Hardware Operating
 System

Service fcntl()

Shared memory

Conclaves

slide-56
SLIDE 56

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service fcntl()

Shared memory

Conclaves

slide-57
SLIDE 57

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

RPC

Hardware Operating
 System

Service fcntl()

Shared memory

Conclaves

slide-58
SLIDE 58

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

RPC

Hardware Operating
 System

Service

Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-59
SLIDE 59

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service

Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-60
SLIDE 60

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service

Syscall

Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-61
SLIDE 61

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service

Syscall

Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-62
SLIDE 62

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service

Syscall

Memory file
 Encrypted on untrusted disk Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-63
SLIDE 63

Application libOS

Service Enclave

"Syscall"

Enclave

Memory Server

Hardware Operating
 System

Service

Syscall

Memory file
 Encrypted on untrusted disk Coordinates locks
 Maintains memory locations

fcntl()

Shared memory

Conclaves

slide-64
SLIDE 64

Application libOS

Service Enclave Enclave

Memory Server

Hardware Operating
 System

Service

Memory file
 Encrypted on untrusted disk Coordinates locks
 Maintains memory locations

Shared
 Memory fcntl()

Shared memory

Conclaves

slide-65
SLIDE 65

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

slide-66
SLIDE 66

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Enclave

File Server

slide-67
SLIDE 67

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Enclave

File Server

slide-68
SLIDE 68

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Enclave

File Server

File access

slide-69
SLIDE 69

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Insight: Treat enclaves like a distributed system
 Implement services using kernel servers

Enclave

Memory Server

Enclave

File Server

File access Verified data

slide-70
SLIDE 70

Application

Code

libOS

Service Enclave Enclave

File Server

Hardware Operating
 System

Service

File system access

Conclaves

slide-71
SLIDE 71

Application

Code

libOS

Service Enclave Enclave

File Server

File system access

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

slide-72
SLIDE 72

Application libOS

Service Enclave Enclave

File Server

Hardware Operating
 System

Service read()

Conclaves

Merkle Tree
 Encrypted on untrusted disk

File system access

slide-73
SLIDE 73

Application libOS

Service Enclave

"Syscall"

Enclave

File Server

Hardware Operating
 System

Service read()

Conclaves

Merkle Tree
 Encrypted on untrusted disk

File system access

slide-74
SLIDE 74

Application libOS

Service Enclave

"Syscall"

Enclave

File Server

RPC

Hardware Operating
 System

Service read()

Conclaves

Merkle Tree
 Encrypted on untrusted disk

File system access

slide-75
SLIDE 75

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

ext2fs server Block layer

Merkle root

File system access

slide-76
SLIDE 76

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

Syscall

ext2fs server Block layer

Merkle root

File system access

slide-77
SLIDE 77

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

Syscall

ext2fs server Block layer

Merkle root

File system access

slide-78
SLIDE 78

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

Syscall

ext2fs server Block layer

Merkle root

File system access

slide-79
SLIDE 79

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

Syscall

Verifies branches Decrypts blocks

ext2fs server Block layer

Merkle root

File system access

slide-80
SLIDE 80

Application libOS

Service Enclave

"Syscall"

Enclave read()

libOS

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

RPC

Syscall

Verifies branches Decrypts blocks

ext2fs server Block layer

Merkle root

File system access

slide-81
SLIDE 81

Application libOS

Service Enclave read()

File system access

Conclaves

Hardware Operating
 System

Service

Merkle Tree
 Encrypted on untrusted disk

Enclave

ext2fs server libOS Block layer

Merkle root

Data

Verifies branches Decrypts blocks

slide-82
SLIDE 82

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall Key Server

Enclave

Web server

Cache

Web Application
 Firewall

Execution environment is a distributed system of enclaves

Enclave

Memory Server

Enclave

File Server

The first truly keyless CDN

Phoenix

Containers of enclaves Conclaves

slide-83
SLIDE 83

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall Key Server

Enclave

Web server

Cache

Web Application
 Firewall

Execution environment is a distributed system of enclaves

Enclave

Memory Server

Enclave

File Server

Conclave

The first truly keyless CDN

Phoenix

Containers of enclaves Conclaves

slide-84
SLIDE 84

Enclave Enclave

Web server

Cache

Web Application
 Firewall

Enclave

Web server

Cache

Web Application
 Firewall

The first truly keyless CDN

Key Server

Phoenix

Containers of enclaves Conclaves

Enclave

Web server

Cache

Web Application
 Firewall

Execution environment is a distributed system of enclaves

Enclave

Memory Server

Enclave

File Server

Conclave

fork exec

Conclaves supported services:

pipes, signals, semaphores Reading & writing files Shared memory Access to private keys Trusted time server

slide-85
SLIDE 85

The first truly keyless CDN

Phoenix

slide-86
SLIDE 86

The first truly keyless CDN

Phoenix

Websites delegate provisioning to CDNs Phoenix supports many deployment configurations

Other details in the paper

Supports multi-tenancy Both CDN and website can store private data

slide-87
SLIDE 87

The first truly keyless CDN

Phoenix

Websites delegate provisioning to CDNs Phoenix supports many deployment configurations

Other details in the paper

Conclave Conclave Conclave

Supports multi-tenancy Both CDN and website can store private data

slide-88
SLIDE 88

The first truly keyless CDN

Phoenix

Conclave Conclave Conclave

ARTIFACT EVALUATED

PASSED

Implemented on top of Graphene-SGX Evaluated to understand throughput and scalability

slide-89
SLIDE 89

500 1000 1500 2000 2500 3000 3500 1 KiB 10 KiB 100 KiB

# Workers

1 2 4 8

Throughput (requests/sec) Downloaded file size

Fetch a file 10,000 times over non-persistent HTTPS connections from among 128 concurrent clients

What is Phoenix’s request throughput?

slide-90
SLIDE 90

500 1000 1500 2000 2500 3000 3500 1 KiB 10 KiB 100 KiB

# Workers

1 2 4 8

Throughput (requests/sec) Downloaded file size

Linux

Fetch a file 10,000 times over non-persistent HTTPS connections from among 128 concurrent clients

NGINX running on normal Linux

What is Phoenix’s request throughput?

slide-91
SLIDE 91

500 1000 1500 2000 2500 3000 3500 1 KiB 10 KiB 100 KiB

# Workers

1 2 4 8

Throughput (requests/sec) Downloaded file size

Linux Phoenix-crypt Phoenix-vericrypt

Fetch a file 10,000 times over non-persistent HTTPS connections from among 128 concurrent clients

confidentiality confidentiality & integrity

What is Phoenix’s request throughput?

slide-92
SLIDE 92

How does Phoenix scale to multiple tenants?

200 400 600 800 1000 1200 1400 1600 1 2 4 6 Time per request (ms) Number of tenants Linux (shared NGINX)

40 ms 264 ms

slide-93
SLIDE 93

200 400 600 800 1000 1200 1400 1600 1 2 4 6 Time per request (ms) Number of tenants Linux (shared NGINX) Phoenix-crypt (shared nothing)

8 16 32 48

How does Phoenix scale to multiple tenants?

264 ms 40 ms 127 ms 1437 ms

Number of enclaves

slide-94
SLIDE 94

200 400 600 800 1000 1200 1400 1600 1 2 4 6 Time per request (ms) Number of tenants Linux (shared NGINX) Phoenix-crypt (shared NGINX)

8 10 14 18

Phoenix-crypt (shared nothing)

8 16 32 48

Number of enclaves

How does Phoenix scale to multiple tenants?

264 ms 40 ms 128 ms 127 ms 1437 ms 806 ms

slide-95
SLIDE 95

200 400 600 800 1000 1200 1400 1600 1 2 4 6 1 1K 10K 100K 1M 10M Time per request (ms) SGX paging events Number of tenants Linux (shared NGINX) Phoenix-crypt (shared NGINX)

8 10 14 18

Phoenix-crypt (shared nothing)

8 16 32 48

How does Phoenix scale to multiple tenants?

Number of enclaves

264 ms 40 ms 128 ms 806 ms 127 ms 1437 ms

slide-96
SLIDE 96

Other results

Benchmark overhead of running WAFs (ModSecurity) in SGX (overhead about the same as in Linux) Perform detailed micro-benchmarks of each kernel server Compare standard ocalls to exitless ocalls (not always better)

slide-97
SLIDE 97

ARTIFACT EVALUATED

PASSED

Moderate performance overheads

https://phoenix.cs.umd.edu/

500 1000 1500 2000 2500 3000 3500 1 KiB 10 KiB 100 KiB

# Workers

1 2 4 8

Throughput (requests/sec) Downloaded file size

Linux Phoenix-crypt Phoenix-vericrypt

The first truly keyless CDN

Phoenix

Containers of enclaves Conclaves

Run legacy apps in enclaves