In English

Rymd Distributed Encrypted Peer-To-Peer Storage

Robin Andersson ; Niklas Andréasson ; Johan Brook ; Robert Edström ; Johannes Ringmark
Göteborg : Chalmers tekniska högskola, 2014. 63 s.
[Examensarbete för kandidatexamen]

This thesis describes a cryptographically secured decentralized peer-to-peer file sharing system, bundled as a JavaScript developer library called Rymd. The thesis also includes an evaluation of current web technologies to determine if they are sufficient to implement such a system. The problem domain includes how to make the system secure, decentralized and modular using web technologies. Such a system would give control of traditionally centralized services, such as messaging or storage and sharing of files, back to users. By making the system highly modular, it achieves satisfying results in reliability and technical agnosticism with regards to underlying implementations. Alongside Rymd, a web application called Shuttle is developed, which injects default implementation modules of the core functionality in Rymd. IndexedDB is used for persistent data and key storage while peer-to-peer communication is achieved through WebRTC. Common cryptographic services such as encryption, decryption, signing are done through the Web Cryptography API. The Namecoin blockchain is used for storing user identities mapped to their public encryption keys, which in turn are used to verify peer identities. Even though this project succeeds with its goal of creating a client-side file sharing platform, the technologies used are in such a premature state that they currently can not fully satisfy security goals and usability. The authors of this report are confident that standards bodies and browser vendors will continue their work on bringing open web technologies up to a similar level of functionality as their native counterparts.

Nyckelord: peer-to-peer, distributed, cryptography, file sharing, JavaScript, IndexedDB, WebCrypto, Namecoin

Publikationen registrerades 2014-09-23. Den ändrades senast 2014-09-23

CPL ID: 203144

Detta är en tjänst från Chalmers bibliotek