DECT-sniffing: Difference between revisions
(9 intermediate revisions by the same user not shown) | |||
Line 15: | Line 15: | ||
==== Logische Kommunikation ==== |
==== Logische Kommunikation ==== |
||
Grundsätzlich hat die Basisstation eine Meldepflicht gegenüber dem |
Grundsätzlich hat die Basisstation eine Meldepflicht gegenüber dem Handset. Dies bedeutet, dass es durch kontinuierliches Senden von kleinen Informationspaketen (engl.: Beacons) auf sich aufmerksam macht. Dieses Paket enthält Informationen zu seiner Identität (Radio Fixed Part Identity, RFPI), System-Eigenschaften, seinem Status und einige Paging-Informationen für eingehende Anrufe. Das Handset verhält sich die meiste Zeit über passiv, solange es nicht zu einem Kommunikationsversuch kommt. |
||
Für eingehende Anrufe initiiert die Basisstation die Kommunikation, indem es ein sogenanntes CC-Setup-Paket (Calling-Control) sendet. Die Informationen in diesem Paket enthalten u. a. die Identität des |
Für eingehende Anrufe initiiert die Basisstation die Kommunikation, indem es ein sogenanntes CC-Setup-Paket (Calling-Control) sendet. Die Informationen in diesem Paket enthalten u. a. die Identität des Handsets und die Anrufernummer. Im nächsten Schritt bestimmt das Handset über ein CC-Connect-Paket, auf welchem Kanal die Kommunikation stattfinden soll (dynamische Kanalwahl). Ist dies vollbracht, kann die Authentifizierung, Chiffre-Auswahl und die eigentliche Kommunikation stattfinden. |
||
Für ausgehende Anrufe sendet diesmal das |
Für ausgehende Anrufe sendet diesmal das Handset ein CC-Setup-Paket. Auch hier bestimmt das Handset, auf welchem Kanal kommuniziert werden soll. Die Basisstation antwortet mit einem CC-Connect-Paket. |
||
Die Kanalwahl erfolgt nach physikalischen Kriterien. Wenig Interferenz bedeutet eine höhere Güte. Aus Effizienzgründen erzeugt das |
Die Kanalwahl erfolgt nach physikalischen Kriterien. Wenig Interferenz bedeutet eine höhere Güte. Aus Effizienzgründen erzeugt das Handset mindestens alle 30 Sekunden eine interne RSSI-Liste (Radio-Signal-Strength-Indication) mit allen idealen Kanälen, auf die sie später bei der dynamischen Kanalwahl zurückgreift. Auch bei zwischenzeitlichen Störungen ist ein dynamischer Kanalwechsel möglich. |
||
== Sicherheitsarchitektur == |
== Sicherheitsarchitektur == |
||
[[Image:arch.jpg]] |
[[Image:arch.jpg|650px]] |
||
Die Sicherheitsarchitektur ist der einzige Bestandteil des DECT-Standards, der unter Verschluss gehalten wird. Der Einsatz dieser Sicherheit ist für Hersteller von schnurloser Technik nur über einen speziellen Vertrag gestattet, der zur Verschwiegenheit verpflichtet und keine weitergehenden Patentierungen erlaubt. Wissenschaftler und Mitglieder des Chaos Computer Clubs ist es jedoch gelungen, die DECT-Sicherheitsarchitektur durch Reverse-Engeneering und unter zur Hilfenahme eines Alcatell-Patents offen zu legen. |
Die Sicherheitsarchitektur ist der einzige Bestandteil des DECT-Standards, der unter Verschluss gehalten wird. Der Einsatz dieser Sicherheit ist für Hersteller von schnurloser Technik nur über einen speziellen Vertrag gestattet, der zur Verschwiegenheit verpflichtet und keine weitergehenden Patentierungen erlaubt. Wissenschaftler und Mitglieder des Chaos Computer Clubs ist es jedoch gelungen, die DECT-Sicherheitsarchitektur durch Reverse-Engeneering und unter zur Hilfenahme eines Alcatell-Patents offen zu legen. |
||
Die Architektur sieht an verschiedenen Stellen Schlüssel vor, die erstens für die Schlüsselallokation, zweitens für die Authentifizierung und drittens für die Verschlüsselung verwendet werden. Die Schlüsselallokation markiert in der Realität einen einmaligen Vorgang im Stadium der Montage, kann jedoch theoretisch beliebig wiederholt werden. Die Authentifizierung ist ein Sicherheitsmerkmal, dass jederzeit von beiden Geräten optional eingesetzt werden kann, sofern es vom Hersteller eingebaut wurde. Der Standard sieht jedoch mindestens eine Authentifizierung des |
Die Architektur sieht an verschiedenen Stellen Schlüssel vor, die erstens für die Schlüsselallokation, zweitens für die Authentifizierung und drittens für die Verschlüsselung verwendet werden. Die Schlüsselallokation markiert in der Realität einen einmaligen Vorgang im Stadium der Montage, kann jedoch theoretisch beliebig wiederholt werden. Die Authentifizierung ist ein Sicherheitsmerkmal, dass jederzeit von beiden Geräten optional eingesetzt werden kann, sofern es vom Hersteller eingebaut wurde. Der Standard sieht jedoch mindestens eine Authentifizierung des Handsets bei der Basisstation vor. Auch die Verschlüsselung ist ein optionales Merkmal, dass in der Realität nicht durchgängig eingesetzt wird. |
||
Das Bild zeigt die komplette Architektur, so wie sie in Basisstation und |
Das Bild zeigt die komplette Architektur, so wie sie in Basisstation und Handset verbaut sind. Trotzdem gibt es Bereiche, die aus logischer Sicht jeweils einem der beiden Geräte zugeordent sind. Der dunkelgrüne Bereiche dient der Basisstation (FP) zur Authentifizierung des Handsets (PP). Der hellgrüne Bereich dient der Authentifizierung der Basisstation beim Handset. Diese logische Aufteilung ist sowohl durch die übermittelten Parameter des jeweiligen Partners als auch durch verschiedene Chiffre-Algorithmen zu begründen, die sich im hellgrünen und dunkelgrünen Bereich befinden. |
||
=== Schlüsselallokation === |
=== Schlüsselallokation === |
||
Line 45: | Line 45: | ||
=== Authentifizierung === |
=== Authentifizierung === |
||
Die für die Authentifizierung benutzte Algorithmus firmiert unter dem Namen DECT-Standard-Authentication-Algorithm (kurz: DSAA). Die Authentifizierung verfährt nach dem Challenge-Response-Mechanismus. Im ersten Schritt berechnet die Basisstation zwei Zufallszahlen RS und RAND_FP, aus denen es mit Hilfe von AK einen Wert RES1 errechnet. In einem zweiten Schritt (Challenge) sendet die Basisstation die Zufallswerte RS und RAND_FP in einer {Key-Allocate}-Nachricht an das |
Die für die Authentifizierung benutzte Algorithmus firmiert unter dem Namen DECT-Standard-Authentication-Algorithm (kurz: DSAA). Die Authentifizierung verfährt nach dem Challenge-Response-Mechanismus. Im ersten Schritt berechnet die Basisstation zwei Zufallszahlen RS und RAND_FP, aus denen es mit Hilfe von AK einen Wert RES1 errechnet. In einem zweiten Schritt (Challenge) sendet die Basisstation die Zufallswerte RS und RAND_FP in einer {Key-Allocate}-Nachricht an das Handset. Das Handset berechnet nun aus den beiden Werten und dem AK ebenfalls einen Wert RES2 und sendet (Response) diesen Wert an die Basisstation. In einem letzten Schritt überprüft die Basisstation die beiden Werte RES1 und RES2 auf Gleichheit. Anzumerken ist, dass während dieses Prozesses ein intermediärer Schlüssel SAK als auch ein Chiffre-Schlüssel namens Derived Cipher Key (kurz: DCK) entstanden sind. |
||
Der soeben beschriebene Prozess bezeichnet nur eine einseitige Authentifizierung des |
Der soeben beschriebene Prozess bezeichnet nur eine einseitige Authentifizierung des Handset bei der Basistation und kann umgekehrt auch verwendet werden, nur das dabei kein DCK entsteht. Die Realität zeigt jedoch, dass eine Authentifizierung der Basisstation beim Handset nicht stattfindet und so Angriffe möglich sind. |
||
=== Verschlüsselung === |
=== Verschlüsselung === |
||
Line 59: | Line 59: | ||
=== Motivation für Angriffe === |
=== Motivation für Angriffe === |
||
* '''Imitieren eines Teilnehmer- |
* '''Imitieren eines Teilnehmer-Handsets''': Der Knackpunkt an diesem Angriff ist die Authentifizierung. Sollte es dem Angreifer gelingen sich mit seinem eigenen Handset bei einer fremden Basisstation zu authentifizieren, könnte er damit beispielsweise den Telefondienst kostenfrei in Anspruch nehmen. |
||
* '''Illegale Benutzung von |
* '''Illegale Benutzung von Handsets''': Hier handelt es sich um eine eher formale Angelegenheit. Hersteller wollen verhindern, dass ihre Systeme mit Fremdgeräten benutzt werden. Der Nutzen für den Anwender könnte sein, dass ein anderes Handset beispielsweise einen weiteren Funktionsumfang hat. |
||
* '''Illegale Benutzung von Basisstationen''': Eine Motivation hinter diesem Angriff könnte die Umgehung der Netzwerktechnik sein. Die bestehenden Basisstationen könnten so konfiguriert sein, dass sie nur einen eingeschränkten Zugang zulassen (z. B. eingeschränkte Rufnummernlisten oder Anrufzeiten). Dies ließe sich mit einer eigenen, an das Telefonnetz verbunden Basisstation umgehen. |
* '''Illegale Benutzung von Basisstationen''': Eine Motivation hinter diesem Angriff könnte die Umgehung der Netzwerktechnik sein. Die bestehenden Basisstationen könnten so konfiguriert sein, dass sie nur einen eingeschränkten Zugang zulassen (z. B. eingeschränkte Rufnummernlisten oder Anrufzeiten). Dies ließe sich mit einer eigenen, an das Telefonnetz verbunden Basisstation umgehen. |
||
* '''Imitieren einer Basisstation''': Diese Methode ermöglicht sowohl passive als auch aktive Angriffe. Der Angreifer übernimmt eine spezielle RFPI einer umliegenden Basisstation in sein System, dass auch Basisstation-Funktionalitäten besitzt (z. B. PCMCI-Card). Ohne es zu merken wählt sich ein |
* '''Imitieren einer Basisstation''': Diese Methode ermöglicht sowohl passive als auch aktive Angriffe. Der Angreifer übernimmt eine spezielle RFPI einer umliegenden Basisstation in sein System, dass auch Basisstation-Funktionalitäten besitzt (z. B. PCMCI-Card). Ohne es zu merken wählt sich ein Handset bei dem Angreifer-System ein, in dem Glauben, es handele sich um die originale Basisstation. Der Angreifer ist jetzt frei, die Daten mitzuschneiden, Manipulationen vorzunehmen oder sogar die Kommunikation zu unterbrechen. |
||
* '''Mitschneiden von Daten''': Bei diesem passiven Angriff werden über ein spezielles Abhörgerät die Daten aus der Luft aufgezeichnet. |
* '''Mitschneiden von Daten''': Bei diesem passiven Angriff werden über ein spezielles Abhörgerät die Daten aus der Luft aufgezeichnet. |
||
Line 71: | Line 71: | ||
=== Chiffren === |
=== Chiffren === |
||
* DECT-Standard-Authentication- |
* '''DECT-Standard-Authentication-Algorithm''': Der DSAA ist in den Boxen A11, A12, A21 und A22 implementiert. Er besteht aus vier Blockchiffren, die von den Kryptoanalytikern als Cassable-Blockchiffren bezeichnet werden. DSAA erhält als Eingabeparameter die beiden Zufallszahlen RS, RAND_X und den Authentication-Key AK. Als Ausgabe produziert er dann je nach A-Box die Werte KS, RES oder DCK. |
||
* DECT-Stardard- |
* '''DECT-Stardard-Cipher''': Der DSC besteht aus einen Schlüsselgenerator, der einen kontinuierlichen Schlüsselstrom erzeugt. Dieser wird mit dem Datenstrom XOR-verknüpft. Sein Aufbau ähnelt stark dem A5-Algorithmus, welcher bei GSM-Netzen eingesetzt wird. Als Eingangsparameter erhält er entweder den aus dem DSAA abgeleiteten Schlüssel DCK oder einen statischen Schlüssel SK. |
||
=== Angriffe === |
=== Angriffe === |
||
Line 81: | Line 81: | ||
==== Cassable-Kryptoanalyse ==== |
==== Cassable-Kryptoanalyse ==== |
||
Das übergeordnete Ziel dieses Angriffs ist eine Fremdauthentifikation, um bspw. ein |
Das übergeordnete Ziel dieses Angriffs ist eine Fremdauthentifikation, um bspw. ein Handset zu imitieren. Die Aufgabe besteht in der Rückgewinnung des Session Keys KS oder des Authentication Keys UAK, mit dessen Hilfe sich der ganze Authentifizierungsprozess imitieren lässt. Voraussetzung für diesen Angriff ist die Aufzeichnung der offen übertragenen Eingangsparameter RS, RAND_X und RES zu Beginn einer Authentifikation. |
||
Für die (differentielle) Kryptoanalyse setzten die Wissenschaftler voraus, dass der Angreifer zwei Klartextnachrichten verschlüsseln kann, die sich in jedem zweiten Byte gleichen, und im Besitzt von RS und RAND_X |
Für die (differentielle) Kryptoanalyse setzten die Wissenschaftler voraus, dass der Angreifer zwei Klartextnachrichten verschlüsseln kann, die sich in jedem zweiten Byte gleichen, und im Besitzt von RS und RAND_X ist, welche durch passives Aufzeichnen ermittelbar sind. Sie fanden heraus, dass der Schlüssel mit etwas Glück und genügend Rechenaufwand zurückgewonnen werden kann. |
||
==== Klartext-Chiffretext-Angriff ==== |
==== Klartext-Chiffretext-Angriff ==== |
||
Line 91: | Line 91: | ||
==== Schwache Pseudo-Zufallszahlen-Generatoren ==== |
==== Schwache Pseudo-Zufallszahlen-Generatoren ==== |
||
Es hat sich herausgestellt, dass viele Hersteller schwache Pseudo-Zufallszahlen-Generatoren (PZZG) implementiert haben. Bei einigen Basisstationen wurde festgestellt, dass der 64-Bit-Zufallswert nur eine Entropie von 24 Bits besaß. Die Entropie lässt sich jedoch einigermaßen leicht ermitteln. Da der Authentication Key immer gleich bleibt, verändern sich bei der Authentifizierung immer nur die Zufallszahlen RS und RAND_X. RES ist wiederum abhängig von AK, RS und RAND_X. Dadurch, dass sich |
Es hat sich herausgestellt, dass viele Hersteller schwache Pseudo-Zufallszahlen-Generatoren (PZZG) implementiert haben. Bei einigen Basisstationen wurde festgestellt, dass der 64-Bit-Zufallswert nur eine Entropie von 24 Bits besaß. Die Entropie lässt sich jedoch einigermaßen leicht ermitteln. Da der Authentication Key immer gleich bleibt, verändern sich bei der Authentifizierung immer nur die Zufallszahlen RS und RAND_X. RES ist wiederum abhängig von AK, RS und RAND_X. Dadurch, dass sich nur RS und RAND_X verändern, lässt sich die Entropie feststellen. |
||
Wird für den AK nur ein 4- |
Wird für den AK nur ein 4-stelliger PIN benutzt, steigt die Wahrscheinlichkeit noch mehr, dass sowohl Zufallszahlen und PIN durch Brute-Force-Angriffe herausgefunden werden können und eine illegitime Authentifizierung möglich ist. |
||
==== PCMCI-Card patchen zur Imitierung einer Basistation ==== |
==== PCMCI-Card patchen zur Imitierung einer Basistation ==== |
||
Die besagten Wissenschaftler haben ebenfalls gezeigt, dass mit Hilfe der RFPI einer anderen Basisstation der eigene Computer mit PCMCI-Card zum Konkurrenten wird. Dazu zeichnet man im ersten Schritt die RFPI auf und patcht die PCMCI-Card mit diesem Code. Mit speziell geschriebenen Treibern im Broadcasting- |
Die besagten Wissenschaftler haben ebenfalls gezeigt, dass mit Hilfe der RFPI einer anderen Basisstation der eigene Computer mit PCMCI-Card zum Konkurrenten wird. Dazu zeichnet man im ersten Schritt die RFPI auf und patcht die PCMCI-Card mit diesem Code. Mit speziell geschriebenen Treibern im Broadcasting-Modus ist es nun möglich, einem Handset eine "richtige" Identität mitzuteilen (Spoofing) und gegebenenfalls eine Kommunikation aufzubauen. Dies ist jedoch nur möglich aufgrund weiterer Defizite in der Implementation. So muss die Basisstation dem Handset nur mitteilen, dass es keine Verschlüsselung kann, um eine verschlüsselte Kommunikation zu vermeiden. Ebenso ist bei den meisten Telefonen eine Authentifizierung der Basisstation nicht vorgesehen. |
||
== Fazit == |
== Fazit == |
||
Line 103: | Line 103: | ||
Theoretisch bietet die DECT-Sicherheitsarchitektur einen guten Schutz. Doch gerade durch entsprechende Implementationsfehler singt die Sicherheit um einen erheblichen Faktor. Gespräche können abgehört werden, weil sie entweder gar nicht oder nur schlecht verschlüsselt sind oder eine einseitige Authentifizierung stattfindet; fremde Geräte können eingeschleust werden und führen zu Fremdkontrolle. |
Theoretisch bietet die DECT-Sicherheitsarchitektur einen guten Schutz. Doch gerade durch entsprechende Implementationsfehler singt die Sicherheit um einen erheblichen Faktor. Gespräche können abgehört werden, weil sie entweder gar nicht oder nur schlecht verschlüsselt sind oder eine einseitige Authentifizierung stattfindet; fremde Geräte können eingeschleust werden und führen zu Fremdkontrolle. |
||
Das Fatale daran ist die Tatsache, dass es eine große Anzahl dieser Geräte auf dem Markt gibt und man sie weder patchen noch |
Das Fatale daran ist die Tatsache, dass es eine große Anzahl dieser Geräte auf dem Markt gibt und man sie weder patchen noch zurückbeordern kann. Letzteres wäre schlichtweg zu kostspielig. Den Besitzern solcher Systeme bleibt nur die Möglichkeit, das System zu wechseln oder sich mit ihrem Hersteller in Verbindung zu setzen und nach Lösungen zu suchen. |
||
== Quellen == |
== Quellen == |
||
* ETSI (2005): ''Part 7: Security features''. Identifier: ETSI EN 300 175-7 V1.9.1. |
|||
* Lucks, Stefan; Schuler, Andreas; Tews, Eric; Weinmann, Ralf-Philipp; Wenzel, Matthias (Jahr unbekannt): ''Attacks on the DECT authentication mechanisms''. Internet: http://www.dedected.org. |
|||
* Mengele, Alexandra (2009): ''Diplomarbeit: Security of Digital Enhanced Cordless Telecommunication (DECT) devices for residential use''. Darmstadt. |
|||
== Weiterführende Links == |
|||
* [http://www.dedected.org dedected.org]: Offizielle Webseite der Forschungsgruppe. |
|||
* [http://chaosradio.ccc.de/archive/chaosradio_express_102.mp3 Chaosradio Express] im Interview mit den o. g. Wissenschaftlern zum Thema DECT. |
|||
* [http://ftp.ccc.de/congress/25c3/video_h264_720x576/25c3-2937-en-dect.mp4 CCC-Konferenz-Video] zum Thema DECT. |
Latest revision as of 13:19, 1 November 2009
Allgemeines
DECT steht für „Digital Enhanced Cordless Telecommunication“ und ist zu einem weltweiten Quasi-Standard für schnurlose Kommunikation geworden. (Innerhalb der EU ist er im ETSI-Standard EN 300 175 definiert.) Der Standard beschreibt in erster Linie sowohl die Kommunikation auf physikalischer als auch auf logischer Ebene eines DECT-Sytems. Die Anwendungsgebiete finden sich unter anderem bei schnurlosen Haustelefonen, Verkehrsleitsystemen, ferngesteuerten Türöffnungssystemen und schnurlosen EC-Kartenlesegeräten.
DECT-Systeme operieren im Frequenzbereich zwischen 1880 und 1900 MHz mit einer Kanalrasterung von 1750 KHz. Daraus ergeben sich umgerechnet ungefähr 10 nutzbare Kanäle. Die Reichweite in einem optimalen Raum beträgt bis zu 300 Meter, unter realen Bedingungen jedoch eher 50 bis 100 Meter.
Technische Aspekte
Physikalische Kommunikation
Ein DECT-System besteht üblicherweise aus zwei Komponenten: einer Basisstation (Fixed Part, FP) und einem Handset (Portable Part, PP). Übertragen wird mit Hilfe von Multi-Carrier, Time-Division-Multiple-Access und dynamischer Kanalwahl. Diese drei theoretischen Konzepte sind folgendermaßen realisiert: Jeder der 10 Kanäle ist jeweils in 24 Zeitschlitze aufgeteilt (10 Millisekunden / 24 Timeslots). Die Hälfte dieser Zeitschlitze wird für die Kommunikation FP zu PP benutzt (Up-Link), die andere Hälfte für die umgekehrte Richtung (Down-Link). FP und PP benutzen also für die Kommunikation zwei Zeitschlitze, die obendrein genau 12 Schlitze von einander entfernt sind. Für ein DECT-System bedeutet dies folglich, dass 12 Duplex-Kanäle zur Verfügung stehen, verteilt auf 10 Frequenzkanäle. Insgesamt ergeben sich damit 120 Duplex-Kanäle auf einem geografischen Schwerpunkt.
Bei genauer Betrachtung besteht ein übertragener Datenframe aus vier Feldern: Die Präambel dient zur Synchronisation, das A-Feld enthält einige Metadaten, das B-Feld enthält die eigentlichen Daten und das X-Feld enthält die Prüfsumme über das Datenfeld.
Logische Kommunikation
Grundsätzlich hat die Basisstation eine Meldepflicht gegenüber dem Handset. Dies bedeutet, dass es durch kontinuierliches Senden von kleinen Informationspaketen (engl.: Beacons) auf sich aufmerksam macht. Dieses Paket enthält Informationen zu seiner Identität (Radio Fixed Part Identity, RFPI), System-Eigenschaften, seinem Status und einige Paging-Informationen für eingehende Anrufe. Das Handset verhält sich die meiste Zeit über passiv, solange es nicht zu einem Kommunikationsversuch kommt.
Für eingehende Anrufe initiiert die Basisstation die Kommunikation, indem es ein sogenanntes CC-Setup-Paket (Calling-Control) sendet. Die Informationen in diesem Paket enthalten u. a. die Identität des Handsets und die Anrufernummer. Im nächsten Schritt bestimmt das Handset über ein CC-Connect-Paket, auf welchem Kanal die Kommunikation stattfinden soll (dynamische Kanalwahl). Ist dies vollbracht, kann die Authentifizierung, Chiffre-Auswahl und die eigentliche Kommunikation stattfinden.
Für ausgehende Anrufe sendet diesmal das Handset ein CC-Setup-Paket. Auch hier bestimmt das Handset, auf welchem Kanal kommuniziert werden soll. Die Basisstation antwortet mit einem CC-Connect-Paket.
Die Kanalwahl erfolgt nach physikalischen Kriterien. Wenig Interferenz bedeutet eine höhere Güte. Aus Effizienzgründen erzeugt das Handset mindestens alle 30 Sekunden eine interne RSSI-Liste (Radio-Signal-Strength-Indication) mit allen idealen Kanälen, auf die sie später bei der dynamischen Kanalwahl zurückgreift. Auch bei zwischenzeitlichen Störungen ist ein dynamischer Kanalwechsel möglich.
Sicherheitsarchitektur
Die Sicherheitsarchitektur ist der einzige Bestandteil des DECT-Standards, der unter Verschluss gehalten wird. Der Einsatz dieser Sicherheit ist für Hersteller von schnurloser Technik nur über einen speziellen Vertrag gestattet, der zur Verschwiegenheit verpflichtet und keine weitergehenden Patentierungen erlaubt. Wissenschaftler und Mitglieder des Chaos Computer Clubs ist es jedoch gelungen, die DECT-Sicherheitsarchitektur durch Reverse-Engeneering und unter zur Hilfenahme eines Alcatell-Patents offen zu legen.
Die Architektur sieht an verschiedenen Stellen Schlüssel vor, die erstens für die Schlüsselallokation, zweitens für die Authentifizierung und drittens für die Verschlüsselung verwendet werden. Die Schlüsselallokation markiert in der Realität einen einmaligen Vorgang im Stadium der Montage, kann jedoch theoretisch beliebig wiederholt werden. Die Authentifizierung ist ein Sicherheitsmerkmal, dass jederzeit von beiden Geräten optional eingesetzt werden kann, sofern es vom Hersteller eingebaut wurde. Der Standard sieht jedoch mindestens eine Authentifizierung des Handsets bei der Basisstation vor. Auch die Verschlüsselung ist ein optionales Merkmal, dass in der Realität nicht durchgängig eingesetzt wird.
Das Bild zeigt die komplette Architektur, so wie sie in Basisstation und Handset verbaut sind. Trotzdem gibt es Bereiche, die aus logischer Sicht jeweils einem der beiden Geräte zugeordent sind. Der dunkelgrüne Bereiche dient der Basisstation (FP) zur Authentifizierung des Handsets (PP). Der hellgrüne Bereich dient der Authentifizierung der Basisstation beim Handset. Diese logische Aufteilung ist sowohl durch die übermittelten Parameter des jeweiligen Partners als auch durch verschiedene Chiffre-Algorithmen zu begründen, die sich im hellgrünen und dunkelgrünen Bereich befinden.
Schlüsselallokation
Die Phase der Schlüsselallokation wird auch als Pairing-Mode bezeichnet. Es gibt drei Arten der Schlüsselallokation. Dabei ist das Ziel immer die Ermittlung eines Authentication Keys (kurz: AK). Dieser wird für zukünftige Authentifizierung benutzt.
- Der User Authentication Key (kurz: UAK) ist von vornherein in einem nichtflüchtigen Speicher gesichert. Es handelt sich hierbei meistens um einen bereits vom Hersteller voreingestellten Schlüssel, der von beiden Geräten zukünftig geteilt wird. Aus ihm lässt sich AK ableiten.
- Die Kombination UAK und User Personal Identity (kurz: UPI) bieten eine zusätzliche Möglichkeit zur Allokation durch den Benutzer. Die UPI fungiert in den meisten Fällen als eine Art PIN, der vom Benutzer eingegeben wird. Aus beiden Schlüsseln lässt sich dann AK ableiten.
- Der Authentication Code (kurz: AC) ist eher für kurzzeitige Zwecke geeignet und ist auch vergleichbar mit einem PIN. Aus AC leitet sich dann AK ab.
Authentifizierung
Die für die Authentifizierung benutzte Algorithmus firmiert unter dem Namen DECT-Standard-Authentication-Algorithm (kurz: DSAA). Die Authentifizierung verfährt nach dem Challenge-Response-Mechanismus. Im ersten Schritt berechnet die Basisstation zwei Zufallszahlen RS und RAND_FP, aus denen es mit Hilfe von AK einen Wert RES1 errechnet. In einem zweiten Schritt (Challenge) sendet die Basisstation die Zufallswerte RS und RAND_FP in einer {Key-Allocate}-Nachricht an das Handset. Das Handset berechnet nun aus den beiden Werten und dem AK ebenfalls einen Wert RES2 und sendet (Response) diesen Wert an die Basisstation. In einem letzten Schritt überprüft die Basisstation die beiden Werte RES1 und RES2 auf Gleichheit. Anzumerken ist, dass während dieses Prozesses ein intermediärer Schlüssel SAK als auch ein Chiffre-Schlüssel namens Derived Cipher Key (kurz: DCK) entstanden sind.
Der soeben beschriebene Prozess bezeichnet nur eine einseitige Authentifizierung des Handset bei der Basistation und kann umgekehrt auch verwendet werden, nur das dabei kein DCK entsteht. Die Realität zeigt jedoch, dass eine Authentifizierung der Basisstation beim Handset nicht stattfindet und so Angriffe möglich sind.
Verschlüsselung
Die Verschlüsselung wird mit Hilfe des DECT-Standard-Cipher (kurz: DSC) bewältigt. Dabei handelt es sich um ein Stromchiffre, das über einen Schlüsselgenerator erzeugt wird. Der Schlüsselgenerator erhält als Parameter den über die Authentifizierung berechneten DCK. Er berechnet damit einen Schlüsselstrom, welche in eine XOR-Verknüpfung mit dem Datenstrom eingeht und so für die verlangte Verschlüsselung sorgt.
Alternativ lässt sich statt des DCKs auch ein Static-Key (kurz: SK) verwenden, der von vornherein festgelegt ist.
Gefahren & Angriffe auf die Sicherheit von DECT
Motivation für Angriffe
- Imitieren eines Teilnehmer-Handsets: Der Knackpunkt an diesem Angriff ist die Authentifizierung. Sollte es dem Angreifer gelingen sich mit seinem eigenen Handset bei einer fremden Basisstation zu authentifizieren, könnte er damit beispielsweise den Telefondienst kostenfrei in Anspruch nehmen.
- Illegale Benutzung von Handsets: Hier handelt es sich um eine eher formale Angelegenheit. Hersteller wollen verhindern, dass ihre Systeme mit Fremdgeräten benutzt werden. Der Nutzen für den Anwender könnte sein, dass ein anderes Handset beispielsweise einen weiteren Funktionsumfang hat.
- Illegale Benutzung von Basisstationen: Eine Motivation hinter diesem Angriff könnte die Umgehung der Netzwerktechnik sein. Die bestehenden Basisstationen könnten so konfiguriert sein, dass sie nur einen eingeschränkten Zugang zulassen (z. B. eingeschränkte Rufnummernlisten oder Anrufzeiten). Dies ließe sich mit einer eigenen, an das Telefonnetz verbunden Basisstation umgehen.
- Imitieren einer Basisstation: Diese Methode ermöglicht sowohl passive als auch aktive Angriffe. Der Angreifer übernimmt eine spezielle RFPI einer umliegenden Basisstation in sein System, dass auch Basisstation-Funktionalitäten besitzt (z. B. PCMCI-Card). Ohne es zu merken wählt sich ein Handset bei dem Angreifer-System ein, in dem Glauben, es handele sich um die originale Basisstation. Der Angreifer ist jetzt frei, die Daten mitzuschneiden, Manipulationen vorzunehmen oder sogar die Kommunikation zu unterbrechen.
- Mitschneiden von Daten: Bei diesem passiven Angriff werden über ein spezielles Abhörgerät die Daten aus der Luft aufgezeichnet.
Chiffren
- DECT-Standard-Authentication-Algorithm: Der DSAA ist in den Boxen A11, A12, A21 und A22 implementiert. Er besteht aus vier Blockchiffren, die von den Kryptoanalytikern als Cassable-Blockchiffren bezeichnet werden. DSAA erhält als Eingabeparameter die beiden Zufallszahlen RS, RAND_X und den Authentication-Key AK. Als Ausgabe produziert er dann je nach A-Box die Werte KS, RES oder DCK.
- DECT-Stardard-Cipher: Der DSC besteht aus einen Schlüsselgenerator, der einen kontinuierlichen Schlüsselstrom erzeugt. Dieser wird mit dem Datenstrom XOR-verknüpft. Sein Aufbau ähnelt stark dem A5-Algorithmus, welcher bei GSM-Netzen eingesetzt wird. Als Eingangsparameter erhält er entweder den aus dem DSAA abgeleiteten Schlüssel DCK oder einen statischen Schlüssel SK.
Angriffe
Bisher sind vier verschiedene Angriffe bekannt, von denen einige eine ernsthafte Gefahr für den Datenschutz darstellen.
Cassable-Kryptoanalyse
Das übergeordnete Ziel dieses Angriffs ist eine Fremdauthentifikation, um bspw. ein Handset zu imitieren. Die Aufgabe besteht in der Rückgewinnung des Session Keys KS oder des Authentication Keys UAK, mit dessen Hilfe sich der ganze Authentifizierungsprozess imitieren lässt. Voraussetzung für diesen Angriff ist die Aufzeichnung der offen übertragenen Eingangsparameter RS, RAND_X und RES zu Beginn einer Authentifikation.
Für die (differentielle) Kryptoanalyse setzten die Wissenschaftler voraus, dass der Angreifer zwei Klartextnachrichten verschlüsseln kann, die sich in jedem zweiten Byte gleichen, und im Besitzt von RS und RAND_X ist, welche durch passives Aufzeichnen ermittelbar sind. Sie fanden heraus, dass der Schlüssel mit etwas Glück und genügend Rechenaufwand zurückgewonnen werden kann.
Klartext-Chiffretext-Angriff
Für diesen Angriff benötigt der Angreifer sowohl einen Klartext als auch den dazugehörigen Chiffretext. Zur Zeit ist dieser Angriff jedoch nicht vollständig, sondern lässt nur Angriffe auf Teile des Cassable-Blockchiffre zu, mit dem Ziel, den Schlüssel zurück zu gewinnen.
Schwache Pseudo-Zufallszahlen-Generatoren
Es hat sich herausgestellt, dass viele Hersteller schwache Pseudo-Zufallszahlen-Generatoren (PZZG) implementiert haben. Bei einigen Basisstationen wurde festgestellt, dass der 64-Bit-Zufallswert nur eine Entropie von 24 Bits besaß. Die Entropie lässt sich jedoch einigermaßen leicht ermitteln. Da der Authentication Key immer gleich bleibt, verändern sich bei der Authentifizierung immer nur die Zufallszahlen RS und RAND_X. RES ist wiederum abhängig von AK, RS und RAND_X. Dadurch, dass sich nur RS und RAND_X verändern, lässt sich die Entropie feststellen.
Wird für den AK nur ein 4-stelliger PIN benutzt, steigt die Wahrscheinlichkeit noch mehr, dass sowohl Zufallszahlen und PIN durch Brute-Force-Angriffe herausgefunden werden können und eine illegitime Authentifizierung möglich ist.
PCMCI-Card patchen zur Imitierung einer Basistation
Die besagten Wissenschaftler haben ebenfalls gezeigt, dass mit Hilfe der RFPI einer anderen Basisstation der eigene Computer mit PCMCI-Card zum Konkurrenten wird. Dazu zeichnet man im ersten Schritt die RFPI auf und patcht die PCMCI-Card mit diesem Code. Mit speziell geschriebenen Treibern im Broadcasting-Modus ist es nun möglich, einem Handset eine "richtige" Identität mitzuteilen (Spoofing) und gegebenenfalls eine Kommunikation aufzubauen. Dies ist jedoch nur möglich aufgrund weiterer Defizite in der Implementation. So muss die Basisstation dem Handset nur mitteilen, dass es keine Verschlüsselung kann, um eine verschlüsselte Kommunikation zu vermeiden. Ebenso ist bei den meisten Telefonen eine Authentifizierung der Basisstation nicht vorgesehen.
Fazit
Theoretisch bietet die DECT-Sicherheitsarchitektur einen guten Schutz. Doch gerade durch entsprechende Implementationsfehler singt die Sicherheit um einen erheblichen Faktor. Gespräche können abgehört werden, weil sie entweder gar nicht oder nur schlecht verschlüsselt sind oder eine einseitige Authentifizierung stattfindet; fremde Geräte können eingeschleust werden und führen zu Fremdkontrolle.
Das Fatale daran ist die Tatsache, dass es eine große Anzahl dieser Geräte auf dem Markt gibt und man sie weder patchen noch zurückbeordern kann. Letzteres wäre schlichtweg zu kostspielig. Den Besitzern solcher Systeme bleibt nur die Möglichkeit, das System zu wechseln oder sich mit ihrem Hersteller in Verbindung zu setzen und nach Lösungen zu suchen.
Quellen
- ETSI (2005): Part 7: Security features. Identifier: ETSI EN 300 175-7 V1.9.1.
- Lucks, Stefan; Schuler, Andreas; Tews, Eric; Weinmann, Ralf-Philipp; Wenzel, Matthias (Jahr unbekannt): Attacks on the DECT authentication mechanisms. Internet: http://www.dedected.org.
- Mengele, Alexandra (2009): Diplomarbeit: Security of Digital Enhanced Cordless Telecommunication (DECT) devices for residential use. Darmstadt.
Weiterführende Links
- dedected.org: Offizielle Webseite der Forschungsgruppe.
- Chaosradio Express im Interview mit den o. g. Wissenschaftlern zum Thema DECT.
- CCC-Konferenz-Video zum Thema DECT.