29. Dezember 2008

25C3: DECT

Category: CCC — Christian @ 18:26

In der Agenda stehen nur Ralf-Philipp Weinmann, Andreas Schuler, Erik Tews, auf der Bühne saßen sie jedoch zu viert und erklären uns, wie DECT funktioniert. Für diesen Vortrag habe ich mich kurzfristig entschlossen. Leider ist auf ihrer Webseite deDECTed.org noch nichts online.

Vorläufer von DECT sind CT1(+) und CT2. CT1 und CT1+ darf ab 01.01.2009 nicht mehr verwendet werden, da die Frequenzen für GSM reserviert sind. DECT wird praktisch überall verwendet, in Schnurlostelefonen, Wireless ISDN, Babyfon, Notrufen, Türöffnungssystemen, schnurlosen EC-Kartenleser und sogar Verkehrsleitsysteme (u.a. von Siemens). Vermutlich gibt es über 30 Millionen DECT-Endgeräte in Deutschland.

Typische Kürzel:

  • FP – Fixed Part (Basisstation)
  • PP – Portable Part (Handgerät)
  • RFPI – Radio Fixed Part Identity (Identifikationsnummer)
  • IPUI – International Portable Users identity (Nummer des eingewählten Geräts)
  • DSC – DECT Standard Cipher (geheim)
  • DSAA – DECT Standard Authentication Algorithm (geheim)
  • UAK – User Authentication Key

DECT ist standardisiert im ETSI Standard 300175, verwendet GFSK Modulation und nutzt in Europa die Frequenz 1880-1900 MHz. Das DECT-Protokoll mit A- und B-Feld erinnert ein wenig an ISDN und den D- und B-Kanal. Das Telefon sendet nicht im Idle-Mode (keine Funkaktivität!), synchronisiert sich mit der Basisstation und initiiert die Verschlüsselung. Bei einem Gespräch wird der aktuell beste Kanal (wenig Rauschen, keine Aktivität) verwendet.

Sniffen ist nicht so einfach, da die Stationen nicht synchronisiert sind. Viele Pakete enthalten keine Adressen, die Zuordnung ist daher nur über Kanal und Slot möglich, das durch die fehlende Synchronisation erschwert wird. Außerdem ist nicht bekannt, in welchem Kanal und Slot ein Endgerät anfängt zu senden. Zum Descrambling der Pakete muss zusätzlich die Framenummer bekannt sein, ein Problem wenn Frames verloren gehen.

  • USRP DECT Sniffer, kann alle Pakete aller Kanäle sniffen jedoch nicht senden. Insbesondere ist das Time-Multiplexing ein Problem. Kosten ca. 1000 Euro.
  • ComOnAir II DECT Sniffer, als Basisstation für SIP gedacht. Kosten ca. 23 Euro. Kommt jedoch nur mit Windows-Treiber. Linux-Treiber Entwicklung ist knifflig, da der Baseband-Chip ein spezieller DECT-Chip ist, der nirgendwo sonst verwendet wird.
  • ComOnAir III Karte ist etwas größer, hat eine LED, kann zerlegt werden. Kernchip ist ein SC14421.

Wenn keine Verschlüsselung aktiv ist, kann man DECT ganz einfach mitsniffen und damit Gespräche abhören und aufzeichnen. Dafür genügen Standard-DECT-Geräte. Wenn Verschlüsselung aktiv ist, dann wird es etwas komplizierter. Man muss eine Basisstation simulieren und mit dem Telefon unverschlüsselt kommunizieren. Die Gespräche relayed man dann an die eigentliche Basisstation. Das funktioniert, weil sich das Netzwerk nicht am Endgerät authentisieren muss. Das erinnert mich an die IMSI-Catcher im GSM-Netz, die machen das ganz genauso. Ein klassischer Man-in-the-Middle Angriff mit Rouge Basestation.

DECT setzt einen geheimen Algorithmus zur Verschlüsselung ein, DSAA. Praktisch besteht das aus vier Algorithmen, A11, A12, A21 und A22, die reverse engineered wurden. Das ist schon sehr cool 🙂 Die Details führe ich hier nicht auf, die kann man später sicher noch nachlesen. Die Cryptanalysis hat mehrere Schwächen im Algorithmus gezeigt, insbesondere für rundenreduzierte Versionen des Cassable-Algorithmus, die volle Version ist jedoch noch nicht gebrochen. Die Cryptanalysis wird im Detail auf der CT-RSA 2009 vorgestellt, Source Code in Java und C ebenfalls.

Ein weiterer Angriffspunkt sind die verwendeten Zufallszahlengeneratoren, die in allen untersuchten Geräten schlecht waren. Hier bietet sich ein weiterer Ansatz, die Verschlüsselung zu brechen

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 23. Februar 2009 @ 09:52

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.