1 / 42

Anon-Pass: Practical Anonymous Subscriptions

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.

jhunt
Download Presentation

Anon-Pass: Practical Anonymous Subscriptions

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Media Subscriptions Unlimited access subscriptions

  3. Let’s build a service X ♫♪♬♩ ♫ ♪♩♬ ♫♪ ♩♬ 1234… ♪♩♬ ♫♪♩♬ ♫♪♩♬ ♬♪♫♩ ♪ ♫♪♩♬ ♫♪♩♬ 1234… ♫♪♫♩♪♩ 2345… Sharing Resistance(admission control)

  4. They are collecting information about you.

  5. Anonymous Media Accesses can’t be correlated Song 2 Song 1 time 1234… 8720… Unlinkability

  6. Linked accesses could deanonymize users Access patterns for enough timecould help deanonymize clients The Netflix Prize dataset[Narayanan, Shmatikov 2008] Social networks[Narayanan, Shmatikov2009]

  7. 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

  8. AnonymousMusic Service Straw Man ♫♪♬♩ ♫ ♪♩♬ ♫♪ ♩♬ ♪♩♬ ♪ ♫♪♩♬ ♫♪♩♬ 1234… ♬♪♫♩ ♫♪♩♬ ♫♪♩♬ 8720… ♩ 7964… 8739… ♫ 1910… Unlinkabilitybut not sharing resistance 2372… 3141…

  9. 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

  10. 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

  11. How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?

  12. 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

  13. 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)

  14. High LevelProtocols Register Get a blinded signature on a secret Login Prove the token used the signed secret(in zero knowledge)

  15. AnonymousMusic Service Song 2 Song 1 t–1 t t+1 t+2 time PRF (t) PRF (t+2) 1234… 8720…

  16. 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…

  17. 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

  18. 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)

  19. 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

  20. 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

  21. 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

  22. 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)

  23. Re-Up helps balance this tension Short epochs means less waitbetween unlinkable actions Re-Up instead of Login reduces server load

  24. 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

  25. How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?

  26. 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

  27. System Architecture my laptop subscription service Application Server Client Application ♪

  28. System Architecture my laptop subscription service Application Server Client Application Authentication Server ♪ User Agent

  29. System Architecture my laptop subscription service Application Server ♪ Client Application Gateway Authentication Server 3rd partyservice User Agent

  30. 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

  31. AuthenticationServer Purpose: enforce sharing resistance Job: Verify tokens and token uniqueness Record active tokens Runs on the service oras a 3rd party

  32. 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

  33. How? How is Anon-Pass built? How is Anon-Pass used? How does Anon-Pass perform?

  34. 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

  35. Crypto Cost  Other  Verify milliseconds 7.8x Faster

  36. Music ServiceScaling HTTP server to stream music15 second epoch Add clients until we run out of resources Used 10 client machines

  37. Music ServiceScaling Login Only vs. Anon-Pass Steady 12,000 Clients 8,000 Clients  Login Only % CPU 6,000 Clients Anon-Pass Time

  38. AnonymousSubway Pass Problem: Need to rate limit between swipes A long epoch can simulate that timeout t+1 t But sharing is still possible…

  39. 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

  40. 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)

  41. Anon-Pass Practical – efficient enough to scale Flexible – works with different services Deployable – minimizes service changes

More Related