28. Dezember 2007

24C3: Mifare

Category: CCC,Hacking — Christian @ 23:52

Der Mifare-Chip von Philips ist ja schon seit geraumer Zeit ein Thema, insbesondere der Mifare Classic, weil Philips bei diesem Chip nicht herausrücken will, wie die Verschlüsselung funktioniert. Das Thema ist jetzt durch Henryk Plötz und Karsten Nohl haben sich die Arbeit gemacht, den Chip aufzusägen, zu analysieren und ein komplettes Reverse Engineering der Transistoren durchzuführen. Das Ergebnis ist erschreckend.

Ein großer Teil der Arbeit, insbesondere die Kommunikation zwischen Kartenleser und Chipkarte wurde mit Hilfe der hervorragenden Arbeit von Milosch Meriac durchgeführt, der OpenPCD und OpenPICC entwickelt hat.

Bekannt ist schon länger, dass Mifare Classic einen proprietären Algorithmus verwendet, der einen 48-Bit Schlüssel verwendet (und damit eigentlich schon zu kurz für kommerzielle Anwendungen ist). Der Algorithmus war jedoch geheim. Henryk und Karsten haben den Algorithmus analysiert (allerdings noch nicht veröffentlicht), der auf einem einfachen LSFR basiert. Es gibt keine nicht-linearen Komponenten im Feedback, der Algorithmus bietet daher keine Forward Security. Hintergrund ist vermutlich, dass ein explizites Designziel eine geringe Komplexität war, um den Algorithmus mit wenig Transistoren und wenig Energie durchführen zu können.

Eine weitere Schwachstelle ist der Zufallszahlengenerator, der sich ausschließlich über die Zeit seit Aktivierung initialisiert. In Tests konnten die Referenten zeigen, dass durch geschicktes Timing immer die gleichen „Zufallszahlen“ produziert werden.

Eine dritte Schwachstelle ist die Verknüpfung von UID und Key in der Verschlüsselung. Die UID lässt sich beim Senden mit OpenPICC fälschen (sie steht jedoch auch in Block 0 und kann dort nicht verändert werden aber das prüfen die meisten Leser nicht ab) und der Key passend wählen, so dass der Reader meint, er hat einen anderen User authentisiert. Das ist möglich, ohne dass man den Key des eigentlichen Users kennen muss.

Das Fazit:

1. Security by Obscurity funktioniert nicht. Allerdings kriegt Philips ja bei MP3-Playern schlechte Kritiken, warum soll das bei Chipkarten so viel besser sein?

2. Mifare Classic ist quasi tot. Es ist nur noch eine Frage der Zeit bis der Algorithmus veröffentlicht ist und dann werden sich die Kryptoanalytiker drauf werfen und alle Schwächen finden.

3. Es wird Zeit zu migrieren.

Eine Antwort von Philips steht übrigens noch aus.

Für mein Verständnis war das der wichtigste Vortrag bisher auf dem ganzen Congress. Was mich ein wenig wundert ist, dass Heise zu diesem Thema gar nichts schreibt. Immerhin ist der am weitesten verbreitete RFID-Chip betroffen. Aber vielleicht war das Marketing des Vortrags nicht gut genug? 😉

1 Kommentar

  1. Kommentare gesperrt wegen Spam

    Comment by Christian — 7. Juni 2012 @ 09:43

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.