Modulbeschreibung - Ruhr
Transcription
Modulbeschreibung - Ruhr
Seite 1 Modulbeschreibung Modulbezeichnung: Sicherheit mobiler Systeme Studiengang: OpenC3 S - Zertifikat Verwendbarkeit: Dieses Modul ist verwendbar für • Studierende der IT-Sicherheit • Studierende der Informatik • Studierende der Wirtschaftsinformatik • Studierende der Mathematik und Informatik auf Bachelorniveau. Dieses Modul kann nicht als Wahlpflichtmodul gewählt werden, sondern ist ein Pflichtmodul. Lehrveranstaltungen und Lehrformen: Sicherheit mobiler Systeme Modulverantwortliche(r): Prof. Dr. Thorsten Holz Dozent(in): Prof. Dr. Thorsten Holz Dauer: 1 Semester Credits: 5 ECTS Studien- und Prüfungsleistungen: Schriftliche Prüfung: 120 min. Schriftliche Prüfung Notwendige Voraussetzungen: • Programmierung • Kryptographie • Netzsicherheit 1-3 Empfohlene Voraussetzungen: Sprache: Deutsch, aktuelle Fachartikel teilweise in englischer Sprache Zuordnung des Moduls zu den Fachgebieten des Curriculums: Einordnung ins Fachsemester: Ab Studiensemester 3 Generelle Zielsetzung des Moduls: Arbeitsaufwand bzw. Gesamtworkload: Präsenzzeit: 2 h • Prüfung: 2h Eigenstudium: 148 h • Durcharbeiten der Studienbriefe: 85 h • Durcharbeiten des Online-Lernmaterials: 15 h • Wahrnehmen der Online Betreuung und Beratung: 10 h • Ausarbeiten von Aufgaben: 30 h • Individuelle Prüfungsvorbereitung der Studierenden: 8 h Seite 2 Lerninhalt und Niveau: In diesem Modul erwerben die Teilnehmer Kenntnisse über Sicherheitsaspekte von verschiedenen mobilen Systemen, insbesondere zur Sicherheit von Smartphones. Im ersten Teil des Moduls liegt der Schwerpunkt auf der Beschreibung der wichtigsten Sicherheitsfunktionen von mobilen Systemen. Im zweiten Teil des Moduls wird die Sicherheit von Smartphones genauer beleuchtet und verschiedene Sicherheitsaspekte werden genauer betrachtet, der Fokus liegt dabei auf Apps für Smartphones. In der Vorlesung werden verschiedene Sicherheitsaspekte von mobilen Systemen vorgestellt. Anhand von konkreten Beispielen wird erläutert, wie verschiedene Arten von mobilen Systemen aufgebaut sind und welche Sicherheitsrisiken diese besitzen. Dies umfasst unter anderem die folgenden Themen: • Design von GSM und UMTS (Sicherheitsaspekte, Lokalisierungsverfahren, Verbindungsmanagement) • Sicherheit von Satellitentelefonen (GMR) • Sicherheitsaspekte von DECT • Design mobiler Betriebssysteme (Android und iOS) • Analyse von (mobilen) Apps Angestrebte Lernergebnisse: Fachkompetenz: Die Studierenden erlernen die wichtigen Strukturen von Sicherheitsaspekten in mobilen Datennetzen, verstehen die darin verwendeten kryptographischen Verfahren sowie das Zusammenspiel verschiedener Protokolle. Die Studierenden können das Zusammenspiel der kryptographischen Verfahren in einem Protokoll auf erste Sicherheitslücken hin überprüfen und eine erste Einschätzung der Sicherheit des Protokolls liefern. Dazu werden auch konkrete Angriffe auf existierende Systeme vorgestellt, um ein tiefergehendes Verständnis zu erlangen. Methodenkompetenz: Die Studierenden beherrschen den Umgang mit (englischer) Fachliteratur und können ihr wichtige Informationen eigenständig entnehmen. Weiterhin sind die Studierenden mit verschiedenen Angriffs- und Analysetechniken vertraut, welche auf neue Systeme, Protokolle und Verfahren übertragen werden können. Sozialkompetenz: Die Studierenden tauschen sich über Probleme beim Erarbeiten und Anwenden von neuen Inhalten aus und können problemorientiert diskutieren. Die konstruktive Diskussion wird im Rahmen von Übungen erlernt. Selbstkompetenz: Die Studierenden erlangen die Fähigkeit, sich selbständig eine Meinung über die Sicherheit von verschiedenen mobilen Systemen zu bilden. Darüber hinaus besitzen sie die Kompetenz, neue Angriffe aus der aktuellen Fachliteratur zu verstehen und ihre Bedeutungen zu evaluieren. Die Studierenden entwickeln ein „gesundes Misstrauen“ gegenüber vorgegebenen Sicherheitskonzepten. Häufigkeit des Angebots: Anerkannte Module: Anerkannte anderweitige Lernergebnisse / Lernleistungen: Jedes Semester Seite 3 Medienformen: Literatur: • Hannes Federrath: Sicherheit mobiler Kommunikation: Schutz in GSM-Netzen, Mobilitätsmanagement und mehrseitige Sicherheit, Vieweg, 1999 • Noureddine Boudriga: Security of Mobile Communications, Auerbach Publications, 2009 • Miller et al.: iOS Hacker’s Handbook, Wiley, 2012 Weitere Literatur wird in der Lehrveranstaltung bekannt gegeben. Modul XXX Sicherheit Mobiler Systeme Chapter 1: Sicherheitsaspekte von Mobilfunknetzen Chapter 2: Sicherheitsaspekte von Satellitentelefonen Chapter 3: Sicherheitsaspekte von DECT Autor: Prof. Dr. Thorsten Holz 1. Auflage Ruhr-Universität Bochum © 2015 Ruhr-Universität Bochum Bochum Universitätsstr. 150 44801 Bochum 1. Auflage (31. März 2015) Didaktische und redaktionelle Bearbeitung: Das Werk einschließlich seiner Teile ist urheberrechtlich geschützt. Jede Verwendung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung der Verfasser unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. Um die Lesbarkeit zu vereinfachen, wird auf die zusätzliche Formulierung der weiblichen Form bei Personenbezeichnungen verzichtet. Wir weisen deshalb darauf hin, dass die Verwendung der männlichen Form explizit als geschlechtsunabhängig verstanden werden soll. Inhaltsverzeichnis Seite 3 Inhaltsverzeichnis Einleitung zu den Studienbriefen I. II. III. Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 2.5 2.6 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 9 9 10 12 16 19 23 24 24 25 31 33 35 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Sicherheitsaspekte von DECT Lernziele . . . . . . . Advanced Organizer Einleitung . . . . . . Grundlagen . . . . . 5 6 7 9 . . . . . . . . . . . . . . Sicherheitsaspekte von Satellitentelefonen Lernziele . . . . . . . . . . . . . . . . . . . . Advanced Organizer . . . . . . . . . . . . . Einleitung . . . . . . . . . . . . . . . . . . . Grundlagen . . . . . . . . . . . . . . . . . . 2.4.1 Netzwerkstruktur . . . . . . . . . . . 2.4.2 Kanäle . . . . . . . . . . . . . . . . . 2.4.3 Kodierung und Verschlüsselung . . 2.4.4 Architektur eines Satellitentelefons . 2.4.5 Analyse existierender Protokolle . . 2.4.6 Kontrollaufgaben . . . . . . . . . . . GMR-1 Protokoll . . . . . . . . . . . . . . . 2.5.1 Hardwarearchitektur . . . . . . . . . 2.5.2 Struktur . . . . . . . . . . . . . . . . 2.5.3 Funktionsweise . . . . . . . . . . . . 2.5.4 Operationsmodi . . . . . . . . . . . . 2.5.5 Angriffe . . . . . . . . . . . . . . . . 2.5.6 Kontrollaufgaben . . . . . . . . . . . GMR-2 Protokoll . . . . . . . . . . . . . . . 2.6.1 Hardwarearchitektur . . . . . . . . . 2.6.2 Struktur . . . . . . . . . . . . . . . . 2.6.3 Funktionsweise . . . . . . . . . . . . 2.6.4 Operationsmodi . . . . . . . . . . . . 2.6.5 Exkurs: Angriff . . . . . . . . . . . . 2.6.6 Kontrollaufgaben . . . . . . . . . . . Übungen . . . . . . . . . . . . . . . . . . . . Chapter 3 3.1 3.2 3.3 3.4 Sicherheitsaspekte von Mobilfunknetzen Lernziele . . . . . . . . . . Advanced Organizer . . . Einleitung . . . . . . . . . GSM . . . . . . . . . . . . 1.4.1 Systemdesign . . . 1.4.2 Datenübertragung 1.4.3 Sicherheit . . . . . 1.4.4 Angriffe . . . . . . 1.4.5 Kontrollaufgaben . UMTS . . . . . . . . . . . . 1.5.1 Systemdesign . . . 1.5.2 Sicherheit . . . . . 1.5.3 Kontrollaufgaben . Übungen . . . . . . . . . . Chapter 2 2.1 2.2 2.3 2.4 5 Abkürzungen der Randsymbole und Farbkodierungen . . . . . . . . . . . . . . . . . . . . . . Zu den Autoren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modullehrziele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 35 35 35 36 37 38 39 39 40 41 41 41 43 43 45 46 46 46 46 50 51 51 54 54 55 . . . . . . . . . . . . . . . . 55 55 55 55 Seite 4 3.5 3.6 3.7 3.8 Inhaltsverzeichnis Systemdesign . . . . . . . . . . . . . . . 3.5.1 DECT-Referenzmodell . . . . . . 3.5.2 Kontrollaufgaben . . . . . . . . . Verbindungsverwaltung . . . . . . . . . 3.6.1 Betriebszustände . . . . . . . . . 3.6.2 Verbindung zwischen PP und FP 3.6.3 Handover . . . . . . . . . . . . . 3.6.4 Kontrollaufgaben . . . . . . . . . Sicherheit in DECT . . . . . . . . . . . . 3.7.1 Architektur . . . . . . . . . . . . 3.7.2 Authentisierung . . . . . . . . . 3.7.3 Verschlüsselung . . . . . . . . . . 3.7.4 Angriffe auf DECT . . . . . . . . 3.7.5 Kontrollaufgaben . . . . . . . . . Übungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Liste der Lösungen zu den Kontrollaufgaben Liste der Lösungen zu den Übungen . . . . . Literature . . . . . . . . . . . . . . . . . . . . . Glossar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Verzeichnisse I. II. III. IV. 56 57 60 60 60 62 64 65 65 65 65 67 67 71 71 73 73 77 80 82 Einleitung zu den Studienbriefen Seite 5 Einleitung zu den Studienbriefen I. Abkürzungen der Randsymbole und Farbkodierungen Axiom A Beispiel B Definition D Exkurs E Kontrollaufgabe K Merksatz M Quelle Q Satz S Übung Ü Seite 6 II. Zu den Autoren Bild fehlt Einleitung zu den Studienbriefen Modullehrziele III. Modullehrziele Seite 7 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Seite 9 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen 1.1 Lernziele Sie können Grundlagen der Mobilfunkkommunikation mittels der Protokolle GSM und UMTS aufzeigen und Unterschiede zwischen den beiden Protokollen benennen. Weiterhin können Sie die Sicherheitsarchitekturen der jeweiligen Protokollfamilien erläutern. Abschließend können Sie Schwachstellen und Angriffe auf die Sicherheitsfunktionen aufzeigen und skizzieren. 1.2 Advanced Organizer Wie sind GSM und UMTS aufgebaut, welche Sicherheitsmerkmale verwenden diese Protokolle und welche Angriffe sind auf die Protokollfamilien möglich? In diesem Studienbrief werden der Aufbau und die Sicherheitsarchitekturen von weit verbreiteten Mobilfunknetzwerken aufgezeigt und Schwachstellen erläutert. 1.3 Einleitung In diesem Studienbrief werden die Grundlagen der Kommunikation von Mobilfunknetzen anhand der weit verbreiteten Protokolle GSM und UMTS erläutert. Dies umfasst insbesondere den Aufbau und die Funktionsweise der zugehörigen kryptographischen Verschlüsselungsfunktionen. Abschließend werden verschiedene Angriffe auf diese Verschlüsselungsfunktionen vorgestellt. 1.4 GSM GSM steht für Global System for Mobile Telecommunications und ist ein international etablierter Standard zur Übertragung von Daten mittels Funktechnik für die kabellose zellulare Telefonie. GSM ist der erste Standard der sogenannten zweiten Mobilfunkgeneration (2G) und gilt als Nachfolger der analogen Mobilfunknetze. Die Entwicklung von GSM begann im Jahr 1983 durch das European Telecommunications Standards Institute (ETSI). Im Jahr 1991 wurde der Testbetrieb von mehreren GSM-Netzen in 5 Ländern aufgenommen [Lüd01]. Ab Sommer 1992 begann im Anschluss an die Testphase der kommerzielle Betrieb von 13 Mobilfunknetzen in 7 Ländern. Exkurs 1.1: Namensgebung GSM Die Abkürzung GSM stand ursprünglich für Groupe Spéciale Mobile, einer Arbeitsgruppe des European Telecommunications Standards Institutes. Erst mit der weltweiten Verbreitung wurde GSM als Global System for Mobile Telecommunications bekannt. Das Design des GSM-Standards legt besonderen Fokus darauf, eine Vielzahl unterschiedlicher Telekommunikationsdienste zu unterstützen, sodass sowohl E Seite 10 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Sprach- (beispielsweise Anruf und Notruf) als auch Datenübertragungen ermöglicht werden. Weiterhin sollten mit Einführung des GSM-Standards unter anderem folgende Ziele erreicht werden [Fed99, Wal01a]: • Hohe Mobilität (auch international) • Hohe Erreichbarkeit unter einer international einheitlichen Rufnummer • Hohe Teilnehmerkapazität • Hoher Verfügbarkeitsgrad • Eingebaute Sicherheitsmerkmale (PIN, Authentifikations- und Identifikationsdienste) • Priorisierter Notrufdienst • Niedriges Kostenniveau 1.4.1 Systemdesign Ein GSM-System besteht wie in Abbildung 1.1 dargestellt im Allgemeinen aus 9 Komponenten, welche ein Public Land Mobile Network (PLMN) bilden [Bou10]. Figure 1.1: GSMArchitektur aus [Bou10, Fed99, Wal01a]. • MS: Die Mobilstation stellt das mobile Endgerät in GSM dar und ist mit einem Subscriber Identity Module (SIM) ausgestattet. Mit Hilfe dieser SIMKarte und einer persönlichen PIN wird dem Nutzer der Mobilstation gegenüber dem GSM-Betreibernetz erlaubt, ein- und ausgehende Telekommunikationsdienste zu nutzen. Die SIM-Karte enthält dazu verschiedene Identifizierungsmerkmale und -funktionen: – CHVI: Die Card Holder Verification Information werden beispielsweise durch die PIN und PUK (Personal Unblocking Key) bestimmt und identifizieren den Benutzer gegenüber der SIM-Karte. – IMSI: Die International Mobile Subscriber Identity ist ein Identifizierungsmerkmal, mit welcher eine SIM-Karte in GSM eindeutig identifiziert werden kann. 1.4 GSM Seite 11 – TMSI: Die Temporary Mobile Subscriber Identity wird vom Netzbetreiber für eine kurze Zeit vergeben und dient wie die IMSI ebenso der Identifizierung der SIM-Karte. – A3, A8 und Ki : Die Algorithmen A3 und A8 und der Authentifizierungsschlüssel Ki werden bei der Authentisierung der Mobilstation und bei der Generierung des Sessionkeys Kc für die Datenverschlüsselung zwischen Mobilstation und Betreibernetz verwendet. – LAI: Der Location Area Identifier ist eine eindeutige Identifikationsnummer des aktuellen Aufenthalts der Mobilstation und findet beim Wechsel von Funkzellen in Location Update Nachrichten Anwendung. • BSS: Das Base Station Subsystem (BSS) verwaltet die Kommunikation mittels Funk und besteht aus den Komponenten BTS und BSC. – BTS: Die Base Transceiver Station, auch GSM-Basisstation genannt, umfasst die Sende- und Empfangsanlage, welche die funktechnische Versorgung von mindestens einer Funkzelle übernimmt und der direkten Funkkommunikation mit den Mobilstationen dient. – BSC: Der Base Station Controller verwaltet eine oder mehrere BTS und überwacht die darüber laufenden Funkkanäle mit den Mobilstationen. • (G)MSC: Das Mobile Switching Center bildet die Kernkomponente eines GSM-Netzes. Dazu verwaltet das MSC mehrere BSCs und leitet Befehle und Anrufe an die weiteren Komponenten des Netzwerkes weiter. Ebenfalls übernimmt es die Funktionen für die Mobilitätsverwaltung der Teilnehmer, inklusive der Registrierung, Authentisierung, Lokalisierung und des Verbindungsroutings. Ein Gateway Mobile Switching Center übernimmt zusätzlich das Routing in ein anderes Netzwerk, beispielsweise in das analoge oder ISDN Netz. • OMC: Das Operation and Maintenance System ist mit dem MSC verbunden und bietet Konfigurationsfunktionen für den operativen Betrieb und Funktionen zur Überwachung und Fernwartung des GSM-Netzwerkes an. • HLR: Das Home Location Register besteht aus einer Datenbank, welches teilnehmerspezifische Daten wie Aufenthalt (LAI), Rufnummer und IMSI verwaltet. Jeder Teilnehmer in GSM ist in genau einem HLR registriert. • VLR: Das Visitor Location Register ähnelt dem HLR, allerdings werden in dieser Datenbank lediglich Informationen zu Teilnehmern abgelegt, für die das zugehörige MSC aktuell zuständig ist. Weiterhin übernimmt das VLR die Verwaltung von Roaming-Teilnehmern (Teilnehmer die in einem HLR eines anderen GSM-Netzwerkes registriert sind). • AUC: Das Authentication Center besteht aus einer Datenbank, in der teilnehmerspezifische Identifikations- und Authentifizierungsmerkmale abgelegt sind. Dies umfasst beispielsweise die teilnehmerindividuellen Langzeitschlüssel Ki . Weiterhin werden die für die Authentisierung und Verschlüsselung benötigten Zufallswerte gewählt und die kryptographischen Operationen durchgeführt. • EIR: In dem Equipment Identification Register werden die eindeutigen Hardware-Identifikationsnummern (International Mobile Station Equipment Identity, IMEI) der Mobilstationen abgelegt. Diese Datenbank erlaubt es dem Netzwerkbetreiber, gesperrte oder gestohlene Mobilstationen zu identifizieren. Dazu verwaltet das EIR drei Listen [Bou10]: – Whitelist: Diese Liste enthält die IDs der Geräte, die mit dem GSMNetzwerk kommunizieren dürfen. Seite 12 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen – Blacklist: Die Blacklist umfasst alle IDs der Geräte, welche keine Verbindungen in das Netzwerk aufbauen dürfen. – Graylist: Auf dieser Liste befinden sich IDs von Geräten, die mit dem Netzwerk kommunizieren dürfen, allerdings aus verschiedenen Gründen überwacht werden. 1.4.2 Datenübertragung Das GSM-Protokoll wendet verschiedene Nachrichtenübertragungsverfahren und Verbindungstypen für die funktechnische Datenübertragung zwischen Mobil- und Basisstation an, welche im Folgenden vorgestellt werden. Physikalische Kanäle In Deutschland verwendet das GSM-Protokolle die Funkfrequenzen 890-915 MHz und 935-960 MHz für die D-Netze (GSM900) und die Frequenzen 1710-1785 MHz und 1805-1880 MHz für die E-Netze (DCS1800). Dabei sind die Frequenzen in die Bereiche Upload (Datenübertragung von der Mobilstation zum GSM-Netzwerk) und Download (Übertragung vom GSM-Netz zur Mobilstation) eingeteilt. Bei GSM900 ist der Frequenzbereich 890-915 MHz für den Upload und der Bereich 935-960 MHz für den Download vorgesehen. GSM verwendet für die Übertragung der Daten mittels Funk die Frequency Division Multiplex (FDM), Frequency Division Duplexing (FDD) und Time Division Multiple Access (TDMA) Nachrichtenübertragungsverfahren. Dabei wird jedes Frequenzspektrum von GSM (sowohl Upload als auch Download) in jeweils 124 Frequenzträger mit einem Abstand von 200 kHz eingeteilt (FDM). Weiterhin werden die einzelnen Frequenzträger von Up- und Download zu 124 Duplexträgern kombiniert (FDD). Jeder Frequenzträger ist weiterhin wie in Abbildung 1.2 dargestellt in 8 Zeitschlitze unterteilt (TDMA), wobei 8 Zeitschlitze einen sogenannten TDMARahmen bilden. Dieser TDMA-Rahmen wiederholt sich alle 4,6 ms (entspricht 1250 Bits an Daten) und wird mit einer eindeutigen ID, der sogenannten FrameNummer identifiziert, welche bei 0 beginnt und in verschiedene Funktionen und Algorithmen wie der Verschlüsselungsfunktion von GSM einfließt. In einem einzelnen Zeitschlitz (0,577 ms) können 156,25 Bits an Daten übertragen werden. Figure 1.2: Physikalische Kanäle aus [Lüd01]. Bei einer typischen GSM-Verbindung werden wie in Abbildung 1.2 rot und dunkelgrau markiert zwei Zeitschlitze für eine Duplexverbindung verwendet, wobei diese um 3 Zeitschlitze versetzt sind. Die Basisstation überträgt in diesem Beispiel die Daten somit auf einem Download-Frequenzträger in Zeitschlitz 1; die Mobilstation um 3 Zeitschlitze versetzt ebenfalls in Zeitschlitz 1 auf einem UploadFrequenzträger. 1.4 GSM Seite 13 Transportformate Der Transport von Daten mittels Funk birgt Gefahren von fehlerhaften Datenübertragungen (beispielsweise Bitfehlern), welche beim Empfänger korrigiert bzw. zumindest erkannt werden müssen. In GSM werden dazu alle Sprach- und Datenbits bevor sie über die physikalischen Kanäle versendet werden mit Fehlererkennungsbits versehen. Dazu werden Datenbits im GSM-Standard in ein bestimmtes Transportformat überführt, die sogenannten Bursts. Abbildung 1.3 stellt den Normal Burst in GSM dar, welcher zur Nachrichtenübertragung in Verkehrskanälen (Traffic Channels, TCH) und Steuerungskanälen (Control Channels, CCH) dient. Darüber hinaus nutzt GSM vier weitere Burst-Typen mit unterschiedlichem Aufbau, welche in verschiedenen Steuerungskanälen eingesetzt werden. Diese Bursts synchronisieren beispielsweise eine Mobilstation mit der Basisstation oder enthalten Systeminformationen zu einem GSM-Netzwerk, welche von den Mobilstationen benötigt werden, um Verbindungen mit dem GSM-Netz bzw. der Basisstation aufzubauen. Figure 1.3: Normal Burst in GSM aus [Lüd01, Wal01a]. Der Normal Burst ist in verschiedene Felder und Bitfolgen eingeteilt: • Die T-Felder enthalten jeweils 3 Tail-Bits, welche als Begrenzung zu den übrigen Feldern eingesetzt werden. • Das TR-Feld enthält 26 Trainingsbits, welche sowohl dem Sender als auch Empfänger bekannt sind. Mit Hilfe dieser Bits können Informationen zu Übertragungsstörungen detektiert und ausgeglichen werden. Das TR-Feld dient somit der Fehlererkennung und -behebung. • Die beiden Stealing-Bits umschließen die Trainingssequenz und geben an, ob der Burst Nutzdaten oder Signalisierungsinformationen enthält. • Die zwei 57-bit großen Felder werden zur Übertragung der eigentlichen Nutzdaten verwendet. • Von den 156,25 Bits eines Normal Burst werden immer 8,25 Bits für die so genannte Guard Period (GP-Feld) verwendet. Dieses Datenfeld vermeidet Überschneidungen von mehreren physikalischen Paketen bei benachbarten Zeitschlitzen, beispielsweise bei Synchronisationsungenauigkeiten. Verbindungsaufbau Mit Hilfe der vorgestellten physikalischen Kanäle und Bursts werden zwischen einer Mobil- und Basisstation logische Verbindungen aufgebaut, über die sowohl Seite 14 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Sprache, Daten als auch Steuerungsinformation übertragen werden. Generell initiiert in GSM (bis auf wenige Ausnahmen) immer die Mobilstation eine Verbindung mit der Basisstation (beispielsweise für die Sprachübertragung bei Anrufen). Bevor eine Mobilstation jedoch für diese Datenübertragungen bereit ist, müssen verschiedene Initialisierungsphasen durchlaufen werden. Abbildung 1.4 stellt dazu die wichtigsten Zustände einer Mobilstation dar [Lüd01]. Figure 1.4: Betriebszustände einer Mobilstation aus [Lüd01]. • Powered Off: – Mit dem Einschalten der Mobilstation wird der Nutzer aufgefordert, seine PIN einzugeben und sich gegenüber der Mobilstation zu authentisieren. Im Anschluss beginnt die Mobilstation mit der Suche nach einem geeigneten Mobilfunknetz. – Bevor die Mobilstation einen physikalischen Kanal zu einer Basisstation aufbauen kann, führt sie Empfangspegelmessungen auf verschiedenen Frequenzträgern durch, um den bestmöglichen Empfang zu gewährleisten. – Konnte die Mobilstation eine geeignete Basisstation ermitteln, versucht sie sich in das vom Nutzer bevorzugte Netz einzuwählen und anzumelden. Ist diese Prozedur erfolgreich, wechselt die Mobilstation in den Zustand Idle. • Idle: – Die Mobilstation hört den sogenannten Paging-Steuerungskanal ab. Über diesen Kanal teilt die Basisstation einer Mobilstation beispielsweise mit, wenn ein Anruf für die Mobilstation bereitsteht und diese für die Annahme des Gespräches einen neuen Kanal aufbauen muss. – Verändert der Teilnehmer seine Position (im abgedeckten Funkbereich), sodass sich die Qualität der Funkübertragung verschlechtert, kann eine Zellneuwahl von Nöten sein. In diesem Fall führt die Mobilstation erneut Empfangspegelmessungen durch und wechselt basierend auf dem Ergebnis der Messungen die Funkzelle. Bei einem Zellwechsel führt die Mobilstation ein Location Update Prozedur durch, in welchem dem Home Location Register die neue Position (LAI) des Teilnehmers mitgeteilt wird (vgl. Beispiel 1.1). Im gleichen Schritt wird der Mobilstation eine neue TMSI zugeteilt. – Wird die Mobilstation angerufen bzw. initiiert sie einen Anruf, so werden die nachfolgenden Schritte durchgeführt. Bei einem von der Mobilstation ausgehenden Anruf finden die in Abbildung 1.5 dargestellten Schritte statt [Wal01a]. In den Schritten 1 und 2 leitet die Mobilstation benötigte Sicherheitsprozeduren ein (unter anderem die Nachrichtenverschlüsselung) und übermittelt einen Rufwunsch inklusive der Anschlussnummer des Zieles. Im Anschluss überprüft das Mobile Switching Center durch Anfrage im VLR in den Schritten 3 und 4 die Berechtigungen der Mobilstation und verifiziert in Schritt 5 die eigenen Kommunikationswege (z.B. eine freie Leitung). Bei Erfolg wird der Mobilstation die freie Leitung zugewiesen und der Verbindungsaufbau zum Ziel kann eingeleitet werden. 1.4 GSM Seite 15 Figure 1.5: Ausgehender Verbindungsaufbau aus [Wal01a]. Eingehende Verbindungen erfordern ungleich kompliziertere Prozeduren, welche in Abbildung 1.6 dargestellt sind. Initiiert ein externer Anrufer einen Verbindungsaufbau, so wird in Schritt 1 das nächstgelegene Gateway Mobile Switching Center angefragt. Dieses GMSC bestimmt in Schritt 2 anhand der Rufnummer das Home Location Register des mobilen Teilnehmers. Das HLR prüft im Anschluss diese Nummer und fordert in Schritt 3 das VLR (in dem sich der mobile Teilnehmer aktuell aufhält) auf, eine Roamingnummer (MSRN) bereitzustellen. Nach Empfang der MSRN in Schritt 4 bestimmt das HLR das dem VLR zugehörige MSC, welches dem GMSC in Schritt 5 mitgeteilt wird. In Schritt 6 baut das GMSC eine Verbindung mit dem für den mobilen Teilnehmer aktuell zuständigen MSC auf. Dieses MSC beauftragt in Schritt 7 das VLR damit zu prüfen, ob die Mobilstation erreichbar ist. Ist die Mobilstation erreichbar, wird dies dem MSC in Schritt 8 mitgeteilt, welches im Anschluss in Schritt 9 Paging-Nachrichten über den Paging-Steuerungskanal an alle dem MSC zugeordneten Funkzellen sendet. Meldet sich in Schritt 10 die Mobilstation auf die Paging-Nachricht, werden (wie bei ausgehenden Verbindungsaufbauten) die Berechtigungsabfragen und Sicherheitsprozeduren in Schritt 11 durchgeführt. Bei Erfolg wird das MSC vom VLR in Schritt 12 angewiesen, den Aufbau der Verbindung in Schritt 13 einzurichten. Figure 1.6: Eingehender Verbindungsaufbau aus [Wal01a]. Ist letztendlich die Verbindung für den Anruf aufgebaut, wechselt die Mobilstation in den Zustand Dedicated. In diesem Zustand führt die Mobilstation kontinuierlich Empfangspegelmessungen durch, um mögliche Einschränkungen der Übertragungsqualität zu detektieren und mögliche Ausweichfunkzellen zu ermitteln [Lüd01]. Überwiegen die Störungen auf dem Funkkanal oder ist der Empfangspegel zu niedrig, kann die Mobilstation mittels automatischen HandoverMechanismen an einen anderen Kanal der gleichen Funkzelle (Intracell Handover) oder eine komplett unterschiedliche Funkzelle (Intercell Handover) übergeben wer- Seite 16 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen den. Mit Hilfe dieser Handover-Mechanismen kann den Teilnehmern eines GSMMobilfunknetzes wie in den Anforderungen an den GSM-Standard gefordert hohe Mobilität gewährleistet werden. E Exkurs 1.2: General Packet Radio Service General Packet Radio Service (GPRS) bezeichnet einen paketorientierten Dienst für die Datenübertragung in GSM-Netzwerken, welcher im Jahr 1992 von der ETSI standardisiert wurde [Lüd01]. Bei der Standardisierung stand beispielsweise ein effizientes Zusammenspiel mit anderen Paketdatennetzen wie dem Internet im Fokus. Grundsätzlich baut die GPRS-Architektur auf der von GSM auf, wurde allerdings wie in der Abbildung [Lüd01] dargestellt um weitere Elemente erweitert, da die für GSM definierten Netzelemente keine Paketvermittlung durchführen können. Das BSC wurde um eine Packet Control Unit erweitert, welche die Datenpakete zerlegt und wieder zusammenfügt. Die GPRS Support Nodes (GSN) übernehmen die Aufgabe des Paketroutings über ein Backbone-Netzwerk, welches auf Techniken des IP-Protokolls zurückgreift. Die GSN werden in zwei Arten unterteilt: die Support GPRS Support Nodes (SGSN) versorgen eine Gruppe von Funkzellen wohingegen die Gateway GPRS Support Nodes (GGSN) Verbindungen beispielsweise mit dem Internet verwalten. Mit Hilfe der Border Gateways kommunizieren die einzelnen GPRS-Systeme unterschiedlicher Anbieter miteinander. 1.4.3 Sicherheit In einem GSM-Netzwerk werden eine Vielzahl vertraulicher Daten zwischen den einzelnen Netzwerkkomponenten ausgetauscht, welche von Angreifern für verschiedenste Attacken missbraucht werden könnten. Dies umfasst unter anderem teilnehmeridentifizierende Daten wie die IMSI, aber auch Gesprächsinhalte, Anrufverläufe oder die Lokalität von Teilnehmern. Besonders die Datenübertragung über Funk ist anfällig für das Abhören, sodass der GSM-Standard verschiedene 1.4 GSM Seite 17 Authentisierungs- und Verschlüsselungsverfahren einsetzt, um die Privatsphäre der Teilnehmer und die Dateninhalte zu schützen bzw. zu wahren. Beispiel 1.1: Location Update Prozedur Bei einem Wechsel der Funkzelle muss sich die Mobilstation wie in der Abbildung [Lüd01] dargestellt gegenüber dem Netzwerk erneut authentisieren und die Verschlüsselungsparameter aushandeln. Im ersten Schritt versendet die Mobilstation dazu eine Channel-Request Nachricht mit der Anfrage, einen Steuerungskanal aufbauen zu dürfen. Bei Erfolg antwortet der BSC mit einer Intermediate Nachricht, in der die Parameter des Kanals (unter anderem die Frequenz und der Zeitschlitz) enthalten sind. Die Zuweisungsphase des Kanals wird von der Location Update Request Nachricht abgeschlossen, in welcher die Mobilstation ihre bisherige TMSI und die alte LAI weiterleitet. Das neue VLR fordert nach Erhalt der Nachricht die Authentifizierungsparamter vom alten VLR an. In Schritt 2 authentisiert sich der Teilnehmer gegenüber dem Netz und handelt aktualisierte Verschlüsselungsparameter aus. In Schritt 3 wird das eigentliche Location Update durchgeführt. Hierbei teilt das neue VLR dem HLR die neue Zuständigkeit des Teilnehmers mit, worauf das HLR bei dem alten VLR die Löschung der Zuständigkeit beantragt. In der TMSI Reallocation Nachricht wird neben einer neu-generierten TMSI auch die aktualisierte Location in Form der LAI an die Mobilstation übertragen und auf der SIM-Karte gespeichert. In Schritt 4 wird letztendlich der aufgebaute Steuerungskanal wieder abgebaut. Architektur Abbildung 1.7 stellt die Sicherheitsarchitektur von GSM dar. Grundsätzlich verwendet GSM drei proprietäre kryptographische Algorithmen, A3, A5 und A8, die sowohl die Authentisierung und Schlüsselgenerierung als auch die Verschlüsselungsaufgaben übernehmen. Authentizität und Vertraulichkeit werden in GSM erzeugt, indem der Teilnehmer und das Netzwerk einen 128-bit Schlüssel Ki teilen, der auf der SIM-Karte und im Authentication Center abgespeichert ist [Bou10]. Dieser Schlüssel wird in keinem Fall über das Netzwerk übertragen und ist dementsprechend nur dem Teilnehmer und dem Netzwerk bekannt. B Seite 18 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Figure 1.7: Sicherheitsarchitektur von GSM aus [Fed99, Wal01a]. In einem ersten Schritt authentifiziert sich der Nutzer einer Mobilstation gegenüber der SIM-Karte mit der Eingabe der PIN. Weiterhin muss sich eine Mobilstation bei jedem Verbindungsaufbau oder Wechsel der Funkzelle (Location Update Request) gegenüber dem Netzwerk authentifizieren. Diese Authentisierung findet mittels der Challenge-Response Technik statt. Dazu empfängt die Mobilstation vom Netzwerk eine Authentication Request Nachricht mit einer 128-bit Zufallszahl RAN D, der sogenannten Challenge. Die Mobilstation leitet RAN D an die SIM-Karte, in der mit Hilfe des A3-Algorithmus und Schlüssels Ki die 32-bit Response SRES berechnet wird. Die Response wird zurück an das Netzwerk gesendet, welches die exakt gleichen Operationen durchführt und das Ergebnis mit dem Wert SRES der Mobilstation vergleicht. Sind die vom Netzwerk und der Mobilstation berechneten Werte identisch, so konnte sich die Mobilstation erfolgreich gegenüber dem Netzwerk authentisieren. Sind die Werte unterschiedlich, muss das GSM-Netzwerk davon ausgehen, dass die Mobilstation den teilnehmerspezifischen Schlüssel Ki nicht kennt. Die bei der Authentisierung ausgetauschte Zufallszahl RAN D fließt weiterhin zusammen mit dem Schlüssel Ki in den Schlüsselableitungsalgorithmus A8, der den 64-bit Sessionkey Kc berechnet. Die Algorithmen A3 und A8 werden bei GSM häufig unter dem Namen COMP128 zusammengefasst. Nach der Schlüsselableitung wird Kc von der SIM-Karte auf die Mobilstation übertragen, in der die nachfolgenden Verschlüsselungsoperationen stattfinden. Für die Verschlüsselung der eigentlichen Übertragungsdaten wendet GSM die A5-Stromchiffre an, die als Eingabe den Sessionkey Kc und die Frame-Nummer des aktuell zu verschlüsselnden TDMA-Rahmens erhält und als Ausgabe einen Schlüsselstrom von 228 Bits erzeugt (zweimal 114 Bits, wobei 114 Bits einem Burst entsprechen), welcher in zwei Hälften unterteilt wird [Bou10]. Die erste Hälfte verbzw. entschlüsselt bei einer Duplexkommunikation den Download-TDMA-Frame, wohingegen die zweite Hälfte den Upload-TDMA-Frame ver- und entschlüsselt. Für jeden TDMA-Frame (d.h. alle 4,6 ms) wird ein neuer Schlüsselstrom generiert, wobei sich nach ungefähr 209 Minuten der Schlüsselstrom wiederholt, da 1.4 GSM zu diesem Zeitpunkt die TDMA-Nummer überläuft und die Zählung erneut bei 0 beginnt [Fed99]. 1.4.4 Angriffe In den vergangenen Jahren wurden eine Vielzahl an Angriffen auf das GSMProtokoll und die einzelnen Authentisierungs- und Verschlüsselungsverfahren veröffentlicht [Bou10]. Generelle Schwachstellen In GSM-Netzwerken wird grundsätzlich nur die Authentizität der Mobilstation gegenüber der Basisstation validiert. Die Umkehrrichtung ist im GSM-Standard nicht vorgesehen. Dies bedeutet, dass eine Basisstation gegenüber der Mobilstation nicht zeigen muss, dass ihr der teilnehmerspezifische Schlüssel Ki bekannt ist. Ein Angreifer kann sich dies zunutze machen und gegenüber einer Mobilstation als Basisstation ausgeben. Dazu überlagert der Angreifer die Funksignale der echten Basisstationen mit stärkeren Signalen, sodass sich die Mobilstation des Opfers in die Basisstation des Angreifers einbucht. Die Authentisierungsphase umgeht der Angreifer, indem seine Mobilstation einen beliebigen Wert als Challenge sendet und die Response der Mobilstation ignoriert. In einem weiteren Angriffsszenario kann die Basisstation des Angreifers die Nachrichtenverschlüsselung deaktivieren, sodass die Kommunikation zwischen Mobilstation des Opfer und Basisstation des Angreifers unverschlüsselt abläuft. Zusätzlich kann sich der Angreifer gegenüber einer echten Basisstation als Mobilstation ausgeben und so die Anrufe und Nachrichten zwischen der Mobilstation des Opfers und einer echten Basisstation weiterleiten und aufzeichnen. Diese Art von Angriffen ist in Abbildung 1.8 dargestellt und konnte mit so genannten IMSICatchern durchgeführt werden. Die Basisstation des Angreifers kann in einem weiteren Szenario wiederholte Authentisierungsanfragen an die Mobilstation stellen statt die Authentisierungsphase der Mobilstation wie im vorherigen Szenario zu umgehen, sodass der Angreifer die (RAN D, SRES)-Tupel aufzeichnen und mit einer hinreichenden Anzahl von Challenge-Response-Paaren den Schlüssel Ki ableiten kann. In GSM wird bei der erstmaligen Anmeldung einer Mobilstation in ein Netzwerk die IMSI im Klartext übertragen, da erst basierend auf der IMSI der teilnehmerspezifische Schlüssel Ki ermittelt werden kann. In dieser ersten Anmeldephase kann ein Angreifer die IMSI mittels einfachem Abhören der Funkverbindung ermitteln. Nach der ersten Anmeldung werden zur Verschleierung der Identität des Teilnehmers lediglich die kurzzeitig gültigen TMSIs verwendet. Es kann jedoch der Fall eintreten, dass bei Synchronisationsproblemen zwischen einzelnen Netzsegmenten die TMSI keine Gültigkeit mehr besitzt, sodass das GSM-Netz den Teilnehmer zu diesem Zeitpunkt nach dessen IMSI fragen muss. Auch in diesem Fall wird die IMSI im Klartext übertragen, da dem Netzwerk keine teilnehmeridentifizierenden Merkmale bekannt sind, um den korrekten Schlüssel Ki zu identifizieren. Ein Angreifer kann aber wie bereits zuvor erläutert eine Basisstation imitieren und die Mobilstation ebenso direkt nach der IMSI des Teilnehmers fragen. Seite 19 Seite 20 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Figure 1.8: Man-inthe-Middle Attacke aus [Bou10]. Schwachstellen in den Algorithmen A3 und A8 Die Sicherheitsalgorithmen A3 und A8 (COMP128) sind der Öffentlichkeit lange Zeit nicht zugänglich gewesen, was generell eine schlechte Vorgehensweise bei kryptographischen Algorithmen ist. Nach Bekanntwerden der Implementierung von COMP128 mittels Reverse-Engineering wurden eine Vielzahl von Schwachstellen in diesen Algorithmen entdeckt [Bou10]. Mit Hilfe von ausgewählten Werten für RAN D (Chosen-Challenge Angriff) konnten hinreichend viele Informationen ermittelt werden, um den Schlüssel Ki zu bestimmen. Dies ist möglich, da die Diffusion des A3-Algorithmus fehlerhaft ist und gewisse Teile der Ausgabe auf bestimmten Teilen der Eingabeparameter basieren. Ein Chosen-Challenge Angriff zur Bestimmung von Ki konnte bis zu 8 Stunden dauern und bis zu 150.000 Challenges benötigen. Aufgrund von weiteren Schwachstellen in den Lookup-Tabellen von COMP128 konnten die Angriffe jedoch derart verbessert werden, dass der Schlüssel Ki mit weniger als 1000 zufälligen Challenges innerhalb von Minuten bestimmt werden kann. Eine weitere Schwachstelle in COMP128 wird dadurch definiert, dass bei der Generierung des Sessionkeys Kc der Algorithmus intern die niederwertigsten 10 Bits auf den Wert 0 setzt, wodurch die kryptographische Stärke der Chiffre deutlich verringert wurde. Kann ein Angreifer mit Hilfe der vorgestellten Angriffe sowohl die IMSI abfangen als auch den Schlüssel Ki bestimmen, so kann sich dieser als legitimer Teilnehmer gegenüber dem Netzwerk ausgeben und beispielsweise auf Kosten des Opfers Telefongespräche durchführen und weitere Dienste in Anspruch nehmen. 1.4 GSM Seite 21 Schwachstellen im A5-Algorithmus Generell existieren für den A5-Algorithmus mehrere verschiedene und kryptographisch unterschiedlich starke Versionen, von denen zwei im Folgenden vorgestellt werden. Ursprünglich wurde die proprietäre A5/1-Chiffre als Verschlüsselungsalgorithmus für die Datenübertragung in GSM eingesetzt. Neben der A5/1-Chiffre wurde allerdings auch die kryptographisch schwächere proprietäre A5/2-Chiffre eingesetzt, um den Import- und Exportbestimmungen einiger Länder zu entsprechen [Fed99]. Mit Hilfe von Reverse-Engineering konnten die Funktionsweisen der bis dato unbekannten Algorithmen bestimmt werden. A5/2-Chiffre Die A5/2-Chiffre verwendet wie in Abbildung 1.9 dargestellt vier irregulär getaktete linear rückgekoppelte Schieberegister (LFSRs) R1 (19 Bits), R2 (22 Bits), R3 (23 Bits) und R4 (17 Bits) [Bou10]. Figure 1.9: Struktur der GSM A5/2Chiffre aus [Ben13]. Wird ein LFSR getaktet, so wird der komplette LFSR-Inhalt um eine Position nach rechts verschoben, wobei ein Bit ausgegeben wird. Die Ausgabebits der LFSRs R1 bis R3 fließen wie abgebildet direkt in das Schlüsselstrombit zl ein. Weiterhin verwendet jedes LFSR mehrere Bits, die bei einem Takt des jeweiligen LFSRs mit dem Ausgabebit verrechnet und an die Position 0 geschrieben werden. Für R1 werden beispielsweise die Bits 18, 17, 16 und 13 XOR-verrechnet und im Anschluss an die Position 0 geschrieben. Neben dem jeweiligen höchstwertigen Bit eines LFSRs fließen drei weitere Bits von R1 bis R3, im Folgenden Taps genannt, in das Schlüsselstrombit zl ein. Diese drei Bits werden mittels einer Majority-Funktionen M kombiniert, die folgendermaßen definiert ist: M : {0, 1}3 7→ {0, 1} (a, b, c)2 7→ ab ⊕ ac ⊕ bc. Das LFSR R4 und die Taktkomponente C bestimmen die Taktung der restlichen LFSRs. Dabei definiert Ri,j das Bit des LFSR Ri an Position j, wobei Ri,0 das Bit mit dem niedrigsten Stellenwert beschreibt. 1. Die drei Bits R4,3 , R4,7 , R4,10 werden der Taktkomponente C übergeben. 2. Die Taktkomponente wendet die Majority-Funktionen M auf diese Bits an und taktet die restlichen LFSRs folgendermaßen: Seite 22 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen a) Wenn M(R4,3 , R4,7 , R4,10 ) = R4,10 gilt, wird LFSR R1 getaktet. b) Wenn M(R4,3 , R4,7 , R4,10 ) = R4,3 gilt, wird LFSR R2 getaktet. c) Wenn M(R4,3 , R4,7 , R4,10 ) = R4,7 gilt, wird LFSR R3 getaktet. 3. LFSR R4 wird getaktet. Der Verschlüsselungsalgorithmus operiert in zwei unterschiedlichen Modi, der Initialisierungsphase und der Schlüsselstromerzeugung. Während der Initialisierungsphase werden die nachfolgenden Schritte ausgeführt: 1. Alle Bits in den vier LFSRs werden auf 0 gesetzt. 2. Die 64 Bits des Schlüssels Kc werden in die LFSRs geschrieben, indem folgende Operationen für i ∈ {0, ..., 63} durchgeführt werden: a) Alle LFSRs werden einmal getaktet. b) R1,0 := R1,0 ⊕ Kc [i], R2,0 := R2,0 ⊕ Kc [i], R3,0 := R3,0 ⊕ Kc [i], R4,0 := R4,0 ⊕ Kc [i] 3. Die 22 Bits der Frame-Nummer f werden in die LFSRs geschrieben, indem folgende Operationen für i ∈ {0, ..., 21} durchgeführt werden: a) Alle LFSRs werden einmal getaktet. b) R1,0 := R1,0 ⊕ f [i], R2,0 := R2,0 ⊕ f [i], R3,0 := R3,0 ⊕ f [i], R4,0 := R4,0 ⊕ f [i] 4. Die Bits R1,15 , R2,16 , R3,18 und R4,10 werden auf den Wert 1 gesetzt. 5. Im Anschluss wird die Chiffre 99 Mal getaktet, wobei alle in dieser Phase entstehenden Bits zl des Schlüsselstroms verworfen werden. Während der Schlüsselstromerzeugung wird die Chiffre 228 Mal getaktet, wobei alle in dieser Phase entstehenden Schlüsselstrombits verwendet werden. Die A5/2-Chiffre von GSM ist gegen verschiedene Angriffe verwundbar, beispielsweise einer Known-Plaintext Attacke, in welcher der Angreifer mehrere KlartextChiffretext-Paare kennt [BBK08a, Bou10]. Die generelle Idee ist, dass wenn ein Angreifer mit Hilfe der Klartext-Chiffretext-Paare die Initialzustände der LFSRs berechnen kann, so kann er auch den Sessionkey Kc bestimmen. Zum Berechnen der Initialzustände wird ein lineares Gleichungssystem mit 656 Variablen aufgebaut. Ein Angreifer ist an 18 + 21 + 22 = 61 dieser Variablen interessiert, den Initialzuständen der LFSRs R1 bis R3 definieren. Mit den Initialzuständen der LFSRs und Raten der 216 möglichen Initialzustände von R4 kann der Sessionkey Kc bestimmt werden. Weitere Angriffe auf Algorithmen ähnlich der GSM A5/2-Chiffre werden im nachfolgenden Kapitel vorgestellt. A5/1-Chiffre Die GSM A5/1-Chiffre ist in Abbildung 1.10 dargestellt und deutlich einfacher aufgebaut. Anders als bei der A5/2-Chiffre wird weder ein viertes LFSR noch eine Taktkomponente C verwendet. Als Ersatz wird in jedem LFSR ein Taktbit definiert 1.4 GSM Seite 23 (R1,8 , R2,10 und R3,10 ). Bei einem Taktzyklus werden die drei Taktbits geprüft und der überwiegend vorkommende Wert (0 oder 1) als Majority-Bit definiert. Im Anschluss werden die LFSRs getaktet, bei denen die Taktbits dem Majority-Bit entsprechen. Sind beispielsweise R1,8 = R3,10 = 1 und R2,10 = 0, so hat das Majority-Bit den Wert 1 und die LFSRs R1 und R3 werden getaktet. Figure 1.10: Struktur der GSM A5/1Chiffre aus [Bou10]. Die Initialisierungsphase ähnelt der von A5/2, sodass zu Beginn die LFSRs auf 0 gesetzt und anschließend die 64 Bits des Schlüssels Kc und die 22 Bits der FrameNummer in die LFSRs getaktet werden. Im Anschluss wird die Initialisierungsphase der Chiffre mit einer 100-fachen Taktung abgeschlossen, wobei in dieser Phase die Schlüsselstrombits verworfen werden. Die Schlüsselgenerierung gleicht der des A5/2-Algorithmus. Auch die A5/1-Chiffre ist für verschiedene Angriffe verwundbar, unter anderen weil die drei LFSRs insgesamt lediglich 219+22+23 Initialzustände annehmen können. Aus diesem Grund wurden verschiedene weitere kryptographische Algorithmen für die A5-Funktion vorgeschlagen, unter anderem eine Stromchiffre auf Basis der Kasumi-Blockchiffre, welche bei GSM unter dem Namen A5/3 den Schlüsselstrom generiert. Die Kasumi-Blockchiffre wird in Abschnitt 1.5.2 genauer vorgestellt. 1.4.5 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. Kontrollaufgabe 1.1: GSM-Architektur K Aus welchen neun Hauptkomponenten besteht im wesentlichen ein GSMSystem? Welche Komponenten bilden das Funk-Teilsystem? Kontrollaufgabe 1.2: Bewegungsprofil Wie könnte ein Angreifer Bewegungsprofile in GSM erstellen und warum ist dies überhaupt möglich? K Seite 24 K Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Kontrollaufgabe 1.3: Abhören Wie könnte ein Angreifer Gesprächsdaten in GSM abhören? 1.5 UMTS UMTS steht für Universal Mobile Telecommunications System und ist ein international etablierter Mobilfunkstandard der dritten Generation (3G). Die Entwicklung von UMTS wurde wie die von GSM durch das European Telecommunications Standards Institute (ETSI) durchgeführt, wobei heutzutage das 3GPP (3rd Generation Partnership Project) den UMTS-Standard weiter entwickelt. Ähnlich wie bei GSM sollen mit dem UMTS-Standard verschiedene Ziele erreicht werden [Lüd01]: • Universelle Nutzungsmöglichkeiten (breites Anwendungsspektrum) • Betrieb im weltweit einheitlichen Frequenzband • Effiziente Nutzung des Frequenzspektrums • Vielfältiges Dienstspektrum (Sprache, Daten, Video und Multimedia) mit hoher Datenrate und Dienstqualität 1.5.1 Systemdesign Ein UMTS-System lässt sich wie GSM in ein Funkteilsystem (UMTS Terrestrial Radio Access, UTRAN) und ein Vermittlungsteilsystem (Core Network, CN) einteilen [Lüd01]. Das Vermittlungsteilsystem ähnelt der Architektur und den Protokollen, die bereits bei GSM und dessen GPRS-Erweiterung Anwendung finden. Um der Anforderung an höhere Datenraten und Multimediadiensten gerecht zu werden, wurden für das Funkteilsystem neue Konzepte eingeführt und weitere Komponenten der Architektur hinzugefügt. Um die geänderten Funktionsweisen zwischen GSM und UMTS unterscheiden zu können, wurden wie in Abbildung 1.11 zu erkennen die Namen einiger Komponenten abgeändert. • UE: Die Mobilstation wird bei UMTS als User Equipment bezeichnet und besteht aus dem mobilen Endgerät und dem UMTS Subscriber Identity Modul (USIM). Die USIM enthält ähnlich zur GSM SIM-Karte verschiedene Teilnehmer-Identifizierungsmerkmale wie die IMSI und den Schlüssel Ki sowie die kryptographischen Algorithmen für die Authentisierung. • Node B: Der Node B entspricht im wesentlichen der GSM-Basisstation und übernimmt die funktechnische Versorgung. • RNC: Der Radio Network Controller übernimmt die Aufgaben der BSCs in GSM und verwaltet mehrere Node B-Komponenten. Die RNCs sind untereinander vernetzt, sodass Handover-Mechanismen zwischen einzelnen Funkzellen ohne Beteiligung des Vermittlungsteilsystems durchgeführt werden können. 1.5 UMTS Seite 25 Figure 1.11: UMTSArchitektur aus [Lüd01]. 1.5.2 Sicherheit Bei der Entwicklung der dritten Generation der Mobilfunkstandards sollten viele der bei 2G identifizierten Schwachstellen und Fehler vermieden werden. Eine große Verbesserung wurde alleinig dadurch erreicht, dass bereits öffentliche kryptographische Funktionen statt der proprietären Verschlüsselungsalgorithmen verwendet wurden. Dies hatte den Vorteil, dass die öffentlichen Funktionen bereits von Experten auf ihre kryptographische Stärke untersucht worden sind. Weiterhin wurden bestimmte Prozeduren wie die Authentisierungsphase deutlich verbessert. Authentisierung und Schlüsselableitung Während sich in GSM lediglich die Mobilstation gegenüber dem Netz authentisieren musste, wendet UMTS Mutual Authentication (auch Zwei-WegeAuthentisierung genannt) an, in der sich beide Kommunikationspartner dem anderen gegenüber authentisieren müssen [Bou10]. Weiterhin fließen bei UMTS Sequenznummern in die Nachrichten ein, um Freshness zu garantieren und gegen Replay-Angriffe zu schützen. Die USIM speichert dazu die SQNM S , in der die höchste von der USIM akzeptierte Sequenznummer abgelegt wird. Die Sequenznummer SQNHE wird vom UMTS-Netz für jeden Teilnehmer individuell gespeichert. Die Authentisierung wird ähnlich zum GSM-Standard durchgeführt (um Kompatibilität mit GSM zu wahren), in dem ein Challenge-Response Verfahren angewandt wird, welches in Abbildung 1.12 dargestellt ist. Wie bereits bei GSM dient das Verfahren dazu, dem Kommunikationspartner die Kenntnis des geteilten Schlüssels Ki zu zeigen, ohne diesen Schlüssel über das Netz verschicken zu müssen. Der Authentisierungsprozess wird beispielsweise bei der ersten Registrierung des Teilnehmers in ein UMTS-Netz aber auch bei Location Update Prozeduren durchgeführt. In der ersten Phase der Authentisierung wird ein Authentication Request von dem für eine Mobilstation aktuell gültigen VLR an das HLR im Heimatnetz des Teilnehmers gesendet. Das HLR generiert eine Zufallszahl RAN D und ein Authentisierungstoken AU T N , welches vom VLR an die Mobilstation weitergereicht wird. Seite 26 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Figure 1.12: Authentisierung in UMTS aus [Bou10]. Unter Einbeziehung dieser beiden Parameter leitet die Mobilstation sowohl die Authentisierung-Response als auch die Schlüssel für die Datenverschlüsselung ab. Figure 1.13: Generierung des Authentisierungstokens aus [Bou10]. Abbildung 1.13 stellt die Schritte des HLRs dar. Im ersten Schritt generiert das HLR eine frische Sequenznummer SQN , welche der Mobilstation beweist, dass diese Nachricht nicht bereits früher versendet worden ist. Weiterhin wird eine Zufallszahl RAN D generiert. Unter Einbeziehung des Schlüssels Ki werden mit Hilfe der kryptographischen Funktionen f 1 bis f 5 die Parameter der Authentisierung und die Schlüssel abgeleitet. Grundsätzlich basieren die Funktionen f 1 bis f 5 auf dem selben kryptographischen Algorithmus, unterscheiden sich jedoch in ihrer internen Verarbeitungsweise, sodass mit Hilfe der fünf Ergebnisse keine Rückschlüsse auf den verwendeten Schlüssel Ki gezogen werden können. 1. Die Funktion f 1 ist ein Message Authentication Algorithmus, welcher unter Einbeziehung des Schlüssels, der Sequenznummer, der Zufallszahl und eines Authentication and Key Management Fields (kann unter anderem weitere Schlüssel Ki in der USIM aktivieren) einen Message Authentication Code M AC generiert. 1.5 UMTS Seite 27 2. Die Funktion f 2 generiert den Authentisierungsparameter, der in späteren Schritten mit der Authentisierung-Response der Mobilstation verglichen wird. 3. Die Funktionen f 3 bis f 5 leiten den Cipher-Key CK, den Integrity-Key IK und den Anonymity-Key AK ab. Im letzten Schritt bildet das HLR das Authentisierungstoken AU T N AU T N = (SQN ⊕ AK, AM F, M AC) und sendet dieses über das VLR an die Mobilstation. Figure 1.14: Verifizierung des Authentisierungstokens im USIM aus [ETS99]. Nach Erhalt des Tupels (RAN D, AU T N ) verifiziert die Mobilstation die erhaltenen Werte und leitet wie in Abbildung 1.14 dargestellt ihrerseits die weiteren Schlüssel ab. Dazu berechnet die USIM zuerst den Anonymity-Key AK = f 5(Ki , RAN D) und damit die Sequenznummer SQN = (SQN ⊕ AK) ⊕ AK. Im weiteren Schritt wird die MAC XM AC = f 1(Ki , SQN, RAN D, AM F ) berechnet und mit dem in AU T N enthaltenen M AC des UMTS-Netzes verglichen. Sind die Parameter unterschiedlich, sendet die Mobilstation eine User Authentication Reject Nachricht an das Netz und bricht die Authentisierung ab. Bei Gleichheit verifiziert die USIM, ob die erhaltene Sequenznummer SEQ mit Hilfe der gespeicherten SQNM S in einem gültigen Wertebereich liegt. Schlägt die Verifizierung fehl, wird eine Synchronization Failure Nachricht an das Netz übertragen und die weiteren Schritte werden abgebrochen. Im Anschluss berechnet die USIM RES = f 2(Ki , RAN D), sendet diesen Wert zurück an die Basisstation und berechnet den Cipher-Key CK = f 3(Ki , RAN D) und den IntegrityKey IK = f 4(Ki , RAN D). Im UMTS-Netz wird RES nach Erhalt mit dem Wert XRES verglichen. Stimmen beide Werte überein, so ist die Authentisierungsund Schlüsselerzeugungsphase abgeschlossen und beide Kommunikationspartner konnten beweisen, dass sie im Besitz des Schlüssels Ki sind. Verschlüsselung Nach der Authentisierungs- und Schlüsselerzeugungsphase beginnen Mobil- und Basisstation mit der Verschlüsselung der zu übertragenen Nachrichten. Die Ver- Seite 28 Chapter 1 Sicherheitsaspekte von Mobilfunknetzen schlüsselungsfunktionen sind auf der Mobilstation und in den Radio Network Controllern implementiert. Im UMTS-Standard wird dazu die f 8-Funktion verwendet, die in Abbildung 1.15 dargestellt ist. Figure 1.15: Schlüsselstromgenerator f 8 aus [ETS01]. Die f 8-Funktion ist eine symmetrische Stromchiffre, welche unter Einfluss des Cipher-Keys CK und der Kasumi-Chiffre einen Frame variabler Länge verschlüsselt. Um sicherzustellen, dass zwei Frames nicht den gleichen Schlüsselstrom verwenden, werden die drei Parameter COU N T , BEARER und DIRECT ION einbezogen. Die Ausgabe der f 8-Funktion ist eine Schlüsselstromsequenz mit der Länge des zu verschlüsselnden Frames, sodass mittels einfacher XORVerknüpfung Klartext und Schlüsselstrom den Ciphertext bilden. Figure 1.16: Integritätsfunktion f 9 aus [ETS01]. Der UMTS-Standard fügt verschlüsselten Nachrichten auf Steuerungskanälen zusätzliche Integritätsinformationen hinzu. Dazu wird die in Abbildung 1.16 dargestellte Funktion f 9 verwendet, welche basierend auf den Nachrichtendaten, dem 1.5 UMTS Seite 29 Integrity-Key IK und einem Zufallswert F RESH einen 32-bit Message Authentication Code erzeugt. M AC = f 9(IK, COU N T − I, M ESSAGE, DIRECT ION, F RESH) Dieser M AC wird an die mit der f 8-Funktion verschlüsselten Daten gehängt. Auf der Empfängerseite wird zur Verifizierung ebenfalls der MAC berechnet und mit dem vom Sender berechneten und weitergeleiteten Wert verglichen. Ähnlich zu der f 8-Schlüsselstromfunktion verwendet auch die Integritätsfunktion die Kasumi-Blockchiffre. Kasumi-Chiffre Die Kasumi-Chiffre ist wie bereits in den vorherigen Abbildungen angedeutet eine Vielfach in UMTS angewandte Blockchiffre. Die Chiffre basiert auf einem Feistelnetzwerk (vgl. Vorlesung Kryptographie I und II), welches aus 64-bit Eingabeblöcken und dem Schlüsselparameter K den Ciphertext erzeugt [ETS07]. Wie in Abbildung 1.17 zu erkennen führt die Chiffre 8 Runden aus, wobei sie in einer einzelnen Runde lediglich eine Hälfte der Eingabe verarbeitet. Zu Beginn wird der 64-bit Eingabeblock in zwei 32-bit Blöcke L0 und R0 aufgeteilt. In den weiteren Schritten führt die Chiffre für i ∈ {1, ..., 8} die Operationen Ri = Li−1 Li = Ri−1 ⊕ fi (Li−1 , RKi ) durch, wobei fi die Rundenfunktion mit dem Eingabeparameter Li−1 und Rundenschlüssel RKi beschreibt. Die Chiffre liefert in der achten Runden den resultierenden Chiffretext (L8 ||R8 ) zurück. Die Rundenfunktion fi erhält den 32-bit Eingabeparameter I und liefert den 32-bit Ausgabeparameter O zurück, welcher unter Anwendung des Rundenschlüssels RKi , bestehend aus den Unterschlüsseln (KLi , KOi , KIi ), und den Unterfunktionen F L und F O gebildet wird. Die Rundenfunktion fi führt basierend auf der Rundennummer unterschiedliche Operationen durch. Für ungerade Rundennummer i ∈ {1, 3, 5, 7} ist fi definiert als fi (I, RKi ) = F O(F L(I, KLi ), KOi , KIi ) und für gerade Rundennummer i ∈ {2, 4, 6, 8} als fi (I, RKi ) = F L(F O(I, KOi , KIi ), KLi ). Die F L-Funktion besteht aus einfachen logischen Operationen und Verschiebungen. Dazu wird der Schlüssel KLi in zwei Unterschlüssel geteilt und mit jeweils einem Teil der Eingabe I = (L||R) verrechnet. KLi = KLi,1 ||KLi,2 R0 = R ⊕ ROL(L ⊕ KLi,1 ) L0 = L ⊕ ROL(R0 ⊕ KLi,2 ) Die F O-Funktion besteht wie die fi -Funktion auf der Feistelstruktur mit diesmal drei Runden und einer Unterfunktion F I. Die 32-bit Eingabe wird ähnlich zu der Seite 30 3GPP TS 35.202 version 7.0.0 Release 7 18 ETSI TS 135 202 V7.0.0 (2007-06) Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Annex 1 (informative): Figures of the KASUMI Algorithm Figure 1.17: Struktur der Kasumi-Chiffre aus [ETS07]. L0 R0 64 32 32 KL 1 32 16 KO1, KI 1 FL1 FO2 9 KOi,1 FO1 7 S9 KI i,1 FIi1 KO2, KI 2 16 16 zero-extend KL2 S7 KOi,2 FL2 truncate KI i,2 FIi2 KIi,j,1 KL 3 KO3, KI 3 FL3 FO3 KOi,3 KI i,3 FIi3 KO4, KI 4 FO4 S9 zero-extend KL4 FL4 S7 truncate KL 5 KO5, KI 5 FL5 FO5 Fig.2: FO Function KO6, KI 6 Fig.3: FI Function KL6 32 FO6 FL6 16 16 KLi,1 KL 7 KO7, KI 7 FL7 FO7 KLi,2 KO8, KI 8 FO8 KL8 FL8 bitwise AND operation bitwise OR operation L8 R8 one bit left rotation C Fig. 1: KASUMI Fig.4: FL Function ETSI KIi,j,2 1.5 UMTS Seite 31 fi -Funktion in zwei Hälften L0 und R0 geteilt. Die beiden 48-bit Schlüssel werden in jeweils drei 16-bit Unterschlüssel KOi = KOi,1 ||KOi,2 ||KOi,3 KIi = KIi,1 ||KIi,2 ||KIi,3 geteilt. Für j ∈ {1, 2, 3} werden im Anschluss die Operationen Rj = F I(Lj−1 ⊕ KOi,j , KIi,j ) ⊕ Rj−1 Lj = Rj−1 durchgeführt und (L3 ||R3 ) ausgegeben. Die Unterfunktion F I teilt die Eingabe in zwei ungleiche Hälften und wendet auf diese mehrmals zwei Lookup-Tabellen (S7 und S9) an. Angriffe Die Sicherheitsarchitektur von UMTS wurde im Gegensatz zu GSM stark verbessert. Dies hat zum einen den Grund, dass eine Zwei-Wege-Authentisierung eingeführt wurde, welche eine Vielzahl der in Abschnitt 1.4.4 vorgestellten GSM Angriffe verhindern soll. Desweiteren wurde für UMTS auf öffentlich verfügbare Kryptoalgorithmen zurückgegriffen, welche unter anderem mit Hilfe der Integritätsfunktion f 9 die Datenintegrität über den Funkkanal absichern. Dennoch sind verschiedene Angriffe auf die Sicherheitsmerkmale vom UMTS vorgestellt worden. Beispielsweise wurden verschiedene Attacken auf die Kasumi-Chiffre bekannt, welche die Chiffre mit Hilfe von Kryptoanalyse mit einer Komplexität von 232 brechen können [DKS10]. 1.5.3 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. Kontrollaufgabe 1.4: Architektur in UMTS K Aus welchen Hauptkomponenten besteht im wesentlichen ein UMTSSystem? Wozu dienen die neu eingeführten Komponenten? Kontrollaufgabe 1.5: Authentisierungsphase in UMTS Welche Parameter werden zwischen UMTS-Netz und Mobilstation während der Authentisierungsphase ausgetauscht? Wozu dienen diese Parameter im Einzelnen? Welche Operationen finden in der Authentisierungsphase auf der Mobilstation statt? K Seite 32 K Chapter 1 Sicherheitsaspekte von Mobilfunknetzen Kontrollaufgabe 1.6: Verschlüsselung in UMTS Beschreiben Sie die Aufgaben der f 8 und f 9-Funktionen. Was haben beide Funktionen in ihrer Struktur gemeinsam? 1.6 Übungen Seite 33 1.6 Übungen Übung 1.1: Verschlüsselung in GSM Ü Es existieren verschiedene Angriffe auf die GSM-Verschlüsselungsalgorithmen. Beispielsweise kann mittels eines Ciphertext-only-Angriffes auf die A5/2 Chiffre der Schlüssel Kc innerhalb von wenigen Sekunden bestimmt werden. Wie könnte ein Angreifer diese Attacke auf A5/2 ausnutzen, um auch Gespräche einer Mobilstation in einem mit A5/1 oder A5/3-Algorithmen geschützten GSM-Netz abzuhören, wenn die Mobilstation auch die Verwendung der A5/2-Chiffre unterstützt? Beschreiben Sie die einzelnen Schritte. Welche Eigenschaften von GSM erlauben diesen Angriff? Übung 1.2: Verschlüsselung in GSM / UMTS Ü Warum ist es im GSM-Standard einem Angreifer möglich, Nachrichten zwischen Mobilstation und GSM-Netzwerk abzuändern? Wie soll dies im UMTS-Standard verhindert werden? Übung 1.3: Blockchiffre / Feistelnetzwerk Was macht eine Blockchiffre, die auf einem Feistelnetzwerk besteht im Hinblick auf Ver- und Entschlüsselung besonders? Wie sieht die generelle Struktur aus? Ü Chapter 2 Sicherheitsaspekte von Satellitentelefonen Chapter 2 Sicherheitsaspekte von Satellitentelefonen 2.1 Lernziele Sie kennen die Grundlagen der Kommunikation über Satellitentelefone und können Unterschiede zwischen Protokollen von Satellitentelefonen und anderen Mobilfunkstandards wie GSM / UMTS benennen. Weiterhin können Sie die generellen Funktionsweisen von zwei Satellitentelefon-Protokollfamilien erläutern. Abschließend können Sie Angriffe auf die zwei Protokolle aufzeigen und skizzieren. 2.2 Advanced Organizer Wie ist ein Satellitentelefonnetzwerk aufgebaut und welche Angriffe sind auf die verschiedenen Protokollfamilien möglich? In diesem Studienbrief werden der Aufbau und zwei der verwendeten Protokolle von Satellitentelefonnetzwerken aufgezeigt und Schwachstellen erläutert. 2.3 Einleitung In diesem Studienbrief werden die Grundlagen der Kommunikation von Satellitentelefonen und ihre Einsatzgebiete erläutert. Weiterführend wird der Aufbau und die Funktionsweise von zwei verwendeten Protokollfamilien aufgezeigt. Dies umfasst insbesondere den Aufbau und die Funktionsweise der zugehörigen proprietären kryptographischen Verschlüsselungsfunktionen. Abschließend werden verschiedene Angriffe auf diese Verschlüsselungsfunktionen vorgestellt. 2.4 Grundlagen Mobile Kommunikationssysteme haben die Art und Weise der heutigen Kommunikation revolutioniert. Statt für die Telefon- und Datenkommunikation wie vor einigen Jahren üblich statische Festnetzanschlüsse nutzen zu müssen, können heutzutage Daten mittels mobilen zellulären Systemen wie dem Global System for Mobile Communications (GSM) von beinahe jedem beliebigen Ort übertragen werden. Diese zellulären Systemen erfordern Funkzellen in denen Verbindungen innerhalb des mobilen Netzwerkes aufgebaut werden. Funkzellen werden durch den von der Sendeeinrichtung abgedeckten Bereich definiert, in der die Mobilfunksignale empfangen und fehlerfrei verarbeitet werden können. Eine Sendeeinrichtung besteht ihrerseits dafür aus Sendern / Empfängern, Antennen und digitalen Signalprozessoren zur Verarbeitung der Daten. Ein großer Nachteil dieser Sendeeinrichtungen besteht allerdings darin, dass die Reichweite limitiert ist und somit in abgelegeneren Orten ohne hinreichende Signalabdeckung keine Telefonie möglich ist. Dies trifft beispielsweise auf Ölplattformen oder Schiffe zu. Als Lösung wurden Satellitensysteme eingeführt, welche die Problematik der Signalabdeckung umgehen, indem die Sprach- und Nutzdaten direkt mit geostationären Telekommunikationssatelliten ausgetauscht werden. Seite 35 Seite 36 Chapter 2 Sicherheitsaspekte von Satellitentelefonen Für die Satellitenkommunikation werden heutzutage hauptsächlich die folgenden zwei Protokollfamilien verwendet, die beide vom European Telecommunications Standards Institute (ETSI) entwickelt und standardisiert wurden. • Das Geostationary Earth Orbit (GEO) Mobile Radio Interface (besser bekannt als GMR-1) ist ein ETSI-Standard, der vom terrestrischen zellulären GSMStandard abgeleitet wurde. Die Spezifikationen von GMR bilden eine Erweiterung zum GSM-Standard, wobei einige Eigenschaften der Spezifikationen speziell für die Satellitenkommunikation abgeändert wurden. Die GMR-1-Familie wird von verschiedenen Anbietern wie Thuraya, SkyTerra und TerreStar unterstützt und wurde in der Vergangenheit mehrmalig überarbeitet, um weitere Dienste anzubieten. • Die GMR-2-Familie ähnelt noch deutlicher dem GSM-Standard und wurde vom GMR-1-Standard abgeleitet, wobei sich die Netzwerkarchitekturen deutlich voneinander unterscheiden. Die Spezifikationen von GMR-1 und GMR-2 sind online verfügbar, enthalten allerdings keinerlei Informationen über die Implementierungen der Sicherheitsmerkmale, beispielsweise die angewandten Verschlüsselungsalgorithmen, die für die Sicherung der Kommunikationskanäle zwischen Satellitentelefon und Satellit zuständig sind. Angreifer können die Satellitenkommunikation beispielsweise auch aus einiger Entfernung abhören und mitschneiden, sodass eine schwache Verschlüsselung dementsprechend die Vertraulichkeit in der Satellitenkommunikation zerstören würde. 2.4.1 Netzwerkstruktur Im Folgenden wird der Aufbau und die Struktur eines Satellitenkommunikationsnetzwerkes anhand des Anbieters Thuraya genauer aufgezeigt. Thuraya implementiert den GMR-1-Standard und bietet die Satellitentelefonie für einen weiten Teil Europas, den mittleren Osten, Nord- und Ostafrika, Asien und Australien an. Um diese Reichweite zu erzielen, besteht das Netzwerk aus zwei überlappenden Regionen, wobei jede Region von einem eigenen Satelliten abgedeckt wird. Thuraya-Satelliten operieren im geosynchronen Orbit (GSI), in dem sie keine bestimmte Position einnehmen sondern einem festen Bewegungsmuster folgen. Zur Zeit nutzt Thuraya zwei Satelliten namens Thuraya-2 und Thuraya-3, wobei Thuraya-2 wie in Abbildung 2.1 erkennbar den größten Teil von Europa und Afrika abdeckt. Figure 2.1: Abdeckung des Thuraya-2 Satelliten aus [DHW+ 13]. 2.4 Grundlagen Seite 37 Thuraya überträgt Sprach-, Fax- und IP-basierte Daten an Orte, an denen konventionelle mobile Kommunikation nicht möglich ist. Zusätzlich zu den zwei Satelliten nutzt Thuraya terrestrische Gateways und ein primäres Gateway (lokalisiert in den Vereinigten Arabischen Emiraten), welche das gesamte Netzwerk wie in Abbildung 2.2 dargestellt verwalten. Die Gateways stellen unter anderem die Verbindungen zu den kabelgebundenen Netzwerken wie dem Telefonnetz (Public Switched Telephone Network, PSTN) her. Für die Kommunikation mit dem Satelliten nutzen die Gateways die C-Frequenzbänder in den Bereichen 3,400 - 3,625 und 6,425 - 6,725 GHz. Für den Transport der Daten zwischen Satellitentelefon und Satellit wird das L-Band verwendet, wobei der Bereich 1,525 - 1,559 GHz für den Downlink (Satellit zu Telefon) und der Bereich 1,6265 - 1,6605 GHz für den Uplink (Telefon zu Satellit) reserviert ist. Figure 2.2: Struktur eines geostationären Satellitennetzwerkes aus [DHW+ 12, Dri12]. L-Band Spotbeam C-Band Gateway Station End User Devices C-Band Operator Control Facility PSTN 2.4.2 Kanäle Bei der Satellitenkommunikation werden für die Übertragung der Daten die Multi Carrier (MC) und Time Division Multiple Access (TDMA) Nachrichtenübertragungsverfahren eingesetzt. Dabei werden die Frequenzspektren vom Up- als auch Downlink in 1087 Duplex-Frequenzträger (MC) mit einem Abstand von 31,25 kHz eingeteilt. Jeder Träger wird wie in Abbildung 2.3 dargestellt in 24 Zeitschlitze (TDMA) unterteilt, die sich alle 40 ms wiederholen und einen TDMA-Frame bilden. TDMA-Frames können zu Gruppen zusammengefasst werden, wobei 16 Frames beispielsweise einen Multiframe mit einer Dauer von 640 ms bilden. Jeder TDMAFrame wird durch eine 19-bit Frame-Nummer identifiziert, wobei die Nummer bei 0 beginnt und für jeden weiteren Frame erhöht wird. ... Pro Frequenzträger und Zeitschlitz kann ein logischer Kanal aufgebaut werden. Mit Hilfe dieser Architektur wird ein Kanal eindeutig durch die IDs des Frequenzträgers und Zeitschlitzes definiert. In GMR existieren verschiedene Arten von Kanälen, wobei diese wie bei GSM entweder in Traffic-Kanäle (Traffic Channels, TCH) für Nutzdaten oder Kontrollkanäle (Control Channels, CCH) eingeteilt werden können. Dazu gehören beispielsweise der Frequency Correction Channel (FCCH), der Common Control Channel (CCCH) und der Traffic Channel-3 (TCH3). Figure 2.3: TDMAStruktur eines GMR-1 Netzwerkes aus [DHW+ 13]. Seite 38 Chapter 2 Sicherheitsaspekte von Satellitentelefonen Der FCCH wird nach dem Einschalten des Satellitentelefons zur Ermittlung der relativen Zeit und der Frequenzfehler verwendet, um das Telefon mit dem Satelliten zu synchronisieren. Der CCCH überträgt beispielsweise Anfragen an neue Kanäle (beispielsweise TCH3) an ein Telefon. Der TCH3 überträgt letztendlich die Sprachdaten. 2.4.3 Kodierung und Verschlüsselung Die Nutzdaten werden über die Kanäle mittels TDMA-Frames (Blöcke von aufeinanderfolgenden Bits) übertragen, wobei die Frames vor der Übertragung wie in Abbildung 2.4 dargestellt Kodierungs- und Verschlüsselungsverfahren durchlaufen, bevor sie abschließend über die Antenne des Satellitentelefons an den Satelliten übertragen werden. Die angewandten Kodierungsverfahren werden durch den Kanaltyp bestimmt und können bei einigen Kanälen entfallen. Figure 2.4: Kodierungund Verschlüsselungsschema für Informationen in einem GMR-1 Netzwerk aus [DHW+ 13]. E block encoding convolutional encoding channel interleaving scrambling intraburst multiplexing encryption modulation Exkurs 2.1: Kodierung im GMR-1-Standard Laut GMR-1-Standard [ETS02] werden bei der Kodierung folgende Schritte durchgeführt: Each channel uses the following sequence and order of operations: • the information bits are coded with a systematic block code cyclic redundancy check (CRC), building words of information + parity bits; • these information + parity bits are encoded with a convolutional code, building the coded bits; • the coded bits are reordered and potentially interleaved over multiple bursts; • the interleaved bits are scrambled and, in some cases, multiplexed with other bits (before or after encryption); • the multiplexed bits are mapped to the physical burst. Um die zu übertragenen Daten gegen das Abhören zu schützen, werden die enkodierten Daten wie bei GSM mit Hilfe eines proprietären kryptographischen Algorithmus verschlüsselt. Dabei wird die Verschlüsselung in GMR-1 pro Session durchgeführt. Dies bedeutet, dass für die Dauer einer Session (beispielsweise ein Anruf) ein Sessionkey Kc generiert wird. Dieser Key wird wie in Abbildung 2.5 dargestellt mittels der Challenge-Response Technik von einer Zufallszahl RAN D und einem Langzeitschlüssel Ki abgeleitet, wobei Ki lediglich dem Satellitentelefon und dem Satellitennetzwerk bekannt ist. In der GMR-1-Spezifikation wird der Algorithmus zur Schlüsselableitung A8 genannt, wobei er die gleiche Funktion wie die A8-Funktion in GSM hat. Auf der Seite des Telefons ist dieser Algorithmus auf der SIM-Karte implementiert, auf 2.4 Grundlagen Seite 39 Satellitentelefon (kennt Ki) Netzwerk Authentication Request RAN D ←−−−−−−−−−−−−−−−−−−−−−−−−− SRES = A3(Ki; RAN D) Authentication Response SRES −−−−−−−−−−−−−−−−−−−−−−−−−→ Kc = A8(Ki; RAN D) Cipher mode Command ←−−−−−−−−−−−−−−−−−−−−−−−−− d0 = A5(Kc; 0, N0 , · · · ) Cipher mode complete −−−−−−−−−−−−−−−−−−−−−−−−−→ .. . Daten N0 ,d0 −−−−−−−−−−−−−−−−−−−−−−−−−→ Daten N1 ,d1 ←−−−−−−−−−−−−−−−−−−−−−−−−− Daten N2 ,d2 ←−−−−−−−−−−−−−−−−−−−−−−−−− .. . (kennt Ki) Figure 2.5: Authentisierung und Verschlüsselung in einem GMR-1 Netzwerk aus [DHW+ 13]. Kc = A8(Ki; RAN D) d1 = A5(Kc; 1, N1 , · · · ) d2 = A5(Kc; 1, N2 , · · · ) der auch der Langzeitschlüssel Ki gespeichert ist. Bevor der Sessionkey Kc generiert wird, führen Satellitentelefon und Netzwerk eine Authentisierung mit Hilfe des A3-Algorithmus durch, welcher ebenfalls die gleiche Funktion wie in GSM erfüllt. Nach Aufbau der Session werden die Daten schließlich mittels Sessionkey und der A5-Stromchiffre (A5-GMR-1) verschlüsselt, wobei als zusätzlicher Parameter die TDMA-Frame-Nummer und die Richtung der Daten (Satellitentelefon zu Satellit oder umgekehrt) mit in die Verschlüsselung einfließen. 2.4.4 Architektur eines Satellitentelefons Im Folgenden wird ein kurzer Überblick über die generelle Architektur von Satellitentelefonen gegeben. Tiefergehende Informationen zu bestimmten Satellitentelefonen werden in den Abschnitten 2.5 und 2.6 vorgestellt. Generell ähnelt die Architektur von Satellitentelefonen der von zellulären Telefonen. Beide Arten von Telefonen müssen eine hohe Anzahl an Sprach- und Signaldaten verarbeiten, weswegen sie typischerweise mit dedizierten digitalen Signalprozessoren (DSP) ausgestattet sind. Die DSPs übernehmen dabei die aufwendigen Rechenoperationen wie beispielsweise die Verschlüsselungsfunktionen. Der Kern jedes Telefons ist ein Standard-Mikroprozessor (häufig auf der ARMArchitektur basierend), der die Grundoperationen des Telefons durchführt. Dazu gehört unter anderen die Initialisierung des DSPs während des Bootprozesses. Hauptprozessor und DSP teilen sich den Hauptspeicher oder ähnliche HardwareDevices, über die beide Prozessoren miteinander kommunizieren. Das Betriebssystem eines Satellitentelefons ist speziell an die Aufgaben und das Einsatzgebiet angepasst, beispielsweise limitierte Ressourcen und Echtzeitanforderungen. 2.4.5 Analyse existierender Protokolle Wie bereits in Abschnitt 2.4 beschrieben existieren außer einer generellen Übersicht über die Verschlüsselungstechniken keinerlei Informationen zu den Funk- Seite 40 Chapter 2 Sicherheitsaspekte von Satellitentelefonen tionsweisen der beiden hauptsächlich verwendeten Protokollfamilien von Satellitentelefonen, GMR-1 und GMR-2, sodass die verwendeten kryptographischen Algorithmen lange Zeit als Blackbox angesehen werden mussten. Im Jahr 2012 ist es Forschern [DHW+ 12, Dri12, DHW+ 13] mittels Reverse-Engineering gelungen, die Verschlüsselungsalgorithmen zu bestimmen und zu analysieren. Dazu sind die Forscher folgendermaßen vorgegangen: • Finden von Firmware-Update-Paketen von GMR-1- und GMR-2Satellitentelefonen und den dazugehörigen Updateprogrammen (typischerweise Anwendungen unter Windows). • Extraktion der Firmware-Images aus den Update-Paketen. • Rekonstruktion des korrekten Speicherabbildes von Code- und Datensegmenten im Firmware-Image. • Identifizierung der DSP-Initialisierungsroutinen, um den DSP-Code zu extrahieren. • Suche nach den Verschlüsselungsalgorithmen im DSP-Code mit Hilfe von Heuristiken und Techniken wie der Datenflussanalyse. Generell konnten sich die Forscher verschiedene Informationen zu Nutze machen, um die Verschlüsselungsfunktionen im DSP-Programmcode zu identifizieren: • Die Länge des Sessionkeys ist bekannt. • Die Länge des von der Chiffre generierten Schlüsselstroms ist gleich der Länge eines verschlüsselten Frames. • Da die GMR-Standards vom GSM-Standard abstammen, sollten die Algorithmen zumindest leichte Ähnlichkeiten zu den A5-Algorithmen von GSM aufweisen. Im Folgenden werden die in den GMR-1- und GMR-2-Protokollfamilien verwendeten Verschlüsselungsroutinen und deren Funktionsweisen genauer vorgestellt und Schwachstellen und Angriffe aufgezeigt. 2.4.6 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. K Kontrollaufgabe 2.1: Aufgaben der A3- und A8-Algorithmen Was sind die Aufgaben der Algorithmen A3 und A8 und wie fließen deren Berechnungen in die Satellitenkommunikation ein? K Kontrollaufgabe 2.2: Aufbau von Satellitentelefonen Aus welchen Komponenten bestehen im Allgemeinen Satellitentelefone? 2.5 GMR-1 Protokoll Seite 41 2.5 GMR-1 Protokoll Für die Analyse der GMR-1-Protokollfamilie wurde das Thuraya SO-2510 Satellitentelefon verwendet. Die Firmware für dieses Telefon wurde frei verfügbar auf der Herstellerseite angeboten und konnte von den Forschern analysiert werden. 2.5.1 Hardwarearchitektur Das Thuraya SO-2510 Satellitentelefon verwendet die Texas Instruments OMAP1510 Plattform. Der Kern der Plattform ist wie in Abbildung 2.6 dargestellt ein ARM-925 Mikroprozessor in Kombination mit einem TI TMS320C5000 DSP. Beide Prozessoren kommunizieren über einen geteilten Peripheriebus und verwenden weiterhin den gleichen RAM-Speicher bzw. können weiteren Speicher wie SRAM oder Flash adressieren. Bei Systemstart des Telefons werden der DSP-Programmcode und zugehörige Daten vom ARM-Mikrocontroller in bestimmte Speicherbereiche des DSPs geschrieben und im Anschluss vom DSP ausgeführt. DSP MMU C55x DSP SARAM Flash / SRAM Memory Interface Controller (MIC) ARM / DSP Shared Peripherals SDRAM MMU ARM Core 2.5.2 Struktur GMR-1 verwendet die in Abbildung 2.7 dargestellte Stromchiffre, wobei deren Struktur dem in GSM eingesetzten A5/2-Algorithmus (vgl. Abbildung 2.8) stark ähnelt. Ähnlich zum A5/2-Algorithmus nutzt GMR-1 vier irregulär getaktete linear rückgekoppelte Schieberegister (LFSR), welche im Folgenden R1 , R2 , R3 und R4 genannt werden. Bei einem genaueren Vergleich der beiden Algorithmen sind wie auch in Tabelle 2.1 dargestellt einige Unterschiede in der Struktur zu erkennen. Für die meisten LFSRs wurden die Feedback-Polynome als auch die Eingabeparameter der nichtlinearen Majority-Funktion M modifiziert, die bei GMR-1 folgendermaßen definiert ist: M : {0, 1}3 7→ {0, 1} (x2 , x1 , x0 )2 7→ x2 x1 ⊕ x2 x0 ⊕ x0 x1 . Figure 2.6: OMAP1510 Plattform aus [DHW+ 12, Dri12, DHW+ 13]. Seite 42 Figure 2.7: Struktur der A5-GMR-1-Chiffre aus [DHW+ 12, Dri12, DHW+ 13]. Figure 2.8: Struktur der GSM A5/2Chiffre aus [Ben13]. Chapter 2 Sicherheitsaspekte von Satellitentelefonen 2.5 GMR-1 Protokoll Seite 43 Ebenfalls wurden die Positionen der Bits abgeändert, die mit den Ausgaben der Majority-Funktionen verrechnet werden, im Folgenden Taps genannt. Gleichgeblieben sind jedoch die jeweiligen Längen der LFSRs. A5-GMR-1 LFSR R1 R2 R3 R4 A5/2 Feedback Polynom Taps Feedback Polynom Taps x19 + x18 + x17 + x14 + 1 x22 + x21 + x17 + x13 + 1 x23 + x22 + x19 + x18 + 1 x17 + x14 + x13 + x9 + 1 1,6,15 3,8,14 4,15,19 1,6,15 x19 + x5 + x2 + x + 1 x22 + x + 1 23 15 x + x + x2 + x + 1 x17 + x5 + 1 12,14,15 9,13,16 13,16,18 3,7,10 2.5.3 Funktionsweise Im Folgenden wird die Funktionsweise des Verschlüsselungsalgorithmus von GMR-1 illustriert. Dabei definiert Ri,j das Bit des LFSR Ri an Position j, wobei Ri,0 das Bit mit dem niedrigsten Stellenwert beschreibt. Wird ein einzelner LFSR getaktet, so wird der LFSR-Inhalt um eine Position nach rechts verschoben und das höchstwertige Bit mit dem Ergebnis des Feedback-Polynoms aufgefüllt. Wenn die Chiffre das l-te Mal irregulär getaktet wird, werden folgende Schritte durchgeführt: 1. Die irreguläre Taktkomponente C wertet alle Taps vom LFSR R4 aus und die restlichen LFSRs werden folgendermaßen getaktet: a) Wenn M(R4,1 , R4,6 , R4,15 ) = R4,15 gilt, wird LFSR R1 getaktet. b) Wenn M(R4,1 , R4,6 , R4,15 ) = R4,6 gilt, wird LFSR R2 getaktet. c) Wenn M(R4,1 , R4,6 , R4,15 ) = R4,1 gilt, wird LFSR R3 getaktet. 2. Die Taps von R1 , R2 und R3 werden ausgewertet und ein Bit des Schlüsselstroms wird folgendermaßen generiert: zl =M(R1,1 , R1,6 , R1,15 ) ⊕ M(R2,3 , R2,8 , R2,14 )⊕ M(R3,4 , R4,15 , R3,19 ) ⊕ R1,11 ⊕ R2,1 ⊕ R3,0 . 3. LFSR R4 wird getaktet. 2.5.4 Operationsmodi Der Verschlüsselungsalgorithmus operiert in zwei unterschiedlichen Modi, der Initialisierungsphase und der Schlüsselstromerzeugung. Während der Initialisierungsphase werden die nachfolgenden Schritte ausgeführt: 1. Alle Bits in den vier LFSRs werden auf 0 gesetzt. Tabelle 2.1: Unterschiede zwischen den LFSRs in A5-GMR-1 und A5/2 [DHW+ 13]. Seite 44 Chapter 2 Sicherheitsaspekte von Satellitentelefonen 2. Ein 64-bit Initialisierungsvektor α = (α0 , ..., α63 ) wird mittels XOR aus der 19-bit Frame-Nummer N und dem 64-bit Sessionkey K berechnet: α = F(N, K) = (K0 , K1 , K2 , K3 ⊕ N6 , K4 ⊕ N7 , K5 ⊕ N8 , K6 ⊕ N9 , K7 ⊕ N10 , K8 ⊕ N11 , K9 ⊕ N12 , K10 ⊕ N13 , K11 ⊕ N14 , K12 ⊕ N15 , K13 ⊕ N16 , K14 ⊕ N17 , K15 ⊕ N18 , K16 , K17 , ..., K21 , K22 ⊕ N4 , K23 ⊕ N5 , K24 , ..., K59 , K60 ⊕ N0 , K61 ⊕ N1 , K62 ⊕ N2 , K63 ⊕ N3 ). 3. Die Bits von α werden folgendermaßen umsortiert: α0 = (α15 , α14 , ..., α0 , α31 , α30 , ..., α16 , α47 , ..., α32 , α63 , ..., α48 )2 und in dieser Reihenfolge in alle vier LFSRs getaktet. Um ein Bit von α0 in das LFSR R1 zu takten, wird das Feedback-Polynom ausgewertet und das resultierende Bit in R1 geschrieben, nachdem es mit dem α0 -Bit XORed wurde. Dieses α0 Bit wird gleichermaßen in die übrigen LFSRs R2 , R3 und R4 getaktet. Im Anschluss werden nach dieser Prozedur die weiteren Bits von α0 in alle vier LFSRs getaktet. In dieser Initialisierungsphase ist die irreguläre Taktung deaktiviert, d.h., alle Register werden für jedes Bit von α0 einmal getaktet. 4. Das niederwertigste Bit eines jeden LFSRs wird auf 1 gesetzt (R1,0 = R2,0 = R3,0 = R4,0 = 1). Im Anschluss wird die irreguläre Taktung aktiviert und die Chiffre 250 Mal getaktet, wobei alle in dieser Phase entstehenden Ausgabebits zl verworfen werden. Nach der Initialisierungsphase wechselt die Chiffre in den Modus Schlüsselstromerzeugung und taktet pro zu verschlüsselndem Frame mit der Länge m insgesamt 2·m Mal die LFSRs, um pro Takt ein Bit des Schlüsselstromes zu erzeugen. Je nach Senderichtung wird ähnlich zu GSM entweder die erste oder zweite Hälfte der 2 · m Schlüsselstrombits für die Ver- bzw. Entschlüsselung verwendet. Dies liegt daran, dass beispielsweise die ersten m Bits vom Telefon für die Entschlüsselung und vom Netzwerkprovider für die Verschlüsselung verwendet werden. Die Länge m wird durch die Art des Kanals definiert, für den Daten ver- oder entschlüsselt werden. Beispielsweise ist die Länge eines Frames bei einem TCH3Kanal wie in Tabelle 2.2 dargestellt m = 208 Bits. Nachdem 2 · m Schlüsselstrombits erzeugt wurden, wird die Chiffre mit der nachfolgenden Frame-Nummer neu initialisiert. Tabelle 2.2: Größe der Payloads [DHW+ 12]. Kanaltyp TCH3 / SDCCH TCH6 / FACCH6+SACCH TCH9 / FACCH9+SACCH n: Länge Rohdaten (Bits) m: Länge Verschlüsselt (Bits) 80/84 144/188+10 480/300+10 208 420+10 648+10 (N ) Im Folgenden wird das l-te Bit des Schlüsselstromes als zl bezeichnet, wobei die Anzahl der irregulären Takte im Bereich 250 ≤ l < 250 + 2 · m liegt (einschließlich 2.5 GMR-1 Protokoll Seite 45 der 250 irregulären Takte während der Initialisierungsphase) und N durch die bei der Initialisierung verwendeten Frame-Nummer definiert ist. Weiterhin beschreibt z die durchgehende erste Hälfte des Schlüsselstrom für die Frames N, N + 1, .... (N ) (N ) (N ) (N +1) (N +1) (N +2) z = z0 , z1 , ..., zm−1 , z0 , ..., zm−1 , z0 , ... 2 2.5.5 Angriffe Die Struktur des A5-GMR-1-Algorithmus ähnelt der des GSM A5/2-Algorithmus, sodass bereits bekannte Angriffe auf den A5/2-Algorithmus [PFS00, BBK08b, BER07] leicht modifiziert auch für den A5-GMR-1 gelten. Beispielsweise können mittels eines Known-Keystream Angriffes alle 216 möglichen initialen Zustände des LFSRs R4 geraten werden. Kenntnisse des initialen Zustandes von R4 offenbaren dem Angreifer im Anschluss das Taktverhalten der Chiffre, sodass dieser den bekannten Schlüsselstrom als binäres quadratisches Gleichungssystem aufstellen und die Zustände von R1 , R2 , und R3 berechnen kann. Das Gleichungssystem kann im Anschluss aufgrund von festen Bits in den LFSRs und Symmetrien in den quadratischen Termen in ein lineares Gleichungssystem A · x = z mit 18 21 22 + (18 + 21 + 22) = 655 v= + + | {z } 2 2 2 {z } Originale Variablen | Linearisierte Variablen Variablen für jede Vermutung von R4 überführt werden. Nach Erhalt der 655 linear-unabhängigen Gleichungen kann jede Gleichung einzeln aufgelöst werden. Das Resultat ist jeweils ein möglicher Initialisierungszustand für R1 , R2 , und R3 . Um diese Zustände zu verifizieren, werden die LFSRs R1 , R2 , und R3 mit den berechneten Werten initialisiert und anschließend mehrfach getaktet. Gleicht der resultierende Schlüsselstrom dem bereits bekannten Schlüsselstrom, konnte der wahrscheinlich korrekte Initialisierungszustand jedes LFSRs bestimmt werden. Mit Hilfe der Frame-Nummer N , welche bei der Initialisierung der LFSRs genutzt wurde, kann der Schlüssel K effizient abgeleitet werden. Dieser Known-Keystream Angriff kann weiterhin in eine Ciphertext-only Attacke abgewandelt werden. Die Anzahl der Schlüsselstrombits, welche zum Lösen des Gleichungssystems benötigt werden, basiert auf der Anzahl der Unbekannten. Die Größe des Gleichungssystems kann durch Raten von R1 , R2 und R3 ebenfalls verringert werden. Im Folgenden definiert k1 , k2 , k3 die Anzahl der geratenen Bits eines jeden LFSRs, sodass die Anzahl der Variablen auf 18 − k1 21 − k2 22 − k3 v= + + 2 2 2 +(18 − k1 ) + (21 − k2 ) + (22 − k3 ) reduziert werden kann. Der Nachteil dieser Methode ist, dass die Anzahl der Rateversuche im schlechtesten Fall auf 216 · 2k1 +k2 +k3 erhöht wird. Diese Methode ermöglicht jedoch, Ciphertext-only Angriffe auf beliebige GMR-1-Kanäle durchzuführen [DHW+ 12]. Seite 46 Chapter 2 Sicherheitsaspekte von Satellitentelefonen 2.5.6 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. K Kontrollaufgabe 2.3: R4 LFSR Wozu dient der R4 LFSR im A5-GMR-1-Algorithmus? K Kontrollaufgabe 2.4: Initialisierungsvektor Wozu dient der Initialisierungsvektor im A5-GMR-1-Algorithmus? Warum könnte die Kommunikation im GMR-1-Protokoll nicht stattfinden, wenn sich jeder Teilnehmer eines Satellitennetzwerkes einen eigenen zufälligen Initialisierungsvektor generiert? 2.6 GMR-2 Protokoll Die GMR-2-Protokollfamilie beschreibt das zweite von der ETSI für die Satellitenkommunikation standardisierte Protokoll. Ähnlich zu GMR-1 konnte eine veröffentlichte Firmwareversion eines GMR-2-Satellitentelefons genutzt werden, um mittels Reverse-Engineering Kenntnisse über die in GMR-2 verwendeten proprietären Verschlüsselungsalgorithmen zu erlangen. 2.6.1 Hardwarearchitektur Für die Analyse der GMR-2-Protokollfamilie wurde die im Jahr 2010 veröffentlichte Firmware des Inmearsat IsatPhone Pro Satellitentelefons verwendet. Das Satellitentelefon basiert auf der Analog Devices LeMans AD6900 Plattform. Der Kern der Plattform ist wie in Abbildung 2.9 dargestellt ein ARM-926EJ-S Mikroprozessor in Kombination mit einem Blackfin DSP. Beide Prozessoren kommunizieren über ein geteiltes Businterface, welches mit dem RAM-Speicher und weiteren Ressourcen verbunden ist. Das System wird durch den Boot-Code des ARMMikrocontrollers initialisiert, welcher im Anschluss die Aufgabe hat, den DSP für die weiteren Operationen vorzubereiten. 2.6.2 Struktur Das GMR-2-Protokoll verwendet die in Abbildung 2.10 dargestellte A5Stromchiffre, wobei anders als bei GMR-1 die Struktur nicht der von GSM bekannten A5/2-Chiffre ähnelt sondern aus einer Vielzahl bisher unbekannter Funktionen aufgebaut ist. Weiterhin arbeitet die Chiffre nicht bit- sondern byte-orientiert. Der Algorithmus erhält den 64-bit Schlüssel K und wird einmal 2.6 GMR-2 Protokoll Seite 47 Figure 2.9: LeMans AD6900 Plattform aus [DHW+ 12, Dri12, DHW+ 13]. Blackfin DSP Core Shared Peripherals Boot ROM System RAM Bus Controller Bus Controller External Memory ARM Core Se getaktet, um ein Byte des Schlüsselstroms zu generieren. Hierbei definiert Zl das Byte des Schlüsselstroms, welches nach l Takten ausgegeben wird. Figure 2.10: Struktur der A5-GMR2-Chiffre aus [DHW+ 12, DHW+ 13]. 64 1 8 6 4 6 3 8 Die Chiffre verwendet ein 8-byte Statusregister S = (S0 , S1 , ..., S7 )28 und drei Unterfunktionen, die im Folgenden F, G und H genannt werden. Zusätzlich fließt in die Berechnungen des Schlüsselstroms ein 1-bit Register T ein, welches ein sogenanntes Toggle-Bit ausgibt und pro Takt zwischen den Werten 0 und 1 alterniert. Zuletzt verwendet die Chiffre ein 3-bit Register C, welches als Zähler von 0 bis 7 fungiert und pro Takt um den Wert 1 erhöht wird. Im Folgenden werden die F-, G- und H-Funktionen genauer vorgestellt. F -Funktion Die in Abbildung 2.11 dargestellte F-Funktion verwendet ein 64-bit Register, welches in die 8 Bytes (K0 , K1 , ..., K7 )28 aufgeteilt ist und den Schlüssel K enthält. Dieses Register wird durch zwei Multiplexer ausgelesen. Der untere Multiplexer extrahiert ein Byte Kc , welches in Verbindung mit dem Zählerwert c aus dem Schlüssel K ausgelesen wird. Der obere Multiplexer extrahiert ein weiteres Byte aus dem Schlüssel K, wobei die Position des Bytes durch einen 4-bit Wert bestimmt wird, der im Folgenden α genannt wird. Weiterhin nutzt die F-Funktion die zwei Komponenten T1 und T2 T1 : {0, 1}4 7→{0, 1}3 T2 : {0, 1}3 7→{0, 1}3 , Seite 48 Chapter 2 Sicherheitsaspekte von Satellitentelefonen Figure 2.11: Struktur der F-Komponente der A5-GMR2 Chiffre aus [DHW+ 12, DHW+ 13]. welche die in Tabelle 2.3 dargestellten Lookup-Tabellen abbilden. Die mit * markierten Zeilen werden in Abschnitt 2.6.5 bei der Vorstellung eines Angriffes auf das GMR-2-Protokoll genauer erläutert. Tabelle 2.3: T1 und T2 LookupTabellen [DHW+ 12]. x (0, 0, 0, 0)2 (0, 0, 0, 1)2 (0, 0, 1, 0)2 (0, 0, 1, 1)2 (0, 1, 0, 0)2 (0, 1, 0, 1)2 (0, 1, 1, 0)2 (0, 1, 1, 1)2 (1, 0, 0, 0)2 (1, 0, 0, 1)2 (1, 0, 1, 0)2 (1, 0, 1, 1)2 (1, 1, 0, 0)2 (1, 1, 0, 1)2 (1, 1, 1, 0)2 (1, 1, 1, 1)2 T1 (x) T2 (x) T2 (T1 (x)) 2 5 0 6 3 7 4 1 3 0 6 1 5 7 4 2 4 5 6 7 4 3 2 1 - 6 3 4 2 7 1 4 5 7 4 2 5 3 1 4 6 * * * * Der Eingabeparameter von T1 (der Wert α) wird durch die Parameter p, Kc und dem Toggle-Bit t definiert, wobei p das im letzten Takt generierte Schlüsselstrombyte p = Zl−1 darstellt. Bevor diese drei Werte in das Ergebnis der Lookup-Tabelle T1 einfließen, werden sie durch einen kleinen Multiplexer rechts neben T1 verarbeitet. Der Multiplexer verwendet die Abbildung N (·), wobei folgendes gilt: N : {0, 1} × {0, 1}8 7→{0, 1}4 ( (x3 , x2 , x1 , x0 )2 (t, x7 , x6 , ..., x0 ) 7→ (x7 , x6 , x5 , x4 )2 wenn t = 0 gilt, wenn t = 1 gilt. Die Abbildung gibt basierend auf dem Wert des Toggle-Bits t entweder die ersten oder letzten 4 Bits (Nibble) der Eingabe zurück. Mit Hilfe dieser Abbildung kann der Ausgabewert des Multiplexers folgendermaßen beschrieben werden: α = N (t, Kc ⊕ p) = N (c mod 2, Kc ⊕ p). Der Wert α wird T1 übergeben und bestimmt, welches Byte der obere Multiplexer aus dem Schlüssel K extrahiert. Der Wert dieses Bytes wird im Anschluss um T2 (T1 (α)) Stellen nach rechts rotiert und von der F-Funktion als 8-bit Wert O0 2.6 GMR-2 Protokoll Seite 49 zurückgegeben. Der zweite 4-bit Ausgabewert O1 von F wird mittels der Ausgabe des unteren Multiplexers (Kc ) und des Parameters p gebildet: O0 = (KT1 (α) ≫ T2 (T1 (α)))28 O1 = (Kc,7 ⊕ p7 ⊕ Kc,3 ⊕ p3 , Kc,6 ⊕ p6 ⊕ Kc,2 ⊕ p2 , Kc,5 ⊕ p5 ⊕ Kc,1 ⊕ p1 , Kc,4 ⊕ p4 ⊕ Kc,0 ⊕ p0 )2 . G -Funktion Die in Abbildung 2.12 dargestellte G-Funktion erhält als Eingabeparameter die Ausgabeparameter der F-Funktion. Zusätzlich fließt das Byte S7 des Statusregisters in die Berechnungen von G mit ein. Figure 2.12: Struktur der G-Komponente der A5-GMR2 Chiffre aus [DHW+ 12, DHW+ 13]. Ähnlich zu der F-Funktion werden Lookup-Tabellen verwendet, welche im Folgenden B1 , B2 und B3 genannt werden. Diese Lookup-Tabellen erhalten eine 4-bit Eingabe und liefern einen 4-bit Ausgabewert zurück: B1 : {0, 1}4 7→ {0, 1}4 (x3 , x2 , x1 , x0 )2 7→ (x3 ⊕ x0 , x3 ⊕ x2 ⊕ x0 , x3 , x1 )2 , B2 : {0, 1}4 7→ {0, 1}4 (x3 , x2 , x1 , x0 ) 7→ (x1 , x3 , x0 , x2 )2 , B3 : {0, 1}4 7→ {0, 1}4 (x3 , x2 , x1 , x0 ) 7→ (x2 , x0 , x3 ⊕ x1 ⊕ x0 , x3 ⊕ x0 )2 . Da die verwendeten Lookup-Tabellen und XOR-Berechnungen linear sind und die restlichen in der G-Funktion verwendeten Operationen Bit-Permutationen durchführen, ist die G-Funktion vollständig linear und kann mittels der nachfolgenden Gleichungen beschrieben werden, wobei die 6-bit Ausgaben O00 , O10 auf den Eingaben I0 , I1 und S7 basieren: O00 = (I0,7 ⊕ I0,4 ⊕ S7,5 , I0,7 ⊕ I0,6 ⊕ I0,4 ⊕ S7,7 , I0,7 ⊕ S7,4 , I0,5 ⊕ S7,6 , I1,3 ⊕ I1,1 ⊕ I1,0 , I1,3 ⊕ I1,0 )2 , O10 = (I0,3 ⊕ I0,0 ⊕ S7,1 , I0,3 ⊕ I0,2 ⊕ I0,0 ⊕ S7,3 , I0,3 ⊕ S7,0 , I0,1 ⊕ S7,2 , I1,2 , I1,0 )2 . Seite 50 Chapter 2 Sicherheitsaspekte von Satellitentelefonen H-Funktion Die in Abbildung 2.13 dargestellte H-Funktion erhält die von der G-Funktion ausgegebenen Werte O00 , O10 und das Toggle-Bit t und führt die nicht-lineare Filterung in der GMR-2-Chiffre durch. Figure 2.13: Struktur der H-Komponente der A5-GMR2 Chiffre aus [DHW+ 12, DHW+ 13]. Dazu werden erneut Lookup-Tabellen verwendet, welche einen 6-bit Eingabewert auf einen 4-bit Ausgabewert abbilden: S2 : {0, 1}6 7→ {0, 1}4 S6 : {0, 1}6 7→ {0, 1}4 . Interessanterweise wurden diese Tabellen vom Data Encryption Standard (DES) übernommen, d.h., S2 entspricht der zweiten S-Box und S6 der sechsten S-Box von DES. Die Sortierung der Lookup-Tabellen wurden allerdings abgeändert, um eine modifizierte Adressierung gegenüber den DES S-Boxen zu erreichen. Die vier höherwertigen Bits der Eingabe selektieren die S-Box-Spalte, die zwei niederwertigen Bits die Zeile. Bevor die Eingabeparameter I00 , I10 in die S-Boxen fließen, können sie mit Hilfe von zwei Multiplexern vertauscht werden, wobei diese Operation auf dem Toggle-Bit t basieren. Das l-te Byte des Schlüsselstromes des GMR-2-Algorithmus ist somit folgendermaßen definiert: ( (S2 (I10 ), S6 (I00 ))24 if t = 0, Zl = (S2 (I00 ), S6 (I10 ))24 if t = 1. E Exkurs 2.2: S-Boxen im Data Encryption Standard (DES) Im Data Encryption Standard bilden das erste und letzte Bit zusammen die Zeile. Die Spalte wird aus den mittleren Bits errechnet. 2.6.3 Funktionsweise Im Folgenden wird die Funktionsweise des Verschlüsselungsalgorithmus von GMR-2 illustriert. Wenn die Chiffre das l-te Mal getaktet wird, werden folgende Schritte durchgeführt: 1. Die Chiffre generiert ein Byte des Schlüsselstromes Zl , wobei dieses Byte auf den Werten in den S- und C-Registern und dem T -Bit basiert. 2. Das T -Bit wird invertiert. 2.6 GMR-2 Protokoll Seite 51 3. Das C-Register wird um den Wert 1 erhöht. Wird der Wert 8 erreicht, so wird das Register auf den Wert 0 gesetzt. 4. Das S-Register wird um eine Byte-Position nach rechts verschoben. Der vorherige Wert in Position S7 wird der G-Funktion übergeben und die anschließende Ausgabe Zl der H-Funktion wird zurück in das Statusregister an Stelle S0 geschrieben. Weiterhin fließt Zl im nächsten Takt als Parameter p mit in die Eingabe der F-Funktion. 2.6.4 Operationsmodi Der A5-Verschlüsselungsalgorithmus von GMR-2 operiert wie bereits bei GMR1 in zwei unterschiedlichen Modi, der Initialisierungsphase und der Schlüsselstromerzeugung. Während der Initialisierungsphase werden die nachfolgenden Schritte ausgeführt: 1. Das T -Bit und das C-Register werden auf 0 gesetzt. 2. Der 64-bit Schlüssel K wird in das K-Register der F-Funktion geschrieben. 3. Das S-Register wird mit der 22-bit Frame-Nummer N initialisiert. Im Anschluss wird die Chiffre 8 Mal getaktet, wobei alle in dieser Phase entstehenden Bytes des Schlüsselstroms verworfen werden. Im Anschluss an die Initialisierungsphase wechselt die Chiffre in den Modus Schlüsselstromerzeugung, um pro Takt ein Byte des Schlüsselstromes zu erzeu(N ) gen. Dabei definiert Zl das l-te (0 ≤ l ≤ 14) Byte des Schlüsselstromes, welcher nach der Initialisierungsphase mit der Frame-Nummer N generiert wird. In der GMR-2-Protokollfamilie wird die Frame-Nummer immer nach Ausgabe von 15 Bytes des Schlüsselstromes erhöht, wodurch die Chiffre eine erneute Initialisierungsphase durchläuft. Der eigentliche Schlüsselstrom ist daher eine Verkettung von 15-byte Blöcken. Der durchgehende Schlüsselstrom wird für mehrere Frames N, N + 1, ... mit Z bezeichnet. (N ) (N ) (N +1) (N +1) (N +2) Z = Z0 , ..., Z14 , Z0 , ..., Z14 , Z0 , ... 8 . 2 2.6.5 Exkurs: Angriff Ähnlich zum GMR-1-Protokoll finden sich auch im A5-GMR-2-Algorithmus Schwachstellen, die mit Hilfe von kryptographischen Angriffen ausgenutzt werden können. Im Folgenden wird eine Known-Plaintext Attacke auf den GMR-2Verschlüsselungsalgorithmus im Detail vorgestellt [DHW+ 12, DHW+ 13]. Hinweis: Sie müssen dabei nicht jeden Schritt nachvollziehen können. Vielmehr dient der nachfolgende Abschnitt dazu, Ihnen zu verdeutlichen, welch hohe Komplexität Angriffe auf kryptographische Algorithmen haben können. Der Known-Plaintext Angriff basiert auf einer Vielzahl an Beobachtungen bei der Analyse der F-Funktion und der mit * markierten Zeilen in Tabelle 2.3 (Definition der T1 und T2 Lookup-Tabellen der F-Funktion). Seite 52 Chapter 2 Sicherheitsaspekte von Satellitentelefonen 1. Wenn α ∈ {(0, 0, 1, 0)2 , (1, 0, 0, 1)2 }, dann ist T1 (α) = 0 und T2 (T1 (α)) = 4, sodass O0 = (N (0, K0 ), N (1, K0 ))24 gilt. 2. Wenn α ∈ {(0, 1, 1, 0)2 , (1, 1, 1, 0)2 }, dann ist T1 (α) = 4 und T2 (T1 (α)) = 4, sodass O0 = (N (0, K4 ), N (1, K4 ))24 gilt. 3. Wenn T1 (α) = c, dann selektieren beide Multiplexer das gleiche Byte des Schlüssels K. Dies wird im Folgenden Lesekollision (Read-Collision) in Kc genannt. Nachfolgend wird beschrieben, wie basierend auf diesen Beobachtungen die Bytes K0 und K4 des Schlüssels mit hoher Wahrscheinlichkeit ermittelt werden können. Diese werden im Anschluss dazu verwendet, die übrigen 48 Bits des Schlüssels K effizient zu erraten. Die Grundidee zur Erlangung von K0 ist, die Bytes (Zi , Zi−1 , Zi−8 )28 des Schlüsselstromes mit i ∈ {8, 23, 38, ...} bei der Generierung von Zi auf Lesekollisionen in K0 zu untersuchen. Durch die Wahl dieser i-Werte sind die Gleichungen (N ) Z8 = Z8 (N +1) , Z23 = Z8 (N +2) , Z38 = Z8 , ... erfüllt, da für diese i-Werte bereits bekannt ist, dass der untere Multiplexer in der F-Funktion aufgrund des Zählers c mit c mod 8 = 0 das Byte K0 des Schlüssels selektiert hat. Findet eine Lesekollision in der F-Funktion statt und beide Multiplexer haben K0 selektiert, so ist die Ausgabe von F folgendermaßen definiert: O0 = (p3 ⊕ α3 , p2 ⊕ α2 , p1 ⊕ α1 , p0 ⊕ α0 , K0,7 , K0,6 , K0,5 , K0,4 )2 , O1 = (K0,7 ⊕ p7 ⊕ α3 , K0,6 ⊕ p6 ⊕ α2 , K0,5 ⊕ p5 ⊕ α1 , K0,4 ⊕ p4 ⊕ α0 )2 . Die Ausgabe der G-Funktion gleicht im Anschluss: O00 = (p3 ⊕ α3 ⊕ p0 ⊕ α0 ⊕ S7,5 , p3 ⊕ α3 ⊕ p2 ⊕ α2 ⊕ p0 ⊕ α0 ⊕ S7,7 , p3 ⊕ α3 ⊕ S7,4 , p1 ⊕ α1 ⊕ S7,6 , K0,7 ⊕ p7 ⊕ α3 ⊕ K0,5 ⊕ p5 ⊕ α1 ⊕ K0,4 ⊕ p4 ⊕ α0 , K0,7 ⊕ p7 ⊕ α3 ⊕ K0,4 ⊕ p4 ⊕ α0 )2 , O10 = (K0,7 ⊕ K0,4 ⊕ S7,1 , K0,7 ⊕ K0,6 ⊕ K0,4 ⊕ S7,3 , K0,7 ⊕ S7,0 , K0,5 ⊕ S7,2 , K0,6 ⊕ p6 ⊕ α2 , K0,4 ⊕ p4 ⊕ α0 )2 . Weiterhin ist durch die H-Funktion folgende Gleichung gültig: Zi = (S2 (O10 ), S6 (O00 ))24 . Um nun das Schlüsselbyte K0 zu bestimmen, werden die Ein- und Ausgaben der S-Boxen S6 und S2 in der H-Funktion im Folgenden genauer analysiert.Da die ursprünglichen DES S-Boxen umgeordnet worden sind, wird bei GMR-2 die Spalte von S6 mittels der vier hochwertigen Bits von O00 ausgewählt. Wenn davon ausgegangen wird, dass eine Kollision in K0 während der Generierung von Zi stattgefunden hat, können diese vier hochwertigen Bits mit Hilfe der für die gewählten i-Werte ebenfalls bekannten Werte S7 = Zi−8 und p = Zi−1 bestimmt werden. Wenn für α ∈ {(0, 0, 1, 0)2 , (1, 0, 0, 1)2 } das niederwertige Nibble von Zi in der Zeile mit Index β gefunden werden kann, könnte tatsächlich eine Kollision statt- 2.6 GMR-2 Protokoll Seite 53 gefunden haben, wobei die niederwertigen zwei Bits von O00 (welche die Zeile in S6 bestimmen) gleich (β1 , β0 )2 sein müssen und dann folgendes gilt: K0,7 ⊕ K0,5 ⊕ K0,4 = β1 ⊕ p7 ⊕ α3 ⊕ p5 ⊕ α1 ⊕ p4 ⊕ α0 , K0,7 ⊕ K0,4 = β0 ⊕ p7 ⊕ α3 ⊕ p4 ⊕ α0 . In diesem Schritt können einige Informationen zu den Bits von K0 bestimmt werden. Beispielsweise kann K0,5 komplett berechnet werden. Im Anschluss kann die Ausgabe der S-Box S2 verwendet werden, um zu verifizieren, ob eine Kollision bei der obigen Wahl von α aufgetreten ist. Durch die Struktur der S-Box existieren lediglich vier 6-bit Eingaben γ, für die gilt: S2 (γ) = (Zi,7 , Zi,6 , Zi,5 , Zi,4 )2 . Aufgrund der teilweisen Kenntnis von (K0,4 , K0,5 , K0,7 )2 kann für jeden der vier möglichen γ-Werte getestet werden, ob folgende Gleichungen erfüllt werden: ? γ5 =β0 ⊕ p7 ⊕ α3 ⊕ p4 ⊕ α0 ⊕ S7,1 , ? γ4 ⊕ γ1 =β0 ⊕ p7 ⊕ α3 ⊕ p4 ⊕ α0 ⊕ S7,3 ⊕ p6 ⊕ α2 , ? γ3 ⊕ γ0 =β0 ⊕ p7 ⊕ α3 ⊕ S7,0 , ? γ2 ⊕ γ5 =β1 ⊕ p7 ⊕ α3 ⊕ p5 ⊕ α1 ⊕ p4 ⊕ α0 ⊕ S7,1 ⊕ S7,2 . Wenn ein γ-Wert alle Gleichungen erfüllt, kann mit hoher Wahrscheinlichkeit davon ausgegangen werden, dass eine Lesekollision stattgefunden hat. Eine mögliche resultierende Hypothese für K0 ist: (γ3 ⊕ S7,0 , γ1 ⊕ p6 ⊕ α2 , γ2 ⊕ S7,2 , γ0 ⊕ p4 ⊕ α0 , p3 ⊕ α3 , p2 ⊕ α2 , p1 ⊕ α1 , p0 ⊕ α0 )2 . Nach diesem Prinzip kann auch Byte K4 des Schlüssels bestimmt werden, wenn α ∈ {(0, 1, 1, 0)2 , (1, 1, 1, 0)2 } und i ∈ {12, 27, 42, ...} verwendet werden. In den folgenden Schritten wird davon ausgegangen, dass in den vorherigen Schritten eine Menge von möglichen Werten für K0 gewonnen werden konnte. In vorherigen Phasen möglicherweise erlangte Kenntnisse zu K4 erhöhen die Effizienz der nachfolgenden Attacke allerdings nur geringfügig. Basierend auf den erlangten Hypothesen von K0 können die restlichen Bytes des Schlüssels K mittels Brute-Force bestimmt werden. Die nachfolgenden Schritte bestimmten den korrekten Schlüssel K allerdings nur, wenn die Hypothese von K0 korrekt war. Um die Schlüsselbytes K1 , ..., K7 zu bestimmen, werden einige weitere Bytes des Schlüsselstromes untersucht, wobei sich die nächsten Schritte auf die F-Funktion fokussieren. Für jedes Kj mit j ∈ {0, 1, ..., 7} für das bereits eine Hypothese besteht, können die zugehörigen Bytes (Zi+j , Zi+j−1 , Zi+j−8 )28 des Schlüsselstromes mit i ∈ {8, 23, 38, ...} verwendet werden um folgende Gleichung zu berechnen: α = N (j mod 2, Kj ⊕ Zi+j−1 ). Existiert noch keine plausible Hypothese für Kk mit k = T1 (α) kann durch alle möglichen Werte δ ∈ {0, 1, ..., 255} iteriert und die Ausgabe der Chiffre berechnet werden. Stimmt für ein δ die Ausgabe der Chiffre mit Zi+j überein, so ist δ die Hypothese für Kk . Dies kann für verschiedene i-Werte wiederholt werden, bis für jedes Byte des Schlüssels und somit für den kompletten Schlüssel K eine Seite 54 Chapter 2 Sicherheitsaspekte von Satellitentelefonen Hypothese aufgestellt wurde. Da die Gültigkeit der Hypothese für den Schlüssel K komplett auf der Richtigkeit von K0 basiert, muss im Folgenden jeder Schlüsselkandidat verifiziert werden, indem der Schlüsselstrom generiert und mit dem Ausgangsschlüsselstrom verglichen wird. Die Gesamtkomplexität dieser Attack basiert auf der Anzahl der Hypothesen für K0 . Bei 15 − 20 Schlüsselstrom-Frames rangiert das korrekte Byte von K0 normalerweise unter den besten Hypothesen, sodass im Durchschnitt für den gesamten Schlüssel (7 · 28 )/2 ≈ 210 einzelne Hypothesen für die fehlenden Bytes des Schlüssels verifiziert werden müssen. Je mehr Schlüsselstrom-Frames existieren, um die Hypothesen von K0 zu testen, um so eher kann der korrekte Wert von K0 bestimmt werden. Grundsätzlich können aber auch alle 28 möglichen Werte für K0 getestet werden, was die Länge des benötigten Schlüsselstroms auf 400–500 Bits reduziert, allerdings die Gesamtkomplexität auf (7 · 28 · 28 )/2 ≈ 218 erhöht. 2.6.6 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. K Kontrollaufgabe 2.5: Lookup-Tabelle Wozu dient eine Lookup-Tabelle? K Kontrollaufgabe 2.6: Schlüsselstrom Zl In welche Funktionen und Register fließt der Schlüsselstrom Zl mit ein? 2.7 Übungen Ü Übung 2.1: LFSR Was ist die Aufgabe eines LFSRs? Was wird durch das Feedback-Polynom definiert? Ü Übung 2.2: A5-Algorithmus Warum ist der A5-Algorithmus typischerweise eine Strom- und keine Blockchiffre? Chapter 3 Sicherheitsaspekte von DECT Seite 55 Chapter 3 Sicherheitsaspekte von DECT 3.1 Lernziele Sie kennen den Aufbau des DECT-Standards und können sowohl Vor- als auch Nachteile von DECT benennen. Weiterhin können Sie Unterschiede zwischen DECT und anderen Mobilfunkstandards wie GSM / UMTS erläutern. Abschließend können Sie die Sicherheitsarchitektur von den DECT-Standard skizzieren. 3.2 Advanced Organizer Wie wird der DECT-Standard im Mobilfunk eingesetzt und welche Sicherheitsmerkmale werden angewandt? In diesem Studienbrief werden der Aufbau und die verwendeten kryptographischen Protokolle des DECT-Standards aufgezeigt und Schwachstellen erläutert. 3.3 Einleitung In diesem Studienbrief wird der DECT-Standard vorgestellt, welcher im Mobilfunkbereich für die Sprach- als auch Datenübertragung eingesetzt wird. Dazu werden in einer Einführung die Grundlagen und Ziele von DECT benannt. Weiterführend wird der Aufbau und die Funktionsweise von DECT erläutert. Dies umfasst insbesondere den Aufbau einer Datenübertragung und die Anwendung von Sicherheitsmaßnahmen. Abschließend werden die verschiedene Sicherheitsmerkmale von DECT-Standard vorgestellt. 3.4 Grundlagen DECT steht für Digital Enhanced Cordless Telecommunications und ist ein international etablierter Standard zur Übertragung von Daten mittels Funktechnik, primär für die kabellose picozellulare Telefonie. DECT wurde vom European Telecommunications Standards Institute (ETSI) entwickelt und löste im Jahr 1992 den analogen Standard CT1 (Cordless Telephone generation 1) sowie den digitalen Standard CT2 (Cordless Telephone generation 2) ab. Exkurs 3.1: Namensgebung DECT Die Abkürzung DECT stand ursprünglich für Digital European Cordless Telephone und wurde vom European Telecommunications Standards Institute als einheitlicher Standard für kabellose Telefonsysteme eingeführt. DECT erlangte über die Zeit allerdings auch außerhalb Europas immer höhere Verbreitung. Weiterhin wurden neben der Telefonie weitere Anwendungsgebiete erschlossen, sodass der Standard in Digital Enhanced Cordless Telecommunications umbenannt wurde. E Seite 56 Chapter 3 Sicherheitsaspekte von DECT Das Design des DECT-Standards legt besonderen Fokus darauf, eine Vielzahl unterschiedlicher Telekommunikationsdienste und Anwendungen zu unterstützen. Speziell für die Zusammenarbeit mit bereits bestehenden Netzen wie dem analogen Telefonnetz oder ISDN wurden Zugriffsprotokolle und Anwendungsprofile definiert. Die Minimalanforderungen für diese Anwendungsprofile wurden im Generic Access Profil (GAP) zusammengefasst, welches ab dem Jahr 1997 von allen Anbietern von DECT-Infrastruktur wie Basisstationen und mobilen Endgeräten unterstützt werden muss. Die Einführung von GAP ermöglicht beispielsweise die Kombination von Basisstationen und mobilen Geräten verschiedener Hersteller. Auf GAP aufbauend sind weitere Profile entwickelt worden, welche unter anderem die Kommunikation zwischen DECT und GSM- oder ISDN-Netzen erlauben. B Beispiel 3.1: DECT/GSM Interworking Profil (GIP) Das DECT/GSM Interworking Profil (GIP) erlaubt die Kommunikation zwischen DECT-Systemen mit GSM-Systemen, sodass Teilnehmer eines DECTSystems GSM-Dienste wie SMS verwenden können. Weiterhin sollen mit dem DECT-Standard unter anderem folgende Ziele erreicht werden: • Netzwerkweite Mobilität mittels automatischem Handover • Einsparung von Frequenzen durch Nutzung eines exklusiven Frequenzbands • Sowohl für Sprach- als auch Datenübertragung nutzbar • Verbesserte Sprachqualität • Gleichzeitiger Betrieb mehrerer mobiler Endgeräte • Herstellerunabhängige Nutzung von mobilen Endgeräten an gleicher Basisstation • Abhör- und Ausfallsicherheit 3.5 Systemdesign Ein DECT-System besteht im Allgemeinen aus einem Fixed Part (FP) und einem oder mehreren mobilen Endgeräten, im Folgenden Portable Parts (PP) genannt [Lüd01]. Im Heim- und Bürobereich besteht der Fixed Part meist aus einer oder mehreren Basisstationen, nachfolgend Radio Fixed Part (RFP) genannt, die die funktechnische Versorgung von Innen- und Außenbereichen bereitstellen. Bei dem Betrieb von mehreren Radio Fixed Parts werden diese meist über ein lokales Netz miteinander verbunden, sodass ein mobiles Endgerät automatisch zwischen den Basisstationen wechseln kann, sollte ein mobiles Endgerät die Reichweite eines RFPs verlassen. Die Reichweite eines Radio Fixed Parts beträgt innerhalb von Gebäuden typischerweise 30 bis 50 Meter. Im Freien erhöht sich die Funkreichweite auf bis zu 300 Meter. Abbildung 3.1 stellt ein Beispiel eines einfachen DECT-Systems mit einem Fixed Part und drei mobilen Endgeräten dar, welche mittels Funktechnik miteinander kommunizieren. Der Fixed Part besteht hierbei aus dem Radio Fixed Part, einer Datenbank in der die mobilen Endgeräte registriert sind, einer Interworking Unit 3.5 Systemdesign Seite 57 (IWU), welche das DECT-System mit externen Netzen wie ISDN verbindet, und einem Central Control Fixed Part (CCFP), der die einzelnen Komponenten des Fixed Parts miteinander verbindet. Figure 3.1: Beispiel eines DECT-Systems im Heimbereich aus [Lüd01]. 3.5.1 DECT-Referenzmodell Das DECT-Referenzmodell in Abbildung 3.2 wurde dem ISO/OSI-Modell nachempfunden und entspricht im wesentlichen den drei unteren Schichten Physical, Data Link und Network des ISO/OSI-Modells [Lüd01, Wal01b]. Die Sicherungsschicht (Data Link Layer) des ISO/OSI-Modells wurde in die zwei Schichten Medium Access Control (MAC) und Data Link Control (DLC) unterteilt, da das Übertragungsmedium Funk häufigen Qualitätsschwankungen unterliegt und weiterhin der Kanalaufbau und -zugriff ein vielfach durchzuführender Prozess darstellt. Figure 3.2: DECT Referenzmodell aus [Lüd01, Wal01b]. Im Folgenden werden die wichtigsten Eigenschaften der einzelnen Schichten vorgestellt. Physikalische Schicht Die physikalische Schicht von DECT ist für die Realisierung der Übertragungskanäle über das Funknetz zuständig. DECT operiert dazu in Europa im Frequenzband 1880 MHz bis 1900 MHz [Lüd01, For97, Wal01b]. Im Gegensatz zu beispielsweise GSM wird für die Nutzung dieses Frequenzbandes keine Lizenz benötigt. Seite 58 Chapter 3 Sicherheitsaspekte von DECT DECT verwendet für die Übertragung der Daten die Multi Carrier (MC), Time Division Multiple Access (TDMA) und Time Division Duplexing (TDD) Nachrichtenübertragungsverfahren. Dabei wird wie in Abbildung 3.3 dargestellt das Frequenzspektrum von DECT in 10 Frequenzträger (MC) mit einem Abstand von 1728 kHz eingeteilt. Jeder Träger ist in 24 Zeitschlitze (TDMA) unterteilt, die sich alle 10 ms wiederholen. Die Zeitschlitze sind weiterhin in zwei Hälften mit 5 ms Zeitunterschied aufgeteilt (TDD), wobei die ersten 12 Zeitschlitze zumeist für die Datenübertragung des Fixed Parts (Downlink) und die weiteren 12 Zeitschlitze für die Daten der Portable Parts (Uplink) reserviert sind. Bei einem typischen DECTSprachdienst werden wie in Abbildung 3.3 rot markiert zwei Zeitschlitze zum Aufbau einer Duplexverbindung verwendet, welche auf der gleichen Trägerfrequenz liegen müssen und um 12 Zeitschlitze (5 ms) versetzt sind. Der Fixed Part überträgt die Daten in diesem Beispiel somit auf Frequenzträger 3 in Zeitschlitz 2; der Portable Part um 12 Zeitschlitze versetzt in Zeitschlitz 14. Figure 3.3: DECT Zeit/ Frequenzspektrum aus [Lüd01]. Die TDMA-Struktur erlaubt bis zu 12 simultane Duplex-Sprachverbindungen pro Trägerfrequenz. Bei Datendiensten können Zeitschlitze allerdings auch gebündelt werden, sodass beispielsweise 23 Zeitschlitze für den Downlink (mit einer maximalen Datenrate von 552 kbit/s) und ein Zeitschlitz für den Uplink bzw. Rückkanal verwendet werden. Pro Zeitschlitz können bei einer TDMA-Rahmendauer von 10 ms und einer Bitrate von 1152 kbit/s (Modulationsrate bei DECT) maximal 480 Bits an Daten in Form von physikalischen Paketen (Physical Packets) übertragen werden. Abbildung 3.4 stellt das hauptsächlich eingesetzte Basic Physical Packet dar. • Das S-Feld wird zur Synchronisation des Empfängers verwendet. • Das 64-bit große A-Feld enthält in den ersten 48 Bits Steuer-, Kontroll- und Systeminformationen wie die unterstützten Frequenzträger, die Identität eines RFPs (Radio Fixed Part Identifier, kurz RFPI, ähnlich zur SSID in Wireless Lans) oder Signalisierungsinformationen aus höheren Schichten. In den nachfolgenden 16 Bits wird der aus den ersten 48 Bits berechnete CRC abgelegt, sodass beim Empfänger eine Fehlererkennung für das A-Feld durchgeführt werden kann. • Das B-Feld enthält die zu übertragenden Nutzdaten entweder ungeschützt, sodass bis zu 320 Bits an Daten innerhalb eines Paketes übertragen werden (beispielsweise Sprachdaten), oder geschützt, sodass der Datenbereich in vier 64-bit große Datenblöcke und vier 16-bit CRC-Felder unterteilt wird und somit pro Paket 256 Bits an Daten übertragen werden können. 3.5 Systemdesign Seite 59 Figure 3.4: Aufbau eines Basic Physical Packets aus [Lüd01]. • Das 4-bit große X-Feld wird zur Fehlererkennung des B-Feldes verwendet. • Grundsätzlich werden von den 480 Bits eines Paketes 60 Bits für die so genannte Guard Period (GP-Feld) verwendet. Dieses Datenfeld vermeidet Überschneidungen von mehreren physikalischen Paketen bei benachbarten Zeitschlitzen, beispielsweise bei Synchronisationsungenauigkeiten. Exkurs 3.2: Vergleich der Pakete von DECT und GSM In DECT transportiert jedes Basic Physical Packet sowohl Steuer- als auch Nutzdaten. Im GSM-Standard überträgt ein Burst entweder nur Steuer- oder Nutzdaten. Zugriffssteuerungsschicht (MAC) Die Medium Access Control Schicht (MAC) ist für den Aufbau, Aufrechterhaltung und Abbau der physikalischen Kanäle (MAC-Bearer) für die höheren Schichten verantwortlich. Weiterhin fügt die MAC-Schicht zu jedem Paket Anwendungsund Dienstspezifische Steuerdaten hinzu und sichert die verschiedenen Datenfelder in den zu übertragenden Paketen mit Hilfe der zyklischen Codes (CRC) ab, sodass der Empfänger Übertragungsfehler in einem Paket detektieren kann. Sicherungsschicht (DLC) Wie in Abbildung 3.2 dargestellt, teilt sich die Data Link Control Schicht (DLC) in zwei Bereiche. In der DLC-Schicht für den Transport für Signalisierung findet ähnlich zur MAC-Schicht eine Fehlersicherung statt, sodass die Übertragungsqualität und -zuverlässigkeit verbessert wird. Die zweite DLC-Schicht steuert die Übertragung der Nutzerdaten und bietet verschiedene Dienste wie geschützte oder ungeschützte Datenübertragung und Datenratenanpassung an. Weiterhin sind die DLC-Schichten für die Aufbereitung der Daten aus den höheren Schichten zuständig, sodass diese entsprechend den Anforderungen an den Dienst (z.B. Sprachoder Datendienst) mittels MAC-Bearer übertragen werden können. E Seite 60 Chapter 3 Sicherheitsaspekte von DECT Netzschicht (NWK) Die Netzschicht verwaltet die Verbindungen zwischen einem Portable Part und dem Fixed Part in DECT und ist weiterhin für die Steuerung des Datenaustausches verantwortlich. Hierzu bietet die Netzschicht unter anderem die Protokolle Mobility Management (MM) und Call Control (CC) an. • Das Mobility Management verwaltet alle Aufgaben und Eigenschaften die für die Mobilität der Portable Parts benötigt werden. Dies umfasst die Teilnehmeridentität, Authentisierung, Verschlüsselung und Verwaltung der Aufenthaltsorte der PPs. • Die Verbindungssteuerung (Call Control) verwaltet alle ein- und ausgehenden Anrufe und die zugrundeliegenden Aufgaben wie Verbindungsaufbau und -abbau. 3.5.2 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. K Kontrollaufgabe 3.1: TDMA-Struktur Wieviele simultanen Duplex-Sprachverbindungen werden im DECTStandard durch die TDMA-Struktur insgesamt ermöglicht? K Kontrollaufgabe 3.2: Referenzmodell Welchen drei Schichten im ISO/OSI-Modell entspricht das DECTReferenzmodell? 3.6 Verbindungsverwaltung Im Folgenden werden die einzelnen Betriebszustände der mobilen Endgeräte und der Basisstation erläutert und sowohl der Verbindungsaufbau als auch der Handovermechanismus in DECT illustriert. 3.6.1 Betriebszustände Portable Part Mobile Endgeräte in DECT können wie in Abbildung 3.5 dargestellt einen von vier Betriebszuständen annehmen [Wal01b]: 3.6 Verbindungsverwaltung Seite 61 Figure 3.5: Betriebszustände eines PP aus [Wal01b]. • Idle Unlocked: Das mobile Endgerät ist ausgeschaltet und kann sich dementsprechend zu keinem Radio Fixed Part verbinden. • Active Unlocked: Das mobile Endgerät ist eingeschaltet aber mit keinem RFP verbunden und kann daher keine Anrufe annehmen oder tätigen. In diesem Zustand sucht das PP nach einem geeigneten RFP mittels Empfangspegelmessungen, um in den Zustand Idle Locked überzugehen. • Idle Locked: Das mobile Endgerät ist mit einem geeigneten RFP synchronisiert und kann Anrufe annehmen oder tätigen. Verlässt das PP den abgedeckten Funkbereich des RFPs, so wechselt der Zustand zurück in Active Unlocked und das PP sucht wiederum nach einem geeigneten RFP. Wird der erste MAC-Bearer aufgebaut (beispielsweise bei einem Anruf), wechselt das PP in den Zustand Active Locked. • Active Locked: Das mobile Endgerät unterhält mindestens einen aktiven physikalischen Kanal mit dem RFP. Bei Beendigung der Verbindung wechselt das PP zurück in den Zustand Idle Locked. Fixed Part Die Basisstation in DECT kann wie in Abbildung 3.6 dargestellt ebenfalls einen von vier Betriebszuständen annehmen. Figure 3.6: Betriebszustände eines FP aus [Wal01b]. • Inactive: Die Basisstation ist ausgeschaltet und kann dementsprechend keine Nachrichten versenden oder empfangen. Seite 62 Chapter 3 Sicherheitsaspekte von DECT • Active Idle: Die Basisstation betreibt keine aktiven Verbindungen und strahlt einen Dummy-Bearer mit Systeminformationen im A-Feld (vgl. Abbildung 3.4) aus, welcher von den PPs empfangen und zur Synchronisation mit der Basisstation verwendet wird. • Active Traffic: Die Basisstation betreibt mindestens einen aktiven physikalischen Kanal mit einem PP und sendet den Dummy-Bearer nicht aus. • Active Traffic & Idle: Die Basisstation betreibt mindestens einen aktiven physikalischen Kanal mit einem PP und sendet ebenfalls den DummyBearer aus. 3.6.2 Verbindung zwischen PP und FP Ein mobiles Endgerät und die Basisstation müssen vor dem eigentlichen Informationsaustausch (wie beispielsweise Sprachdaten) einen physikalischen Kanal aufbauen. Anders als bei zellularen Mobilfunksystemen mit Kanalzuweisung mittels festem Algorithmus wendet DECT ein dynamisches Kanalwahlverfahren (Dynamic Channel Selection) an, sodass jedem mobilen Endgerät theoretisch jeweils alle 12 möglichen Zeitschlitze auf allen 10 Trägerfrequenzen (vgl. Abbildung 3.3) für den Verbindungsaufbau mit der Basisstation zur Verfügung stehen [Wal01b, Lüd01]. Dynamische Kanalwahl Vor dem Aufbau eines physikalischen Kanals zwischen einem mobilen Endgerät und einer Basisstation ist es die Aufgabe des PPs, die Signalpegel aller Kanäle der in Reichweite befindlichen Basisstationen bzw. RFPs zu messen. Das PP erhält durch regelmäßig durchgeführte Scans (mindestens einmal alle 30 Sekunden, auch bei bereits aktiven Verbindungen) eine Liste mit allen freien bzw. verwendeten Kanälen der umliegenden Basisstationen. Im Anschluss an die Messungen führt das mobile Endgerät bis zu drei Versuche von Verbindungsaufbauten mit dem RFP durch, für das die beste Signalstärke gemessen worden ist. Schlagen diese Verbindungsversuche fehl, so wechselt das mobile Endgerät zu der nächststärkeren Basisstation und wiederholt die Verbindungsversuche. Die Kanalwahl für den Verbindungsaufbau wird durch die gemessenen Signalpegel (Radio Signal Strength Indicator) der einzelnen Kanäle bestimmt und unterliegt einigen Einschränkungen [Lüd01]. Diese werden im Folgenden anhand eines Beispieles in Abbildung 3.7 verdeutlicht. Figure 3.7: Kanalwahl in DECT aus [Lüd01]. 3.6 Verbindungsverwaltung Die schwarz markierten Bereiche stellen die Zeitschlitze dar, die bereits von aktiven Verbindungen verwendet werden. Im Beispiel wird sowohl Zeitschlitz 2 auf Frequenzträger 4 als auch Zeitschlitz 9 auf Frequenzträger 1 aktiv genutzt. Besteht eine Basisstation lediglich aus einer Sende- und Empfangseinheit (Transceiver), so kann dieser RFP pro Zeitschlitz lediglich mit einem mobilen Endgerät kommunizieren und somit insgesamt nur 12 statt der 120 möglichen Duplexkanäle nutzen. Die Ursache liegt darin begründet, dass ein Transceiver pro Zeitschlitz nur auf einer Trägerfrequenz senden bzw. empfangen kann und Daten auf den übrigen 9 Trägerfrequenzen im gleichen Zeitschlitz nicht abgerufen und verarbeitet werden können. Belegt ein PP einen Kanal auf einer Trägerfrequenz, so werden die anderen Kanäle auf den übrigen neun Trägerfrequenzen im gleichen Zeitschlitz als Blind Slot bezeichnet. In Abbildung 3.7 sind diese nicht-nutzbaren Zeitschlitze grau markiert. Führt ein mobile Endgerät die Signalmessungen während einer aktiven Verbindung durch (im Beispiel in Zeitschlitz 5 auf Frequenzträger 5 rot markiert), so kann das Gerät in diesem Zeitschlitz keine Signalpegel der anderen neun Frequenzträger messen. Weiterhin können manche Endgeräte aufgrund von Hardware-technischen Einschränkungen die Zeitschlitze vor und nach dem aktiv genutzten Zeitschlitz nicht für Signalpegelmessungen verwenden. Verbindungsaufbau In DECT baut grundsätzlich das mobile Endgerät eine Verbindung auf. Nachdem der PP wie im vorherigen Abschnitt aufgezeigt den bestmöglichen Kanal für eine neue Verbindung ausgewählt hat, initiiert dieser den Verbindungsaufbau mit Hilfe der Synchronisationsinformationen in den von der Basisstation versendeten Dummy-Bearer Paketen. Die Basisstation ihrerseits scannt kontinuierlich die freien Kanäle nach Verbindungsanfragen. Der eigentliche Verbindungsaufbau findet wie in Abbildung 3.8 dargestellt in der MAC-Schicht durch einen Connection Request statt [Wal01b]. Diese Verbindungsanfrage initiiert eine Bearer Request Nachricht, in der das mobile Endgerät bei der Basisstation auf dem ausgesuchten Kanal einen Bearer anfordert. Ist die Basisstation noch nicht für den Verbindungsaufbau bereit, sendet sie eine Wait Nachricht an den PP, welcher diese Nachricht erwidert. Abgeschlossen wird die erste Phase des Verbindungsaufbaus mittels der Bearer Confirm Nachricht, die dem PP signalisiert, dass die Basisstation für die weiteren Übertragungen bereit ist. Im anschließenden Verlauf werden die Verbindungsaufbaunachrichten der Verbindungssteuerung (Call Control) in der Netzschicht (vgl. Abschnitt 3.5.1) ausgetauscht, um den Verbindungsaufbau abzuschließen. Wie bereits erwähnt, initiiert in DECT das mobile Endgerät den Verbindungsaufbau, beispielsweise um einen Anruf zu tätigen. Dies führt zu dem Problem, dass bei eingehenden Anrufen die Basisstation keine Verbindung zum mobilen Endgerät aufbauen kann. Als Lösung verwendet DECT sogenannte Paging-Nachrichten mit der Identität des mobilen Endgerätes, die von allen PPs empfangen werden. Das Endgerät mit der passenden Identität baut nach Empfang einer solchen Nachricht eine neue Verbindung zur Basisstation auf, um den Anruf in Empfang zu nehmen. Seite 63 Seite 64 Chapter 3 Sicherheitsaspekte von DECT Figure 3.8: Verbindungsaufbau zwischen PP und FP aus [Wal01b]. 3.6.3 Handover Eine Anforderung an den DECT-Standard ist die netzwerkweite Mobilität mittels automatischen Handover-Mechanismen, sodass sich Teilnehmer eines DECTSystems frei in den mittels Funktechnik versorgten Gebieten bewegen können. Weiterhin finden Handover wie beispielsweise in GSM statt, wenn aufgrund von Qualitätseinbußen der bestehenden Verbindung entweder der genutzte Kanal (Intra-Cell Handover) oder die Basisstation (Inter-Cell Handover) gewechselt werden muss. Weiterhin werden Handover in die folgenden zwei Typen unterteilt: • Internal Handover: Bei einem internen Handover wechselt das mobile Endgerät von Basisstation RF P1 zu RF P2 , wobei sich beide RFPs in dem gleichen DECT-System befinden. Handover dieses Typs finden in der MAC- oder DLC-Schicht statt. Interne Handover werden zumeist seamingless durchgeführt. Dies bedeutet, dass ein alter Kanal erst dann abgebaut wird, wenn ein neuer Kanal bereits aufgebaut und für eine gewisse Zeit die identischen Daten über beide Verbindungen übertragen worden sind. • External Handover: Wechselt ein mobiles Endgerät zwischen verschiedenen in sich geschlossenen DECT-Systemen (mit unterschiedlichen Fixed Parts), findet der Handover extern statt. Dieser Wechsel wird im Mobility Management der Netzschicht (vgl. Abschnitt 3.5.1) durchgeführt, wobei es im Gegensatz zum internen Handover zu einem kurzzeitigen Verlust der Verbindung kommen kann. Ähnlich zum Verbindungsaufbau wird ein Handover immer durch ein mobiles Endgerät initiiert. Stellt eine Basistation eine schlechte Verbindungsqualität fest, signalisiert diese dem PP, einen Handover zu initiieren. 3.7 Sicherheit in DECT Seite 65 3.6.4 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. Kontrollaufgabe 3.3: Dummy-Bearer K Aus welchem Grund sendet eine Basisstation den Dummy-Bearer? Kontrollaufgabe 3.4: Handover Wieso kann es bei einem externen Handover zu Verbindungsabbrüchen kommen? 3.7 Sicherheit in DECT Die Nutzung von Telefonie über Funk bietet ein hohes Maß an Flexibilität im Bereich Mobilität, allerdings birgt die Übertragung über Funk ebenfalls ein hohes Potential an Risiken wie beispielsweise das Abhören von Gesprächen. DECT bietet zum Schutz vor Angriffen verschiedene Maßnahmen wie Authentisierung und Verschlüsselung an, welche im Folgenden vorgestellt werden. 3.7.1 Architektur Abbildung 3.9 stellt ein vereinfachtes Modell der Sicherheitsarchitektur von DECT dar. Grundsätzlich verwendet DECT zwei proprietäre Algorithmen, die die Authentisierungs- als auch Verschlüsselungsfunktionen übernehmen. • DECT Standard Authentication Algorithm (DSAA): Der DSAAAlgorithmus besteht aus den vier Funktionen A11, A12, A21 und A22 und wird für die Authentisierung der Basisstation als auch der mobilen Endgeräte angewandt. Weiterhin fließen Ergebnisse der A11 und A12 Funktionen in den Schlüsselerzeugungsprozess der Verschlüsselung ein. • DECT Standard Cipher (DSC): Der DSC-Algorithmus ist eine asynchrone 64-Bit Stromchiffre, die mit einem 35-bit Initialisierungsvektor und irregulär getakteten linearen rückgekoppelten Schieberegistern (LFSR) arbeitet und den Schlüsselstrom für die Sprach- und Datenverschlüsselung erzeugt. 3.7.2 Authentisierung Bevor ein mobiles Endgerät an einer Basisstation verwendet werden kann und sich gegenüber der Basisstation authentisiert, muss das Endgerät bei der Basisstation registriert werden. K Seite 66 Chapter 3 Sicherheitsaspekte von DECT Figure 3.9: Überblick Sicherheitsarchitektur aus [ETS11]. Registrierung Bei der Registrierung gibt der Benutzer einen geheimen PIN-Code sowohl bei dem mobilen Endgerät als auch bei der Basisstation ein. Nachfolgend werden über Funk eindeutige Identifikationsnummern der Geräte ausgetauscht und beide Seiten erzeugen einen geheimen Authentisierungsschlüssel, welcher bei späteren Verbindungsaufbauten verwendet wird. Dieser Schlüssel wird grundsätzlich nicht mittels Funk übertragen. Mobile Endgeräte können in verschiedenen DECT-Systemen registriert sein. Mit jeder Registrierung des PPs in einem neuen DECT-System wird ein eigener geheimer Authentisierungsschlüssel erzeugt und im PP abgelegt. Mobile Endgeräte buchen sich somit lediglich in die DECT-Systeme ein, für die sie registriert sind. Portable Part Die Authentisierung eines mobilen Endgerätes bei der Basisstation findet bei jedem Verbindungsaufbau mittels der Challenge-Response Technik statt. Dazu sendet die Basisstation die zwei Parameter RS und RAN D_F an das mobile Endgerät, wobei RAN D_F eine Zufallszahl ist, die sogenannte Challenge. Der Parameter RS wird für das Roaming zwischen verschiedenen Netzwerken verwendet, wird allerdings im Folgenden nicht genauer betrachtet. Der PP verwendet die DSAA Algorithmen A11 und A12 und errechnet aus den beiden Parametern der Basisstation und dem geheimen Authentisierungsschlüssel die Response RES1 und leitet diese an die Basisstation. Wie in Abbildung 3.10 dargestellt führt die Basisstation ihrerseits ebenfalls die Berechnung von Zufallszahl, Parameter RS und geheimen Authentisierungsschlüssel durch und vergleicht das Ergebnis der Berechnung XRES1 mit der Antwort von dem mobilen Endgerät. Stimmen diese Werte überein, hat sich das mobile Endgerät erfolgreich gegenüber der Basisstation authentisieren. Figure 3.10: Authentisierung eines mobilen Endgerätes aus [ETS11]. 3.7 Sicherheit in DECT Seite 67 Fixed Part Die Authentisierung einer Basisstation bei einem mobilen Endgerätes ähnelt dem vorherigen Authentifizierungsmechanismus. Das mobile Endgerät sendet wie in Abbildung 3.11 dargestellt die Zufallszahl RAN D_P an das mobile Endgerät. Die Basisstation verwendet die DSAA Algorithmen A21 und A22 und berechnet die Response RES2. Diese wird zusammen mit dem Roamingparameter RS an das mobile Endgerät gesendet, welches ebenfalls die Berechnungen durchführt und das Ergebnis mit der Antwort der Basisstation vergleicht. Figure 3.11: Authentisierung einer Basisstation aus [ETS11]. 3.7.3 Verschlüsselung DECT bietet die Möglichkeit, den Datenstrom von Daten- und Sprachnachrichten zwischen Basisstation und mobilem Endgerät zu verschlüsseln. Dafür generieren sowohl die Basisstation als auch das mobile Endgerät während der Authentisierungsphase einen Schlüssel mit Hilfe der DECT Standard Cipher. Dieser generiert nachfolgend einen Schlüsselstrom für die Verschlüsselung der Daten- und Sprachnachrichten. Figure 3.12: Vereinfachte Darstellung der Verschlüsselung in DECT aus [For97]. 3.7.4 Angriffe auf DECT Der DECT-Standard bietet durch eine eher unausgereifte Sicherheitsarchitektur verschiedene Angriffsmöglichkeiten. Angriffe werden zum einen dadurch ermöglicht, dass grundsätzlich mobile Endgeräte die Verschlüsselung des Sprach- und Datenstroms initiieren müssen und dies nicht durch die Basisstation gefordert werden kann. Der Einsatz von verschlüsseltem Datenstrom ist in DECT allerdings optional und bei einer Vielzahl von mobilen Geräten standardmäßig deaktiviert, sodass ein Angreifer auf einfache Weise den Funkverkehr abhören und mitschneiden kann. Selbst wenn ein mobiles Endgerät den Datenstrom verschlüsseln will, kann die Basisstation die Verschlüsselung ablehnen. In vielen Fällen stellt das mobile Endgerät die Verbindung zur Basisstation dennoch her, sodass der Funkverkehr ebenfalls unverschlüsselt durchgeführt wird und abgehört werden kann. In DECT ist neben der Verschlüsselung auch die Authentisierung der Basisstation gegenüber dem mobilen Endgerät optional [LST+ 09]. Dies erlaubt einem Angreifer sich als Basisstation auszugeben, indem er die Radio Fixed Part Identity fälscht Seite 68 Chapter 3 Sicherheitsaspekte von DECT und die Authentisierung des mobilen Endgerätes (vgl. Abbildung 3.10) ohne Prüfung akzeptiert. Anschließend kann die gefälschte Basisstation die Verschlüsslung des Datenstroms ablehnen und den Sprach- und Datenstrom mitschneiden. Neben diesen Angriffen existieren eine Reihe weiterer Angriffe auf die Authentisierungs- und Verschlüsselungsalgorithmen DSAA und DSC. Angriffe auf DSAA Die genaue Funktionsweise des DECT Standard Authentication Algorithms war bis zum Jahr 2009 der Öffentlichkeit nicht bekannt und Informationen waren lediglich für Hersteller von mobilen Geräten mittels einer Vertraulichkeitserklärung verfügbar. Einzig der Aufbau und die Parameter der DSAA Funktionen A11, A12, A21 und A22 wurden veröffentlicht (vgl. Abbildung 3.9). Im Jahr 2009 gelang es einer Gruppe von Forschern [LST+ 09] mit Hilfe von Reverse Engineering, die Arbeitsweisen und Sicherheitsmerkmale von DSAA aufzudecken. Die vier A-Funktionen des DSAA können wie in Abbildung 3.13 dargestellt als Wrapperfunktionen für den eigentlichen DSAA-Algorithmus angesehen werden, wobei DSAA einen 64-bit Zufallswert und einen 128-bit Schlüssel als Parameter erwartet und ein 128-bit Ergebnis zurückliefert. Die Ausgabe wird im Anschluss von den einzelnen Wrapperfunktionen modifiziert. Figure 3.13: Struktur der DSAA AFunktionen aus [LST+ 09]. • Funktion A11 liefert das vom DSAA generierte Ergebnis ohne Modifikation zurück. • Funktion A21 invertiert jedes zweite Bit des DSAA-Ergebnisses, beginnend mit dem ersten Bit. • Funktion A22 liefert die letzten 4 Bytes des DSAA-Ergebnisses zurück. • Funktion A12 liefert wie A22 die letzten 4 Byte als Ausgabe zurück. Weiterhin werden die mittleren 8 Bytes in einem zweiten Ergebniswert zurückgegeben. Abbildung 3.14 stellt die Struktur des DSAA dar. Grundsätzlich kann der DSAA als Verschaltung von vier sehr ähnlichen Blockchiffren, cassable genannt, verstanden werden. 3.7 Sicherheit in DECT Seite 69 Figure 3.14: Struktur von DSAA [LST+ 09]. Diese Blockchiffren bestehen aus einem Substitutions-Permutations-Netzwerk mit 6 Runden, in denen der Schlüssel zuerst auf die Eingabe addiert, auf eine S-Box angewendet und anschließend das Resultat permutiert wird. Fatalerweise folgt der 6. Runde keine finale Schlüsseladdition, sodass diese Runde invertierbar ist und somit die Anzahl der effektiven Runden auf 5 reduziert wird. Weiterhin wurden in der S-Box weitere kryptographische Einschränkungen gefunden, da diese die Tendenz hat, das niederwertigste Bit einer Eingabe zu invertieren. Mit Hilfe von differenzieller Kryptoanalyse und wenigen ausgewählten Klartexten konnte die cassable Blockchiffren komplett gebrochen werden, wobei drei Runden der Blockchiffre mit einem einzigen Klartext / Ciphertext-Paar angegriffen werden können [LST+ 09]. Zusammenfassend kann festgestellt werden, dass DSAA unsicher ist, da beispielsweise die mittleren 64 Bits des DSAA-Ergebnisses auf den mittleren 64 Bits des Keys basieren, wodurch triviale Angriffe gegen DSAA möglich sind. Unter anderem können alle 128 Bits des Schlüssels mit maximal 264 Durchläufen von DSAA ermittelt werden. Weitere Schwachstellen im Aufbau der Blockchiffren ermöglichen Angriffe mit einer Komplexität von weniger als 264 . Angriffe auf DSC Ähnlich zum DSAA war die Funktionsweise der DECT Standard Cipher der Öffentlichkeit lange Zeit unbekannt. Im Jahr 2010 ist es Forschern [NTW10] mittels Reverse-Engineering gelungen, die Funktionsweise von DSC zu ermitteln. Die DECT Standard Cipher ist eine asynchrone Stromchiffre, die mittels eines 64bit Schlüssels und einem 35-bit Initialisierungsvektor den Schlüsselstrom für die Verschlüsselung in DECT generiert. Intern arbeitet DSC wie in Abbildung 3.15 dargestellt mit irregulär getakteten linear-rückgekoppelten Galois Schieberegistern R1 , R2 , R3 und R4 der Länge 17, 19, 21 und 23 Bits. Bits dieser vier LFSRs werden mittels einer Kombinierfunktion O und dem Ausgabebit y der Funktion O kombiniert und ergeben den finalen Schlüsselstrom. Im Folgenden definiert xi,j das Bit des LFSR Ri an Position j, wobei xi,0 das Bit mit dem niederwertigsten Stellenwert beschreibt. Für jedes Bit der Ausgabe wird LFSR R4 drei Mal getaktet. Die restlichen drei LFSRs werden entweder zwei oder dreimal pro Ausgabebit getaktet. Die Taktung wird durch die nachfolgenden Gleichungen bestimmt, wobei ci die Anzahl der Taktungen für LFSR Ri bestimmt. c1 = 2 + (x4,0 ⊕ x2,9 ⊕ x3,10 ) c2 = 2 + (x4,1 ⊕ x1,8 ⊕ x3,10 ) c3 = 2 + (x4,2 ⊕ x1,8 ⊕ x2,9 ) Seite 70 Chapter 3 Sicherheitsaspekte von DECT Figure 3.15: Struktur von DSC aus [NTW10] (schwarz markierte Bits werden bei Taktungsbestimmung invertiert). Die Kombinierfunktion O nutzt die zwei niederwertigsten Bits der LFSRs R1 , R2 und R3 in Kombination mit dem Ausgabebit y folgendermaßen: O((x1,0 , x1,1 , x2,0 , x2,1 , x3,0 , x3,1 ), y) = x1,1 x1,0 y ⊕ x2,0 x1,1 x1,0 ⊕ x1,1 y ⊕ x2,1 x1,0 y ⊕ x2,1 x2,0 x1,0 ⊕ x3,0 y ⊕ x3,0 x1,0 y ⊕ x3,0 x2,0 x1,0 ⊕ x3,1 y ⊕ x1,1 x1,0 ⊕ x2,0 x1,1 ⊕ x3,1 x1,0 ⊕ x2,1 ⊕ x3,1 Das Ausgabebit wird daher sowohl für die Verschlüsselung eines Datenbits als auch als Eingabe y der Kombinierfunktion O genutzt. In der Initialisierungsphase von DSC werden alle LFSRs und das Ausgabebit y auf 0 gesetzt. Anschließend wird der 35-bit Initialisierungsvektor mit Nullen auf 64 Bit aufgefüllt (die höherwertigen Bits werden auf Null gesetzt) und mit dem 64-bit Schlüssel CK konkateniert, um den Sessionkey K zu generieren. K = Z(IV )||CK Die Bits im Sessionkey K werden dann Bit für Bit in das jeweils höchstwertige Bit der vier LFSRs kopiert, wobei mit dem niederwertigsten Bit des Schlüssels K begonnen wird und die LFSRs pro übertragenen Bit einmal getaktet werden. Im Anschluss werden 40 Initialisierungsrunden durchgeführt, in denen die LFSRs getaktet, die Ausgabe der Kombinierfunktion O allerdings verworfen wird. Sollte ein LFSR nach 11 Runden komplett aus Nullen bestehen, wird das höchstwertige Bit des LFSR auf 1 gesetzt bevor die weiteren Runden getaktet werden. Der DSC Algorithmus kann aufgrund der geringen Anzahl an Initialisierungsrunden mittels Clock-Guessing Attacken gebrochen werden. Ein ähnlicher Angriff (Ekdahl-Johansson Angriff) konnte bereits bei dem A5/1 Algorithmus von GSM erfolgreich durchgeführt werden. Weiterhin sind Known-Plaintext Angriffe auf DSC möglich, sodass der DSC Algorithmus aufgrund dieser zwei Schwachstellen deutlich schwächer ist als beispielsweise der A5/1 Algorithmus von GSM, obwohl einige Eigenschaften DSC deutlich stärker machen würden als den A5/1 Algorithmus (vgl. Tabelle 3.1). Die Sicherheit von DSC könnte deutlich verbessert werden, indem beispielsweise die Anzahl der Initialisierungsrunden vergrößert werden und weiterhin eine Neu-Initialisierung des Schlüssels von Zeit zu Zeit stattfinden würde. Ähnlich zum DSAA wäre allerdings eine bessere Strategie, ein von Experten begutachte- 3.8 Übungen Anzahl LFSRs (Register) Anzahl irregulär getakteter LFSRs (Register) Kombinierfunktion Für Ausgabe genutzte Bits Für Taktung genutzte Bits Taktungsentscheidung Takte pro LFSR bis zum ersten Ausgabebit Durchschn. Takte pro LFSR bis zum ersten Ausgabebit Initialisierungsrunden Seite 71 DSC A5/1 4 3 nicht-linear 7 6 2/3 80-120 100 40 3 3 linear 3 3 0/1 0-100 75 100 Tabelle 3.1: Vergleich DSC und A5/1 aus [NTW10]. tes kryptographisches Protokoll für die Verschlüsselung in der nächsten Version vom DECT-Standard zu nutzen. 3.7.5 Kontrollaufgaben In diesem Abschnitt befinden sich verschiedene Kontrollaufgabe, die die Inhalt der vorherigen Abschnitte auffassen und daher zur Vertiefung des Stoffs beitragen sollen. Kontrollaufgabe 3.5: Kryptographische Algorithmen K Benennen Sie die kryptographischen Algorithmen in DECT, deren Funktionen und ob deren Einsatz DECT kryptographisch sicher macht. Kontrollaufgabe 3.6: DSC Algorithmus K Wozu dient der LFSR R4 im DSC Algorithmus? 3.8 Übungen Übung 3.1: DECT vs. CT1/CT2 Ü Finden Sie heraus, aus welchen Gründen CT1 bzw. CT2 Ende 2008 verboten wurden? Übung 3.2: Unterschiede zwischen DECT und GSM Erläutern Sie einige Unterschiede zwischen DECT und GSM. Ü Seite 72 Ü Chapter 3 Sicherheitsaspekte von DECT Übung 3.3: Verschlüsselungsverfahren Warum ist es nicht sinnvoll, wenn Verschlüsselungsverfahren wie bei DECT auf geheimen Algorithmen basieren? Ü Übung 3.4: DSAA Nennen Sie ein kryptographisches Verfahren, welches die unsichere cassable Blockchiffre ersetzen könnte. Verzeichnisse Verzeichnisse I. Liste der Lösungen zu den Kontrollaufgaben Lösung zu Kontrollaufgabe 1.1 auf Seite 23 Das GSM-System besteht aus: • Mobilstation1 • Base Transceiver Station1 • Base Station Controller1 • (Gateway) Mobile Switching Center • Operation and Maintenance System • Home Location Register • Visitor Location Register • Authentication Center • Equipment Identification Register Die mit 1 gekennzeichneten Komponenten bilden das Funk-Teilsystem. Lösung zu Kontrollaufgabe 1.2 auf Seite 23 Ein Angreifer könnte folgendermaßen vorgehen: • Passiv: Er lauscht alle Funk-Verbindungen mit und wartet, bis sich eine Mobilstation erstmalig mittels IMSI in das GSM-Netz einbucht. Dies ist möglich, da beim erstmaligen Einbuchen die IMSI im Klartext an das GSM-Netz übertragen wird, um den teilnehmerspezifische Schlüssel zu bestimmen. In dieser Phase ist dementsprechend keine Verschlüsselung aktiv. • Aktiv: Der Angreifer gibt sich als Basisstation aus und zwingt eine Mobilstation statt der TMSI die IMSI zu übertragen. Dies ist möglich, da sich die Basisstation gegenüber der Mobilstation nicht authentisieren muss. Lösung zu Kontrollaufgabe 1.3 auf Seite 24 Ein Angreifer könnte folgendermaßen vorgehen: • Er nutzt Schwachstellen in den Verschlüsselungsroutinen aus. • Er gibt sich als Basisstation aus und unterdrückt wie in Abbildung 1.8 dargestellt die Verschlüsselung zwischen Mobil- und Basisstation. Lösung zu Kontrollaufgabe 1.4 auf Seite 31 Das UMTS-System besteht aus: • (Gateway) Mobile Switching Center Seite 73 Seite 74 Verzeichnisse • Operation and Maintenance System • Home Location Register • Visitor Location Register • Authentication Center • Equipment Identification Register Weiterhin wurden zur Unterscheidung zwischen GSM und UMTS neue Komponenten eingeführt bzw. bestehende Komponenten umbenannt. • UE: Das User Equipment besteht aus dem mobilen Endgerät und dem UMTS Subscriber Identity Modul (USIM). • Node B: Der Node B entspricht im wesentlichen der GSM-Basisstation und übernimmt die funktechnische Versorgung. • RNC: Der Radio Network Controller übernimmt die Aufgaben der BSCs in GSM und verwaltet mehrere Node B-Komponenten. Lösung zu Kontrollaufgabe 1.5 auf Seite 31 Die Basisstation sendet die Parameter RAN D und AU T N AK, AM F, M AC). = (SQN ⊕ • RAN D: Zufallszahl • SQN : Sequenznummer - Schutz vor Replayangriffen (Freshness) • AK: Anonymity-Key • AM F : Authentication and Key Management Field • M AC: Message Authentication Code - Authentizität des GSM-Netzes Nach Erhalt des Tuples (RAN D, AU T N ) berechnet die USIM zuerst den Anonymity-Key AK = f 5(Ki , RAN D) und die Sequenznummer SQN = (SQN ⊕ AK) ⊕ AK. Im Anschluss wird die MAC XM AC = f 1(Ki , SQN, RAN D, AM F ) berechnet und mit der in AU T N erhaltenen M AC des UMTS-Netzes verglichen. Bei Gleichheit verifiziert die USIM, ob die erhaltene Sequenznummer SEQ mit Hilfe der gespeicherten SQNM S in einem gültigen Wertebereich liegt. Zuletzt berechnet die USIM RES = f 2(Ki , RAN D), sendet diesen Wert zurück an die Basisstation und berechnet den Cipher-Key CK = f 3(Ki , RAN D) und den Integrity-Key IK = f 4(Ki , RAN D). Lösung zu Kontrollaufgabe 1.6 auf Seite 32 Die f 8-Funktion ist eine symmetrische Stromchiffre, welche den Schlüsselstrom für die Verschlüsselung der Daten in UMTS generiert. Die f 9-Funktion bildet einen Message Authentication Code, welcher als Integritätsschutz einer Nachricht dient. Beide Funktionen nutzen die Kasumi-Chiffre. Liste der Lösungen zu den Kontrollaufgaben Lösung zu Kontrollaufgabe 2.1 auf Seite 40 Der A3-Algorithmus führt die Challenge-Response Berechnungen während der Authentisierungsphase durch, wohingegen der A8-Algorithmus den Sessionkey Kc generiert. Lösung zu Kontrollaufgabe 2.2 auf Seite 40 Satellitentelefone bestehen häufig aus einem Standard-Mikroprozessor, einem dedizierten digitalen Signalprozessor, Speicher und weiterer Peripherie. Lösung zu Kontrollaufgabe 2.3 auf Seite 46 Der R4 LFSR spielt bei der Bestimmung der Taktungen für die LFSRs R1 , R2 und R3 eine Rolle, fließt aber nicht direkt mit in die Majority-Funktionen ein. Lösung zu Kontrollaufgabe 2.4 auf Seite 46 Der Initialisierungsvektor wird aus der Frame-Nummer und dem Sessionkey Kc berechnet und hat die Aufgabe, die LFSRs vor der Generierung des Schlüsselstroms in einen initialen Zustand zu überführen. Würde jeder Teilnehmer einen eigenen Initialisierungsvektor verwenden (ohne diesen mit dem Netzwerk zu teilen), könnte der Satellitenbetreiber die von einem Teilnehmer verschlüsselten Nachrichten nicht entschlüsseln. Ebenso könnte auch der Teilnehmer die Nachrichten vom Satellitenbetreiber nicht entschlüsseln, da der A5-GMR-1-Algorithmus auf jeder Seite einen anderen Schlüsselstrom erzeugen würde. Lösung zu Kontrollaufgabe 2.5 auf Seite 54 Lookup-Tabellen spezifizieren in Rechenoperationen häufig genutzte statische Werte, um deren Berechnungen während der Laufzeit einzusparen. Lösung zu Kontrollaufgabe 2.6 auf Seite 54 Der Schlüsselstrom fließt direkt in die Berechnungen der F-Funktion ein und wird weiterhin in das Statusregister an Position S0 getaktet. Lösung zu Kontrollaufgabe 3.1 auf Seite 60 Die TDMA-Struktur erlaubt bis zu 12 simultanen Duplex-Sprachverbindungen pro Trägerfrequenz und damit einhergehend insgesamt 120 gleichzeitigen Sprachverbindungen im DECT-Standard. Lösung zu Kontrollaufgabe 3.2 auf Seite 60 Das DECT-Referenzmodell entspricht den drei Schichten Physical, Data Link und Network des ISO/OSI-Modells. Seite 75 Seite 76 Verzeichnisse Lösung zu Kontrollaufgabe 3.3 auf Seite 65 Der Dummy-Bearer enthält System- und Synchronisationsinformationen für die mobilen Endgeräte, sodass diese sich mit dem Takt der Basisstation synchronisieren können. Lösung zu Kontrollaufgabe 3.4 auf Seite 65 Bei einem externen Handover wird der Fixed Part des mobilen Endgerätes gewechselt. Bei dem Übergang von altem zum neuen FP müssen Prozesse wie beispielsweise Verschlüsselung gestoppt und neu synchronisiert werden, sodass ein Seamingless-Handover nicht garantiert werden kann. Lösung zu Kontrollaufgabe 3.5 auf Seite 71 DECT verwendet den DECT Standard Authentication Algorithm für die Authentisierung und die DECT Standard Cipher für die Generierung des Schlüsselstromes. Bei beiden Algorithmen konnten die Funktionsweisen mittels Reverse-Engineering ermittelt und analysiert werden. Weiterhin wurden in beiden Algorithmen massive Schwachstellen und Sicherheitslücken entdeckt, sodass sowohl Authentisierung als auch Verschlüsselung in DECT nicht kryptographisch sicher sind. Lösung zu Kontrollaufgabe 3.6 auf Seite 71 Der LFSR R4 spielt lediglich bei der Bestimmung der Taktungen für die LFSRs R1 , R2 und R3 eine Rolle und fließt nicht direkt mit in die Kombinierfunktion ein. Liste der Lösungen zu den Übungen II. Liste der Lösungen zu den Übungen Übungsaufgaben zu Studienbrief 1 Lösung zu Übung 1.1 auf Seite 33 • Der Angreifer gibt sich gegenüber der Mobilstation als Basisstation und gegenüber dem Netz als Mobilstation des Opfers aus. • Das GSM-Netz sendet die Authentisierungsanfrage RAN D an den Angreifer. • Der Angreifer leitet RAN D an die Mobilstation. • Die Mobilstation berechnet die Response SRES und sendet diese dem Angreifer. • Der Angreifer leitet SRES an das GSM-Netz weiter und ist authentisiert. • Das GSM-Netz initiiert eine A5/1 bzw. A5/3-Verschlüsselung mit dem Angreifer, wobei der Angreifer zu diesem Zeitpunkt Kc noch nicht kennt. • Der Angreifer initiiert eine A5/2-Verschlüsselung mit der Mobilstation. • Mittels Ausnutzung des Angriffes auf A5/2 berechnet der Angreifer innerhalb weniger Sekunden den Schlüssel Kc . • Der Angreifer kommuniziert im folgenden mittels A5/1 bzw. A5/3 mit dem GSM-Netz und mittels A5/2 mit der Mobilstation. In GSM wird die Identität des GSM-Netzes nicht validiert. Weiterhin wird für die Verschlüsselungsalgorithmen A5/1, A5/2 und A5/3 der gleiche Schlüssel Kc verwendet. Lösung zu Übung 1.2 auf Seite 33 Im GSM-Standard wird die Integrität von Nachrichten nicht verifiziert, sodass ein Angreifer Nachrichten modifizieren kann. Im Gegensatz dazu nutzt UMTS die Integritätsfunktion f 9, sodass der Empfänger mittels eines MAC erkennen kann, ob Änderungen an einer verschickten Nachricht durchgeführt wurden. Lösung zu Übung 1.3 auf Seite 33 Besteht eine Chiffre auf einem Feistelnetzwerk, so ist die Chiffre in jedem Fall umkehrbar, d.h., der Ciphertext ist in jedem Fall wieder in den Klartext rückführbar. Ein Feistelnetzwerk besteht aus mehreren Runden, wobei pro Runde nur eine Hälfte der Eingabe unter Zuhilfenahme eines Rundenschlüssels in die Berechnungen einfließt. Seite 77 Seite 78 Verzeichnisse Übungsaufgaben zu Studienbrief 2 Lösung zu Übung 2.1 auf Seite 54 Ein LFSR hat die Aufgabe, streng deterministischen Pseudozufallszahlenfolgen zu generieren. Das Feedback-Polynom bestimmt die Abfolge der Pseudozufallszahlen und definiert damit die maximale Länge des LFSRs. Lösung zu Übung 2.2 auf Seite 54 Stromchiffren eignen sich durch ihre Struktur besonders bei Echtzeitanwendungen wie der Telefonie, da jedes Bit/Byte der Nutzdaten direkt mit einem Bit/Byte des Schlüsselstroms verknüpft werden kann. Eine Blockchiffre benötigt eine bestimmte Anzahl an Nutzdaten und verarbeitet diese Daten erst, wenn ein Datenblock komplett gefüllt und damit für die Verschlüsselung bereit ist. Dies kann zu Verzögerungen während der Laufzeit führen. Liste der Lösungen zu den Übungen Frequenzband Mobilitätsbereich Trägerabstand Duplexverfahren Rahmenlänge Zeitschlitze pro Rahmen Kontrollkanäle Kanalwahl durch Handover durch Seite 79 DECT GSM meist lizenzfrei begrenzt (Heimbereich / Büro) 1728 kHz TDD 10 ms 24 kombinierte Kanäle PP PP lizenziert international 200 kHz FDD 4,6 ms 8 gesonderte Kanäle FP FP Übungsaufgaben zu Studienbrief 3 Lösung zu Übung 3.1 auf Seite 71 Die Frequenzbereiche für CT1 und CT2 sind seit 2009 für die anderweitige Nutzung vorgesehen (öffentlichen Mobilfunk und Funkanwendungen kleinerer Reichweiten), sodass seit Ende des Jahres 2008 die Nutzung dieser Frequenzbereiche für CT1 bzw. CT2 nicht mehr gestattet ist. Lösung zu Übung 3.2 auf Seite 71 Weiterhin sind die Frequenzträger in GSM in Upload und Download unterteilt, wobei bei DECT jeder Frequenzträger Up- als auch Downloadkanäle überträgt. Lösung zu Übung 3.3 auf Seite 72 Nach Kerckhoffs’ Prinzip sollte die Sicherheit eines Verschlüsselungsverfahrens nicht auf der Geheimhaltung des Verschlüsselungsverfahrens sondern auf der Geheimhaltung des Schlüssels basieren. Mittels Reverse Engineering und ähnlichen Techniken können Algorithmen rekonstruiert werden. Lösung zu Übung 3.4 auf Seite 72 Generell können Verfahren wie Wi-Fi Protected Access 2 (WPA2) angewandt werden, die sich in ähnlichen Bereichen bereits bewährt haben. Der Einsatz von Public-Key Verfahren wäre ebenfalls denkbar. Tabelle 2: Unterschiede zwischen DECT und GSM aus [Lüd01]. Seite 80 Verzeichnisse III. Literature [BBK08a] Elad Barkan, Eli Biham, and Nathan Keller. Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication. Journal of Cryptology, 21(3):392–429, 2008. [BBK08b] Elad Barkan, Eli Biham, and Nathan Keller. Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication. Journal of Cryptology, 21, March 2008. [Ben13] Benedikt Driessen. PPractical Cryptanalysis of Real-World Systems: a Engineer’s Approach. Dissertation, Ruhr-Universität Bochum, 2013. [BER07] Andrey Bogdanov, Thomas Eisenbarth, and Andy Rupp. A HardwareAssisted Realtime Attack on A5/2 Without Precomputations. In Cryptographic Hardware and Embedded Systems (CHES), 2007. [Bou10] Noureddine Boudriga. Security of Mobile Communications. Taylor & Francis, 2010. [DHW+ 12] Benedikt Driessen, Ralf Hund, Carsten Willems, Christof Paar, and Thorsten Holz. Don’t Trust Satellite Phones: A Security Analysis of Two Satphone Standards. In Proceedings of the 2012 IEEE Symposium on Security and Privacy, SP ’12, pages 128–142, Washington, DC, USA, 2012. IEEE Computer Society. [DHW+ 13] Benedikt Driessen, Ralf Hund, Carsten Willems, Christof Paar, and Thorsten Holz. An Experimental Security Analysis of Two Satphone Standards. ACM Trans. Inf. Syst. Secur., 16(3):10:1–10:30, December 2013. [DKS10] Orr Dunkelman, Nathan Keller, and Adi Shamir. A practical-time related-key attack on the kasumi cryptosystem used in gsm and 3g telephony. In Proceedings of the 30th Annual Conference on Advances in Cryptology, CRYPTO’10, pages 393–410, Berlin, Heidelberg, 2010. Springer-Verlag. [Dri12] Benedikt Driessen. Eavesdropping on Satellite Telecommunication Systems. Cryptology ePrint Archive, Report 2012/051, 2012. http://eprint.iacr.org/ 2012/051. [ETS99] ETSI. ETSI TS 133 102 V3.6.0 (2000-10); Universal Mobile Telecommunications System (UMTS); 3G Security; Security Architecture (3GPP TS 33.102 version 3.6.0 Release 1999), 1999. [ETS01] ETSI. ETSI TS 135 201 V4.1.0 (2001-12); Universal Mobile Telecommunications System (UMTS); Specification of the 3GPP confidentiality and integrity algorithms; Document 1: f8 and f9 specifications (3GPP TS 35.201 version 4.1.0 Release 4), 2001. [ETS02] ETSI. ETSI TS 101 376-5-3 V1.2.1 (2002-04); GEO-Mobile Radio Interface Specifications; Part 5: Radio interface physical layer specifications; Sub-part 3: Channel Coding; GMR-1 05.003, 2002. [ETS07] ETSI. ETSI TS 135 201 V4.1.0 (2001-12); Universal Mobile Telecommunications System (UMTS); Specification of the 3GPP confidentiality and integrity algorithms; Document 2: Kasumi specification (3GPP TS 35.202 version 7.0.0 Release 7), 2007. Literature [ETS11] ETSI. Digital Enhanced Cordless Telecommunications (DECT); Common Interface (CI); Part 7: Security features, 2011. [Fed99] Hannes Federrath. Sicherheit mobiler Kommunikation: Schutz in GSM-Netzen, Mobilitätsmanagement und mehrseitige Sicherheit. DuD-Fachbeiträge. Vieweg+Teubner Verlag, 1999. [For97] DECT Forum. DECT - the standard explained. Website, 1997. Online verfügbar auf http://www.dectweb.com/DECTForum/publicdocs/TechnicalDocument. PDF; besucht am 28.10.2014. [LST+ 09] Stefan Lucks, Andreas Schuler, Erik Tews, Ralf-Philipp Weinmann, and Matthias Wenzel. Attacks on the DECT Authentication Mechanisms. In Marc Fischlin, editor, CT-RSA, volume 5473 of Lecture Notes in Computer Science, pages 48–65. Springer, 2009. [Lüd01] Christian Lüders. Mobilfunksysteme: Grundlagen, Funktionsweise, Planungsaspekte. Kamprath-Reihe. Vogel, 2001. [NTW10] Karsten Nohl, Erik Tews, and Ralf-Philipp Weinmann. Cryptanalysis of the DECT Standard Cipher. In Proceedings of the 17th International Conference on Fast Software Encryption, FSE’10, pages 1–18, Berlin, Heidelberg, 2010. Springer-Verlag. [PFS00] Slobodan Petrovic and Amparo Fuster-Sabater. Cryptanalysis of the A5/2 Algorithm. Technical report, 2000. http://eprint.iacr.org/2000/052. [Wal01a] Bernhard Walke. Mobilfunknetze und ihre Protokolle 1. Mobilfunknetze und ihre Protokolle. Teubner, 2001. [Wal01b] Bernhard Walke. Mobilfunknetze und ihre Protokolle 2. Mobilfunknetze und ihre Protokolle. Teubner, 2001. Seite 81 Seite 82 Verzeichnisse IV. Glossar Begriff Erklärung (G)MSC (Gateway) Mobile Switching Center 3GPP 3rd Generation Partnership Project AUC Authentication Center BSC Base Station Controller BSS Base Station Subsystem BTS Base Transceiver Station CC Call Control CCCH Common Control Channel CCFP Central Control Fixed Part CCH Control Channel CHVI Card Holder Verification Information CN Core Network DECT Digital Enhanced Cordless Telecommunications DLC Data Link Control DSAA DECT Standard Authentication Algorithm DSC DECT Standard Cipher DSP Digitaler Signalprozessor EIR Equipment Identification Register ETSI European Telecommunications Standards Institute FCCH Frequency Correction Channel FDD Frequency Division Duplexing FDM Frequency Division Multiplex FP Fixed Part GAP Generic Access Profil GEO Geostationary Earth Orbit GGSN Gateway GPRS Support Node GIP DECT/GSM Interworking Profil GMR Geostationary Earth Orbit Mobile Radio Interface GP Guard Period GPRS General Packet Radio Service GSM Global System for Mobile Telecommunications GSN GPRS Support Node HLR Home Location Register IMEI International Mobile Station Equipment Identity IMSI International Mobile Subscriber Identity IWU Interworking Unit Glossar Seite 83 LAI Location Area Identifier LFSR Linear rückgekoppeltes Schieberegister MAC Medium Access Control MC Multi Carrier MM Mobility Management MS Mobilstation OMC Operation and Maintenance System PCU Packet Control Unit PLMN Public Land Mobile Network PP Portable Part RFP Radio Fixed Part RFPI Radio Fixed Part Identifier RNC Radio Network Controller SGSN Support GPRS Support Node SIM Subscriber Identity Modul TCH Traffic Channel TCH3 Traffic Channel-3 TDD Time Division Duplexing TDMA Time Division Multiple Access TMSI Temporary Mobile Subscriber Identity UE User Equipment UMTS Universal Mobile Telecommunications System UTRAN UMTS Terrestrial Radio Access VLR Visitor Location Register