Sunday, August 21, 2011

Ad-hoc autonomous wireless network for mobile devices

Dictatorships, and oddly BART have practiced shutting down of cellular networks to quell protests and dissent. It is clear that something needs to be done to remove this powerful anti free speech weapon. I've thought about this all last week, but have no time to write the software, but I will outline it in hopes that someone will do it (or let me know if someone already has)

The network should use both Wifi, and Bluetooth technologies.
It will work in a fashion similar to how Samba systems "elect" the controller (within the software).
Simple "multicast" type messages will be used to find neighbors, and use a common messaging protocol that requires nothing other than a private IP address (
Network splits should be dealt with by having another intermediary relay messages between newly autonomous segments.
IP addresses should be randomly assigned in such a way that there will not be collisions between segments.. Address should use a class-A private address (10. etc).
All traffic destined to the internet should be encrypted by the sender with a destination to be safe-server somewhere in the world with stable government and free speech laws.
The server host will remain neutral, and ensure the secrecy of all encryption keys, with a complete revocation infrastructure incase of compromise.
Should one of the participating mobile devices suddenly get internet access, it should be immediately shared, and use adaptive throttling.
If multiple devices have access, a delegation system should be used to distribute the load.
Internet sharing should be mandatory, but with a pre-set limit of usage (eg. "I'll share up to 50MB of my connection when I get access")
Any queued messages (that would be distributed on the network for later delivery) will be delivered by at least two devices, if not all to ensure integrity.

A network working like this will de-fang any cut off of internet/cellular access, as participants will still be able to communicate among themselves. The technology we currently have is capable of doing this with no physical modifications, and a moderately sized application. The application will probably require root/su access to the device, as the device will have to switch to access point mode. Devices that are not capable of ad-hoc will be used as Wifi to BT proxies.

Make it fucking happen, now.


** Added:

... for information to start moving out to the internet should take nothing more than ONE node gaining internet access. Since all messages (outgoing, and a log of internal messages) will be distributed to ALL nodes, all messages should eventually see the light of day. In the case that the primary relay-to-internet server is taken down, there should be fall-back machines. Since the messages leaving the network will be encrypted there will need to be some kind of central repository.

It is important to note that local messages in the network (not with the final destination of the internet) will not be encrypted in the local network, only encrypted on their way out. This will disallow tampering. The key for encryption for distributed outbound messages will be encrypted with the senders key. It will also be important to have everyone informed that all messages will eventually see the light of day. Though they (the messages) should be anonymous, the eventuality of them being out in the open will allow, theoretically, for some self policing -- If a group is cut off from internet access, uses this software and is found out to have been coordinating some kind of violence, everyone will know.

I would suspect that the safe-server would use some kind of application that posts the messages to twitter and other similar places, but also replicates them to other machines (post-encryption) to ensure their "liberation".

Not only does this have the potential to deal with internet cut-offs, but also to deal with emergency situations where cell service is overwhelmed, or destroyed. The idea arose from my interest in the historic, and recent use of ham radio in catastrophic situations.

No comments: