420 likes | 435 Views
Anonymous Subscriptions offers a practical and anonymous way to access media content through subscriptions. Enjoy unlimited access without the risk of correlation or deanonymization. Learn how Anon-Pass provides sharing resistance, unlinkability, and efficiency, making it a reliable and practical solution for media subscriptions.
E N D
Anon-Pass:Practical Anonymous Subscriptions • Michael Z. Lee†, Alan M. Dunn†, • Jonathan Katz*, Brent Waters†, Emmett Witchel† • † University of Texas at Austin • *University of Maryland
Media Subscriptions Unlimited access subscriptions
Let’s build a service X ♫♪♬♩ ♫ ♪♩♬ ♫♪ ♩♬ 1234… ♪♩♬ ♫♪♩♬ ♫♪♩♬ ♬♪♫♩ ♪ ♫♪♩♬ ♫♪♩♬ 1234… ♫♪♫♩♪♩ 2345… Sharing Resistance(admission control)
Anonymous Media Accesses can’t be correlated Song 2 Song 1 time 1234… 8720… Unlinkability
Linked accesses could deanonymize users Access patterns for enough timecould help deanonymize clients The Netflix Prize dataset[Narayanan, Shmatikov 2008] Social networks[Narayanan, Shmatikov2009]
But even if tokens are unlinkable… ♫♪♬♩ ♫ ♪♩♬ ♫♪ ♩♬ ♪♩♬ ♫♪♩♬ 1234… ♫♪♩♬ ♬♪♫♩ 141.212.15.125 128.83.122.105 ♫♪♩♬ ♫♪♩♬ 8720… 128.83.122.105 37.130.227.133 We assume clients are usinga network anonymity service
AnonymousMusic Service Straw Man ♫♪♬♩ ♫ ♪♩♬ ♫♪ ♩♬ ♪♩♬ ♪ ♫♪♩♬ ♫♪♩♬ 1234… ♬♪♫♩ ♫♪♩♬ ♫♪♩♬ 8720… ♩ 7964… 8739… ♫ 1910… Unlinkabilitybut not sharing resistance 2372… 3141…
How do we get both? Unlinkable Serial Transactions [Syverson et al. 1997] Sharing resistance, unlinkability but needs unbounded storage Anonymous Blacklisting Systems [Tsang et al. 2008] Sharing resistance, unlinkability but computationally expensive
And also be practical? Unlinkable Serial Transactions [Syverson et al. 1997] Sharing resistance, unlinkability but needs unbounded storage Anonymous Blacklisting Systems [Tsang et al. 2008] Sharing resistance, unlinkability but computationally expensive Anon-Pass Sharing resistance, unlinkability, and efficiency Example: over 12,000 concurrent clients
How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?
How is it built? Split up time into epochs Each user has a unique token for an epoch time 1234… t–1 t t+1 t+2 Each epoch allows a new, unpredictable token
How is it built? Split up time into epochs Each user has a unique token for an epoch time PRF PRF (t) 1234… <- t–1 t t+1 t+2 Each epoch allows a new, unpredictable token Use a pseudorandom function (PRF)
High LevelProtocols Register Get a blinded signature on a secret Login Prove the token used the signed secret(in zero knowledge)
AnonymousMusic Service Song 2 Song 1 t–1 t t+1 t+2 time PRF (t) PRF (t+2) 1234… 8720…
AnonymousMusic Service But songs don’t always fit in one epoch Song 1 t–1 t t+1 t+2 time PRF (t+1) PRF (t+2) PRF (t) 1234… 5629… 8720…
AnonymousMusic Service But songs don’t always fit in one epoch And these accesses are implicitly linked time t–1 t t+1 t+2 1234… 5629… 8720… Conditional Linkability
Accesses can be implicitly linked Baby+ 0sBaby+15sBaby+30s Baby+45s Baby+60s Baby+75s Baby+90s…. The service knows when thesame song is repeatedly accessed Client is implicitly linkedwhile accessing the same media And unlinkability coststhe service provider (and therefore harms the system)
Re-Up Our way of gettingconditional linkability Prove the current token andthe next token are linked Tradesunlinkability for efficiency But the client already lost unlinkabilitywhile accessing the same media
Re-Up is more efficient Login proves you should be allowed access Re-Up proves you logged in before Login takes 10 expensive operations Re-Up takes only 2
Using Login and Re-Up A client must Login to start a new song And Re-Up to continue playing the same song t–1 t t+1 t+2 time Re-Up Re-Up To be unlinkable again, the client must waituntil the next epoch
Epoch Lengths:Long vs. Short A short epoch means less time to be unlinkableAnd less delay between client actionsHappy Clients A long epoch means fewer client requestsAnd lower server loadHappy Server Choosing an epoch length depends on the service(e.g., 15 seconds for music, 5 minutes for movies)
Re-Up helps balance this tension Short epochs means less waitbetween unlinkable actions Re-Up instead of Login reduces server load
And Anon-Pass is formally proven Formal proof of security holds undertheDDHI assumption Formal proof of soundness holds undertheLRSW assumption Stated and proved in the paper
How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?
How could it be used? Anonymous Music Streaming Music download over normal HTTP 15 second epoch Unlimited-use Subway Pass NYC’s “unlimited” pass 6 minute epoch Account Proxy Multiplex accounts to news sites 1 minute epoch
System Architecture my laptop subscription service Application Server Client Application ♪
System Architecture my laptop subscription service Application Server Client Application Authentication Server ♪ User Agent
System Architecture my laptop subscription service Application Server ♪ Client Application Gateway Authentication Server 3rd partyservice User Agent
User Agent Purpose: minimize changes to client applications Job: Create Login and Re-Up requests Keep the user secret secure Modified VLC to anonymously stream (54 LoC) No modifications to support browsers
AuthenticationServer Purpose: enforce sharing resistance Job: Verify tokens and token uniqueness Record active tokens Runs on the service oras a 3rd party
Gateway Purpose: enforce access control with minimal changeto existing services Job: Prevent unauthorized access and responses Remove verification from the critical path Runs on the service as a front end server
How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?
Evaluation Environment quad-core 2.66 GHz Intel Core 2 CPU 8GB RAM1 Gbps network 10 client machine to evaluatethe streaming music service An HTC Evo 3D to evaluatethe anonymous subway pass
Crypto Cost Other Verify milliseconds 7.8x Faster
Music ServiceScaling HTTP server to stream music15 second epoch Add clients until we run out of resources Used 10 client machines
Music ServiceScaling Login Only vs. Anon-Pass Steady 12,000 Clients 8,000 Clients Login Only % CPU 6,000 Clients Anon-Pass Time
AnonymousSubway Pass Problem: Need to rate limit between swipes A long epoch can simulate that timeout t+1 t But sharing is still possible…
AnonymousSubway Pass Solution: Login and Re-Up at the same time Accesses during later epochs are linkable t–1 t t+1 t+2 time X
AnonymousSubway Pass Implemented as anAndroid application Clients Login and Re-Up twice (18 minute NYC policy) Takes only 0.2 seconds (on an HTC Evo 3D)
Anon-Pass Practical – efficient enough to scale Flexible – works with different services Deployable – minimizes service changes