A Cloud Based Privacy Preserving Decentralized Personalized Online Social Network
Total Page:16
File Type:pdf, Size:1020Kb
University of Nevada, Reno POSN: A Cloud Based Privacy Preserving Decentralized Personalized Online Social Network A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science and Engineering by Eric R. Klukovich Dr. Mehmet Hadi Gunes, Thesis Advisor May, 2016 THE GRADUATE SCHOOL We recommend that the thesis prepared under our supervision by ERIC KLUKOVICH Entitled POSN: A Cloud Based Privacy Preserving Decentralized Personalized Online Social Network be accepted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Dr. Mehmet Hadi Gunes, Advisor Dr. Frederick C. Harris, Jr., Committee Member Dr. Nicholas Seltzer, Graduate School Representative David W. Zeh, Ph.D., Dean, Graduate School May, 2016 i Abstract As more users opt to use Online Social Networks (OSNs) to interact with friends and family, the privacy of the user is a growing concern. The current OSN architecture forces the user to trust the social network provider with his or her content, which can lead to privacy issues and concerns. When designing a new OSN, it is critical to understand how users interact over OSNs in order to provide the users with similar functionality while maintaining efficiency and privacy. Decentralized server architec- tures are an alternative that provide more privacy to the user by giving the user direct control of his or her content. Storage and data availability are a major concern in a decentralized system due to the burden of supplying resources is typically placed on the user. Cloud storage can be used to remedy that issue because it is available, and many cloud providers offer a significant amount of free storage to their users. As the usage of mobile devices is constantly growing, mobile devices can be paired with the clouds to create a decentralized social network. Encryption mechanisms can be used to guarantee that only the proper users can access the content, therefore enhancing the privacy. In this thesis, POSN, Personal Online Social Network, is introduced and takes a new approach for a privacy-preserving decentralized OSN platform. POSN is an Android application that utilizes both cloud storage and mobile devices to enhance the user’s privacy. Symmetric and asymmetric encryption schemes are used to ensure data confidentially and provide fine-grain access control. A feasibility study was carried out to analyze the data transfer performance of the two popular social networks and five cloud storage providers to determine if clouds can be utilized to store and deliver content to users. The design of the POSN architecture is discussed in detail, including how the files in the system are structured. The implementation of the functionality available in POSN is also dicussed. ii Dedication I dedicate my thesis work to my parents, Richard and Nadia Klukovich, my twin sister Rachel Klukovich, and my girlfriend Sarah Key for always supporting and encouraging me to push myself to pursue my dreams. iii Acknowledgments I would like to thank Dr. Mehmet Gunes, Dr. Fred Harris, and Dr. Nicholas Seltzer for being on my committee and providing me helpful feedback. I would like to give a special thanks to Dr. Gunes for giving me the opportunity to do research and advising me throughout my undergraduate and graduate studies. I would also like to thank Dr. Harris for allowing me to use the resources and to socialize in the HPCVIS lab. I would also like to thank Esra Erdin for collaborating with me with the design of this thesis, Gurhan Gunduz for assisting with the cloud measurement analysis, and James Bridegum for the initial cloud measurements. Finally, I would like to thank my friends: Cameron Rowe, Christine Johnson, Daniel Chavez, and Matthew Van- Compernolle for supporting me and assisting me throughout my studies at UNR. This material is based upon work supported by the National Science Foundation under grant number EPS-IIA-1301726 and CNS-1321164. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation. iv Contents Abstract i Dedication ii Acknowledgments iii List of Figures vi 1 Introduction 1 2 Background 4 2.1 Social Networks . .4 2.1.1 Centralized Architecture . .4 2.1.2 Decentralized Architecture . .5 2.1.3 Challenges . .6 2.2 Libraries and APIs . .9 2.2.1 Android Operating System . .9 2.2.2 Social Network Connectivity . .9 2.2.3 Cloud Storage Connectivity . 10 2.2.4 Android Asynchronous HTTP Client . 14 2.2.5 JSON . 14 3 Cloud Measurements 16 3.1 Measurement Application . 16 3.2 Measurement Process . 19 3.3 Wi-Fi Measurements - Varying File Sizes . 20 3.4 Wi-Fi Measurements - Different Locations . 27 3.5 3G/4G Measurements . 33 3.6 Related Work . 34 4 Personal Online Social Network (POSN) Architecture 35 4.1 System Overview . 35 4.2 File Organization . 37 4.2.1 Owner Files . 37 4.2.2 Friend Files . 39 v 4.2.3 Group Wall Files . 39 4.2.4 Group Archive Files . 40 4.2.5 Temporary Comment Files . 40 4.3 Related Work . 41 5 POSN Application Implementation 44 5.1 Local Application Files . 44 5.2 POSN Functionality . 45 5.2.1 Initial Setup . 45 5.2.2 Unique ID Generation . 46 5.2.3 Friendship Establishment . 46 5.2.4 Access Control . 48 5.2.5 Content Sharing . 49 5.2.6 Content Access . 49 5.2.7 Friend File Update . 50 5.3 Application Interface . 50 6 Conclusions 55 7 Future Work 57 7.1 Cloud Measurement Study . 57 7.2 POSN Security Enhancements . 58 7.3 POSN Application . 58 Appendices 60 A Complete Cloud Measurment Results 60 A.1 Different File Size Results Per Location . 60 A.2 Different Location Results Per File Size . 67 A.2.1 Photo Files . 67 A.2.2 Video Files . 78 Bibliography 86 vi List of Figures 2.1 Example of a centralized social network architecture . .5 2.2 Example of a decentralized social network architecture . .6 2.3 Example of the Dropbox user authentication process . 11 2.4 An example of a JSON data structure definition for a list of wall posts. 14 3.1 Download time for different file sizes at a residential location (ISP 1) (log-log scale) . 21 3.2 Upload time for different file sizes at a residential location (ISP 1) (log-log scale) . 21 3.3 Download throughput performance for different file sizes at a residen- tial location (ISP 1) (log-log scale) . 22 3.4 Upload throughput performance for different file sizes at a residential location (ISP 1) (log-log scale) . 22 3.5 Average download time comparison for all locations with different file sizes (log-log scale) . 24 3.6 Average upload time comparison for all locations with different file sizes (log-log scale) . 24 3.7 Average download throughput comparison for all locations with differ- ent file sizes (log-log scale) . 25 3.8 Average upload throughput comparison for all locations with different file sizes (log-log scale) . 25 3.9 Average cloud and OSN time comparison with different file sizes (log- log scale) . 26 3.10 Average cloud and OSN throughput comparison with different file sizes (log-log scale) . 26 3.11 TCP slow start and congestion control process . 27 3.12 Download time for various locations with a 718.43 KB photo (log scale) 28 3.13 Upload time for various locations with a 718.43 KB photo (log scale) 28 3.14 Download throughput for various locations with a 718.43 KB photo (log scale) . 29 3.15 Upload throughput for various locations with a 718.43 KB photo (log scale) . 29 3.16 Download time for various locations with a 32 MB video (log scale) . 30 vii 3.17 Upload time for various locations with a 32 MB video (log scale) . 30 3.18 Download throughput for various locations with a 32 MB video (log scale) . 31 3.19 Upload throughput for various locations with a 32 MB video (log scale) 31 3.20 3G/4G download performance for different devices on different cellular providers . 33 4.1 Example of how the data owner (such as Alice) uploads data into her cloud and how friend content is fetched from the friend’s cloud . 36 4.2 Diagram for the POSN file system . 38 5.1 Friendship establishment process between two users . 47 5.2 Initial login screen . 51 5.3 Account creation . 51 5.4 Cloud access . 52 5.5 Key generation and group creation . 52 5.6 Posting new content . 53 5.7 Wall and notification tabs . 53 5.8 Messaging tab . 54 5.9 Friend list tab . 54 A.1 Download and upload time for different file sizes at the airport (log-log scale) . 60 A.2 Download and upload throughput for different file sizes at the airport (log-log scale) . 60 A.3 Download and upload time for different file sizes at the bookstore (log- log scale) . 61 A.4 Download and upload throughput for different file sizes at the book- store (log-log scale) . 61 A.5 Download and upload time for different file sizes at the cafe (log-log scale) . 61 A.6 Download and upload throughput for different file sizes at the cafe (log-log scale) . 62 A.7 Download and upload time for different file sizes at the library (log-log scale) . 62 A.8 Download and upload throughput for different file sizes at the library (log-log scale) . 62 A.9 Download and upload time for different file sizes at the mall (log-log scale) .