Die allererste Anmeldenachricht eines Kindes an den Elternknoten ist somit ein offensichtlicher Angriffspunkt. Nach Empfang dieser MLE-Parent-Request-Nachricht extrahiert der Router die Sequenzzahl aus dem Key-Source-Feld. Dieser Wert wird mit der internen Sequenz abgeglichen:
In jedem Fall wird wenigstens eine AES-CCM-Operation durchgeführt.
Deshalb kann ein Angreifer mit einer Verbindungsanfrage sehr einfach den HMAC-SHA256 oder AES-CCM auslösen. Bei HMAC-SHA256-Ausführung sind Anfragen mit unterschiedlicher Sequenzzahl als in der MLE-Einladung notwendig, bei AES-CCM ist die selbe Sequenzzahl erforderlich.
Die Kryptografie wird durch Standard-Netzwerkmechanismen extern ausgelöst.
Unter Auslösung der HMAC-Funktion genügt die Anzahl der Eingangsbytes jedoch nicht, um dem MasterKey direkt zu extrahieren (Bild 2). In der HMAC-Nachricht ist nur die Sequenzierung veränderlich, der Angreifer kontrolliert exakt diese vier bytes. Aus k1 und k2 können MLE- und MAC-Schlüssel, jedoch nicht der MasterKey extrahiert werden. Dieser kann aber indirekt aus dem ThreadKnoten gewonnen werden. Zur Extraktion von k1 und k2 wird die Kompressionsfunktion F(k1,m) betrachtet.
Das vier byte-Eingangswort wird in erster Iteration mit konstanten aber unbekannten Bytes des internen Zustandes gemischt. Damit kann aus einer modularen Addition die Beziehung zwischen den vier unbekannten aber konstanten 32-bit-Worten gelernt werden. Ohne hinreichende Kenntnis der Daten oder einer entsprechend großen Zufallsbasis endet der Angriff an dieser Stelle.
Ein aufwendiger Vorlageangriff ist dennoch denkbar.
Der AES CCM-Modus wird auf Routern oder REEDs mit der richtigen Sequenzierung in einer MLE-Parent-Request ausgelöst. Bild 3 zeigt den typischen Eingangsblock für die zwei AES-CCM-Phasen AES-CBC und AES-CTR. Die konstanten Eingangsbytes sind in Hexadezimaldarstellung repräsentiert, variable bytes sind grau markiert.
Die ersten Eingangsblöcke im CBC- und CTR-Modus ähneln einander stark. Das erste Eingangsbyte ist für Flags reserviert und deshalb fixiert. Die letzten drei Eingangsbytes sind ebenso fest. Ein vorangestelltes byte spezifiert das Sicherheitslevel (0x05). Analog zur IEEE 802.15.4 MAC-Ebene zeigt dieser Wert Kodierung und Authentifizierung mit 4-byte-Code (MIC). Bei AES-CBC zeigen die letzten beide bytes die Eingangstextlänge, bei AES-CTR den Zählerstand (Startwert 1). 8-byte-Sender-MAC-Adresse und 4-byte-Zähler sind dabei variabel. Mit variabler Länge der MLE-Parent-Request wird auch das letzte byte veränderlich. Allerdings kann dessen Manipulation einen Alarm für unerwartet hohen Netzwerkverkehr auslösen.
Zur Erlangung des 16-byte-Schlüssels sind drei Angriffsrunden nötig, da nicht alle AES-bytes kontrolliert werden. Der temporäre Schlüssel wird nach Jaffe [4] auf Basis der konstanten Eingangsbytes berechnet.