Personalized Pseudonyms for Servers in the Cloud
Qiuyu Xiao (UNC-Chapel Hill) Michael K. Reiter (UNC-Chapel Hill) Yinqian Zhang (Ohio State Univ.)
Personalized Pseudonyms for Servers in the Cloud Qiuyu Xiao - - PowerPoint PPT Presentation
Personalized Pseudonyms for Servers in the Cloud Qiuyu Xiao (UNC-Chapel Hill) Michael K. Reiter (UNC-Chapel Hill) Yinqian Zhang (Ohio State Univ.) Ba Backg kground Servers identity is not well protected with the normal HTTPS connection.
Qiuyu Xiao (UNC-Chapel Hill) Michael K. Reiter (UNC-Chapel Hill) Yinqian Zhang (Ohio State Univ.)
Server’s identity is not well protected with the normal HTTPS connection.
DNS query
Query name: www.example.com
IP TCP TLS/SSL Encrypted payload
IP address: 111.111.111.111 SNI: example.com Certificate subject name: example.com Pub key: E58B2C78…..
1
Server’s identity is not well protected with the normal HTTPS connection.
DNS query
Query name: www.example.com
IP TCP TLS/SSL Encrypted payload
IP address: 111.111.111.111 SNI: example.com Certificate subject name: example.com Pub key: E58B2C78…..
1
Real-world adversaries compromise user’s privacy.
2
Real-world adversaries compromise user’s privacy.
2
Real-world adversaries compromise user’s privacy.
2
3
4
5
non-cooperative cloud provider
5
Domain name is visible in TLS SNI field
5
DNS query
Query name: www.example.com
IP TCP TLS/SSL Encrypted payload
IP address: 111.111.111.111 SNI: example.com Certificate subject name: example.com Pub key: E58B2C78…..
Personalized Pseudonym for a Server in the Cloud (PoPSiCl)
6
DNS query
Query name: www.example.com
IP TCP TLS/SSL Encrypted payload
IP address: 111.111.111.111 SNI: example.com Certificate subject name: example.com Pub key: E58B2C78…..
Personalized Pseudonym for a Server in the Cloud (PoPSiCl)
6
DNS query
Query name: x…x.popsicls.com
IP TCP TLS/SSL Encrypted payload
IP address: 124.132.215.121 SNI: x…x.popsicls.com Certificate subject name: x…x.popsicls.com Pub key: AGJ46DM…..
Personalized Pseudonym for a Server in the Cloud (PoPSiCl)
6
DNS query
Query name: x…x.popsicls.com
IP TCP TLS/SSL Encrypted payload
IP address: 124.132.215.121 SNI: x…x.popsicls.com Certificate subject name: x…x.popsicls.com Pub key: AGJ46DM…..
Personalized Pseudonym for a Server in the Cloud (PoPSiCl) No extra client application!
6
DNS query
Query name: x…x.popsicls.com
IP TCP TLS/SSL Encrypted payload
IP address: 124.132.215.121 SNI: x…x.popsicls.com Certificate subject name: x…x.popsicls.com Pub key: AGJ46DM…..
Personalized Pseudonym for a Server in the Cloud (PoPSiCl) No extra client application! No proxy!
6
In the context of a client-server interaction …
7
www.example.com
8
www.example.com
9
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller Registration request
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Server Cert Server PriKey Client Cert Client PriKey PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Server Cert Server PriKey Client Cert Client PriKey Cloud PriKey Sign PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Server Cert Server PriKey Client Cert Client PriKey Sign PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Client Cert Client PriKey PoPSiCl Server Cert Server PriKey PoPSiCl PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Client Cert Client PriKey PoPSiCl Server Cert Server PriKey PoPSiCl PoPSiCl Pseudo IP
10
VM VM VM VM VM VM
PoPSiCl store DNS server SDN controller PoPSiCl Tenant server ID Client Cert Client PriKey PoPSiCl Server Cert Server PriKey PoPSiCl PoPSiCl Pseudo IP
10
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch)
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch)
Get PoPSiCl from the SNI field in TLS ClientHello message.
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6) Rule update
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP Tenant server ID PoPSiCl
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6) Rule update MATCH ACTION Source IP Source port Destination IP Destination port Client-IP Client-port Pseudo-IP Server-port Drop Tenant-IP Server-port Client-IP Client-port Change source IP to Pseudo-IP
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6) Rule update
Tenant server ID PoPSiCl
(7) TCP hand-off
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6)(8) Rule update (7) TCP hand-off
Tenant server ID PoPSiCl
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6)(8) Rule update (7) TCP hand-off
Tenant server ID PoPSiCl
MATCH ACTION Source IP Source port Destination IP Destination port Client-IP Client-port Pseudo-IP Server-port Change destination IP to Tenant-IP Tenant-IP Server-port Client-IP Client-port Change source IP to Pseudo-IP
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(2) DNS response: Pseudo IP (3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6)(8) Rule update (7) TCP hand-off
Tenant server ID PoPSiCl
MATCH ACTION Source IP Source port Destination IP Destination port Client-IP Client-port Pseudo-IP Server-port Change destination IP to Tenant-IP Tenant-IP Server-port Client-IP Client-port Change source IP to Pseudo-IP
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl (2) DNS response: Pseudo IP
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6)(8) Rule update (9) TLS (via SDN switch) (7) TCP hand-off
Tenant server ID PoPSiCl
11
DNS server SDN controller PoPSiCl Client Cert Client PriKey PoPSiCl Pseudo IP
(1) DNS query: PoPSiCl (2) DNS response: Pseudo IP
VM VM VM VM VM VM
PoPSiCl Server Cert Server PriKey SDN switch
(3) Pseudo IP (4) Forward (5) Establish TCP (via SDN switch) (6)(8) Rule update (9) TLS (via SDN switch) (7) TCP hand-off
Tenant server ID PoPSiCl Accept the connection only if the user can present a valid Client Cert
11
Cloud
Tenant server
12
13
13
13
13
4.1s 4.5s 17.8s 13
14
14
14
14
490.5 450.9 325.8 14
15
15
15
16
16
16
17
17
17