Setup 1
Nodeless
Von Handy zu Handy. Das reicht für eine Gruppe, die zusammen unterwegs ist und sich gegenseitig in Funkreichweite hat. Ausser den Antennen braucht es nichts.
So funktioniert's
Die App schickt deine Nachricht per USB-C an die Antenne. Dort liegen die Schlüssel. Die Antenne verschlüsselt die Nachricht und funkt sie per LoRa. Ist der Empfänger zu weit weg, wiederholen andere OffGrid-Geräte den Funkspruch.
Ein Heltec WiFi LoRa 32 V3 steckt am USB-C-Anschluss. Darauf liegen deine Schlüssel.
Du tippst einen kurzen Text. Die App gibt ihn per USB an die Antenne.
Die Antenne verschlüsselt mit dem Schlüssel des Kontakts und sendet im 868-MHz-Band.
Andere OffGrid-Geräte wiederholen den Funkspruch, ohne ihn lesen zu können. Ein Zähler begrenzt die Weitergabe, standardmässig auf drei Hops.
Annas Antenne entschlüsselt und funkt eine Quittung von 16 Byte zurück. Beim Absender steht dann zugestellt.
Setup 1
Von Handy zu Handy. Das reicht für eine Gruppe, die zusammen unterwegs ist und sich gegenseitig in Funkreichweite hat. Ausser den Antennen braucht es nichts.
Setup 2
Liegt ein Berg dazwischen, hilft ein Node an erhöhter Lage, etwa auf einem Grat oder bei einer Hütte. Auch jedes andere OffGrid-Gerät in Reichweite gibt Funksprüche weiter. Doppelte Pakete erkennen die Geräte und verwerfen sie.
Funktionen
Sicherheit
Jede Nachricht ist mit AES-128-CCM verschlüsselt, mit eigenen Schlüsseln pro Kontakt und Richtung. Ändert unterwegs jemand ein einziges Bit, verwirft der Empfänger die Nachricht.
Im QR-Code stehen nur öffentliche Schlüssel. Daraus berechnen beide Antennen mit X25519 und HKDF dieselben Schlüssel. Gefunkt werden diese nie. Zum Schluss vergleicht ihr das Muster auf beiden Bildschirmen.
Identität und Kontaktschlüssel entstehen auf der Antenne und verlassen sie nie. Nach dem Einschalten ist sie gesperrt, bis das gekoppelte Handy sie mit einem Geheimnis aus dem Android Keystore entsperrt. Meldet sich das Handy eine Weile nicht, sperrt sie sich wieder.
Geräte, die Funksprüche weitergeben, können sie nicht lesen. Einen zentralen Server gibt es nicht.
Hardware
Als Antenne dient ein Heltec WiFi LoRa 32 V3 mit ESP32-S3 und dem LoRa-Chip SX1262. Er steckt per USB-C am Android-Handy. App und Antenne tauschen über die serielle Schnittstelle JSON-Zeilen aus.
Warum kein LoRaWAN? Dafür braucht es Gateways und einen Netzwerkserver. OffGrid nutzt nur das Funkverfahren LoRa und legt ein eigenes Protokoll für Verschlüsselung und Weiterleitung darüber.
Wie weit die Antenne reicht, hängt von Sichtverbindung, Gelände, Antenne und Wetter ab. Im Wald, in engen Tälern und in Gebäuden ist die Reichweite deutlich kürzer. Im 868-MHz-Band ist die Sendezeit begrenzt, deshalb sind Funksprüche kurz. Der Laborprototyp hält dieses Limit noch nicht automatisch ein.