ESP32-Projekt verbindet Retro-Computer verschlüsselt
Mit dem Projekt „Selectric-256“ hat der Entwickler Legionlabs einen verschlüsselten Chat-Adapter für Retro-Computer gebaut. Das eigentliche Endgerät benötigt dabei keinen eigenen Internetzugang. Die Netzwerkverbindung, der Schlüsselaustausch und die Verschlüsselung übernimmt ein ESP32.
Die Idee dahinter ist, die Netzwerkkommunikation vollständig vom angeschlossenen Rechner zu trennen. Der ESP32 verbindet sich per WLAN mit einem MQTT-Broker und darf ausschließlich mit einem vorher festgelegten zweiten Selectric-256 kommunizieren. Der PC selbst sieht lediglich eine serielle Schnittstelle. Der Entwickler nennt einen PDP-11 als mögliches Ziel.
Für die Kommunikation verwendet Selectric-256 MQTT. Dadurch ist kein eigener zentraler Dienst notwendig. Die beiden Geräte können öffentliche MQTT-Broker verwenden, alternativ lässt sich ein eigener Server betreiben. Die eigentlichen Nachrichten werden Ende-zu-Ende verschlüsselt. Nach dem Verbindungsaufbau handeln die beiden Geräte einen temporären gemeinsamen Schlüssel aus.
Anschließend verschlüsselt das System die Nachrichten mit AES-256-GCM. Zusätzlich wird ein Nachrichtenzähler mit übertragen, um das erneute Einspielen bereits versendeter Nachrichten zu erschweren. Zwei jeweils 32 Byte lange Kennungen dienen dazu, die beiden Geräte einander zuzuordnen und den Schlüsselaustausch zu authentifizieren. Für die eigentliche Verschlüsselung werden diese dauerhaften Kennungen bewusst nicht verwendet. Selbst wenn ein Angreifer später eines der Geräte erhält, lassen sich damit vorherige Sitzungen nicht nachträglich entschlüsseln.
Ganz ohne Schwächen kommt das Konzept dennoch nicht aus. Wer die im Gerät gespeicherten Kennungen auslesen kann, könnte sich gegenüber dem anderen Gerät als legitimer Gesprächspartner ausgeben. Außerdem lassen sich bei statischen MQTT-Kanälen Rückschlüsse darauf ziehen, wann und wie häufig bestimmte Geräte miteinander kommunizieren. Der Entwickler schlägt deshalb wechselnde Kanalinformationen vor.
Für Maker ist das Projekt vor allem deshalb interessant, weil die Hardware ausgesprochen überschaubar bleibt. Die Kosten liegen bei ungefähr 8 US-Dollar pro Gerät. Für ältere Computer gibt es zusätzlich eine Platine mit MAX232 und klassischer serieller Schnittstelle. Schaltplan, KiCad-Dateien und Gerber-Daten stehen auf der Projektseite bereit.
Die Firmware lässt sich über die Arduino IDE aufspielen. Für die Kommunikation mit dem Host-Rechner werden außerdem zwei Python-Beispieltreiber angeboten. Diese übernehmen die Konfiguration des ESP32, senden Steuerbefehle und holen eingegangene Nachrichten ab. Status-LEDs zeigen an, ob das Gerät konfiguriert ist, auf die Gegenstelle wartet oder bereits eine Verbindung aufgebaut hat.
Selectric-256 zeigt damit vor allem eine ungewöhnliche Möglichkeit, Verschlüsselung und Netzwerkzugang aus einem Rechner herauszuziehen und in ein separates Mikrocontroller-Modul zu verlagern. Interessant ist das insbesondere für Retro-Computer, experimentelle Terminals oder Systeme, denen man absichtlich keinen vollständigen Internetzugang geben möchte.
Wer lieber selbst Angreifer sein möchte, kann sich mit unserem Artikel zum mobilen Schwachstellen-Scanner mit Raspi ein Hacking-Gadget bauen.
KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.