Work in progress
- It's an *encrypted* short message gateway : email/web <- iridium constellation -> Somewhere on earth
- Each 50 character long messages can be 0.05 euros. Remember the SMS at the beginning ?
- Sat messenger is the satellite part of RBS project : Recovery Base Station, a cheaper and encrypted version of University of Berkeley "Rescue Base Station"
- There is a info website about this project
- Messages follow a predefined format : destinationemail text. Like : firstname.lastname@example.org I'm fine
"API" refers to rock7 API.
Somewhere to Internet via sat
Sending a message from somewhere, is called "Mobile Originated" (MO). Different possibilities are available for the "computer" connected to the sat modem.
- web form (python + twisted)
- command line tool "mo".
Once satellite constellation have forwarded the text to the ground, the API can send the text to an email or to a http POST server. Obviously sending directly to destination email defeat the purpose of privacy. So the "Mainserver" code can receive the API http POST, decrypt and email the text to destination. (python + twisted)
Internet to Somewhere via sat
It's the "Mobile Terminated case (MT). These programs make the http POST connection to the API
- web form (python + twisted)
- command line tool "mt".
- rock7 website, but with no encryption.
Like voicemails, to receive messages, one need to start a connection to satellite, ask for queued message and get them one by one.
- This project is based on "Short Burst Data" ("SBD"), text messages with a Iridium 9602 Modem + antenna.
- All in one version (antenna, modem) can be found at rock7.com. We own a Rockblock +
- Basic soldering skills are needed, no custom PCB here, yet.
Space stuff :
- We chose the Rockblock +, because of rugged, waterproof and wide alimentation choices (9-30V DC). It can run on a 9V battery, 12V car battery / sun panel,...
- USB RS232 serial DB9 adapter.
Small version :
- Raspberry Pi 1+
- tplink 703N to provide wifi (but gl.inet is a better choice now)
- a 12V to 5V converter.
Test computer version
- Raspberry based
- rock7 documentation is sometimes wrong. i.e serrial communication with the modem use actually the standart 0D 0A end of line.
- makersnake library is a great start for the python way. Altough some URL has changed and some script are not complete. Most of our end user code is heavily based on the awesome works makersnake published.
- Iridium SBD Messages are transmitted as is. So if you type clear text, it will be transmitted in... clear text. That's really sucks.
- In the RBS scenario, because a major event (earthquake,...), there is no possible communication other than the previous sat messages. We use some short stream ciphers and hash functions.
- To reduce cost, a specific encryption is used through the satellite infrastructure part. Of course, one can add final destinatio PGP to our code.
- There is probably better choice, but the goal was to encrypt, we welcome crypto experts to improve this part.