Tokenring zusammen mit Koordinator finde ich ein wenig "komisch". Tokenringe sind ja extra dafür da, dass man keinen zentralen Koordinator braucht. Je nach deiner gewünschten Systemarchitektur würde ich entweder einen Master einsetzen, der alle Slaves pollt (imho nich so schön), oder allen Knoten das Senden erlauben und CSMA/CD einsetzen.
Weiterhin würde ich mich ein wenig am OSI-Modell orientieren und die einzelnen Aspekte der Datenübertragung in entsprechende Layer verpacken. So kannst du dich immer um ein Problem alleine kümmern/adressieren. Falls du später noch andere Übertragungskanäle hinzu nimmst, ist deine Software auch besser wiederverwendbar.
Zum Thema AES:
-du bräuchtest dafür ja einen zentralen Schlüssel => wenn dir mal ein Knoten abhanden kommt (z.B. Aussenthermometer), dann ist das gesamte System komprommitiert und du musst an allen Knoten den Schlüssel ändern
-Schlüsselweitergabe: Wie? Per Hand an den Knoten, oder per Software über Funk (unsicher)
Wenn du verschlüsselst, dann besser Asymmetrisch. Broadcasts fallen dann allerdings aus . Alternativ natürlich Schlüsselübergabe asymmetrisch und dann gemeinsam symmetrisch. Ist aber ein riesen Aufwand. Vor allem, die Algorithmen sicher zu implementieren.
Deswegen solltest du überlegen, ob die Nachrichten wirklich geheim, oder "nur" gesichert sein müssen.
Viel einfacher ist es, die Nachrichten zu signieren und so die Integrität derselben sicherzustellen. So kann jeder Knoten überprüfen, ob eine Nachricht wirklich legitim, oder von außen in das System eingebracht worden ist (Stichwort Türöffner ;D).
Man könnte z.B. ein Challenge-System einsetzen, mit dem sich die Knoten untereinander authentifizieren können. Nur sone Idee, da gibt es noch tausend andere Möglichkeiten.
Auf jeden Fall hast du dir da ein interessantes Aufgabengebiet rausgesucht. Ich wünsche dir viel Spaß beim rumexperimentieren und lernen!
Lesezeichen