Zurück in der anfänglichen Situation wurden die Geräte gerade aus dem Flugzeug abgeworfen, und müssen nun die Herausforderung meistern, sich an unbekannten Orten mit unbekannten Nachbargeräten zu orientieren und mittels Authentifizierung und Verschlüsselung eine sichere Kommunikation einzurichten. Dazu gehen wir davon aus, dass alle gelandeten Geräte mit Node Key und Network Key ausgestattet sind. Es wäre ihnen also problemlos möglich, Ende-zu-Ende verschlüsselt mit der Basisstation zu kommunizieren, oder Broadcast-Nachrichten in das Netzwerk zu verschicken. Für die verschlüsselte Kommunikation in Clustern oder zu individuellen Nachbargeräten besteht die Schwierigkeit nun darin, Cluster Keys und Link Keys nach der Landung zu etablieren. Hierzu existieren verschiedene Vorgehensweisen, wir haben uns in diesem Fall für die Nutzung von Kurzzeit-Masterschlüsseln entschieden.
Die Idee hinter diesem Begriff ist, dass neben Node und Network Key noch ein dritter Kurzzeit-Masterschlüssel vorinitialisiert wird. Dieser Schlüssel wird ausschließlich in der ersten Phase des Netzwerk-Betriebs genutzt, in der sich die Geräte gegenseitig kennenlernen und weiteres Schlüsselmaterial austauschen. Dieser Prozess funktioniert folgendermaßen:
- Neighbor Discovery: Mit der Landung startet jedes Gerät einen Timer. Dieser gibt ein Initialisierungs-Zeitfenster vor, in welchem neue Geräte entdeckt werden können. Zu diesem Zweck beginnen die Geräte, HELLO-Nachrichten zu versenden. Empfängt ein anderes Gerät eine HELLO-Nachricht beantwortet es diese mit einer Bestätigung (ACK).
- Schlüsselaustausch: Da beide Geräte den Masterschlüssel kennen, können sie sich unter dessen Benutzung gegenseitig authentifizieren. Dies geschieht mit Hilfe einer pseudozufälligen Funktion, welche die Identität des Gerätes mit dem Masterschlüssel verknüpft. Das empfangende Gerät kann den Masterschlüssel aus der enthaltenen Nachricht nicht extrahieren, die Authentizität aber unter Benutzung des Masterschlüssels verifizieren. Aus den ausgetauschten Nachrichten kann schließlich ein gemeinsamer Link-Key berechnet werden.
- Vernichtung des Masterschlüssels: Sobald der Timer abläuft, beenden die Geräte das Senden von HELLO-Nachrichten und Bestätigungen. Letztlich wird der Masterschlüssel gelöscht.
Sicherheitsbetrachtung: Die Sicherheit dieses Verfahrens basiert auf der Annahme, dass die gerade gelandeten Geräte sind alle in einem vertrauenswürdigen Zustand befinden und die benötigten Schlüssel in einer sicheren Umgebung vorinitialisiert wurden. Diese Annahme ist plausibel, da dem Hersteller von Geräten gewöhnlich als vertrauenswürdig angenommen wird. Außerdem wird angenommen, dass ein Angreifer, der sich potenziell in örtlicher Nähe der Geräte befindet, mindestens die Zeitspanne des initialen Timers benötigt, um ein oder mehrere Geräte zu infizieren und in den Besitz der Schlüssel zu gelangen. Wird der Timer in der Größenordnung weniger Sekunden oder Minuten gewählt, ist auch diese Annahme belastbar. Dem Angreifer bietet sich in diesem Fall keine Möglichkeit die Initialisierungsphase zu infiltrieren, da er keine Kenntnis des Kurzzeit-Masterschlüssels hat. Gelingt es ihm nach dem Ablauf des Timers Geräte zu befallen, wurde der Masterschlüssel bereits gelöscht und es können nachträglich keine Link-Keys berechnet werden. Es ist somit gelungen, einen sicheren Schlüsselaustausch mit den Nachbargeräten zu etablieren.
Sobald Link-Keys mit allen Nachbargeräten aufgesetzt wurden, lässt sich auch der Cluster-Key einrichten. Hierzu generiert das betrachtete Gerät einen neuen Schlüssel und sendet ihn, verschlüsselt mit den jeweiligen Link-Keys an all seine Nachbarn. Diese speichern den Cluster-Key für zukünftige Datenübertragungen ab.