Vielleicht haben Sie den Begriff KeeLoq Rolling Code oder Hopping Code schon einmal im Zusammenhang mit Sendern und Empfängern gesehen. Aber was bedeutet er und wie funktioniert er?
Scrollen Sie, um mehr zu erfahren
KeeLoq Rolling Code, manchmal auch als Hopping Code bezeichnet, wird häufig als Sicherheitsmaßnahme zur Verschlüsselung von Funkübertragungen verwendet. Er kommt in vielen Bereichen zum Einsatz, z. B. bei Garagentoröffnern, Zugangskontrollsystemen, schlüssellosen Zugangssystemen für Autos, automatischen Torauslösern, …
Der Rolling Code verhindert, dass die Übertragung aufgezeichnet und gespeichert wird und später wiedergegeben werden kann, um den Empfänger zu täuschen und eine Tür oder ein Tor zu entriegeln.
Der übertragene Code dient als Passwort. Bei der Aktivierung erzeugt ein Sender ein Signal, das das Passwort enthält, und sendet es an den gekoppelten Empfänger. Der Empfänger analysiert das Passwort, um festzustellen, ob es akzeptabel ist. Wenn es akzeptiert wird, aktiviert der Empfänger ein Relais, so dass die Tür oder das Tor entriegelt und geöffnet werden kann.
Bei einem System mit festem Code ändert sich das Passwort nie. Dies macht das System anfällig für Angriffe, denn wenn jemand das Kennwort herausfindet, kann er es nutzen, um sich unbefugt Zugang zu verschaffen. Ein veränderbarer Code verringert das Risiko eines unbefugten Zugangs erheblich, da sich das Kennwort bei jeder Benutzung ändert.
Bei verschlüsselten Funkübertragungssystemen mit Rolling Code können Sender und Empfänger verschlüsselte Daten mit Hilfe eines Passworts austauschen. Dieses Passwort erschwert die Entdeckung des Codes für böswillige Personen erheblich. KeeLoq® ist somit der patentierte Blockschlüssel und die am weitesten verbreitete Verschlüsselungsmethode für Funkübertragungen.
Der KeeLoq-Hopping-Code verwendet einen 66-Bit-Übertragungscode, von dem 32 Bit verschlüsselt sind. Allein im verschlüsselten Teil gibt es fast 4 Milliarden mögliche Codekombinationen, so dass es etwa 17 Jahre dauern würde, ihn vollständig zu scannen. Die übermittelten Passwörter können nicht regelmäßig wiederverwendet werden, um ein Abfangen und einen unbefugten Zugriff zu verhindern. Ein einmal verwendetes Passwort ist erst dann wieder gültig, wenn etwa 65.000 andere gültige Codes verwendet wurden. Bei normaler Verwendung würde es mehr als 20 Jahre dauern, bis ein Code wieder gültig wird.
Damit der Rolling Code funktioniert, müssen Sender und Empfänger ihre Codegenerierung synchronisieren. Ist dies nicht der Fall, stimmt das vom Absender gesendete Zufallspasswort nicht mit dem vom Empfänger erwarteten Zufallspasswort überein. Daher ist der Begriff Zufall hier etwas irreführend. In Wirklichkeit verwenden Sender und Empfänger Pseudo-Zufallszahlengeneratoren (PRNGs), um eine Folge von Passwörtern zu erzeugen, die für Außenstehende scheinbar zufällig und damit für Angreifer unberechenbar sind.
Der PRNG ist ein Algorithmus, der sicherstellt, dass die vom Sender und Empfänger erzeugte Zahlenfolge identisch ist. Auf diese Weise stimmt jedes Mal, wenn der Absender ein Kennwort generiert, dieses mit dem vom Empfänger generierten Kennwort überein und gewährt Zugang. Die Folge der Codes ist also nicht wirklich zufällig; Sender und Empfänger müssen von demselben Startcode ausgehen, um sich richtig zu synchronisieren.
Jedes Mal, wenn die Taste des Senders gedrückt wird, wird ein Zugangscode generiert, auch wenn er sich außerhalb der Reichweite des Empfängers befindet. Wenn er sich außerhalb der Reichweite befindet, erzeugt der Empfänger keinen Code – Sender und Empfänger sind also nicht synchronisiert.
Um diese Einschränkung zu überwinden, speichert der Empfänger eine Liste von bevorstehenden Passwörtern, die vom PRNG vorgegeben werden. Beim KeeLoq-Hopping-Code besteht die Liste aus bis zu 1.000 zukünftigen Passwörtern. Sobald sich der Sender wieder in Reichweite des Empfängers befindet und die Taste gedrückt wird, kann der Empfänger den Code immer noch als eines der kommenden Passwörter identifizieren und den Zugang gewähren. Die „verpassten“ Codes, die der Sender generiert hat, während er außer Reichweite war, werden einfach ungültig gemacht und die Codes neu synchronisiert.
KeeLoq profitiert außerdem von zusätzlichen Synchronisierungssicherungen. Wird die Taste des Senders 16 Mal oder öfter gedrückt, während sich der Empfänger außerhalb der Reichweite befindet, entriegelt der Empfänger das Tor oder die Schranke nicht beim ersten Tastendruck, wenn er wieder in Reichweite ist. Eine erneute Synchronisierung erfolgt nur, wenn der Empfänger zwei aufeinanderfolgende, übereinstimmende Codes aus der Liste der gültigen zukünftigen Codes empfängt. Wenn in einem typischen System die Taste des Senders einige tausend Mal gedrückt wird, während er sich außerhalb der Reichweite befindet, wird der Empfänger dauerhaft blockiert und muss manuell neu synchronisiert werden.