doc update
This commit is contained in:
parent
1dda1b27a8
commit
6a42d261f1
53
doc/meow.tex
53
doc/meow.tex
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
The \textffm{Meow} protocol is a privacy driven instant messaging protocol.
|
The \textffm{Meow} protocol is a privacy driven instant messaging protocol.
|
||||||
That protocol might be used for creating secure and distributed chat services or allowing machine to machine communication.
|
That protocol might be used for creating secure and distributed chat services or allowing machine to machine communication.
|
||||||
This document describes the services provided by the protocol, the messaging structures and the transport protocols that might be used.
|
This document describes the services provided by the protocol.
|
||||||
\begin{quote}
|
\begin{quote}
|
||||||
|
|
||||||
\centering
|
\centering
|
||||||
@ -43,7 +43,7 @@ The server requires very few ressources and will run on any low cost single boar
|
|||||||
\textffm{Meow} also provides an anonymizing transfer service very similar to the Tor Onion protocol, we call it the Matriochka protocol.
|
\textffm{Meow} also provides an anonymizing transfer service very similar to the Tor Onion protocol, we call it the Matriochka protocol.
|
||||||
Any server can be used for building the transfer chain.
|
Any server can be used for building the transfer chain.
|
||||||
Some of them might be marked as trusted.
|
Some of them might be marked as trusted.
|
||||||
Random delays might be set for each forwarding step, making the overall message tracking much more difficult, even with a global network survey.
|
Random delays and random payload padding might be set for each forwarding step, making the overall message tracking much more difficult, even for organizations having capabilities of global network surveillance.
|
||||||
It is strongly advised to use trusted servers as your first node and message server (the one that holds your incoming messages).
|
It is strongly advised to use trusted servers as your first node and message server (the one that holds your incoming messages).
|
||||||
|
|
||||||
\subsubsection{Presence protocol for direct messaging}
|
\subsubsection{Presence protocol for direct messaging}
|
||||||
@ -54,7 +54,7 @@ If that flag is set, your encrypted IP will be published on the server, allowing
|
|||||||
\subsubsection{Peer based privacy settings}
|
\subsubsection{Peer based privacy settings}
|
||||||
You might define specific communication privacy preferences for each of your contacts:
|
You might define specific communication privacy preferences for each of your contacts:
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item simple server based communication allowed for Joe,
|
\item simple server based communication allowed for Sarah,
|
||||||
\item preferred direct communication with Julian, fallback to my own server,
|
\item preferred direct communication with Julian, fallback to my own server,
|
||||||
\item required matriochka protocol for Edward, first node is one of my trusted servers, my message node is my own server, randomly switch from trusted server lists for others.
|
\item required matriochka protocol for Edward, first node is one of my trusted servers, my message node is my own server, randomly switch from trusted server lists for others.
|
||||||
\item ...
|
\item ...
|
||||||
@ -110,7 +110,7 @@ Well, that option offers a few advantages :
|
|||||||
\item no social network algorithm will select people that think/behave/vote/eat... just like you. Diversity makes a better world;
|
\item no social network algorithm will select people that think/behave/vote/eat... just like you. Diversity makes a better world;
|
||||||
\item a smaller community of users, skilled enough to operate a \textffm{Meow} chat app... that might provide a first filter;
|
\item a smaller community of users, skilled enough to operate a \textffm{Meow} chat app... that might provide a first filter;
|
||||||
It's a bit like in the early ages, when people had to be able to start a win98 computer, connect it to internet, then download and install ICQ...
|
It's a bit like in the early ages, when people had to be able to start a win98 computer, connect it to internet, then download and install ICQ...
|
||||||
If you lost some time in social networks, and experienced ICQ in the 2000's, you'll understand.
|
If you lost some time in social networks today, and experienced ICQ in the 2000's, you'll understand what we'd like to revive.
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Identities and keys}
|
\section{Identities and keys}
|
||||||
@ -136,7 +136,7 @@ The Ekp might be changed anytime by its owner and the new public key will be sen
|
|||||||
A contact conversation Lookup Key Pair(Lkp) is also associated with your conversation. The Lkp public key is used to identify your conversation on a server.
|
A contact conversation Lookup Key Pair(Lkp) is also associated with your conversation. The Lkp public key is used to identify your conversation on a server.
|
||||||
The private key allows you to sign your request and prove the server that you are the legitimate recipient for a message.
|
The private key allows you to sign your request and prove the server that you are the legitimate recipient for a message.
|
||||||
This Lkp can be changed anytime by its owner and the new public key will be sent along the last message.
|
This Lkp can be changed anytime by its owner and the new public key will be sent along the last message.
|
||||||
The Lkp and the Ekp are only changed once the change has beeen acknowledged by your contact.
|
The Lkp and the Ekp are only changed once the change has been acknowledged by your contact.
|
||||||
|
|
||||||
\subsection{Server identity}
|
\subsection{Server identity}
|
||||||
Each server has a Server key (Skp). That key allows you to cypher the messages that you're sending to the server.
|
Each server has a Server key (Skp). That key allows you to cypher the messages that you're sending to the server.
|
||||||
@ -175,49 +175,44 @@ TODO
|
|||||||
\subsection{Synchronization messages}
|
\subsection{Synchronization messages}
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
\section{Transport protocols}
|
|
||||||
\subsection{URLs}
|
|
||||||
Server urls do define the protocol used for communicating with the server.
|
|
||||||
Some of the protocols will be described hereafter, but that list is not exhaustive and might be extended in the future.\\
|
|
||||||
Examples of a valid url:
|
|
||||||
\begin{verbatim}
|
|
||||||
http://myserver.com
|
|
||||||
https://user:pass@myauthenticatedserver.net:8443
|
|
||||||
mqtt://mymqttserver:6203
|
|
||||||
udp://myudpserver.org:41325
|
|
||||||
serial://dev/ttyS0
|
|
||||||
\end{verbatim}
|
|
||||||
|
|
||||||
\subsection{HTTP/S}
|
|
||||||
TODO
|
|
||||||
|
|
||||||
\subsection{UDP}
|
|
||||||
TODO
|
|
||||||
|
|
||||||
\subsection{Internetless alternative routing}
|
|
||||||
TODO
|
|
||||||
|
|
||||||
\section{Server Features}
|
\section{Server Features}
|
||||||
\subsection{Server catalog}
|
\subsection{Server catalog}
|
||||||
Each server will cache a list of all the servers that it is aware of.
|
Each server will cache a list of all the servers that it is aware of.
|
||||||
|
This server list will be shared between servers in a lazy exchange mode.
|
||||||
|
|
||||||
\subsection{Antispam}
|
\subsection{Antispam}
|
||||||
|
|
||||||
\subsection{Self defense}
|
\subsection{Self defense}
|
||||||
|
The servers do integrate self defense mechanisms. Any threat to the \textffm{Meow} network by any computer,
|
||||||
|
computer group or organization, might result in a distributed response from volunteering \textffm{Meow} servers and clients.
|
||||||
|
An information about threat, desired defense action and request for assitance, might be submitted by any server or group of servers.
|
||||||
|
Server owners and client users might accept or refuse to participate to the response action.
|
||||||
|
|
||||||
|
TODO : Request and actions definition consensus mechanism
|
||||||
|
|
||||||
|
|
||||||
\section{Backup}
|
\section{Backup}
|
||||||
\section{Recovery}
|
\section{Recovery}
|
||||||
|
|
||||||
\section{Very secure devices}
|
\section{Very secure devices}
|
||||||
You don't trust your phone ?
|
You don't trust your phone ?
|
||||||
|
We're planning to provide very secured minimal devices dedicated to very sensitive \textffm{Meow} communication.
|
||||||
|
|
||||||
\section{Roadmap}
|
\section{Roadmap}
|
||||||
\subsection{Nations}
|
\subsection{Nations}
|
||||||
Beyond the scope of user directories, we plan to implement the concept of virtual Nations.
|
Beyond the scope of user directories, we plan to implement the concept of virtual Nations.
|
||||||
|
Nation will allow people to regroup around common political funding values.
|
||||||
|
They're not exclusive, you might be a citizen of several virtual nations.
|
||||||
|
|
||||||
Today still, most people don't really choose the nation they live in.
|
Today still, most people don't really choose the nation they live in.
|
||||||
|
You just have to live with the goverment decisions.
|
||||||
|
In the best scenario that government was elected, and might represent at most 25\% of the population.
|
||||||
|
In most case, they will vote laws to satisfy the powerful people who supported their election, and the most powerful lobbies.
|
||||||
|
|
||||||
|
\textffm{Meow} Nations aim to be the next lobbying power to influence real life politics, "the poor man's lobby".
|
||||||
|
|
||||||
|
Virtual nation in that perspective will be probably quickly flagged as terrorist nation by the old world media, but well,
|
||||||
|
one man's terrorist is another man's freedom fighter.
|
||||||
|
If requiring more democracy, using the same technique that is preventing it from happening, has to qualified that way, so be it.
|
||||||
|
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
Loading…
Reference in New Issue
Block a user