184
Raluca Ada Popa Securing data in compromised clouds UC Berkeley [email protected] @ralucaadapopa

Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Raluca Ada Popa

Securing data in compromised clouds

UC Berkeley

[email protected] @ralucaadapopa

Page 2: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Massive cloud attacks are relentless

user records breached

Yahoo 2014: Equifax 2017: Capital One 2019:

Page 3: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Massive cloud attacks are relentless

user records breached

Yahoo 2014:

500,000,000

Equifax 2017:

147,000,000

Capital One 2019:

100,000,000

Page 4: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Traditional security has a fundamental weakness

cloud

sensitive user data

Page 5: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Traditional security has a fundamental weakness

cloud

sensitive user data

Page 6: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Attackers eventually break in

Page 7: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Attackers eventually break in

Page 8: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Assume the attacker will break in

“in the cloud […] applications need to protect themselves instead of relying on firewall-like techniques”

Werner Vogels, Amazon CTO

Page 9: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

Page 10: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

Page 11: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

Page 12: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

encryption in transit

Page 13: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

encryption in transit

Page 14: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

encryption in transit

encryption at rest

Page 15: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Standard use of encryption

encryption in transit

encryption at rest

Page 16: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Use encryption

encryption in transit

encryption at rest

Page 17: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Use encryption

encryption in transit

encryption at rest

Page 18: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Use end-to-end encryption

Page 19: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Use end-to-end encryption

Page 20: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

cloud

Use end-to-end encryption

Page 21: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

Page 22: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

complexity

Page 23: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

complexity

Page 24: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

complexity

Page 25: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

- database (OLTP)

complexity

Page 26: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

complexity

Page 27: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

complexity

Page 28: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

My work

cloud

complexity

Verena[IEEESP16]Mylar [NSDI14]CloudProof [Usenix11]Arx[VLDB19], Oblix[IEEESP18], CryptDB[SOSP11],mOPE[IEEESP13],BlindBox[SIGCOMM15],Embark[NSDI16]Opaque[NSDI17]

Helen[IEEESP19], Delphi[USEC20], Bost et al.[NDSS15]

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

JEDI[USEC19]WAVE[USEC19]

Page 29: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

My work

cloud

complexity

Verena[IEEESP16]Mylar [NSDI14]CloudProof [Usenix11]Arx[VLDB19], Oblix[IEEESP18], CryptDB[SOSP11],mOPE[IEEESP13],BlindBox[SIGCOMM15],Embark[NSDI16]Opaque[NSDI17]

Helen[IEEESP19], Delphi[USEC20], Bost et al.[NDSS15]

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

JEDI[USEC19]WAVE[USEC19]

Page 30: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

End-to-end (E2E) encrypted chat/messaging

Page 31: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

End-to-end (E2E) encrypted chat/messaging

Widely adopted industry solutions

Page 32: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

End-to-end (E2E) encrypted chat/messaging

Widely adopted industry solutions

Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability

Page 33: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

E2E encrypted email and file sharing

Page 34: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

E2E encrypted email and file sharing

! More complex than chat: add access, revoke access, edit documents

Page 35: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

E2E encrypted email and file sharing

! More complex than chat: add access, revoke access, edit documents! Challenge: key distribution without affecting usability

Page 36: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

E2E encrypted email and file sharing

! More complex than chat: add access, revoke access, edit documents! Challenge: key distribution without affecting usability

Page 37: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

E2E encrypted email and file sharing

! More complex than chat: add access, revoke access, edit documents! Challenge: key distribution without affecting usability

! Research focusing on malicious cloud attackers (Verena[IEEESP16]), usability, search

Page 38: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

complexity

Page 39: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Systems in the cloud

cloud

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

complexity

Page 40: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Page 41: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Enc(data)

Page 42: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Page 43: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Enc(F(data))

Page 44: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Enc(F(data))Enc(F(data))

Page 45: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Enc(F(data))Enc(F(data))

F(data)

Page 46: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Example: Paillier cryptosystem, F = +Enc(x) = gxrn mod n2

Enc(y) = gyrn mod n2

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Enc(F(data))Enc(F(data))

F(data)

Page 47: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Example: Paillier cryptosystem, F = +Enc(x) = gxrn mod n2

Enc(y) = gyrn mod n2

Computation on encrypted data [RAD78, Gentry09]

Enc(data)a function F

Enc(F(data))Enc(F(data))

F(data)

Enc(x) * Enc(y) = gx+y(rr’)n mod n2 = Enc(x+y)(multiply)

Page 48: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Fully homomorphic encryption

! enables general functions on encrypted data! despite much progress, remains orders of magnitude too slow

[Gentry09]

Page 49: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Approach to build practical systems: co-design systems and cryptography

systems crypto

Page 50: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

Page 51: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

Page 52: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

CryptDBproxy

Page 53: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query CryptDBproxy

Page 54: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query rewritten queryCryptDBproxy

Page 55: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query rewritten query

encrypted results

CryptDBproxy

Page 56: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query rewritten query

encrypted resultsresults

CryptDBproxy

Page 57: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query rewritten query

encrypted resultsunmodified

results

CryptDBproxy

Page 58: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Encrypted databases: CryptDB

CryptDB was the first DBMS to process SQL queries on encrypted data

[SOSP11]

Application

under attacktrusted, on premise

query rewritten query

encrypted resultsunmodified

unmodified

results

CryptDBproxy

Page 59: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Page 60: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Page 61: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation

Page 62: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Page 63: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality

Page 64: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality- e.g., Paillier for +, DET for =

Page 65: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality- e.g., Paillier for +, DET for =

Tech.#3: Redesign the query planner to produce encrypted and transformed query plans

Page 66: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality- e.g., Paillier for +, DET for =

Tech.#3: Redesign the query planner to produce encrypted and transformed query plans- resulting queries did not change the DBMS

Page 67: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality- e.g., Paillier for +, DET for =

Tech.#3: Redesign the query planner to produce encrypted and transformed query plans- resulting queries did not change the DBMS

Page 68: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

CryptDB in a nutshell

Observation: Most SQL can be implemented with a few core operations (e.g.,+,=,>)

Tech.#1: Employ an efficient encryption scheme for each operation- design your own if needed

Tech.#2, Onion Encryption: combine encryptions based on security vs. functionality- e.g., Paillier for +, DET for =

Tech.#3: Redesign the query planner to produce encrypted and transformed query plans- resulting queries did not change the DBMS

Supported all of TPC-C, 27% throughput loss

Page 69: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

A rich line of work followed

! Academic work:

! Industry deployments:

AlwaysEncrypted Google’s EncryptedBigQuery SEEED

Cipherbase, CMD, Cryptsis, Autocrypt, Clome, SensorCloud, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, MrCrypt, Monomi, [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],… > 1000 citations.

Page 70: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Lesson: co-design of systems and cryptography

Page 71: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Lesson: co-design of systems and cryptography

A recipe:1. Focus on a workload. Identify a set of core operations the system needs2. Identify a suitable encryption building block efficient for each operation3. Design a planner/compiler that can combine the encryption building blocks based on their constraints and cost model

Page 72: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Lesson: co-design of systems and cryptography

A recipe:1. Focus on a workload. Identify a set of core operations the system needs2. Identify a suitable encryption building block efficient for each operation3. Design a planner/compiler that can combine the encryption building blocks based on their constraints and cost model

For the architecture:- avoid changing existing applications and cloud systems

Page 73: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Lesson: co-design of systems and cryptography

A recipe:1. Focus on a workload. Identify a set of core operations the system needs2. Identify a suitable encryption building block efficient for each operation3. Design a planner/compiler that can combine the encryption building blocks based on their constraints and cost model

For the architecture:- avoid changing existing applications and cloud systems

Page 74: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

Page 75: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

? complex analytics or ML

Page 76: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

Page 77: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

cloud sees all data cloud learns nothing

Page 78: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

cloud sees all data cloud learns nothing

Page 79: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Page 80: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Leakage from memory addresses accessedExploitable depending on attacker strength

Page 81: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

practical

too slow for DBs

Page 82: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

Page 83: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

Page 84: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …)

Page 85: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …) lower bounds

Page 86: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …)

?

lower bounds

Page 87: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …) lower bounds

enclaves+crypto

Opaque[NSDI17]

Oblix[IEEESP18]

Page 88: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …) lower boundsmulti-party interaction

enclaves+crypto

Opaque[NSDI17]

Oblix[IEEESP18]Helen[IEEESP19]

Delphi[USEC20]

Page 89: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Research challenge: functionality vs security vs performance

1. Existing building blocks had limited functionality

2. Sharp security/performance tradeoff. A “rough” sketch:? complex analytics or ML

semantic security(= regular encryption)

oblivious (hides access patterns)

cloud sees all data cloud learns nothing

Schemes: Cipherbase, [ABE+13], [TKM+13], Seabed [PBC+16], BlindSeer[PKV+14], [CJJ+14], [FJK+15], [K15], Arx, …

Attacks: [NKW15],[DDC16],[GSB17],KKN+16], [DCF+20],…

practical

too slow for DBs

oblivious algorithms([GO93], PathORAM, …) lower boundsmulti-party interaction

enclaves+crypto

Opaque[NSDI17]

Oblix[IEEESP18]Helen[IEEESP19]

Delphi[USEC20]

Page 90: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

Systems in the cloud

cloud

complexity

Page 91: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- machine learning

Systems in the cloud

cloud

complexity

Page 92: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Hardware enclaves 101

Page 93: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment

Hardware enclaves

memoryon die

core cache

(Intel SGX)

Page 94: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment

Hardware enclaves

memoryon die

core cache MEE

(Intel SGX)

Page 95: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment

Hardware enclaves

memoryon die

core cache MEE

(Intel SGX)

Page 96: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment• Data decrypted only on the processor

Hardware enclaves

memoryon die

core cache MEE

(Intel SGX)

Page 97: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment• Data decrypted only on the processor

Hardware enclaves

memoryon die

core cache MEE

• Protect against an attacker who has root access or compromised OS

(Intel SGX)

Page 98: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

• Hardware-enforced isolated execution environment• Data decrypted only on the processor

Hardware enclaves

memoryon die

core cache MEE

• Protect against an attacker who has root access or compromised OS

(Intel SGX)

• Cloud offerings: Azure Confidential Computing, Alibaba Cloud

Page 99: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Remote attestation

Client Server

enclave

Page 100: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

Client Server

enclave

Page 101: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

Client Server

enclave

Page 102: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

Client Server

enclave

Page 103: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client codehash

Client Server

enclave

Page 104: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

hash

Client Server

enclave

Page 105: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

hash

Client Server

enclave

Page 106: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

hash

Client Server

enclave

Page 107: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enables verifying which code runs in the enclave and performing key exchange

Remote attestation

client code

hash

Client Server

enclave

untrusted OS

Page 108: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enclaves suffer from many side channels:! cache-timing attacks ([Gotzfried et al17],[Brasser17,…])! branch predictor based attacks ([Lee et al17],…)! page fault based attacks ([Xu et al15], …)! memory bus based attacks (Membuster[USEC20])! dirty-bit based attacks

Side channels

Page 109: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enclaves suffer from many side channels:! cache-timing attacks ([Gotzfried et al17],[Brasser17,…])! branch predictor based attacks ([Lee et al17],…)! page fault based attacks ([Xu et al15], …)! memory bus based attacks (Membuster[USEC20])! dirty-bit based attacks

Side channels

reduce to exploit memory addresses

Page 110: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enclaves suffer from many side channels:! cache-timing attacks ([Gotzfried et al17],[Brasser17,…])! branch predictor based attacks ([Lee et al17],…)! page fault based attacks ([Xu et al15], …)! memory bus based attacks (Membuster[USEC20])! dirty-bit based attacks

Side channels

reduce to exploit memory addresses

prevented by oblivious

computation

Page 111: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Enclaves suffer from many side channels:! cache-timing attacks ([Gotzfried et al17],[Brasser17,…])! branch predictor based attacks ([Lee et al17],…)! page fault based attacks ([Xu et al15], …)! memory bus based attacks (Membuster[USEC20])! dirty-bit based attacks

Side channels

reduce to exploit memory addresses

prevented by oblivious

computation

Synergy: enclaves remove expensive network communication of oblivious algorithms

Page 112: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque*: oblivious and encrypted distributed analytics platform

* Oblivious Platform for Analytic QUEries

Spark SQLOpaque

SQL ML Graph Analytics

[NSDI17]

Page 113: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Client Cloud

Database

Scheduler

1 2 3

Page 114: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3

Page 115: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3query = SELECT sum(*) FROM table

Page 116: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3

Query

query = SELECT sum(*) FROM table

Page 117: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3

Query

query = SELECT sum(*) FROM table

Page 118: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3query = SELECT sum(*) FROM table

Page 119: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3query = SELECT sum(*) FROM table

Page 120: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3query = SELECT sum(*) FROM table

Page 121: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3query = SELECT sum(*) FROM table

Page 122: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

1 2 3

query = SELECT sum(*) FROM table

Page 123: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

query = SELECT sum(*) FROM table

10 13 4

Page 124: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

query = SELECT sum(*) FROM table

10

13

4

Page 125: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

query = SELECT sum(*) FROM table

27

Page 126: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Query execution

Spark Driver

Opaque

Catalyst

Client Cloud

Database

Scheduler

query = SELECT sum(*) FROM table

27

Page 127: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque components

Page 128: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque components

Data encryption and authentication

Page 129: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque components

Computation verification

Data encryption and authentication

Page 130: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque components

Distributed oblivious operatorsOblivious

FilterOblivious

AggregationOblivious

Join

Computation verification

Data encryption and authentication

Page 131: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Opaque components

Distributed oblivious operatorsOblivious

FilterOblivious

AggregationOblivious

Join

Computation verification

Rule-based opt. Cost-based opt.

Data encryption and authentication

Oblivious query planning

Cost model

Page 132: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Open source

https://github.com/ucbrise/opaque

Adoption: IBM RestAssured, Ericsson, Alibaba

Page 133: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- collaborative machine learning

Systems in the cloud

cloud

complexity

Page 134: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- collaborative machine learning

Systems in the cloud

cloud

complexity

Page 135: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection

Page 136: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Bank wants to detect money

laundering using machine learning

Page 137: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Bank wants to detect money

laundering using machine learning

Page 138: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Bank wants to detect money

laundering using machine learning

• Criminals conceal illegal activities across many banks

Page 139: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Bank wants to detect money

laundering using machine learning

• Criminals conceal illegal activities across many banks

Page 140: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Bank wants to detect money

laundering using machine learning

• Criminals conceal illegal activities across many banks

Page 141: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection

Page 142: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Want to jointly compute a

model on customer transaction data across many banks

Page 143: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Want to jointly compute a

model on customer transaction data across many banks

Page 144: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Money laundering detection• Want to jointly compute a

model on customer transaction data across many banks

• Cannot share data because these banks are competing with each other

Page 145: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Two approaches

Page 146: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Two approaches

A different setup tradeoff:! Hardware enclaves + oblivious algorithms! Secure multi-party computation

Page 147: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

User A

User B

User C

Page 148: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C

Page 149: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 150: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 151: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 152: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 153: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 154: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 155: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure collaborative ML via enclaves

Key management enclave

User A

User B

User C Each client attests separatelyand transfers the secret key

Page 156: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C

A

B

C

Worker enclaves

Secure collaborative ML via enclaves

Page 157: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C

A

B

C

Worker enclaves

Secure collaborative ML via enclaves

Page 158: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C

A

B

C

Worker enclaves

Secure collaborative ML via enclaves

Page 159: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C

A

B

C

Worker enclaves

Secure collaborative ML via enclaves

Page 160: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C A B C

Worker enclaves

Secure collaborative ML via enclaves

Page 161: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Key management enclave

User A

User B

User C A B C

Worker enclaves

run oblivious algorithms;mc2 work inprogress

Secure collaborative ML via enclaves

Page 162: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure multiparty computation (MPC

[Yao82,GMW87,BGW88]

)

Trusted third party

Page 163: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure multiparty computation (MPC

[Yao82,GMW87,BGW88]

)• Parties emulate a trusted

third party via cryptography

Trusted third party

Page 164: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure multiparty computation (MPC

[Yao82,GMW87,BGW88]

)• Parties emulate a trusted

third party via cryptography

Page 165: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure multiparty computation (MPC

[Yao82,GMW87,BGW88]

)• Parties emulate a trusted

third party via cryptography

Page 166: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Secure multiparty computation (MPC

[Yao82,GMW87,BGW88]

)• Parties emulate a trusted

third party via cryptography

• No party learns any party’s input beyond the final result

Page 167: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ]

Page 168: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ]

Example: train linear models

Page 169: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ]

Example: train linear models

3 months

Page 170: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ] Systems Crypto

Example: train linear models

3 months

MLOur approach:

Page 171: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ] Systems Crypto

Example: train linear models

3 months

ML

Helen [IEEESP’19]

Our approach:

Page 172: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ] Systems Crypto

Example: train linear models

3 months

ML

< 3 hours

Helen [IEEESP’19]

Our approach:

Page 173: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

©2017 RISELab

Main challenge: Performance

42

Generic secure multi-party computation

[SPDZ] Systems Crypto

Example: train linear models

3 months

ML

< 3 hours

Helen [IEEESP’19]

Our approach:

Delphi [USEC20]: secure inference for neural networks

Page 174: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progressmulti-party cryptographic collaboration

Page 175: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

multi-party cryptographic collaboration

Page 176: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

multi-party cryptographic collaboration

Page 177: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

User specifies Python DSL for learning task which automatically compiles to oblivious collaborative computation in enclaves or in MPC

multi-party cryptographic collaboration

Page 178: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

User specifies Python DSL for learning task which automatically compiles to oblivious collaborative computation in enclaves or in MPC

Open source: https://github.com/mc2-project• Secure collaborative XGBoost

multi-party cryptographic collaboration

Page 179: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

User specifies Python DSL for learning task which automatically compiles to oblivious collaborative computation in enclaves or in MPC

Open source: https://github.com/mc2-project• Secure collaborative XGBoost• Collaboration with ScotiaBank, Azure Confidential, Ericsson, and Ant Financial

multi-party cryptographic collaboration

Page 180: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

mc2: work in progress

An easy-to-use secure collaborative learning platform for the non-expert

User specifies Python DSL for learning task which automatically compiles to oblivious collaborative computation in enclaves or in MPC

Open source: https://github.com/mc2-project• Secure collaborative XGBoost• Collaboration with ScotiaBank, Azure Confidential, Ericsson, and Ant Financial

Potential societal impact is exciting

multi-party cryptographic collaboration

Page 181: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

- chat/messaging

- email, file sharing

- database (OLTP)

- database (analytics)

- collaborative machine learning

Systems in the cloud

cloud

complexity

Page 182: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Principles! Assume attackers will eventually break into the cloud! Be prepared by processing data in encrypted form

! Co-design systems and cryptography for performance

Page 183: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Principles! Assume attackers will eventually break into the cloud! Be prepared by processing data in encrypted form

! Co-design systems and cryptography for performance1. Focus on a workload. Identify a set of core operations the system needs2. Identify an efficient secure protocol for each operation3. Design a planner to combine the building blocks based on their constraints and cost model

Page 184: Securing data in compromised clouds · 2020-01-18 · Research on many-to-many (JEDI[USEC19]), constrained devices (e.g. IoT WAVE[USEC19]), usability. E2E encrypted email and file

Principles! Assume attackers will eventually break into the cloud! Be prepared by processing data in encrypted form

! Co-design systems and cryptography for performance1. Focus on a workload. Identify a set of core operations the system needs2. Identify an efficient secure protocol for each operation3. Design a planner to combine the building blocks based on their constraints and cost model

Thank you!

[email protected] @ralucaadapopa