COPS: P2P Sharing Controlled Project Proposal

advertisement
COPS: Controlled P2P Sharing
Project Proposal
CS 8803: Advanced Internet Applications and Development
Prof. Ling Liu
Group Members:
Beedkar, Kaustubh
kbeedkar@gatech.edu
Chawla, Pankaj
pankaj.chawla@gatech.edu
Kantawala, Kaushal
kaushal@gatech.edu
Shah, Hiral
hshah7@gatech.edu
mehul@gatech.edu
Sutariya, Mehul
Acknowledgments:
Myungcheol Doo
Peter Pesti
Motivation:
The explosive growth in the Internet in the last decade has resulted in an increase in the
use and popularity of online peer-to-peer (P2P) communities. P2P file sharing
communities like Gnutella, Lime wire etc. involve millions of users who interact daily to
transfer files among each other free of cost. The success of this type of a P2P community
relies on cooperation amongst all the peers in the community. However, peers are
anonymous and can act in their self-interests. This open and anonymous nature makes the
network difficult to police and vulnerable to a variety of attacks.
These attacks include:
•
infecting your computer with malicious code such as viruses, worms, trojan
horses, spyware and unwanted adware
•
•
•
illegal, harmful and child-inappropriate content
makes your computer more vulnerable to hacking and other intrusions,
allowing others to make your computer into a drone capable of attacking other
websites and servers,
Corrupted files or misrepresented content and sharing private files,
unintentionally, with others.
•
Existing approaches to solve this problem rely on reputation models based on credibility.
Another interesting and emerging trend is the current Web 2.0 trend of generating webbased communities and hosted services such as social networking sites, wikis and
folksonomies. File sharing through social networks enables users to explore their strong
and weak ties. Random connections in P2P networks are not even weak ties -- they are
random ties. Exploring the weak ties in your network is likely to give you access to more
relevant information/content than a random tie. People tend to associate with friends with
whom they share some common bond, and this common bond is likely going to result in
some shared tastes. By introducing concept of groups we might be restricting the amount
of information a user has access to as compared to worldwide centralized systems like
Napster but the quality of information that users will be much better and search will be
faster and results more relevant. Is having the world's largest, messiest and duplicated
library going to help you discover new items of interest? According to one study 45% of
the files found by popular keyword searches were infected with viruses. Perhaps these
groups can influence some change and shift users away from an attitude of "I'm looking
for this track!" attitude to a "What are my friends listening to?" attitude.
Related Work:
Retroshare[7] is a private and secure decentralized P2P communication platform. It lets
users share friend lists securely, using a web-of-trust to authenticate peers and OpenSSL
to encrypt all communication. RetroShare provides filesharing, chat, messages and
channels. It is also working on a similar line as ours in that it allows forming groups of
users and allowing file transfers between them but it doesn’t allow a global search
functionality.
There are other P2P architectures for content sharing like Limewire Kaaza, Bittorrent,
Ares, etc which are all the same in the aspect that none of these systems allow access
specifiers for files that are available. Thus, by default all the files are public and
accessible to everyone. Also users do not require to login and thus malicious users can’t
be identified.
Skype, a VOIP application is also based on P2P architecture. One of the main features of
the skype application is that it allows secured access in the system and thus each user has
a group of buddies to communicate with. However, this system lacks content searching
and sharing in P2P file systems.
Proposed Work:
We propose an architecture in which users can form groups and have some files shared
strictly among themselves. A user must log into the system first. The login information
will be maintained at a centralized authentication server. Users can become members of
more than one group. A group can be created by any user. The user can send invitations
to other users with whom they want to share data. Users can also search for groups and
request access to a particular group. Each file the user chooses to make available to the
P2P network will be classified as being in the public domain, group domain or private
domain. Files in the public domain will be accessible to all users. Files in the group
domain will only be accessible to the users who are members of that group. Files tagged
as private by a user will not be shared with any other user. Thus, by having groups of
users, we can ensure restricted access to files. As a result of this, the various risks
associated with downloading malicious by a user content can be minimized. In this
manner, we can create a trusted network of users eliminating threats from malicious
users.
Architecture:
Plan of Action:
We will be using the Lime Wire open source code for developing our system. Limewire
is developed in JAVA and has compatibility for all the platforms like Windows, Mac and
Linux. We plan to add following modules in the system.
1) Authentication Module: Our system will have an authentication mechanism where
the users would log into the system before sharing any files. This will be implemented
with the help of a centralized server (similar to Skype) in order to avoid duplications of
usernames. The centralized server will verify the login credentials of users.
2) Group Manager: The system would classify the content into three categories: public,
private and group. As the name suggests, the files in the public domain are shared with
everyone, the files in the group category are shared only with the members belonging to
that group and the files in the private category are private to the user. Therefore, when a
user searches for a file, the searching mechanism will look for the files in the public
category and also the files that belong to the users with whom he shares a group. One of
the main tasks of our system would be to modify the existing the searching module so
that a particular search covers all the aspects of controlled access to files. Either users can
invite others or members can request the owner for a group membership and mutually
agree to share everything in that group. We plan to implement this by associate a key
(perhaps in the form of <group,owner> ) with each group to incorporate multiple groups
with the same name.
3) Event Notification Module: When the owner invites someone to join his group, a
notification to the user is sent immediately if he is online or when he logs into the
application next time. Likewise when a user sends a request to the owner of a group the
owner receives the request next time he logs into the application.
4) Search Module: The search mechanism will be modified to searches for files across
the p2p network according to the tags associated with the files.
5) GUI: A graphical interface for the client will be built, which will display search results
with preview.
6) Encryption Module: This module is responsible for encrypting and decrypting login
credentials as well as data sent over the network.
Timeline:
No.
1
Assigned work
Literature Review
Week(s)
02/18 - 02/25
Participants
All
2
Studying design and code of
open source P2P architecture
02/26 - 03/03
All
3
Designing the system
03/04 - 03/10
All
4
Implementing the authentication
server and module
03/11 - 03/17
Pankaj, Kaushal, Hiral
5
Introducing access control
03/18 - 03/31
Mehul, Kaustubh
6
Modifying the search control
03/25 - 03/31
Pankaj, Hiral
7
Creating a GUI
04/01 - 04/07
Mehul, Kaushal
8
Integrating the modules
04/08 - 04/ 15
Pankaj, Kaustubh
9
Testing
04/16 - 04/20
Kaushal, Hiral
References:
[1] http://www.limewire.com/
[2] http://www.skype.com/
[3] Josiane Xavier Parreira, Debora Donato, Carlos Castillo, Gerhard Weikum
"Computing Trusted Authority Scores in Peer-to-Peer Web Search Networks"
http://airweb.cse.lehigh.edu/2007/papers/paper_108.pdf
[4] Robert Kaye "Next Generation File Sharing with P2P Networks"
http://www.openp2p.com/pub/a/p2p/2004/03/05/file_share.html
[5] Erez Elul "Focusing the use of the internet"
http://piletech.org/Focusing.html
[6] http://retroshare.sourceforge.net/
[7] P2P or Peer-to-Peer Safety, Privacy and Security.
http://www.ftc.gov/os/comments/p2pfileshare/OL-100005.pdf
Download