Lambada: Autoscaling Confidential Function Chains without Centralized Trust
Aashutosh Poudel, Matthew Berthoud, and Stephen Herwig
William & Mary
Function, Function as a Service (FaaS), Function Chains
2
Function, Function as a Service (FaaS), Function Chains
3
Google Cloud Function
AWS Lambda
Function, Function as a Service (FaaS), Function Chains
4
Google Cloud Function
AWS Lambda
Bank function to process applications
Function to verify applicant’s identity
Function to retrieve applicant’s credit score
Threat Landscape
5
Research Question
Is it possible for a FaaS platform to guarantee the confidentiality and integrity of function chains without resorting to centralized trusted services?
6
Threat Model
7
Threat Model
8
Threat Model + Security Goals
9
Existing Solutions
10
Existing Solutions
11
Intel SGX
Shared Key
Key Distribution Server (KDS)
Key Escrow
KDS Bugs
Our Approach
12
Our Approach
13
Our Approach
14
Our Approach
15
Proxy Re-encryption
16
Proxy Re-encryption
17
Proxy Re-encryption
18
Proxy Re-encryption
19
Proxy Re-encryption in Functions
20
Proxy Re-encryption in Functions
21
Proxy Re-encryption in Functions
22
Path Integrity
23
Request Flow in Lambada
24
Request Flow in Lambada
25
Request Flow in Lambada
26
Request Flow in Lambada
27
Replay Detection
28
Tamper-evident log
29
Key Rotation
30
End-to-end Design
31
End-to-end Design
32
End-to-end Design
33
End-to-end Design
34
End-to-end Design
35
Implementation: Knative
36
Implementation: Knative
37
Implementation: Knative
38
Implementation: Knative
39
Evaluation: Startup delay
40
Evaluation: Startup delay
41
Evaluation: Startup delay
42
Evaluation: Startup delay
43
Evaluation: Function Invocation
44
Evaluation: Application Macrobenchmark
45
Evaluation: Application Macrobenchmark
46
Evaluation: Application Macrobenchmark
47
Evaluation: Application Macrobenchmark
48
Summary
49
Lambada: Autoscaling Confidential Function Chains without Centralized Trust
Aashutosh Poudel, Matthew Berthoud, and Stephen Herwig
William & Mary
GitHub
Paper