Social Networking with Frientegrity: Privacy and Integrity with an Untrusted Provider Prateek Basavaraj April 9th 2014 Social Networks Social Networking services require users to trust the service provider with Confidentiality and Integrity of Data University of Central Florida Threats to Confidentiality Theft by Hackers Hacker got access to accounts of Several prominent members Source: Federal Trade Commission Privacy Policy and setting changes Source: Electronic Frontier Foundation (2010) Pressure from government agencies to release information on demand Source: The wall Street Journal-Tech(2012) University of Central Florida Threats to Integrity Server Equivocation Malicious service presents different clients with the divergent views of system state Example: Sina Weibo tried to disguise its censorship of a user posts by hiding them from user’s followers but still showing them to user University of Central Florida Online Social Networks are Centralized Advantages: Global Accessibility Availability Convenience Disadvantages: Attractive targets for attack by malicious insiders and outsiders Threat to confidentiality and Integrity of user data University of Central Florida Frientegrity Framework for building Social Networking services Protects the privacy and integrity of users data from malicious provider Preserves the availability, reliability and usability benefits of centralization Supports social networking features like walls, news feeds, comment threads and photos Supports access control mechanisms such as friends, friends of friends and followers University of Central Florida Goals of Frientegrity Broadly Applicable : Must Support features like Facebook like walls, twitter like feeds Friend of friend relationships (like facebook) and follower relationships ( like twitter) Confidentiality: Frientegrity must ensure that Only clients of authorized users obtain the necessary encryption keys Detection of misbehavior: Frientegrity must guarantee that Clients must be able to detect the misbehavior of the users Efficient: Frientegrity should be scalable Access control list changes must be performed in time Display only most recent updates University of Central Florida Frientegrity Provider servers only see encrypted data Clients can also collaborate and verify the provider hasn’t corrupted University of Central Florida Detecting Server Equivocation Problem: Frientegrity clients digitally sign all the operations with their users private keys but malicious provider could still equivocate the history of operations Solution: Enforce fork* consistency Clients share information about their individual views of the history by embedding it in every operation they send Clients detect equivocation after exchanging two messages University of Central Florida Detecting Server Equivocation (Continued) Alice and Bob detect Equivocation after exchanging two messages University of Central Florida Frientegrity System Model Source: Usenix.org University of Central Florida Frientegrity System Model (Continued) Bob checks: Whether the provider has not equivocated about the wall’s contents Every operation was created by an authorized user The provider has not equivocated about the set of authorized users ACL is not outdated University of Central Florida Access Control Lists (ACL) User’s profile consists of multiple objects like photos, videos and comments Frientegrity uses ACL to allow only certain friends to access the objects ACLs store user’s pseudonyms and every operation is labeled with the pseudonym of its creator ACL – List of Permissions attached to an object University of Central Florida Access Control Lists (ACL) (Continued) Frientegrity also uses ACL’s to store the key material with which authorized users can decrypt the operations on walls and encrypt new ones Social Networks ACLs are large ACL modifications and associated rekeying must be efficient ACL Rollbacks: Situation where malicious provider give Bob an outdated ACL Solution: Operations in Alice’s wall are annotated with dependencies on Alice‘s ACL history particular operation in one object happened after a particular operation in another object University of Central Florida Frientegrity Object Representation Objects are represented as history trees Operations are stored in the leaves Each internal node stores the hash of the sub tree below it Hash of the root covers the tree entire contents New leaves can be added to the right side of the tree University of Central Florida Verifying Objects in Frientegrity Bob’s op Clients collaborate to verify the history Charlie’s op Alice’s op 0 8 4 C0 C4 University of Central Florida 11 C8 15 C11 Tolerating Malicious users in Frientegrity Tolerate up to f malicious users Bob’s ops Charlie’s ops Alice’s ops op15 op9 C11 C9 University of Central Florida Access Control Raj Thomas Bob Alice Charlie John Every node contains hash of the children and root node is signed by Alice University of Central Florida Efficient Key Distribution Ek3(k1) || Ek4(k1) KEY GRAPHS k0=kalice_friend Raj k0 Bob k1 Alice k3 Charlie k4 Thomas k2 John k5 Advantage : Allows any user who can decrypt the particular node can follow the path of decryption upto the root and obtain the root key to encrypt the data University of Central Florida Unfriend and Add friend in Frientegrity Alice ACL Raj k0 Raj k0’ Bob k1’ Alice k3 Charlie k4 Thomas k2 John k5 Bob k1 Thomas k2 Rahul k6 Alice k3 Charlie k4 John k5 Unfriend: Update k0’ and k1’ University of Central Florida Raju k7 Add friend: Update node Ek5(k2)|| Ek7(k2) Implementation Approximately 4700 lines of Java code Protobuf-socket-rpc library for network communication 2048- bit RSA spliced signatures – To sign and verify operations in batch Simulate basic Facebook features (user has wall and ACL) University of Central Florida Experimental Evaluation Single-Object Read and Write Latency Frientegrity HashChain Verifying an object with history size of 25K operations would take approximately 10s in hash chain and 6s in Frientegrity University of Central Florida Experimental Evaluation (Continued) Latency of ACL modifications: Latency of Fetching a News Feed: Fetching wall posts from 500 friends would require approximately 1.8 seconds University of Central Florida Strengths and Weakness Strengths: Frientegrity provides the much needed framework for privacy and integrity in social networking applications Clients collaborate to defend against equivocation Scalable and verifiable access control and key distribution Benefit from Centralization Weakness: Still uses untrusted third party infrastructure Future Work Development of business model that can support privacy-preserving services hosted with third party providers University of Central Florida Conclusion Provides data confidentiality and integrity Efficient, scalable and usable Detects server equivocation Efficient access control Provides satisfactory response times University of Central Florida References Social Networking with Frientegrity: Privacy and Integrity with an Untrusted Provider – Arial J Feldman, Aaron Blankstein, Michael J Freedman and Edward W. Felten Princeton University 21st Usenix Security Symposium Facebook Inc, Anatomy of Facebook University of Central Florida THANK YOU QUESTIONS? University of Central Florida