MSc Dissertation: "Secure File Sharing in JXTA Using Digital Signatures", by Erita Skendaj
The work presented in this dissertation thesis describes a step by step procedure on how to build a secure file sharing mechanism in JXTA, a universal platform independent Peer to Peer (P2P) environment. Digital Signatures are chosen as the soundest tool towards ensuring authenticity and integrity of shared files in a hybrid P2P environment. This paper pictures the P2P paradigm in its whole complexity; describes known successful implementations such as Gnutella and notorious ones, such as Napster; points out P2P power and limitations and puts a special focus on security as one of the most crucial up to date challenges of P2P systems. JXTA is introduced as an innovative P2P protocols suite aiming ubiquity and interoperability in the P2P world. Basic JXTA entities and protocols are explained to ensure the audience comprehends the platform structure and functionality prior to delve in intricacies of file sharing and security mechanisms. The project developed during the thesis preparation uses JXSE, the Java implementation of JXTA and reuses CMS as a an early realization of Content Management System by the community, but which does not support security out of the box. After a detailed analysis of JXTA Security library and evaluation of various security schemas, this thesis proposes a new security model for sharing files in CMS. When peers join a custom JXTA group, they are equipped with a set of (public, private) key pair. Each peer appends its digital signature, generated by its private key, to the files it is sharing. When other peers want to verify the authentication and integrity of the file, they need to verify the file against the digital signature by using the source peers’ public key. The model supports a service for one peer to retrieve the public key of another peer. Several use cases of the model are implemented, tested and documented in this thesis together with important code fragments. Designing the architecture and workflow of such system was a multifaceted process dealing with several concerns in parallel, such as understanding the complex JXTA protocol, poor documentation of JXSE libraries and sometimes not supported back compatibility of newer libraries. As a conclusion, a post analysis of the model is carried out indicating the flaws of the model and possible improvements to it in the future. An enterprise version of the system is considered and possible arguments that should be taken into account during deployment are depicted.
For the full version of the thesis contact Erita Skendaj at: firstname.lastname@example.org