FriendShare: A secure and reliable framework for file sharing on network

https://doi.org/10.1016/j.jnca.2018.07.005Get rights and content

Highlights

  • A peer to peer file sharing system based on the concept of ‘friend of friend’ sharing.

  • Presents an improved reputation system and a weighted graph system.

  • Can handle collusion, Sybil attacks and selfish nodes.

  • Incorporates a caching system reducing the time for delivery.

  • Extensive simulation demonstrates the effectiveness of the proposed system.

Abstract

Peer to peer file sharing is an important application used extensively over the Web and is an important software component in managing data for sharing among users. Most of such systems use reputation system to measure the trustworthiness of a user. Reputation in most of such systems is generated by user's feedback only, which can be biased. Further, collusion at-tack, sybil attack and selfish nodes are the other main problems due to open environment of such systems. In this paper, we have proposed a system: FriendShare, to overcome such problems. FriendShare synergistically leverages the concept of “friend of friend” social network. In FriendShare, each node maintains list of friends and transactions will occur through friends. FriendShare includes a reputation system and a weighted graph system. It can also handle collusion, sybil attacks and selfish nodes. FriendShare also includes a proxy server ensuring complete anonymity in the network that enhances the freedom of speech. This system also incorporates a caching system reducing the time for delivery of file. The performance analysis of individual component has been performed. However, the main emphasis of the work is to get better performance for the overall system. Extensive simulation demonstrates the effectiveness of FriendShare.

Introduction

File sharing is an extensive application which can be deployed using client-server or peer to peer (P2P) architecture. Client server architecture uses a server which can be a single point of failure, since all the requests pass through that server. This architecture also has problems related to privacy of data. Peer to Peer networks may decrease the threat related of file tampering and increases the access control for users. But these networks are open, hence there are chances that some nodes may act selfish and ignores user's request for a file while downloading a lot of content from other users. Misbehaving nodes can distribute malicious files which can be further transferred by unsuspected users. These systems have a reputation value associated with various nodes. But, in this case also, some users can form a group and try to increase their reputation by fake transactions within the group, known as Collusion attack (Lian et al., 2007). One other attack known as Sybil (Yu et al., 2010) attack is another issue in such systems. In the Sybil attack, user creates fake accounts and increase their reputation by doing fake transactions between them. Higher reputation increases the probability of being chosen as server for a file. In addition, there may be some nodes which try to download many files but shares little called as Free riding nodes (Krishnan et al., 2004). These nodes reflect their selfish behavior resulting in selfish transactions. Collusion, Sybil and Selfish transactions are possible in P2P networks since it is difficult to detect the Collusion groups. The proposed system, we called it as FriendShare, uses a novel approach to restrict such transactions. It uses social network's (Ellisonet al, 2007) trust links for transactions. To overcome the shortcomings mentioned above, FriendShare consists of following components - Social Network, Query Manager, Reputation System, Weighted Graph System and Caching System.

FriendShare transfers file by finding path between client and server in the weighted social network graph by imposing conditions on the edges of the graph which helps in blocking malicious transactions. Further, reputation value is used to provide trusted server for a file. Caching system helps in reducing the query response time. Following are the contributions of proposed work:

  • FriendShare reduces the overhead of calculating reputation for each transaction. Reputation value will be computed only when file is found in non-friend users. But as the number of transactions increase, the chances for the file to be found among friends increases hence decreases the overhead for calculating reputation.

  • FriendShare uses weighted graph system along with reputation system that helps in eliminating Collusion groups, Sybil groups and Free-riders from the network.

  • FriendShare uses caching that reduces the number of hops required for fulfilling the query and also reduces the overhead of reputation calculation.

The remainder of this paper is arranged as follows. Section 2 presents the related work. Section 3 introduces the design of FriendShare. In Section 4, the performance of FriendShare is evaluated through simulation. Section 5 concludes this paper with discussion on future work.

Section snippets

Related works

This section presents the works reported in the literature similar to the presented work. Initially, the available works on reputation based file sharing systems is presented. Next, some of the caching scheme that can be used in such systems are presented.

Popescu (2004) proposed Turtle, which is a peer to peer sharing system that uses the concept of “friend of a friend”. Queries for searching and retrieving takes place through friends. This system states a protocol for searching and retrieving

Design of FriendShare

FriendShare leverages the concept of “friend of a friend” transactions where every transaction takes place between friends or through friends. FriendShare enables the tag based searching where user can search the file in the network and relevant files will be shown on the basis of tags. After choosing a file, it will be searched in the cache. If file is not present in the cache, then it will be searched among friends. Each user maintains the list of friends sorted by rank and any one of its

Dataset and simulation description

We conducted simulation to show the performance of FriendShare. Simulation is coded in Java and carried out on two desktops. One contains Intel Core i5-3230 CPU at 2.60 GHz and 4 GB Memory. Other contains Intel Core i7-3770 CPU at 3.40 GHz and 8 GB Memory. The experi-ment is performed in Windows 8.1 pro and Windows 7 Professional Operating Systems. Qi defines a file sharing system along with evaluation procedure. Most of the experimental evaluation procedures and parameters for FriendShare are

Conclusions and future work

FriendShare is a social network based file sharing system where each transaction takes place through friends. A mutual friend can vouch for two non-friend users, which creates the trust in the transactions. FriendShare has lesser reputation calculation overhead, enhanced reputation evaluation accuracy and the capability of preventing malicious transactions like Sybil attack, Collusion attacks and Selfish transctions. FriendShare-Reputation can be used in file sharing system to restrict

Acknowledgment

The authors are thankful to Digital India Corporation (formerly Media Lab Asia), Ministry of Electronics and Information Technology, Government of India, for grant under Visvesvaraya Scheme. We are thankful to the anonymous reviewers and the editor for their valuable comments, which really helped in improving the manuscript.

Abhinav Jain is currently working in IT Industry and has an experience of around 3 years in the Industry. He has completed Master of Technology in Information Technology and Bachelor of Technology in Computer Science and Engineering from Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Roorkee, India in 2015. His areas of interest include Software Engineering, Algorithms, Data mining, Social Networks and File Systems.

References (40)

  • S.D. Kamvar et al.

    The eigentrust algorithm for reputation management in p2p networks

  • R. Krishnan et al.

    The impact of free-riding on peer-to-peer networks

  • N. Leibowitz et al.

    Are file swapping networks cacheable? characterizing p2p traffic

  • J. Leskovec et al.

    Graph evolution: densification and shrinking diameters

    ACM Trans. Knowl. Discov. Data

    (2007)
  • Z. Li et al.

    Social-p2p: social network-based p2p file sharing system

  • Z. Li et al.

    Research of peer-to-peer network architecture

  • Q. Lian et al.

    An empirical study of collusion behavior in the maze p2p file-sharing system

  • N. Liogkas et al.

    Exploiting bittorrent for fun (but not profit)

  • P. G. V. Naranjo, Z. Pooranian, M. Shojafar, M. Conti, R. Buyya, Focan: a fog-supported smart city network architecture...
  • B. Popescu

    Safe and private data sharing with turtle: friends team-up and beat the system (transcript of discussion)

  • Cited by (2)

    • Performance based Risk driven Trust (PRTrust): On modeling of secured service sharing in peer-to-peer federated cloud

      2022, Computer Communications
      Citation Excerpt :

      Table 1 highlights some of the proposed trust and risk models for establishing trust in the cloud, using SLA, reputation, recommendation mechanism that forms the basis of this work. In SLA based trust models [99–103], the parameters to measure infrastructure and service performance, security and compliance, QoS, etc., are contracted between the cloud service provider and the consumer. The models provide mathematical techniques for collection, measurement and aggregation of these parameters to compute the trust for decision making [103–105].

    Abhinav Jain is currently working in IT Industry and has an experience of around 3 years in the Industry. He has completed Master of Technology in Information Technology and Bachelor of Technology in Computer Science and Engineering from Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Roorkee, India in 2015. His areas of interest include Software Engineering, Algorithms, Data mining, Social Networks and File Systems.

    Sandeep Kumar (SMIEEE' 17) is currently working as a Faculty in the Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Roorkee, India. He has supervised more than thirty master dissertations, about fifteen under-graduate projects. He has supervised three PhD thesis and is currently supervising four PhD students. He has published more than fourty research papers in international/national journals and conferences and has also written book/book-chapters with Springer (USA) and IGI Publications (USA). He has also filed patent for his work done along with his students. Dr. Sandeep is the member of board of examiners and board of studies of various universities and institutions. He has collaborations in industry and academia. He is currently handling multiple national and international re-search/consultancy projects. He has received NSF/TCPP early adopter award-2014, 2015, ITS Travel Award 2011 and 2013, Young Faculty Research Fellowship 2018 (MeitY, Govt. of India) and others. He is the Senior member of IEEE and the member of ACM. His name has also been enlisted in major directories such as Marquis Who's Who, IBC and others. He is also working/worked in collaboration with industries such as Adobe Research India Labs, IBM Systems, and others. His areas of interest include Semantic Web, Web Services, Multi-Agent systems, Software Engineering, and Social Networks.

    View full text