Die SIM-Karte ist ein bekanntes Element von Handys. Aber es gibt die kleine Karte noch gar nicht so lange, wie Handys selbst. Die ersten Mobiltelefone unterstützten nur „eingebaute“ Kommunikationsstandards: Die Parameter dafür waren fest in den Handyspeicher einprogrammiert.
Die ältesten Analogstandards wie NMT-450 enthielten keine Sicherheitsmaßnahmen: Die Kundendaten konnten auf ein anderes Gerät kopiert und geklont werden, so dass man kostenlos Anrufe im Namen des eigentlichen Kunden machen konnte.
Etwas später wurde dann eine erste Sicherheitsmaßnahme eingeführt: der sogenannte Subscriber-Identity-Security-Code (SIS) — eine achtzehnstellige Nummer, die bei jedem Gerät anders und fest in den Prozessor programmiert war. SIS-Codes waren zu gleichen Teilen unter den Herstellern verteilt, so dass keine zwei Geräte den gleichen SIS-Code haben konnten. Der Prozessor speicherte auch einen siebenstelligen RID-Code (Reseller Identity), der an eine Basisstation übermittelt wurde, wenn ein Kunde sich mit einem Handy-Netzwerk verband.
Weak Link: How to lose everything having lost your #SIM-card https://t.co/wha5ECQP6A #security pic.twitter.com/ykU4j1mbvI
— Kaspersky (@kaspersky) November 18, 2014
Die Basisstation generierte dann eine zufällige Zahl, die vom SIS-Prozessor zusammen mit einer einzigartigen SIS-Response genutzt wurde, um den Autorisierungs-Key zu erstellen.
Sowohl die Keys als auch die Zahlen waren relativ kurz, für das Jahr 1994 aber ausreichend. Doch wie vorauszusehen war, wurde das System später geknackt – drei Jahre vor der Einführung des GSM-Standards (Global System for Mobile Communications). Dieser war sicherer, da er zwar ein ähnliches, aber dennoch weniger anfälliges Autorisierungssystem verwendete. Damit war der Kommunikationsstandard vom Gerät „getrennt“.
4G is just beginning to become the norm, so why do we need 5G? – http://t.co/vP3wDv1X8s pic.twitter.com/t9ZR5neEcN
— Kaspersky (@kaspersky) July 3, 2015
Das bedeutete, dass die Autorisierung komplett auf einem externen Prozessor lief, der in eine Smart-Card integriert war. Diese Lösung nannte man SIM (Subscriber Identity Module). Damit war der Handyvertrag nicht länger vom Gerät abhängig, so dass die Kunden Ihr Gerät so oft wechseln konnten, wie sie wollten, und dennoch ihre mobile Identität behielten.
Eine SIM-Karte ist im Grunde eine Standard-Smart-Card nach ISO 7816 und unterscheidet sich nicht großartig von anderen IC-Kontakt-basierten Karten wie Kreditkarten oder Telefonkarten. Die ersten SIM-Karten hatten sogar die Größer einer Kreditkarte, doch der Trend zu immer kleineren Geräten führte zu der neuen, kompakteren Form.
Die traditionellen, großen 1FF-SIM-Karten (1st Form Factor) passten nicht mehr in die Handys, so dass die Branche eine einfache, kompatible Lösung suchte. Das Ergebnis waren kleinere SIM-Karten (mini-SIM, 2FF: 2nd Form Factor), die in einen 1FF-großen Plastikträger gelegt wurden. Damit waren der Chip und die Kontakte auf einer kleineren Karte und konnten dank dem Plastikträger sowohl in älteren als auch neueren Handys genutzt werden.
Auch wenn der Verkleinerungstrend mit der micro-SIM (3FF) und später der nano-SIM (4FF) weiterging, so blieben doch die Form, die Kontakte und auch die Funktionen der eingebauten Chips in den letzten 25 Jahren gleich. Und nach wie vor werden große Plastik-„Atrappen“ hergestellt, um die neuen SIM-Karten auch in älteren Handys verwenden zu können.
Wobei viele veraltete Handys aktuelle SIM-Karten nicht unterstützen, selbst wenn es sich um große Karten handelt. Das liegt daran, dass die Betriebsspannung früherer SIM-Karten bei fünf Volt lag, während heutige Karten nur drei Volt benötigen. Viele Hersteller tauschen auch nur zu gerne Kompatibilität gegen Kostenersparnis, so dass die Mehrheit moderner SIM-Karten keine zwei Spannungen unterstützt. Durch den Überspannungsschutz des Prozessors funktionieren daher aktuelle Drei-Volt-Karten nicht in Handys, die fünf Volt an die SIM-Karte geben.
How do you make a completely anonymous phone call? It's harder than you think – http://t.co/KZbvNxx7wz pic.twitter.com/oocb9LHjlp
— Kaspersky (@kaspersky) April 7, 2015
Bei der Herstellung werden bestimmte Informationen in den Speicher der SIM-Karte geschrieben: die IMSI-Nummer (International Mobile Subscriber Identity), abhängig vom Netzbetreiber, der das Handy bestellt hat, sowie ein 128-Bit-Schlüssel, den man Ki (Key Identification) nennt. Einfach gesagt, sind IMSI und Ki der Login-Name und das Passwort der Handynutzers, die fest in den SIM-Karten-Chip einprogrammiert sind.
Der Zusammenhang zwischen der IMSI eines Kunden und der Telefonnummer wird in einer speziellen Datenbank namens HLR (Home Location Register) gespeichert. Diese Information wird zudem in eine weitere Datenbank (VLR, Visitor Location Register) in jedem Bereich des Netzwerks kopiert, basierend auf der temporären „Gast“-Registrierung des Kunden bei anderen Basisstationen.
Allegations emerged the #NSA hacked @Gemlto, stealing crypto keys for millions of SIM cards https://t.co/MFHK0jBrbF pic.twitter.com/a55WJyQEpg
— Kaspersky (@kaspersky) February 27, 2015
Der Autorisierungsprozess ist recht einfach: Wenn ein Kunde bei einer temporären Datenbank registriert wird, schickt die VLR eine zufällige, 128 Bit lange Nummer (RAND) an die Telefonnummer. Der Prozessor der SIM-Karte nutzt dann einen A3-Algorithmus, um eine 32-Bit lange Antwort (SRES) an die VLR zu generieren, die auf der RAND-Nummer und der Ki basiert. Wenn die VLR eine passende Antwort erhält, wird der Kunde im Netzwerk registriert.
Die SIM-Karte generiert noch einen weiteren Key namens Kc. Dessen Wert wird über einen A8-Algorithmus, basierend auf dem RAND-Wert und der Ki generiert. Dieser Key wird verwendet, um die mit einem A5-Algorithmus übertragenen Daten zu verschlüsseln.
Das klingt kompliziert, doch im Grunde ist es ganz einfach: Man hat einen Login-Namen und ein Passwort, die fest in die SIM-Karte programmiert sind, erstellt mit ein paar mathematischen Tricks Verifizierungs- und Verschlüsselungs-Keys und schon hat man eine Verbindung.
Die Verschlüsselung ist standardmäßig immer eingeschaltet, kann unter bestimmten Umständen (etwa bei einem Durchsuchungsbefehl) ausgeschaltet werden, so dass Behörden Telefongespräche mithören können. In diesem Fall haben alte Handys ein geöffnetes Schloss angezeigt, wobei moderne Handys (mit Ausnahme von Blackberry) das nicht tun.
How easy is it to hack a cellular network? https://t.co/FEH3kcVjp9 #mobile pic.twitter.com/T52mFaeXgg
— Kaspersky (@kaspersky) November 24, 2015
Es gibt auch eine Angriffsart, die darauf abzielt, Telefongespräche abzuhören: Dabei nutzt der Angreifer einen so genannten IMSI Catcher. Dieser emuliert eine Basisstation, registriert die sich verbindenden Handys und leitet dann alle Signale an die echte Basisstation weiter.
In diesem Fall läuft der Autorisierungsprozess ganz normal ab (die Verschlüsselungs-Keys müssen nicht geknackt werden), doch die falsche Basisstation bringt das Handy dazu, alles im Klartextmodus zu übertragen, so dass die Signale ohne Wissen des Netzwerks und des Kunden abgefangen werden können.
Es mag komisch klingen, doch diese „Sicherheitslücke“ ist eigentlich gar keine, sondern eine Funktion, die von Anfang an vorgesehen war, so dass Geheimdienste in besonderen Fällen Man-In-The-Middle-Angriffe durchführen können.