Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No...

24
Proxychain: Developing a Robust and Efficient Authentication Infrastructure for Carrier-Scale VoIP Networks Italo Dacosta and Patrick Traynor

Transcript of Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No...

Page 1: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Proxychain: Developing a Robust and Efficient Authentication Infrastructure for

Carrier-Scale VoIP Networks Italo Dacosta and Patrick Traynor

Page 2: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

•  Finding the right balance between performance/scalability and security is a well-known challenge

•  Robust but computationally expensive security mechanisms are difficult to deploy in production environments – S-BGP, DNSSEC

•  Weaker but more efficient security mechanisms are generally broken and abused – WEP, IKE Aggressive mode

Performance, Scalability and Security

2

Page 3: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Another Example: SIP Authentication

•  Session Initiation Protocol (SIP) – Establishes, manages and terminates sessions

between two or more clients – Generally associated with VoIP

•  RFC 3261 recommends several security mechanisms: Digest authentication, SSL/TLS, IPsec and S/MIME

•  However, Digest authentication is typically the only one employed – Weaker but more efficient

3

Page 4: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

SIP Digest Authentication

-  Challenge-response authentication protocol

-  Based on cryptographic hash operations (MD5)

-  De facto authentication mechanism in SIP

4

Page 5: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

SIP Dialogs with Digest Authentication

5

INVITE

407 Response [realm, n]

INVITE [H(H(uid||realm||pwd)||n||H(method||URI) )]

uid

H(uid||realm||pwd)

INVITE

INVITE

407 Response [realm, n]

INVITE [H(H(uid||realm||pwd)||n||H(method||URI))]

uid

H(uid||realm||pwd)

INVITE

1

2

Request to DB always required

Page 6: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Problems with Digest Authentication

•  Inefficient in scenarios with a remote authentication service or database – RTT added to each authentication

operation – One request to the database per authenticated SIP message – High load in the database if it is shared by multiple SIP

servers

•  Considered a weak authentication protocol – E.g., No mutual authentication

6

Page 7: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Our Scenario: A Nationwide VoIP Provider

7

P = SIP Proxies DB = Authentication database

Page 8: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

0

5000

10000

15000

20000

25000

0 5000 10000 15000 20000 25000 30000 35000

Me

asu

red

Th

rou

gh

pu

t (c

ps)

Offered Load (cps)

No AuthenticationDigest Authentication

The Problem: Digest Authentication Performance in Our Scenario

8

≈ 24,000 cps (no auth.)

≈ 1,160 cps (Digest auth.)

Page 9: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Our Proposed Solution

•  Reduce the number of requests to the database by caching temporary authentication credentials in the proxies

•  Use hash chains to build these temporary credentials – Take advantage of hash chains

properties •  Caching Digest auth. credentials

reduces security!

9

Page 10: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Hash Chains Background

•  Sequence of one-time authentication tokens •  Created by applying a cryptographic hash

function to a secret value r multiple times

10

Hn(r) = H(…H(H(r))…)

Page 11: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Methodology

•  Design and implementation of new SIP authentication protocol: Proxychain

•  Experimental evaluation – Call throughput – Bandwidth utilization – CPU utilization

•  Results analysis

11

Page 12: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Proxychain Design Goals

•  Efficiency – Faster authentication operations

•  Scalability – Support larger number of users and proxies

•  Security – Provide more security guarantees

12

Page 13: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Proxychain SIP Dialogs

13

INVITE [nAP]

INVITE

A, P

Hl(tkA), l, nDA, nDP, tkP

407 Response [i, P, nDA, nDP, HMAC(tkP, nAP||i)]

INVITE [A, B, i, HMAC(tkP, A||B||i), Hi-1(tkA)]

INVITE

INVITE [nAP]

407 Response [i-1, P, nDA, nDP, HMAC(tkP, nAP||i-1)]

INVITE [A, B, i-1, HMAC(tkP, A||B||i-1), Hi-2(tkA)]

No request to DB is required

1

2

Secure Channel

Page 14: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Proxychain implementation

•  Modifications to proxy, database and client software – Implemented in C language – Relatively small when compared to

original code base •  Total credential size (MD5): 134 bytes

– Only ≈26 MB of proxy’s memory required for storing 200,000 users credentials

14

Page 15: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Experimental Setup

•  Planetlab for obtaining real RTT values

•  GT Emulab testbed for database and proxies – OpenSIPS for proxies – MySQL for the database

•  Nine high-capacity servers for generating SIP call traffic – SIPp as the SIP traffic generator

15

Page 16: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Results: Call Throughput

0

5000

10000

15000

20000

25000

0 5000 10000 15000 20000 25000 30000 35000

Measu

red T

hro

ughput (c

ps)

Offered Load (cps)

No AuthenticationDigest Authentication

Proxychain

16

≈ 24,000 cps (no auth.)

≈ 1,160 cps (Digest auth.)

≈ 19,700 cps (Proxychain)

Page 17: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Results: Database CPU Utilization

17

-20

0

20

40

60

80

100

120

140

160

180

0 100 200 300 400 500 600

MyS

QL %

CP

U u

tiliz

atio

n

Time (sec)

Digest authentication.Proxychain

DB saturation (dual core machine)

Page 18: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Results: Scalability

18

0

5000

10000

15000

20000

25000

3 4 5 6

Maxi

mum

usa

ble

thro

ughput (c

ps)

# of proxies

Digest authentication.Proxychain

y = 3243.9x + 416.5 R2 = 0.998

Page 19: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Results: INVITE and BYE Authentication

19

0

5000

10000

15000

20000

0 5000 10000 15000 20000 25000 30000 35000

Measu

red T

hro

ughput (c

ps)

Offered Load (cps)

Proxychain (INVITE)Proxychain (INVITE and BYE)

≈ 19,700 cps (INVITE)

≈ 12,000 cps (INVITE+BYE)

Page 20: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Discussion: Performance and Scalability

•  Proxychain reduces the effects of network latency, allowing higher call throughput

•  Lower load to the database allows more scalability and lower HW requirement

20

Page 21: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Discussion: Performance and Scalability

•  Hash chains allow constant storage space – Dynamic reprovisioning (future work)

•  Key assumption: each proxy caches most of its users’ credentials (>75%) – Pre-fetching mechanism – Cache eviction policies (future work)

21

Page 22: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Discussion: Security

•  Security improvements over Digest authentication and hash chain protocols – Efficient mutual authentication, additional

security verifications •  Protection against passive and active

attackers – Stealing credentials from a proxy does not

allow user impersonation (only affects mutual authentication)

22

Page 23: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Conclusions

•  Proxychain simultaneously provides a robust, scalable and efficient authentication mechanism for carrier-scale SIP providers without additional HW

•  Even non-carrier level infrastructures with centralized authentication service can benefit from Proxychain

•  The key concepts behind Proxychain can be applied to authentication protocols in other domains

23

Page 24: Proxychain: Developing a Robust and Efficient …...Measured Throughput (cps) Offered Load (cps) No Authentication Digest Authentication The Problem: Digest Authentication Performance

Georgia Tech Information Security Center

Questions?

Contact: [email protected]

24