Was ist der Zweck von Beechat über das Internet? #
Beechat ist großartig in seinem Kernziel: Bereitstellung sicherer Kommunikation über Funk. Dies wird jedoch natürlich getrennte Mesh-Netzwerke oder „Inseln“ in verschiedenen Regionen schaffen.

Um mit einem Benutzer in einer anderen „Mesh-Insel“ zu kommunizieren, haben wir ein Gateway-System entwickelt. Ein Gateway ist ein mit dem Internet verbundener Beenode, auf dem Lokinet mit einer statischen Loki-Adresse läuft. Lokinet ist ein Onion-Routing-Netzwerk, das Ihre IP-Adresse verbirgt. Wir verwenden Lokinet, um die Notwendigkeit von IP-Adressen zu ersetzen, die nicht nur weniger sicher sind, sondern sich auch häufig ändern (z. B. nachdem ein Router heruntergefahren wurde).
Verbinden mit einem Gateway #
Gateway Beenodes senden alle 60 Sekunden ihre Lokinet-Adresse (L) und eine Nonce (N). Neue Beenodes finden die Gateways und signieren die L + N-Broadcast, senden sie dann zusammen mit dem öffentlichen Dilithium-Schlüssel des Beenodes an das Gateway zurück, dies ist die returnMessage. Die Nonce fungiert als Authentifikator, da es sich um eine nur einmal verwendete Nummer handelt, akzeptiert das Gateway dieselbe returnMessage nicht zweimal. Dies verhindert, dass der Angreifer Beenodes die returnMessage eines ursprünglichen Beenodes wiederholt. Außerdem akzeptiert ein Gateway nur returnMessages mit einer Nonce, die weniger als 10 Minuten alt ist. Ein Gateway muss dabei nur jeweils 6 Nonces speichern.
Veröffentlichung auf Kademlia DHT #
Nachdem das Gateway einen signierten (L+N) und öffentlichen Dilithium-Schlüssel erhalten hat, verifiziert das Gateway den signierten (L+N). Wenn das Ergebnis die korrekte Lokinet-Adresse des Gateways sowie eine Nonce ist, die es vor weniger als 10 Minuten verwendet hat, hasht das Gateway den öffentlichen Dilithium-Schlüssel, um die Beechat-Adresse (BA) des Beenodes zu erhalten.
Der BA wird als verwendet
<Schlüssel> | <Wert> |
Beechat-Adresse #1 | Öffentlicher Dilithium-Schlüssel Nr. 1; signiert (Lokinet-Adresse + Nonce) #1 |
Beechat-Adresse #2 | Öffentlicher Dilithium-Schlüssel Nr. 2; signiert (Lokinet-Adresse + Nonce) #2 |
Beechat-Adresse #x … | Öffentlicher Dilithium-Schlüssel #x; signiert (Lokinet-Adresse + Nonce) #x |
Da Gateways ihre Lokinet-Adresse und einmal alle 60 Sekunden übertragen, wird das Ergebnis Ihres BA als Schlüssel die aktuellsten Gateway-Informationen zurückgeben (besonders wichtig, wenn Sie unterwegs sind).
End-to-End-Kommunikation zwischen reinen Funk-Beenodes über Gateways #

Wenn R1 , das in Europa ansässig ist, mit R4 in Amerika kommunizieren möchte, verwendet R1 zwischengeschaltete Relais, in diesem Fall R2 , um zuerst Gateway G1 zu erreichen. Es fragt G1 nach den Informationen von R4 , indem es die Beechat-Adresse von G1, R4 sendet. G1 antwortet mit der <Wert> er empfängt beim Polling das DHT mit BA as< Schlüssel> . G1 gibt die Informationen an R1 zurück.
Jetzt hat R1 die Gateway-Loki-Adresse von R4 und den öffentlichen Dilithium-Schlüssel. Diese Informationen können verwendet werden, um Nachrichten an R4 zu senden. Dadurch können Beenodes ohne Internet kommunizieren, indem sie das nächstgelegene Gateway erreichen, das dank der Loki-Adresse weiß, wie es das nächstgelegene Gateway zu R4 erreichen kann, in diesem Fall G2 .