Enhancing Security and Privacy of Tor’s Ecosystem by using Trusted Execution Environments
Seongmin Kim, Juhyeng Han, Jaehyeong Ha, Taesoo Kim *, Dongsu Han
1
Enhancing Security and Privacy of Tors Ecosystem by using Trusted - - PowerPoint PPT Presentation
Enhancing Security and Privacy of Tors Ecosystem by using Trusted Execution Environments Seongmin Kim , Juhyeng Han, Jaehyeong Ha, Taesoo Kim *, Dongsu Han * 1 Tor anonymity network Tor: the most popular anonymity network for Internet
1
2
* from Onionview, https://onionview.codeplex.com/
3
* from Onionview, https://onionview.codeplex.com/
4
* from Onionview, https://onionview.codeplex.com/
5
* from Onionview, https://onionview.codeplex.com/
6
Plain-text TLS channel TLS channel TLS channel
Processing Unit : Cell (512 Bytes)
7
Plain-text TLS channel TLS channel TLS channel
Processing Unit : Cell (512 Bytes)
8
Plain-text TLS channel TLS channel TLS channel
Processing Unit : Cell (512 Bytes)
9
Directory authorities
10
Directory authorities
11
Directory authorities
12
Directory authorities
13
[Security09, CCS11]
[LEET11]
descriptors [S&P13]
[Security15]
CCS12, S&P13]
S&P13]
14
Plain-text TLS channel TLS channel TLS channel
Bandwidth 20MB/s 150MB/s
Inflated!
Processing Unit: Cell (512 Bytes)
15
Plain-text TLS channel TLS channel TLS channel
16
OS (untrusted) Application (untrusted)
edit
17
Middle
18
Middle
19
(Enclave Page Cache) Encrypted
Cell
20 20
Application Enclave
Quoting Enclave
Application Challenger Enclave Attestation Verification
EPID key Ephemeral
EPID group key (Create QUOTE)
QUOTE
21
Mitigated by recent SGX research: Moat [CCS16], SGX-Shield [NDSS17], T-SGX [NDSS17]
OS (untrusted) Application (untrusted) Enclave CPU A powerful network-level adversary : out-of-scope TCB : Enclave + CPU package
22
Enclave memory SSL Library Attestation Module Sealing Module Seals/unseals private data Integrity check with remote host Tor code/data (Core)
Crypto/TLS operations
System Call
23
Enclave Creation SSL Library Attestation Module Sealing Module Seals/unseals private data Integrity check with remote host Tor code/data (Core)
Crypto/TLS operations Enclave memory
Enclave initialization
OCALL/ECALL Wrapper Standard Library (glibc) Tor code/data (Untrusted) SGX Runtime Library Application memory
Request system services
System Call
24
Enclave Creation SSL Library Attestation Module Sealing Module Seals/unseals private data Integrity check with remote host Tor code/data (Core)
Crypto/TLS operations Enclave memory
Enclave initialization
OCALL/ECALL Wrapper Standard Library (glibc) Tor code/data (Untrusted) SGX Runtime Library Application memory
Request system services
Sanity checking
25
Plain-text TLS channel TLS channel TLS channel
Directory authorities Malicious relay (modified Tor)
scanning
consensus document Advertised BW
Inflated!
26
Plain-text TLS channel TLS channel TLS channel Directory authorities Malicious relay (modified Tor)
scanning
consensus document Advertised BW
Inflated!
27
Plain-text
Circuit establishment Cell creation Encryption/Decryption Onion/SSL key creation Enclave Enclave Enclave Cell Circuit descriptor Private keys TLS channel TLS channel TLS channel
access 1. Circuit identifier 2. Cell header 3. Private keys modify the code 1. To modify/inject cells 2. To inflate bandwidth
28
Directory authority Tor relays Expected hash Admit (match success) Attestation fail (not SGX-enabled) Attestation fail (bad hash)
Enclave Enclave
Enclave
Nickname: OR1 Nickname: OR2 Nickname: OR3 Consensus document (modified)
name: OR1 BW: 20MB/s fingerprint: ….
29
Entry Middle Exit
Enclave Enclave Enclave Enclave
Enclave Enclave
Enclave Enclave
30
31
– SGX CPUs: Intel Core i7-6700 (3.4GHz) and Intel Xeon CPU E3-1240 (3.5GHz) – Configuration: 128MB Enclave Page Cache (EPC) – Running Tor in Windows, Firefox as a Tor browser (in the client proxy) – Establish a private Tor network using chutney
32
TCP/IP header Visible Visible Visible TLS-encrypted bytestream Visible Visible Visible Cell Visible Not visible Not visible Circuit ID Visible Not visible Not visible Voting result Visible Not visible Not visible Consensus document Visible Not visible Not visible Hidden service descriptor Visible Not visible Not visible List of relays Visible Not visible Not visible Private keys Visible Not visible Not visible
33
0.2 0.4 0.6 0.8 1 250 500 750 1000
Cummulative Prob. Time-to-first-byte (ms)
10MB 100MB 30 60 90 120 HTTPS HTTP HTTPS HTTP
Throughput (Mbps)
File Size (MB) client server Entry (KAIST) Middle (Cloud)
Exit (Gatech)
<Evaluation environment>
: SGX-Tor : Original Tor
11.9% degradation (on average) 3.9% additional latency
Enclave Enclave
0.2 0.4 0.6 0.8 1 1 2 3
Cummulative Prob. Hidden Service Throughput (Mbps)
34
0.2 0.4 0.6 0.8 1 50 100 150
Cummulative Prob. Webpage Loading Time (s)
: SGX-Tor : Original Tor
3.3% degradation 7.4% additional latency
SGX-Tor : 13.2s Original : 12.2s SGX-Tor : 1.30Mbps Original : 1.35Mbps
35
Advertised bandwidth * Middle selection Probability Network I/O bandwidth per second
: SGX-Tor : Original Tor
Fast Stable
* From https://collector.torproject.org/
36