EnCore: Private, Context-based Communication for Mobile Social Apps Paarijaat Aditya 1, Viktor Erdelyi 1, Matthew Lentz 2, Elaine Shi 2, Bobby Bhattacharjee 2, Peter Druschel 1 Max Planck Institute for Software Systems (MPI-SWS) 1 University of Maryland 2 MobiSys 2014, 17 th June 2014, Bretton Woods, NH, USA 1
Mobile social apps Provide services based on users’ location, activity, nearby users Social discovery Discover relevant nearby users Social sharing Share content with nearby people 2 Social tagging Search and organize content by social context
3 You Julia Unknown Steve John Andy
4 You Julia Steve John Andy
5 Steve John Andy Julia
6 Steve John Andy Julia
Via short range radio Discover presence Exchange a key Implementing mobile social apps Via app provider 7 Info uploaded Location Activity Content Social profile Sensitive info shared with app provider Tracking via Bluetooth encrypted content shared via cloud
Requirements 8 EnCore Social Discovery Social sharing Secure encounters Events: groups of socially relevant encounters Secure communication between event members Search & organize content by events Social tagging Our previous work: SDDR [To appear: Usenix Security ‘14] This talk In the paper Background
SDDR - secure encounters Cryptographic handshake over Bluetooth 9 Produces a shared-key for each encounter or Encrypted with shared-key Secure discovery Selectively reveal identifiable info Power efficiency Untrusted channel Prevents tracking via Bluetooth Identify ‘friends’ while remaining anonymous to all others
Requirements 10 EnCore Social discovery Social sharing Secure encounters Events: groups of socially relevant encounters Secure communication between event members Search & organize content by events Social tagging
Identify relevant encounters using contextual information Context App 11 Encounters Location & Activity Calendar Events Time and Date Duration Known contacts Unknown In close proximity Further away Julia You Unknown Events: groups of socially relevant encounters Event 1 - discussion Event 2: stay at the cafe
Contextual info helps in identifying relevant encounters 12 discussion stay at cafe Discussion stay at the cafe ? Julia You Reading group Unknown Others at the Cafe
Requirements 13 EnCore Social discovery Social sharing Secure Encounters Events: groups of socially relevant encounters Secure communication between event members Search & organize content by events Social tagging
Secure communication within ‘Events’ Create a group key and a folder folder url + folder url + Julia Unknown shared key with “unknown” shared key with “Julia” 2. Encrypt with the group key and upload to the folder You During event creationWhile sharing documents folder url +
Requirements 15 EnCore Social discovery Social sharing Secure Encounters Events: groups of socially relevant encounters Secure communication between event members Search & organize content by events Social tagging In the paper
Evaluation – live deployments 4 deployments over 1 year ‘rooted’ devices running the Context app 35 researchers, up to 2 MPI-SWS and as the storage backend Integrated in the ‘share’ menu 16 MPI-SWS, Saarbrucken Context app
Usage 128 events, 400 posts Mostly photos and text 17 Types of events created Karaoke Lunch Bus ride Lecture Meetings “Free food!” Taking a break “Coffee anyone?” KVM bug – help! Reading group
Usage Users automatically resolved conflicts (multiple events for a single gathering) Conversations within events continued even after the actual gathering ended 18
User feedback 19 “Can I install it on my phone?” “Please integrate this with WhatsApp and Gmail!” “Can you make it automatically create events?” “I would rather share pics via this app, than to write an !”
Conclusion Mobile social apps introduce significant privacy challenges 20 EnCore: platform that enables rich mobile social apps while putting user in control of their privacy Users found it useful and found creative uses that we didn’t anticipate! mobilesystems.mpi-sws.org/encore
Backup slides 21
Sharing over individual encounters Past Encounter (EncounterID & shared-secret) Hi, I met you in the Cafe today. Here is the link to the video I mentioned. Message Encrypted with shared-secret to Query messages for A commercial disposable service 22
SDDR is optimized for power efficiency Handshake protocol is non-interactive Handshake info. encoded on Bluetooth low energy (BLE) advertisements 23 Device in sleep mode CPU asleep Broadcasting BLE adv. Device awake CPU awake Discovering BLE adv. Forming encounters Advertising rate: few secondsDiscovery rate: ~15 sec Diffie-Hellman for shared- secret Bloom filter for selective linkability SDDR’s BLE advertisement Adv