Rolling Codes: Warum dein Autoschlüssel sicher ist
Warum Replay-Attacken nicht mehr funktionieren
Stell dir vor, jemand nimmt das Funksignal deines Autoschlüssels auf. Drückt es später ab. Das Auto öffnet sich. Game over – oder?
Nicht mit Rolling Codes¹. Dieses System sorgt dafür, dass jedes Signal nur einmal funktioniert. Der Code “rollt” weiter – was gestern gültig war, ist heute wertlos.
Das Problem mit Fixed Codes
In den Anfängen der Funkfernbedienungen war alles einfach: Dein Garagentor-Öffner sendete immer dasselbe Signal. Ein Fixed Code² – simpel, aber gefährlich.
Das Problem:
- Angreifer zeichnet dein Signal auf (mit einem 20€ SDR-Stick)
- Angreifer wartet, bis du weg bist
- Angreifer sendet das Signal erneut
- Garage öffnet sich
Diese Replay-Attacke³ ist trivial. Mit einem RTL-SDR für unter 30 Euro und kostenloser Software kann jeder Fixed Codes aufzeichnen und abspielen.
Die Lösung: Synchronisierte Zufälligkeit
Rolling Codes lösen das Problem elegant. Sender (Schlüssel) und Empfänger (Auto) teilen sich zwei Geheimnisse:
- Einen geheimen Schlüssel (bei der Herstellung einprogrammiert)
- Einen Zähler (startet bei 0 und zählt hoch)
Bei jedem Knopfdruck:
- Sender erhöht seinen Zähler
- Sender berechnet: Code = Verschlüsselung(Schlüssel, Zähler)
- Sender sendet den Code
- Empfänger berechnet die nächsten erwarteten Codes
- Stimmt einer überein? → Aktion ausführen, Zähler aktualisieren
KeeLoq: Der De-facto-Standard
KeeLoq⁴ ist der am weitesten verbreitete Rolling-Code-Algorithmus. Entwickelt in den 1980er Jahren, heute im Besitz von Microchip Technology. Er steckt in:
- Autoschlüsseln (fast aller Hersteller)
- Garagentor-Öffnern
- Alarm-Fernbedienungen
- Zugangskontrollsystemen
KeeLoq verwendet:
- 64-Bit Schlüssel (18.446.744.073.709.551.616 Möglichkeiten)
- 32-Bit verschlüsselter Block (enthält 16-Bit Zähler + Buttons + Overflow-Bits)
- 66-Bit Übertragung (Seriennummer + verschlüsselter Block)
Der Synchronisations-Trick
Was passiert, wenn du den Schlüssel außerhalb der Reichweite drückst? Der Zähler im Schlüssel erhöht sich, aber das Auto bekommt es nicht mit. Desynchronisation.
Die Lösung: Das Auto akzeptiert nicht nur den nächsten erwarteten Code, sondern ein Fenster der nächsten ~256 Codes⁵. So kann man den Schlüssel bis zu 256 Mal “ins Leere” drücken, ohne dass die Synchronisation verloren geht.
Bei mehr als 256 Fehldrücken? Dann muss man den Schlüssel neu anlernen – ein bewusst umständlicher Prozess.
Angriffe auf Rolling Codes
Rolling Codes sind nicht unknackbar. Es gibt mehrere dokumentierte Angriffsvektoren:
1. RollJam-Angriff
Der berühmteste Angriff, vorgestellt 2015 von Samy Kamkar⁶:
- Jammen: Blockiere das Funksignal, sodass das Auto nichts empfängt
- Aufzeichnen: Speichere den ersten gesendeten Code
- Warten: Benutzer drückt nochmal (weil’s nicht funktionierte)
- Aufzeichnen + Weiterleiten: Speichere Code 2, sende Code 1 ans Auto
- Später: Code 2 ist noch gültig – Auto öffnet sich!
Dieser Angriff ist komplex, aber demonstriert, dass Rolling Codes nicht perfekt sind.
2. Kryptographische Schwächen
2008 zeigten Forscher, dass KeeLoq mit genug Rechenpower geknackt werden kann⁷. Theoretisch. Praktisch braucht man:
- ~65.000 aufgezeichnete Codes
- Enorme Rechenleistung
- Physischen Zugriff auf einen Schlüssel (für Seitenkanal-Attacken)
Für einen Gelegenheitsdieb ist das unrealistisch. Für staatliche Akteure? Vielleicht nicht.
3. Relay-Attacken
Bei modernen Keyless-Go-Systemen gibt es einen eleganteren Angriff: Relay-Attacken⁸. Dabei wird das Signal des Schlüssels (der im Haus liegt) über eine Funkbrücke zum Auto vor der Tür verlängert. Das Auto denkt, der Schlüssel sei in der Nähe.
Das hat nichts mit Rolling Codes zu tun – es umgeht das System komplett.
Moderne Alternativen
Neuere Systeme setzen auf stärkere Kryptographie:
| System | Schlüssellänge | Algorithmus | Sicherheit |
|---|---|---|---|
| KeeLoq | 64 Bit | Proprietär | Mittel |
| AUT64 | 64 Bit | Proprietär | Mittel |
| AES-CCM⁹ | 128 Bit | Standardisiert | Hoch |
| UWB | Variabel | Distanzmessung | Sehr hoch |
UWB (Ultra-Wideband)¹⁰ ist besonders interessant: Es misst die tatsächliche Entfernung zum Schlüssel und verhindert so Relay-Attacken.
Praktische Sicherheitstipps
- Faraday-Tasche: Blockiert alle Funksignale – ideal für Keyless-Go-Schlüssel zu Hause
- Bewegung deaktivieren: Manche Schlüssel haben einen “Schlafmodus” nach Ruhe
- Zusätzliche Sicherung: Lenkradkralle, GPS-Tracker, mechanisches Lenkradschloss
- Updates: Moderne Fahrzeuge erhalten Sicherheitsupdates – installieren!
Das Fazit: Gut, aber nicht perfekt
Rolling Codes sind ein enormer Fortschritt gegenüber Fixed Codes. Einfache Replay-Attacken funktionieren nicht mehr. Aber wie jedes Sicherheitssystem haben auch sie Grenzen.
Die größte Schwäche? Sie schützen nicht gegen Relay-Attacken bei Keyless-Go-Systemen. Hier hilft nur physische Abschirmung oder modernere Technologie wie UWB.
Für den Alltag gilt: Rolling Codes sind sicher genug. Der durchschnittliche Autodieb hat weder das Wissen noch die Ausrüstung für komplexe Angriffe. Er nimmt lieber das Auto mit dem Fixed-Code-Garagentor.
Weiterführende Artikel: Das 433 MHz ISM-Band | RTL-SDR für Einsteiger
Dieser Artikel ist Teil des Hintergrundwissens zum Techno-Thriller von Kairos Aletheia. Frequenzen, SDR und Funktechnik - verständlich erklärt.
Mehr zum Buch →