David Naylor Carnegie Mellon And Then There Richard Li University of Utah Were More: Christos Gkantsidis Microsoft Research Secure Communication for More Than Two Parties Thomas Karagiannis Microsoft Research Peter Steenkiste Carnegie Mellon
In most networks, # middleboxes ≈ # routers Web Cache Virus Scanner Compression Proxy Parental Filter Intrusion Detection System Load Balancer [Making Middleboxes Someone Else’s Problem. SIGCOMM ’12 ]
In most networks, # middleboxes ≈ # routers Encryption blinds middleboxes.
# middleboxes ≈ # routers Encryption blinds middleboxes. Goal: Encryption + Middleboxes
Goal: Encryption + Middleboxes 1 2 Design Space mbTLS For secure, A deployable multi-entity protocol for communication outsourced protocols middleboxes.
There’s a big design space for secure, multi-entity communication protocols
There’s a big design space for secure, multi-entity communication protocols 1 2 3 Extend TLS New Security Other Security Properties Properties Properties
1 Extend TLS Security Properties Data Secrecy 1 Data Authentication 2 Entity 3 Authentication
1 Extend TLS Security Properties Definition of “Party” vs Granularity of Data Access Definition of “Identity” Headers Headers vs vs Body
1 2 3 Extend TLS New Security Other Security Properties Properties Properties Granularity of Data Access Headers Headers vs Body Definition of “Party” vs Definition of “Identity” vs
2 New Security Properties Path Integrity 1 3 2 Data Change Secrecy Authorization
1 2 New Security 3 Extend TLS Other Security Properties Properties Properties Granularity of Data Access Path Integrity Headers Headers 1 3 vs 2 Body Definition of “Party” Data Change Secrecy vs Definition of “Identity” Authorization vs
3 Other Properties Computation Legacy Endpoints vs v1.2 Arbitrary Limited In-Band Discovery
1 2 3 Extend TLS New Security Other Security Properties Properties Properties Granularity of Data Access Path Integrity Legacy Endpoints Headers Headers 1 3 vs v1.2 2 Body Definition of “Party” Data Change Secrecy In-Band Discovery vs Definition of “Identity” Authorization Computation vs vs Arbitrary Limited
There’s a big design space for secure, multi-entity communication protocols 1 2 3 Extend TLS New Security Other Security Properties Properties Properties
There’s a big design space for secure, multi-entity communication protocols There is no one-size-fits-all solution.
There’s a big design space for secure, multi-entity communication protocols There is no one-size-fits-all solution. Supporting one property often precludes another.
Supporting one property often precludes another. TLS interception with custom root certificates Supports Prevents two legacy endpoints endpoint authentication (owner or code) vs v1.2
Supporting one property often precludes another. Multi-Context TLS (mcTLS) [SIGCOMM ’15] Supports Prevents fine-grained data access legacy support Headers Headers vs v1.2 Body
Supporting one property often precludes another. BlindBox [SIGCOMM ’15] Supports Prevents functional crypto arbitrary computation (minimal data access) Headers Headers vs vs Body Arbitrary Limited
There’s a big design space for secure, multi-entity communication protocols There is no one-size-fits-all solution. Supporting one property often precludes another.
There’s a big design space for secure, multi-entity communication protocols There is no one-size-fits-all solution. Supporting one property often precludes another.
Goal: Encryption + Middleboxes 1 2 Design Space mbTLS For secure, A deployable multi-entity protocol for communication outsourced protocols middleboxes.
mbTLS targets two common- case, real-world needs Immediate deployability 1 Interoperate with one legacy endpoint Protection for outsourced middleboxes 2 Protect session data from middlebox infrastructure (in addition to traditional network attackers)
mbTLS targets two common- case, real-world needs 2 Outsourced Middlebox Server-Side Proxy Upgraded Server Residential ISP 1 Legacy Endpoint Legacy Clients
mbTLS targets two common- case, real-world needs 1 Legacy Endpoint 2 Outsourced Middlebox Client-Side Proxy Upgraded Client Cloud Compute Provider Legacy Servers
mbTLS targets two common- case, real-world needs Immediate deployability 1 Interoperate with one legacy endpoint Protection for outsourced middleboxes 2 Protect session data from middlebox infrastructure (in addition to traditional network attackers)
Protection for outsourced middleboxes 2 Protect session data from middlebox infrastructure (in addition to traditional network attackers) Middlebox Software R/W access Client Middlebox Infrastructure Server R/W access No access R/W access Everyone Else No access
mbTLS targets two common- case, real-world needs Immediate deployability 1 Interoperate with one legacy endpoint Protection for outsourced middleboxes 2 Protect session data from middlebox infrastructure (in addition to traditional network attackers)
A first approach: pass primary session key over secondary TLS session Primary TLS Connection Secondary TLS Connection Supports legacy endpoints ✔ Data and keys visible in RAM ✗
An aside: Intel SGX Secure Execution Environment 1 Program code, data, and stack encrypted. Remote Attestation 2 Prove to remote party that is working. 1
A first approach: pass primary session key over secondary TLS session Primary TLS Connection Secondary TLS Connection Supports legacy endpoints ✔ Data and keys visible in RAM ✗
mbTLS protects session data and keys using SGX Primary TLS SGX Enclave Connection TLS Handshake + Attestation Supports legacy endpoints ✔ Data and keys encrypted in RAM ✔
On-path middleboxes can be discovered “on-the-fly” ClientHello + MiddleboxSupportExtension ServerHello [ ] MiddleboxAnnouncement MbtlsEncap + MboxHello
Per-hop keys provide path integrity and data change secrecy Original session key “bridges” client- and server-side middleboxes.
Evaluation What overheads does mbTLS 1 introduce? From SGX? From crypto? Is mbTLS immediately deployable ? 2 Will existing network devices drop mbTLS handshake messages?
Enclave 2 No Enclave (Gbps) Throughput 10 8 6 4 0 Record Size (Bytes) 12K 8K 4K 2K 1K 512 SGX doesn’t have much impact on I/O+compute-intensive workloads
Server Computation mbTLS (3 server mboxes) 0.0 mbTLS (1 server mbox) TLS (no mbox) Time (ms) mbTLS (2 server mboxes) Server 2.5 2.0 1.5 1.0 0.5 mbTLS adds some handshake CPU overhead on the server TLS mbTLS mbTLS mbTLS no mbox 1 mbox 2 mbox 3 mbox
mbTLS’ handshake protocol changes are deployable today ?? Drop handshake? No handshakes were dropped. 11 university 56 hosting 6 enterprise networks networks networks 34 residential 35 19 colocation data center networks networks networks 2 mobile 1 77 public unlabeled networks network networks
David Naylor Carnegie Mellon And Then There Richard Li University of Utah Were More: Christos Gkantsidis Microsoft Research Secure Communication for More Than Two Parties Thomas Karagiannis Microsoft Research Peter Steenkiste Carnegie Mellon
Recommend
More recommend