DarkChannel Protocol Specification
0. Motivation
It's 2016 - 3 years after Snowden - and many peoples still use old, insecure chat protocols from the 1990's. This has many reasons which may be debated. One of those reasons is that modern chat tools tend to be clumsy and one-to-one Messenger type of tools, mostly usable on mobile devices. Some of them provide secure communication and some of them provide group communication but - let's put it this way - most of those suffer from other problems, which we don't want to elaborate on.
DarkChannel tries to specify a modern, secure and trustworthy IRC-style protocol based on known secure building blocks without reinventing the wheel or trying to implement a new cryptographic system.
Some of the design goals of the new DarkChannel protocol are:
- Be cryptographic system agnostic
- Rely on known secure building blocks
- Don't reinvent the wheel and keep it simple
- Strict need-to-know policy between nodes
- Keep everything encrypted from end-to-end if possible
- Use onion cryptography where end-to-end is not possible
- Support direct group communication between clients
- Be as decentralized as possible
- Be centralized enough to perform well
- Decouple client identities from user identities
- Users must be free to choose when to present their identities