Real Time Cryptoanalysis on A5/1 on a PC

Ähnliche Dokumente
Primzahlen und RSA-Verschlüsselung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Pädagogik. Melanie Schewtschenko. Eingewöhnung und Übergang in die Kinderkrippe. Warum ist die Beteiligung der Eltern so wichtig?

TESTEN SIE IHR KÖNNEN UND GEWINNEN SIE!

Anleitung über den Umgang mit Schildern

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Professionelle Seminare im Bereich MS-Office

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Simulation LIF5000. Abbildung 1

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Beweisbar sichere Verschlüsselung

Konzepte der Informatik

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

PTV VISWALK TIPPS UND TRICKS PTV VISWALK TIPPS UND TRICKS: VERWENDUNG DICHTEBASIERTER TEILROUTEN

6.2 Scan-Konvertierung (Scan Conversion)

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Mobile Intranet in Unternehmen

Speicher in der Cloud

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Eigene Dokumente, Fotos, Bilder etc. sichern

Projektmanagement in der Spieleentwicklung

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Charakteristikum des Gutachtenstils: Es wird mit einer Frage begonnen, sodann werden die Voraussetzungen Schritt für Schritt aufgezeigt und erörtert.

Datensicherung. Beschreibung der Datensicherung

Wir arbeiten mit Zufallszahlen

Elektrische Messtechnik Protokoll - Bestimmung des Frequenzgangs durch eine Messung im Zeitbereich

1 topologisches Sortieren

Korrigenda Handbuch der Bewertung

Informationsblatt Induktionsbeweis

So gelingt Ihre Online-Bewerbung!

Grundlagen der Theoretischen Informatik, SoSe 2008

Erfahrungen mit Hartz IV- Empfängern

Kulturelle Evolution 12

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Mind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999

Südbaden-Cup. Ausstieg Champions

Erweiterung AE WWS Lite Win: AES Security Verschlüsselung

Technical Note Nr. 101

Insiderwissen Hintergrund

Wie halte ich Ordnung auf meiner Festplatte?

Bevor Sie mit dem Wechsel Ihres Sicherheitsmediums beginnen können, sollten Sie die folgenden Punkte beachten oder überprüfen:

SMS/ MMS Multimedia Center

LIFO Kurzinformation zur Methode

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Internationales Altkatholisches Laienforum

Was sind Jahres- und Zielvereinbarungsgespräche?

Informationen zum neuen Studmail häufige Fragen

Lehrer: Einschreibemethoden

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

A Lösungen zu Einführungsaufgaben zu QueueTraffic

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Zwischenablage (Bilder, Texte,...)

SICHERN DER FAVORITEN

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Die mobiletan im Hypo Internetbanking

VibonoCoaching Brief -No. 18

Synchronisations- Assistent

DIE ANWENDUNG VON KENNZAHLEN IN DER PRAXIS: WEBMARK SEILBAHNEN IM EINSATZ

II. Daten sichern und wiederherstellen 1. Daten sichern

Festigkeit von FDM-3D-Druckteilen

Örtliche Angebots- und Teilhabeplanung im Landkreis Weilheim-Schongau

Berechnung der Erhöhung der Durchschnittsprämien

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

Enigmail Konfiguration

GEVITAS Farben-Reaktionstest

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

Algorithmen II Vorlesung am

Erstellen von x-y-diagrammen in OpenOffice.calc

Bedienung des Web-Portales der Sportbergbetriebe

Wie man Registrationen und Styles von Style/Registration Floppy Disketten auf die TYROS-Festplatte kopieren kann.

icloud nicht neu, aber doch irgendwie anders

Kreativ visualisieren

Strom in unserem Alltag

Umgang mit Schaubildern am Beispiel Deutschland surft

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

Kapitalerhöhung - Verbuchung

Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl

Ein Scan basierter Seitenangriff auf DES

Briefing-Leitfaden. 1. Hier geht s um Ihr Produkt oder Ihre Dienstleistung: Was soll beworben werden?

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Leichte-Sprache-Bilder

Buchhaltung mit WISO EÜR & Kasse 2011

Doku zur Gebäudebrüter Datenbank

Dokumentation IBIS Monitor

Nicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003

Anwendungshinweise zur Anwendung der Soziometrie

Info zum Zusammenhang von Auflösung und Genauigkeit

10. Elektrische Logiksysteme mit

Einführung in. Logische Schaltungen

Verwalten und Organisieren von Fotos,

Übungsaufgaben Tilgungsrechnung

Transkript:

Real Time Cryptoanalysis on A5/1 on a PC Seminar - Netz und Datensicherheit Winter Semester 2012/13 Stephan Görgens Matr.Nr.: 108010264834 3. Dezember 2012 Zusammenfassung In dieser Seminararbeit wird die Entwicklung der Global System for Mobile Communications (GSM) Verschlüsselung und ihre Sicherheitslücken betrachtet. Im ersten Teil werden die betrachteten Algorithmen (A5/1, A5/2) aufgezeigt. Im weiteren Verlauf werden ihre Sicherheitslücken und die wichtigsten Angri e beschrieben. Den Anfang macht der A5/2 Algorithmus als schwächere Variante und gibt uns damit die Möglichkeit, die Angri e von Biryukov, Shamir und Wagner besser zu verstehen. Abschliessend werden die wichtigsten Ideen Biryukov, Shamir und Wagner zum Angri auf A5/1 betrachtet. 1

Inhaltsverzeichnis Abkürzungsverzeichnis 3 Abbildungsverzeichnis 4 1 Einführung 5 2 Stromchi ren allgemein 5 3 A5/2 5 3.1 Beschreibung A5/2................................ 5 3.2 Angri e...................................... 7 3.2.1 cipher text only Angri......................... 7 3.2.2 known plaintext Angri......................... 8 4 A5/1 8 4.1 Beschreibung A5/1................................ 8 4.2 Angri e...................................... 10 4.2.1 time memory trade o.......................... 10 4.2.2 time memory trade o angewendet auf A5/1 nach Golic....... 10 4.2.3 TMTO - Weiterentwicklung 1 sampling resistance.......... 11 4.2.4 TMTO - Weiterentwicklung 2 subgraph of special states....... 11 4.2.5 TMTO - Weiterentwicklung 3 biased birthday attacks........ 12 4.3 A5/1 e zient am PC............................... 12 Literaturverzeichnis 13 2

Abkürzungsverzeichnis ETSI European Telecommunications Standards Institutes GSMA Global System for Mobile Communications Association GSM Global System for Mobile Communications IV Initialisierungs Vektor LFSR Linear Feedback Shift Register SSD Solid State Disk SAGE Security Algorithms Group of Experts TMTO time memory trade o UMTS Universal Mobile Telecommunications System 3

Abbildungsverzeichnis 1 Schaltbild A5/2.................................. 7 2 Schaltbild A5/1.................................. 9 4

1 Einführung GSM ist der weltweit führende Standard für Mobilfunksysteme. Die Entwicklung hat Ende der 1980iger Jahre begonnen und wurde Anfang der 1990iger Jahre als Standard eingeführt. Bei der Einführung des Standards lag damals schon ein Augenmerk auf der Sicherheit der Kommunikation. Im Standardisierungsprozess wurden zwei Varianten des A5 Verschlüsselungsalgorithmusses festgelegt. Die Variante A5/1 konnte nicht in allen Ländern eingesetzt werden, da Gesetze den persönlichen Gebrauch von Verschlüsselungen verbaten. Für diesen speziellen Fall wurde der etwas schwächere A5/2 Algorithmus entwickelt. Die Entwicklung geschah, wie heute unüblich, hinter verschlossenen Türen. Die Details wurden nur an den engsten Kreis weiter gegeben, was 1994 Ross Anderson [Anderson1] bei seiner Vorstellung der ersten Annäherung dazu bewog, die These aufzustellen, dass dies geschehen sei, um dem Nachrichtendienst der NATO das Abhören von Telefonaten zu ermöglichen. Fünf Jahre später wurde durch die Herren M. Bricenco, I. Goldberg und D.Wagner eine genaue Beschreibung des A5/1 verö entlicht, die inzwischen allgemein als korrekt angenommen wird. Heute spielt der A5/2 Algorithmus keine Rolle mehr und ist durch die Global System for Mobile Communications Association (GSMA) verboten worden, da er in wenigen Sekunden gebrochen werden kann und damit auch die etwas sicherere Variante A5/1 in Mitleidenschaft zeihen kann. A5/1 ist heute (Stand 2012) mit geringem Aufwand zu berechnen. Der Angri wurde aus dem des A5/2 weiterentwickelt. Im nächsten Schritt der Mobilfunkentwicklung (Universal Mobile Telecommunications System (UMTS)) hat man sich dazu entschlossen auf A5/1 zu verzichten und hat einen neuen Algorithmus A5/3 bevorzugt. Dieser basiert auf der KASUMI Blockchi re und bietet mehr Sicherheit. Er wurde, im Gegensatz zu A5/1, nicht geheim entwickelt, sondern durch die Security Algorithms Group of Experts (SAGE), eine Abteilung der European Telecommunications Standards Institutes (ETSI). Jedoch existiert auch hier schon ein Angri, der im paper von Orr Dunkelman, Nathan Keller und Adi Shamir [Dunkelman1] beschrieben wird. 2 Stromchi ren allgemein Eine Stromverschlüsselung ist ein kryptographischer Algorithmus für eine symmetrische Verschlüsselung. Bei diesem Verfahren wird jedes Klartextbit mit einem Schlüsselbit einzeln XOR verknüpft. Der Vorteil ist, dass nicht wie bei einer Blockchi re erst Daten gesammelt werden müssen, um die entsprechende Blockgroße zu erreichen, sondern, dass alle Daten in einem Strom verschlüsselt werden können. Die Implementierung ist in Hardware einfach zu realisieren, schnell in ihrer Verarbeitung und deswegen gut geeignet für eine Echtzeitverschlüsselung wie sie in GSM benötigt wird. 3 A5/2 3.1 Beschreibung A5/2 Der A5/2 Algorithmus ist eine Stromchi re, deren Fokus darin bestand die Sprachtelefonie sicher zu machen und eine schnelle Implementierung in Hardware zu ermöglichen. Durch Reengineering ist der Aufbau kein Geheimnis mehr und kann analysiert werden. Der Aufbau sieht insgesamt vier Linear Feedback Shift Register (LFSR) vor, die eine Gesamtlänge von 81bit haben. Im Einzelnen bedeutet das R1 19bit, R2 22bit, R3 23bit und R4 17bit 5

(Bit 0 - lefttmost). Die ersten drei rückgekoppelten Schieberegister sind vom A5/1 übernommen worden, das vierte Register nimmt die Taktkontrollbits auf, was zur Schwächung des Algorithmus geführt hat. Um den Algorithmus zu starten, wird ein Schlüssel K c mit 64bit und ein 22bit langer Initialisierungs Vektor (IV) benötigt, der hier nicht weiter beschrieben wird, da er auf GSM Interna zurückzuführen ist. Der IV wird im weiteren Verlauf als f(i) bezeichnet, wobei 0ÆiÆ21, i œ N gilt. Alle Register befinden sich im Zustand 0 (die Register sind mit 0 beschrieben). Die Initialisierung wird in vier Schritten vollzogen: 1. Setze R1 = R2 = R3 = R4 = 0 2. Von i = 0 bis 63 (alle vier Register werden getaktet) R1(0) Ω R1(0) ü K c (i), R2(0) Ω R2(0) ü K c (i), R3(0) Ω R3(0) ü K c (i) Alle Register werden mit dem Schlüssel K c geladen und 64 mal getaktet. 3. Von i = 0 bis 21 (alle vier Register werden getaktet) R1(0) Ω R1(0) ü f(i), R2(0) Ω R2(0) ü f(i), R3(0) Ω R3(0) ü f(i) Alle Register werden mit dem IV f i geladen und 22 mal getaktet. (Zustand: initial state) 4. Setze die Bits der Register R1(15) Ω 1, R2(16) Ω 1, R3(18) Ω 1, R4(10) Ω 1 Nach der Initialisierung wird durch die Majoritätsfunktion des Registers R4 die Taktung der anderen Register bestimmt. Im Register 4 sind die Bits R4(3), R4(7) und R4(10) von zentraler Bedeutung. Ihr Gewicht geht in die Majoritätsfunktion ein und entscheidet dadurch, welche Register (R1, R2, R3) getaktet werden. Die Majoritätsfunktion entscheidet nach folgender Wahrheitstabelle (Tabelle 1): R4(3) R4(7) R4(10) getaktetes Register 0 0 0 keins wird getaktet 0 0 1 R2, R3 0 1 0 R2, R1 0 1 1 R3, R1 1 0 0 R3, R1 1 0 1 R2, R1 1 1 0 R2, R3 1 1 1 R2, R3, R1 Bei jedem Takt werden in jedem Register (R1, R2, R3) bestimmte Bits XOR verknüpft und auf eine weitere Majoritätsfunktion gegeben. Dort wird der Zustand auf ein Bit reduziert und wieder XOR verknüpft. Dieses Ergebnis ergibt unseren Output; welche Bits genau herangezogen werden zeigt das Schaltbild im Detail. Da die Eingabe in die Majoritätsfunktion quadratisch ist, folgt daraus, dass auch die Ausgabe quadratisch ist. Das führt dazu, dass die ersten 99 erzeugten Bits (Initialisierung) verworfen werden und erst die darau olgenden 228bits genutzt werden, da die digitale Kommunikation im GSM-Standard in Einheiten von 228bit, die Rahmen genannt werden, erfolgt. Diese sind zu gleichen Teilen für das Entschlüsseln (z. B. Mobilfunknetz æ Mobile) und das Verschlüsseln (Mobile æ Mobilfunknetz) aufgeteilt. 6

Abbildung 1: Schaltbild A5/2 1 3.2 Angri e Es gibt eine Vielzahl von Möglichkeiten einen Angri auf einen Algorithmus zu starten. Die hier beschriebenen Angri e sollen einen chronologischen Verlauf der Angri e von der Entwicklung des A5/2 bis heute geben. Diese Angri e bilden die Grundlage für den Angri auf den eigentlichen Algorithmus A5/1. Wie in der Kryptographie üblich, startet man das Brechen des Alorithmusses mit einer known plaintext attack und arbeitet sich weiter zu einer ciphertext only attack. An diesem Punkt angelangt, werden wir etwas detaillierter die Angri es auf den A5/1 Algorithmus unter die Lupe nehmen. Diese Auswahl der Angri e erhebt keinen Anspruch auf Vollständigkeit. 3.2.1 cipher text only Angri Beim cipher text only Angri handelt es sich um die einfachste Art eines Angri s auf einen Algorithmus. Dies setzt Voraus, dass der Angreifer einen Klartext erkennen kann, wenn er ihn gefunden hat. Um diese Vorraussetzung zu scha en, ist es nötig, dass der Angreifer entweder die Prüfsumme des Kompressionsverfahrens der Sprachdaten kennt oder dass er klar zwischen Rauschen und Sprachdaten unterscheiden kann. Hier spielt die Abtastung eine Rolle, die verwendet wurde, um die analogen Sprachdaten in ein digitales Signal zu konvertieren. Die Abtastung soll hier nicht weiter beschrieben, sondern der Vollständigkeit halber nur erwähnt werden. Der einfachste beschriebene Fall wäre, den kompletten Schlüsselraum per Brute Force Angri zu durchsuchen. Unter Zuhilfenahme der Forschungen von M. Briceno, I. Goldberg und D. Wagner [Briceno1] kann man den Angri deutlich vereinfachen. In ihrer Veröffentlichung von 1998 fanden die drei Kryptographen heraus, dass beim Analysieren von verschiedenen Mobiltelefonen verschiedener Provider 10bit des Schlüssels auf 0 gesetzt 1 Elad Barkan, Eli Biham, Nathan Keller; Instant Ciphertext-Only Cryptanalysis of GSM Encrypted Communication; Seite 397 7

werden können, ohne dass es die Funktionsweise des Algorithmus stört. Für die Sicherheit bedeutet dies, dass nur 2 54 anstelle der 2 64 Schlüsselmöglichkeiten durchsucht werden müssen. Die Schlüsselraumverkürzung bedeutet eine massive und vorsätzliche Schwächung des Verschlüsselungsverfahrens. 3.2.2 known plaintext Angri Der known plaintext Angri hat eher theoretische Bedeutung, da man, wie der Name schon sagt, den Klartext und den korrespondierenden Chi retext haben muss, was in der Realität jedoch keinen Sinn ergeben würde. Er dient vielmehr dazu, Informationen über eine Verschlüsselung zu erlangen und um zu sehen, wie sich verschiedene Änderungen auswirken. Um es aber nicht ganz so theoretisch erscheinen zu lassen, kann man sich vorstellen, ein verschlüsseltes Gespräch zu einem Anrufbeantworter aufzuzeichnen. In diesem Fall würde man den verschlüsselten Datenstrom erhalten sowie die ersten Sekunden oder auch Minuten des entschlüsselten Gesprächs, in Form des Ansagetextes des Anrufbeantworters. In wie weit dieses Vorgehen sinnvoll ist, soll nicht weiter bewertet werden. Es gibt jetzt zwei Arten diesen Angri durchzuführen, einen Vorwärtsangri und einen Inversionsangri. Der Vorwärtsangri funktioniert, wie der Name schon sagt, in den aufeinanderfolgenden Schritten, wie es der Algorithmus auch macht: Initialisierung æ Di usion æ Erzeugung des Schlüsselstroms Der cipher text only Angri ist eine Spezialform dieses Angri s. Der Inversionsangri geht die Entschlüsselung von der anderen Seite an und arbeitet sich vom Output hin zum Schlüsselstrom K c. Diese Vorgehensweise geschieht in drei Phasen: 1. Ziel der ersten Phase ist es bekannte Schlüsselstromsequenzen oder einzelne Zustände zu ermitteln die der Schlüsselstromgenerator genutzt haben könnte. 2. In der zweiten Phase ist das Ziel die Anfangszustände aus den Zwischenzuständen des Schlüsselstomgenerators zu ermitteln. 3. Die dritte und letzte Phase wird von den Anfangszuständen ausgehend die bekannte Rahmennummer rausgerechnet um einen Kandidaten für den Sitzungsschlüssel K c zu erhalten. Für das Durchlaufen dieser Phasen genügt eine Schlüsselstromsequenz eines Übertragungsrahmens. Bei mehreren Kandidaten für K c muss mit einem weiteren Übertragungsrahmen die Richtigkeit überprüft werden. 4 A5/1 4.1 Beschreibung A5/1 Bei der A5/1 Variante handelt es sich um den hauptsächlich genutzten Algorithmus im Mobilfunk. Er basiert, genau wie der oben beschriebene A5/2, auf drei LFSR Registern R1 19bit, R2 22bit und R3 23bit (Bit 0 - rightmost). Der Unterschied ist der Verzicht auf das Register R4 für die Taktkontrollbits. In jedem Register werden bestimmte Bits (Abbildung 2, blau markierte Bits) zu der Berechnung des neu hinten eingefügten Bits 8

herangezogen. Diese werden über ein XOR Gatter berechnet. Der Takt der Register wird durch jeweils eine Zelle (Abbildung 2, orange markierte Bits) berechnet. Die Zustände gehen in die Majoritätsfunktion ein, woraus sich bei mehrheitlichem Auftreten die Register ergeben, die getaktet werden (siehe Tabelle 2). R1(8) R2(10) R3(10) getaktetes Register 0 0 0 keins wird getaktet 0 0 1 R1, R2 0 1 0 R1, R3 0 1 1 R2, R3 1 0 0 R2, R3 1 0 1 R1, R3 1 1 0 R1, R2 1 1 1 R1, R2, R3 Die getakteten Register geben ihr höchstwertigstes (leftmost) Bit aus, welches mit den Ausgaben der eventuell anderen getakteten Registern XOR verknüpft wird und dann als Schlüsselstrom ausgegeben wird. Die Initialisierung, die als Vorbereitung der Kommunikation benötigt wird, läuft wie bei A5/2 in vier Schritten ab. 1. Setze R1 = R2 = R3 = 0 2. Von i = 0 bis 63 (alle drei Register werden getaktet) R1(0) Ω R1(0) ü K c (i), R2(0) Ω R2(0) ü K c (i), R3(0) Ω R3(0) ü K c (i) Alle Register werden mit dem Schlüssel K c geladen und 64 mal getaktet. 3. Von i = 0 bis 21 (alle drei Register werden getaktet) R1(0) Ω R1(0) ü f(i), R2(0) Ω R2(0) ü f(i), R3(0) Ω R3(0) ü f(i) Alle Register werden mit dem IV f i geladen und 22 mal getaktet. (Zustand: initial state) 4. 100 weitere Takte werden ungenutzt produziert. Ab diesem Punkt werden die nächsten 228 Takte genutzt. Abbildung 2: Schaltbild A5/1 2 Die digitale Kommunikation im GSM-Standard erfolgt in Einheiten von 228bit, die Rahmen genannt werden. Eine Hälfte der Bits wird für die Hin-Richtung (Mobiltelefon 2 http://en.wikipedia.org/wiki/a5/1 9

Ω Basisstation) genutzt, die andere Hälfte jedoch für die Gegen-Richtung (Basisstaion æ Mobile). Alle 4,6 Millisekunden wird ein neuer Rahmen gesendet, d. h. es werden in jeder Sekunde 28 Rahmen gesendet. Bei jedem Gespräch muss der Generator initialisiert werden, wozu ein 64-Bit Sitzungsschlüssel und eine fortlaufende Rahmennummer (modulo 2 22 ) benötigt wird. 4.2 Angri e 4.2.1 time memory trade o Der time memory trade o (TMTO) ist zu deutsch ein Zeit-Speicher-Kompromiss. Hierbei handelt es sich um einen Kompromiss zwischen Speicherbedarf und Laufzeit des auszuführenden Programms. Es wird der e zienteste Weg gesucht, ein Programm unter den heute technisch möglichen Bedingungen ablaufen zu lassen. Dazu bedient man sich des vorhandenen Speicherplatzes, um die Laufzeit des Programms zu beschleunigen, indem man möglichst viele (durch den Speicherplatz begrenzte) Berechnungen vor dem eigentlichen Start des Programms berechnet und speichert. Desto mehr Vorberechnungen um so mehr Speicher wird benötigt. Daraus ergibt sich eine bessere Laufzeit für das Programm. Alternativ schränkt man die Vorberechnungen ein und nimmt in Kauf, dass die Laufzeit sich verschlechtert. Im Fall der A5 Algorithmen Familie wurde ein time memory trade o 1997 von Golic [Golic1] im Rahmen der EURO CRYPT verö entlicht. Dieser Angri eignete sich aber nur bedingt für das gezielte Abhörgen eines bestimmten Telefonates, da er einigen Einschränkungen unterlag. Damals (1997) waren nicht nur Festplatten von der Größe von 862GB ein Hindernis, sondern auch die benötigten 130 Minuten Klartext und die dazugehörigen Chi retexte. Ein Jahr später (1998) berechneten Alex Biryukov und Adi Shamir [Biryukov1] dass der Angri nach Golic über 3 Wochen Rechenzeit in Anspruch nehmen würde oder dass der Angreifer extrem viel Rechenkapazität zur Verfügung haben müsste. Jedoch war es mit dieser grundlegenden Idee nur noch eine Frage der Zeit bis der Angri so weiter entwickelt wurde, dass die Rechenzeit auf ein annehmbares Maß gesenkt werden konnte. In den nächsten Abschnitten wird auf diese Entwicklung näher eingegangen. 4.2.2 time memory trade o angewendet auf A5/1 nach Golic Für unterschiedliche Eingabe (K c ) werden die Outputbits vorberechnet, um sie später mit den realen Outputbits des zu entschlüsselnden Gesprächs vergleichen zu können. Die vorgerechneten Ergebnisse werden in einer Tabelle (Input, Output) auf der Festplatte abgelegt. Diese Art der Tabellen wird im weiteren Verlauf auch als rainbow-table oder lookup-tables bezeichnet. Diese Vorgehensweise funktioniert nur, weil jede Eingabe zwar eine unendliche Sequenz an Outputbits ab dem Zeitpunkt der ersten Taklung generiert, jedoch in der Gegenrichtung definieren die ersten log(n) Bits einmalig ihre Eingabe. Somit ist es möglich, während der späteren Entschlüsselung auf die gespeicherten Objekt zu zu greifen. Eine Beobachtung von Golic machte bewusst, dass die Übergangsfunktionen zwischen den einzelnen Takten nicht vollständig invertierbar sind. Diese Beobachtung wird klar, wenn man sich die Majortätsfunktion ansieht und sich klar macht, dass sie vier Zustände pro Takt zu einem vereint. Da im Durchschnitt das Ergebnis eins ist (Anzahl der möglichen Zustände = 2) und man zu dieser Funktion die Zustandsbäume rückwärts durchlaufen 10

kann, um Sackgassen auszuschließen, kann damit eine Schwäche des Algorithmusses ausgenutzt werden, um die Anzahl der Startzustände zu verringern. Eine weitere Schwäche entsteht durch ständiges Neuinitialisieren, was die möglichen Initialzustände weiter verkleinert. Diese Überlegungen führen zu der eigentlichen Schwäche des A5/1. Unter der Annahme, dass man den Zustand nach Benutzung des Schlüssels und des Framecounters kennt (bevor die 100 ungenutzten Bits verworfen werden), kann man durch 64 Linearkombinationen der 64 Schlüsselbits aufstellen. Diese Linearkombinationen können in einem Baum dargestellt werden und entsprechend durchsucht werden. Wenn jetzt mehrere Schlüssel in Frage kommen kann anhand der Vermischung des geratenen Schlüssels und des nächsten Framecounters der Algorithmus vorwärts laufen gelassen werden und das Ergebnis (nach 100 Takten) mit den tatsächlichen Daten verglichen werden. Damit hatte Golic eine weitere Idee zur Entschlüsselung des A5/1 geboten, die zwar nur schwer praktikabel (Beweis durch das Geburtstagsparadoxon, welches hier aus Platzgründen gespart wurde.) war, aber den Ansatz für weitere Verfeinerungen bot. 4.2.3 TMTO - Weiterentwicklung 1 sampling resistance Im Jahr 1999 wurde die erste große Versbesserung durch A. Biryukov, A. Shamir und D. Wagner bekannt. Ihre Verbesserung war zwar naheliegend, brachte aber gleichzeitig neue Erkenntnisse zur Sicherheit der Stromchi ren. Sie haben sich mit der Schlüssellänge beschäftig und sich die simple Frage gestellt: Werden alle 64 Schlüsselbits wirklich benötigt? Was sie damals wahrscheinlich zu dieser Frage bewogen hat, war der begrenzte Speicherplatz und die dazugehörigen Zugri szeiten, die bei einer handelsüblichen Festplatte ca. 8 Millisekunden betrugen, wobei im Gegensatz dazu ein Prozessor ca. 2 Nanosekunden braucht, eine Rechenoperation durchzuführen. Aus dieser Notwendigkeit heraus entstand die Überlegung, nur bestimmte Zustände an Outputs zu speichern, um die Zugri e so gering wie möglich zu halten. Wie entscheidet man welche Zustände wichtig sind und welche nicht? Die Idee war überraschend einfach. Der 64 Bit Schlüssel wurde in Zusammenhand mit der Schaltung untersucht. Dabei fanden die drei Kryptographen heraus, dass nur 48bit der eigentlichen 64 Schlüsselbits relevant waren. Diese Tatsache wurde später unter dem Namen sample resistance bekannt und in einem separaten paper von A. Biryukov und A. Shamir [Biryukov2] verö entlicht. Angelehnt an dieses Verfahren wurden die wichtigen Zustände samples genannt und verringerten den Speicherzugri e massiv, da ein Zugri nur dann erfolgt, wenn diese Samples auftraten. 4.2.4 TMTO - Weiterentwicklung 2 subgraph of special states Die zweite Weiterentwicklung verfolgt zwar das gleiche Ziel, nämlich nur samples auf der Festplatte zu speichern; allerdings setzt diese Idee an anderer Stelle an. Nach statistischen Analysen sind 85% aller Zustände nicht auf den initial state zurück zu führen. Daraus folgt, dass man nur einen geringen Teil vorberechnen muss. Zur Erinnerung: Der initial state ist der 228bit Rahmen, der genutzt wird, nachdem die Initialisierung die ersten 100bits verworfen hat. Nachdem jetzt die Menge der samples deutlich abgenommen hat, besteht die Problematik nicht mehr darin, diese Zustände weiter zu minimieren, sondern das Suchen auf der Festplatte so e zient wie möglich zu gestalten. Mit der subgraph of special states Me- 11

thode wird der Sessionkey in zwei Minuten gesucht, obwohl er nur wenige Sekunden des verschlüsselten Datenstroms benötigt. 4.2.5 TMTO - Weiterentwicklung 3 biased birthday attacks Als Alternative zu der eben beschriebenen Suche mit der textilsubgraph of special states Methode kann auch eine baised birthday attack genutzt werden um den Sessionen zu finden. Bei dieser Art des Angri s werden nur zwei Minuten Chi rat benötigt und es reichen im Durchschnitt 33 Festplattenzugri e um den Sessionkey zu berechnen. Danach kann das Gespräch in Echtzeit Decodiert werden. 4.3 A5/1 e zient am PC Nachdem jetzt die Angri e mehr oder weniger genau beschrieben sind, stellt sich die Frage wo ist die E zienz am PC? A5/1 wurde designed, um in Hardware möglichst schnell zu sein und nicht um in Software implementiert zu werden. Durch die Idee der e zienten Speicherung der samples wird der Algorithmus erst e zient für Software. Die samples werden in Lookup-Tables gespeichert und müssen jetzt nur noch möglichst geschickt gesucht werden. Die Methode der Lookup-Tables oder auch Rainbow-Tables wird in der Kryptographie häufig eingesetzt und ist eine bewehrte Taktik, um Angri e auf Algorithmen durchzuführen. In paper von A. Biryukov, A. Shamir und D. Wagner wurde von einer Hardware mit 128MB Ram und zwei Festplatten mit je 73GB Speicher ausgegangen. Wenn man das Jahr berücksichtigt bildetet damals der Pentium II (mit bis zu 450MHz und einem Kern) Prozessor von Intel bzw. der Pentium II Xeon die Spitze der Prozessorarchitektur. Zu diesem Zeitpunkt konnte nicht jede Firma bzw. jedes Institut mit einer solchen Hardware dienen,möglich war es jedoch. Heute (2012) haben Prozessoren vier oder auch mehr Kerne und sind mit 2GHz oder mehr getaktet. Arbeitsspeicher von 128MB kennt man heute maximal noch aus Mobiltelefonen und Festplatten mit 73GB sind höchstens noch in Form von Solid State Disk (SSD) erhältlich. Auch wenn es keinen Garant für einen sicheren Verschlüsselungsalgorithmus darstellt, zeigen A. Biryukov, A. Shamir und D. Wagner auf, dass es hingegen sinnvoller ist, einen so bedeutenden Algorithmus nicht hinter verschlossenen Türen zu entwickeln, sondern ihn ö entlich zu machen und ihn von den Kryptographen dieser Welt kontrollieren oder besser noch mitentwickeln zu lassen. 12

Abbildungsverzeichnis [Anderson1] https://groups.google.com/forum/?fromgroups=#!msg/uk.telecom/ TkdCaytoeU4/Mroy719hdroJ [Dunkelman1] http://www.ma.huji.ac.il/~nkeller/kasumi.ps [Golic1] J. Golic: Cryptanalysis of Alleged A5 Stream Cipher, proceedings of EURO- CRYPT 97 LNCS 1233,pp.239-255, Springer-Verlag 1997 [Biryukov1] Biryukov, A., Shamir: Real Time Cryptanalysis of the Alleged A5/1 on a PC http://cryptome.org/a51-bs.htm [Biryukov2] http://reference.kfupm.edu.sa/content/c/r/cryptanalytic_time_ memory_data_tradeoffs_317035.pdf [Briceno1] M. Briceno, I. Goldberg und D. Wagner: An implementation of the GSM A3A8 algorithm 1998 13