-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproject-goals.tex
More file actions
25 lines (17 loc) · 3.26 KB
/
project-goals.tex
File metadata and controls
25 lines (17 loc) · 3.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
\section{Introduction}
\subsection{Background on the Issue}
Over the past few years, there has been a shift towards decentralised services where protocols dictate how users interact with the system. This can be seen with Bitcoin, a decentralised currency based on cryptographic algorithms to ensure that only those following the protocol can use the system. In the world of anonymity, there is an increased interest in deanonymization attacks and they are becoming more common, through erosion of anonymisation technologies, social engineering or other means.
Prior to the project, when selecting a topic, a secure distributed anonymous social network was envisioned, however there was no existing framework that was suitable for purpose.
%\todo[inline]{High level diagram explaining this?}
\subsection{Project Goals}
This project offers a solution to the lack of distributed anonymous communications frameworks by proposing a P2P\footnote{Peer-to-peer, a type of decentralised topology.} data storage network that can be run on existing anonymous infrastructure. The storage network will remove centralisation risks by allowing anyone to contribute to the network's resources. The aim of the network is to allow time and space decoupled communications anonymously. Through this mechanism of communication, services will be able to store their state, therefore allowing parties to act on this state and insert a new state into the network that other parties can further use.
In this project, security refers to the CIA triad, that is, security is achieved with confidentiality, integrity and availability. Centralised services can be considered a single point of failure, which increases the possibility of an attack on availability. Centralised services that do not provide end-to-end encryption may also present issues for confidentiality and integrity. For this reason, centralising a service should be considered to decrease the security of a system.
While some storage networks focus on store-retrieve behaviour, where packets are placed into the network and then retrieved later with some knowledge of the packets' existence, this project focuses on send-receive behaviour, where packets are sent to identities for them to be received from the network later. This also allows for store-retrieve behaviour.
The network shall be designed to satisfy the properties:
\begin{enumerate}[topsep=-5pt,itemsep=-1ex,partopsep=2ex,parsep=1.5ex]
\item Users of the network cannot be identified
\item The contents of a packet can only be read by a recipient
\item The sender of a packet cannot be identified by anyone except a recipient
\item The recipient of a packet cannot be identified by anyone except the sender
\end{enumerate} \vspace{0.5ex}
The project has focused on the creation of two elements, the protocol for the network and an API to access it. The protocol is an abstract concept that describes how members of the network organise themselves, topologically speaking, and the rules behind communication. The API is a more concrete entity that implements the protocol to allow other applications to communicate using the network. While the API is more concrete, the aim is to keep it abstract and modular in places to allow any future development around the API to be as flexible as possible.