-
Die
Erfindung betrifft ein Verfahren zum Übertragen eines kodierten Datensignals
gemäß dem Oberbegriff
des Anspruchs 1, wie offenbart in der
DE 42 01 568 A1 .
-
Die
Erfindung betrifft allgemein einen Verschlüsselungsvorgang für ein entferntes
bzw. fernbedienbares schlüsselloses
Zugangssystem und insbesondere einen Verschlüsselungsvorgang für ein fernbedienbares schlüsselloses
Zugangssystem, das ein Aktualisierungsschema für einen Wechselcode bzw. dynamischen Code
(Rolling-Code) umfasst, das eine erhöhte Sicherheitsintegrität gegen
unerwünschten
Zugang vorsieht.
-
Ein
fernbedienbares schlüsselloses
Fahrzeugzugangssystem, das es einem Fahrzeugführer ermöglicht, gewisse Funktionen
durchzuführen,
wie z.B. ein Verriegeln oder ein Entriegeln bzw. Öffnen einer
Tür oder eines
Kofferraums des Fahrzeugs von einem entfernten Ort, sind im Stand
der Technik bekannt. Schlüssellose Zugangssysteme
dieser Art umfassen im Allgemeinen einen tragbaren Sender, der vom
Fahrzeugführer
getragen wird und üblicherweise
als Teil eines Anhängers
bzw. einer Tasche (fob) ausgebildet ist, die an einer Schlüsselkette
zum Tragen von Fahrzeugschlüsseln
angebracht ist. Der Sender wird eine Taste bzw. einen Knopf umfassen,
die bzw. der bei einer Aktivierung den Sender dazu veranlassen wird,
ein Funkfrequenzsignal als Serie codierter Datenbits zu senden.
Falls das Fahrzeug sich innerhalb der Betriebsreichweite des Senders befindet,
werden eine Antenne und ein Empfänger,
die mit dem Fahrzeug verbunden sind, das codierte Signal empfangen.
Falls der Empfänger
bestimmt, dass das codierte Signal richtig bzw. gültig ist,
dann wird der Empfänger
automatisch eine Durchführung
der gewünschten
Funktion, wie sie im Signal codiert ist, veranlassen. Eine vollständigere
Diskussion fernbedienbarer schlüsselloser
Zugangssysteme dieser Art kann im US-Patent Nr. 4 942 393 gefunden
werden, das am 17.07.1990 veröffentlicht
wurde und dem Rechtsnachfolger dieser Erfindung übertragen wurde.
-
Zumindest
aufgrund des Bequemlichkeitsvorteils, der dem Steuern von Fahrzeugfunktionen
auf diese Weise zuschreibbar ist, werden schlüssellose Zugangssysteme immer üblicher,
um bei einem Öffnen
oder Verriegeln per Fernbedienung verwendet zu werden, wenn der
Fahrzeugführer
sich dem Fahrzeug nähert
oder das Fahrzeug verlässt.
Da mehr und mehr Fahrzeuge mit schlüssellosen Zugangssystemen ausgestattet
werden, nehmen auch die Gelegenheiten zu, bei denen Fahrzeugdiebe
versuchen, die codierte Übertragung
zu duplizieren, um Zugang zu dem Fahrzeug zu erhalten. Folglich
ist es notwendig geworden, rigorose Verschlüsselungstechniken zum Codieren
des übertragenen
Signals einzubauen, um potentielle Diebe davon abzuhalten, Zugriff
auf das codierte Übertragungssignal
zu erhalten.
-
Ein
Verfahren, bei dem ein potentieller Dieb Kenntnis von der codierten Übertragung
erhalten kann, besteht darin, dass das übertragene Signal aufgezeichnet wird,
nachdem der Fahrzeugführer
den Sender aktiviert hat. Der Dieb kann dann das aufgezeichnete
Signal zu einer Zeit abspielen, wenn der Führer sich nicht in der Nähe des Fahrzeugs
befindet, um auf betrügerische
Weise Zugang zu dem Fahrzeug zu erlangen. Um zu verhindern, dass
eine zuvor aufgezeichnete Übertragung
ein gültiges
Signal darstellt, ist es bekannt, Verschlüsselungstechniken zu verwenden,
die Rolling-Codes
vorsehen, so dass der Signalcode sich mit jeder Übertragung ändert. Bei diesen Systemtypen
muss der Empfänger
auch systematisch seinen Code aktualisieren, um so in der Lage zu
sein, mit dem Übertragungssignal
zu synchronisieren.
-
Die
Verfügbarkeit
anspruchsvoller Aufzeichnungsvorrichtungen und algebraischer Verschlüsselungsanalyse-Techniken
(cryptanalysis algebraic techniques), die leicht durch tragbare
Computer implementiert sein können,
machen es für
professionelle Diebe zunehmend möglich,
herkömmliche
Rolling-Codes zu knacken. Insbesondere können viele Rolling-Codes durch
Aufzeichnen nacheinanderfolgender Übertragungen eines Senders
dechiffriert werden, wodurch es einem Dieb ermöglicht wird, zukünftige gültige Codes
vorauszusehen. Des weiteren sind fortgeschrittene Übertragungsgeräte fähig, große Anzahlen
sequenzieller Codes über relativ
kurze Zeitspannen zu übertragen.
Deshalb können
Schemata ersonnen werden, um ein übertragenes Signal auf eine
systematische Weise zu aktualisieren, um schließlich auf die richtige Kombination
der codierten Bits zu treffen.
-
Ein
Verfahren zum Übertragen
eines kodierten Datensignals ist in der
DE 42 01 568 A1 offenbart,
wobei ein Verfahren zur Synchronisierung eines Senders und eines
Empfängers
zur Kommunikation zwischen einem elektronischen Schlüssel und
einem diesem zugeordneten Schloss offenbart ist. Nur ein Teil einer
intern berechneten Pseudo-Zufallszahl wird gesendet, um auf Seiten
des Empfängers
eine vorbestimmte Aufgabe einzuleiten.
-
Dementsprechend
ist es eine Aufgabe der vorliegenden Erfindung, eine Kodiertechnik
zu schaffen, die einen Rolling-Code zur Verwendung in einem schlüssellosen
Zugangssystem für
ein Fahrzeug erzeugt, der einen unerwünschten Zugang zu dem Fahrzeug
verhindert, indem die codierte Übertragung
aufgezeichnet wird.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, eine Kodiertechnik
zu schaffen, die anpassbar ist, einen Rolling-Code zu aktualisieren,
der in einem schlüssellosen
Zugangssystem für
ein Fahrzeug verwendet wird und der einen unerwünschten Zugang zu dem Fahrzeug
durch ein Aufzeichnen und Analysieren einer Serie aufeinanderfolgender
codierter Übertragungen
verhindert, selbst wenn ein Codeknacker anspruchsvolle algebraische
Verschlüsselungsanalyse-Techniken
verwendet.
-
Es
ist auch eine Aufgabe der vorliegenden Erfindung, eine Kodiertechnik
zu schaffen, die anpassbar ist, einen Rolling-Code zu aktualisieren,
der in einem schlüssellosen
Zugangssystem für
ein Fahrzeug verwendet wird und der einen unerwünschten Zugang zu dem Fahrzeug
verhindert, selbst wenn die kodierenden Verschlüsselungs- und Entschlüsselungsalgorithmen
Allgemeingut (Public Domain) sind.
-
Es
ist noch eine weitere Aufgabe der vorliegenden Erfindung, eine Kodiertechnik
zu schaffen, die anpassbar ist, einen Rolling-Code zu aktualisieren,
der in einem schlüssellosen
Zugangssystem für
ein Fahrzeug verwendet wird und der einen unerwünschten Zugang zu dem Fahrzeug
durch über
eine vernünftige
Zeitdauer zufällige
aufeinanderfolgende, codierte Übertragungen
verhindert.
-
Die
oben genannte Aufgabe wird durch das eingangs genannte Verfahren
gelöst,
wobei der Pseudo-Zufallszahlengenerator ein erstes Schieberegister
mit einer ersten vorbestimmten Anzahl von Bits, ein zweites Schieberegister
mit einer zweiten vorbestimmten Anzahl von Bits, eine Vielzahl von
Logikgattern zum Kombinieren einer entsprechenden Vielzahl von Bits
aus dem ersten und dem zweiten Schieberegister in ein drittes Schieberegister
mit einer dritten vorbestimmten Anzahl von Bits aufweist, und wobei
die dritte vorbestimmte Anzahl kleiner ist als die erste und/oder
die zweite vorbestimmte Anzahl.
-
Gemäß der Lehre
der vorliegenden Erfindung wird ein Rolling-Code-Verschlüsselungsvorgang für ein fernbedienbares
schlüsselloses
Zugangssystem offenbart. Der Verschlüsselungsvorgang verwendet ein
Befehlscode-Schieberegister, ein Sicherheitscode-Schieberegister
und ein Sequenzcode- bzw. Folgecode-Schieberegister zum Festlegen einer
Serie bzw. Reihe kodierter Datenbits, wobei die Datenbits von einem
tragbaren Sender an einen Empfänger übertragen
werden, der mit einem Fahrzeug verbunden ist, um eine gewisse Funktion
entfernt vom Fahrzeug durchzuführen,
wie z.B. ein Entriegeln oder Verriegeln der Tür des Fahrzeugs. Das Befehlscode-Schieberegister
stellt den Teil der übertragenen
Datenbits bereit, der die Funktion definiert, die auszuführen ist.
Das Sequenzcode-Schieberegister stellt den Teil der übertragenen
Datenbits bereit, der kontinuierlich eine Sequenznummer aktualisiert,
um es so dem Empfänger
zu ermöglichen, mit
dem Sender synchronisiert zu werden. Bei einer bevorzugten Ausführungsform
werden weder die Befehlscode-Datenbits
noch die Sequenzcode-Datenbits verschlüsselt.
-
Das
Sicherheitscode-Schieberegister stellt den Teil der übertragenen
Datenbits bereit, der auf eine wechselnde bzw. dynamische Weise
(rolling manner) verschlüsselt
ist, um so einen Möchtegern-Codeknacker daran
zu hindern, von dem übertragenen
Signal Kenntnis zu erlangen. Die verschlüsselten Bits im Sicherheitscode-Schieberegister werden
von einem ersten und einem zweiten Pseudo-Zufallsgenerator eingestellt.
Der erste und der zweite Pseudo-Zufallszahlengenerator umfassen
beide ein Schieberegister, dessen Bits durch ein exklusives NOR-Verknüpfen einer
Abgriffsbitstelle des Schieberegisters mit einer Endbitstelle des
Schieberegisters eingestellt werden. Die Abgriffbitstellen werden
gewählt,
um so die Anzahl der Bitfolgen bzw. -sequenzen zu maximieren, die
erzeugt werden können,
bevor sich die Serien selbst wiederholen. Vorbestimmte Bitstellen
der Schieberegister, die mit den Pseudo-Zufallszahlengeneratoren verknüpft sind,
werden exklusiv ODER-verknüpft,
und die Ausgaben der ODER-Gatter stellen die individuellen Bits
im Sicherheitscoderegister ein. Die Schieberegister werden nach
jeder Übertragung
eine Anzahl von Malen zyklisch durchtaktet, die vom Inhalt des Schieberegisters
abhängt,
um sie auf ein neues Codemuster zurückzustellen, bevor die Schieberegister
exklusiv ODER-verknüpft werden.
Auf diese Weise wird das Sicherheitscoderegister jedes Mal aktualisiert,
wenn der Sender aktiviert ist.
-
Zusätzliche
Aufgaben, Vorteile und Merkmale der vorliegenden Erfindung werden
aus der folgenden Beschreibung und den beigefügten Ansprüchen in Verbindung mit den
beigefügten
Zeichnungen klar werden.
-
1 ist
ein funktionelles Diagramm von Bitstellen für ein Aktualisierungsschema
für einen
Rolling-Code gemäß einer
bevorzugten Ausführungsform
der Erfindung; und
-
2 ist
ein Flussdiagramm der zyklischen Folge für die Pseudo-Zufallszahlengeneratoren,
die mit dem ACODE-Register der 1 verknüpft sind.
Die Zyklusfolge für
das BCODE-Register ist ähnlich.
-
Die
nachfolgende Diskussion, die einen Verschlüsselungsvorgang für ein fernbedienbares
schlüsselloses
Zugangssystem für
ein Fahrzeug betrifft, ist lediglich exemplarischer Natur und keinesfalls
dazu gedacht, die Erfindung oder ihre Anwendungen oder Verwendungen
einzuschränken.
-
Vor
diesem Hintergrund betrifft die nachfolgende Diskussion einen Verschlüsselungsvorgang,
der anwendbar ist, um in einem fernbedienbaren schlüssellosen
Zugangssystem für
ein Fahrzeug verwendet zu werden, bei dem ein tragbarer Handsender
(nicht gezeigt) ein codiertes Hochfrequenzsignal, das aus einem
Datenbitstrom besteht, an einen Empfänger (nicht gezeigt) überträgt, der
mit einem Fahrzeug (nicht gezeigt) so verbunden ist, dass der Empfänger das
Signal dekodieren wird, um zu bestimmen, ob es gültig ist, und dann die gewünschte Funktion
durchführt.
Die Datenbits werden gemäß unterschiedlichen
Datenträger-Modulationstechniken übertragen,
wie z.B., aber nicht beschränkt
darauf, durch eine Phasenumtastung, eine Frequenzumtastung, eine
Amplitudenmodulation, eine Frequenzmodulation oder eine Impulscodemodulation.
Das codierte Signal wird auf eine wechselnde bzw. dynamische Weise
verändert,
indem sich der Signalcode sich jedes Mal ändert, wenn der Sender ein
Signal sendet. Der Handsender umfasst im Allgemeinen eine Anzahl
von Befehls- oder Funktionstasten, so dass ein Fahrzeugführer verschiedene
Funktio nen wählen
kann, wie z.B. Verriegeln oder Entriegeln der Fahrzeugtüren, Entriegeln
des Kofferraums, etc. Die verschlüsselten Datenbits werden deshalb
Anweisungen dahingehend umfassen, welche Funktion gewünscht ist.
Spezifische Hardware- und Software-Implementierungen eines fernbedienbaren
schlüssellosen
Zugangssystems, das das unten beschriebene Rolling-Code-Merkmal
durchführen
kann, sind im Stand der Technik bekannt und können z.B. im US-Patent der
Anmeldenummer 07/885,824 gefunden werden, das am 18.05.1992 eingereicht
wurde und dem Rechtsnachfolger der vorliegenden Erfindung übertragen
wurde.
-
In 1 ist
ein Verschlüsselungssystem 10 als
eine Reihe von Schieberegistern und logischen Gattern gezeigt, um
eine Verschlüsselungstechnik
gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung zu veranschaulichen. Ein Hauptschieberegister 12 ist
gezeigt, das aus 40 Bitstellen besteht, wobei die individuellen
Kästchen
die Bitstellen repräsentieren.
Das Hauptregister 12 ist in drei separate Sub-Schieberegister
geteilt. Diese Sub-Schieberegister umfassen ein 4-Bit-Befehlscode-Schieberegister 14,
ein 28-Bit-Sicherheitscode-Schieberegister 16 und ein 8-Bit-Folgecode-Schieberegister 18.
Das Befehlscode-Schieberegister 14 umfasst Befehlcode-Datenbits (CCode),
die die gewünschte
Funktion definieren, die durchzuführen ist, wie es durch die
Funktionstasten auf dem Sender bestimmt ist, wenn sie vom Fahrzeugführer aktiviert
werden. Das Folgecode-Schieberegister 18 umfasst Folgedatenbits
(NCode), die eine Zähleraktualisierung
vorsehen, die die Anzahl der Male zählt, die das System 10 zyklisch
durchtaktet wurde. So kann der Empfänger sein Dekodierungsschema
aktualisieren, wenn er ein gültiges
Signal vom Sender empfängt,
so dass der Empfänger
weiß,
wie viele Male der Sender seit dem letzen Mal betätigt wurde,
als der Empfänger ein
gültiges
codiertes Signal empfangen hat. Mit anderen Worten, der Fahrzeugführer könnte zufällig die
Befehlstasten aktivieren, während
er sich außerhalb
der Reichweite des Fahrzeugs befindet, oder irgendein anderes Ereignis
könnte
stattfinden, welches die Zählfolge
des Senders dazu veranlasst, fortzuschreiten, ohne dass der Empfängerzähler fortschreitet.
Wie nachfolgend detailliert erläutert
werden wird, umfasst das Sicherheitscode-Schieberegister 16 Sicherheitsdatenbits
(TCode), die jedes Mal aktualisiert werden, wenn das System zyklisch
durchtaktet ist (Funktionstaste ist aktiviert), um so die Integrität des Systems 10 gegen
die Anstrengungen eines Möchtegern-Diebes
zu erhöhen,
der versucht, das verschlüsselte
Signal zu duplizieren. Der Befehlscode und der Folgecode sind vorzugsweise
nicht verschlüsselt
und werden deshalb als klarer („clear") Code übertragen.
-
Wenn
eine Befehlstaste auf dem Sender aktiviert ist, wird das Schieberegister 14 mit
dem verknüpften 4-Bit-Befehlscode
gefüllt
werden, der die gewünschte
Funktion definiert, die durchgeführt
werden soll. Ein 4-Bit-Befehlscoderegister stellt 16 verschiedene
Funktionen bereit. Das Schieberegister 16 wird schon einen aktualisierten
Sicherheitscode umfassen, und das Schieberegister 18 wird
schon den geeigneten Folgecode umfassen. Das Hauptregister 12 wird
dann nacheinander alle Daten an ein RF-Datenverbindungsmodul (nicht gezeigt)
herausschieben, das mit dem Sender in der Reihenfolge des NCodes,
TCodes und CCodes verbunden ist, die an den Empfänger übertragen werden sollen. Nachdem
die 40 Datenbits aus dem Register herausgeschoben sind, wird die
Zahl im Folgeschieberegister 18 um 1 inkrementiert und
der 28-Bit-Sicherheitscode wird durch einen aktualisierten Sicherheitscode
ersetzt, der das nächste
Mal zu senden ist, wenn eine Funktionstaste auf eine nachfolgend
beschriebenen Weise aktiviert wird. Da das Folgeschieberegister 18 ein 8-Bit-Register
ist, kann der Sender bis zu 256 mal aktiviert werden, während er
außerhalb
der Reichweite des Empfängers
ist, bevor der Empfänger
unfähig
sein wird, zu bestimmen, ob das übertragene
Signal tatsächlich gültig ist.
-
Damit
das codierte Datensignal rigoros bzw. exakt genug ist, um die oben
ausgedrückten
Aufgaben zu erfüllen,
wurde eine Verschlüsselungstechnik
ersonnen, um eine große
Anzahl verschiedener möglicher
Sicherheitsbitkombinationen bereitzustellen, bei der jede aufeinanderfolgende
Kombination durch den vorherigen Inhalt des Schieberegisters bestimmt
ist. Deshalb kann, selbst wenn die Codierungsprozedur zum Aktualisieren
der Sicherheitsbits bekannt ist, die Information nicht verwendet
werden, um den Code ohne Kenntnis der eigentlichen Bitwerte zu dechiffrieren
bzw. zu entschlüsseln.
Bei dem vorliegenden System wird die Folge der Sicherheitsbits im
Register 16 durch einen 39-Bit-ACode-Pseudo-Zufallszahlengenerator 20 und
einen 31-Bit-BCode-Pseudo-Zufallszahlengenerator 22 eingestellt.
Der ACode-Generator 20 umfasst ein 40-Bit-Schieberegister 24 und
ein EXKLUSIV-NOR-Gatter 26, und der BCode-Generator 22 umfasst
ein 32-Bit-Schieberegister 28 und ein EXKLUSIV-NOR-Gatter 30.
Die 40. Bitstelle des ACode-Registers 24 und die 32. Bitstelle
des BCode-Registers 28 werden
aus Gründen
nicht verwendet, die nachfolgend erläutert werden.
-
Aus
Gründen,
die aus der nachfolgenden Diskussion klar werden, werden, jedes
Mal wenn das ACode-Register 24 zyklisch durchgetaktet wird,
die 14. Bitstelle und die 39. Bitstelle des ACode-Registers 24 durch
das EXKLUSIV-NOR-Gatter 26 exklusiv NOR-verknüpft, wobei
der Ausgang des EXKLUSIV-NOR-Gatters an die erste Bitstelle des
ACode-Registers 24 angelegt wird, und der Inhalt des Registers 24 wird
um eine Position geschoben und das letzte Bit wird verworfen. Ähnlich werden,
jedes Mal wenn das BCode-Register 28 zyklisch durchgetaktet
wird, die 31. Bitstelle und die 13. Bitstelle durch das EXKLUSIV-NOR-Gatter 30 exklusiv
NOR-verknüpft,
wobei der Ausgang des EXKLUSIV-NOR-Gatters 30 an die erste
Bitstelle des BCode-Registers 28 angelegt wird, und der
Inhalt des Registers 28 wird um eine Position geschoben,
und das letzte Bit wird verworfen. Da die EXKLUSIV-NOR-Gatter 26 und 30 verwendet
werden, können
nur „1'en" kein gültiger Code
sein. Falls die EXKLUSIV-NOR-Gatter 26 und 30 durch
EXKLUSIV-ODER-Gatter ersetzt werden, dann können nur „0'en" kein
gültiger
Code sein.
-
Jedes
Mal, wenn das Schieberegister 16 zyklisch durchtaktet ist,
ODER-verknüpft eine
Reihe von EXKLUSIV-ODER-Gattern 32, bei der bevorzugten
Ausführungsform
achtundzwanzig, die ersten 28 Bits des Registers 24 exklusiv
mit den letzten 28 Bit des Registers 28 und die resultierenden
Werte werden in das Register 16 geladen. Insbesondere wird
die erste Bitstelle des Registers 24 mit der 31. Bitstelle
des Registers 28 exklusiv ODER-verknüpft, wobei die zweite Bitstelle
des Registers 24 mit der 30. Bitstelle des Registers 28 exklusiv ODER-verknüpft wird,
wobei eine dritte Bitstelle des Registers 24 mit der 29.
Bitstelle des Registers exklusiv ODER-verknüpft wird, usw. Aus Gründen der
Klarheit ist nur ein EXKLUSIV-ODER-Gatter 32 in der 1 gezeigt.
Jedoch ist klar, dass 27 andere EXKLUSIV-ODER-Gatter 32 umfasst
sein würden,
um jede Bitstelle des Registers 24 mit der entsprechenden
Bitstelle des Registers 28 einer exklusiven ODER-Verknüpfung zu
unterwerfen. Es ist klar, dass die Schieberegister 24 und 28 vorzugsweise
in entgegengesetzten Richtungen hinsichtlich der Bitstellen im Schieberegister 16 verschoben
werden.
-
Da
der Inhalt des TCodes aus weniger als allen Datenbits im ACode und
BCode bestimmt ist, versteht sich, dass jemand, der die verschlüsselten
Datenübertragungen
vom Sender überwacht
oder aufzeichnet, Information über
weniger als den Gesamtinhalt des ACodes und BCodes empfangen wird,
womit das vorliegende Verschlüsselungsschema
viel schwieriger dechiffrierbar ist.
-
Die
14. Bitstelle und die 39. Bitstelle des Registers 24 werden
exklusiv NOR-verknüpft und
das Schieberegister 24 wird um eine vorbestimmte Anzahl
von Zyklen, wie oben erläutert,
verschoben, bevor es den Bitstellen des Registers 24 erlaubt
wird, mit den entsprechenden Bitstellen des Registers 28 exklusiv
ODER-verknüpft
zu werden. 2 zeigt ein Flussdiagramm 38,
das verwendet wird, um zu bestimmen, wie viele Male das Register 24 zyklisch
durchtaktet ist, bevor es bereit ist, mit dem Register 28 exklusiv
ODER-verknüpft
zu werden. Die Anzahl der Male eines zyklischen Durchtaktens wird
als eine 8-Bit-Zahl „CA" bezeichnet.
-
Ein
erster Schritt 40 initiiert die Zykluszeitfolge jedes Mal,
wenn der Inhalt des Schieberegisters 12 herausgeschoben
wird. Wenn die Zykluszeitfolge einmal initiiert ist, stellt ein
nächster
Schritt 42 die Anzahl der Bytes im Register 24 als
Indexzahl ein und stellt CA auf Null. Für das Schieberegister 24 gibt
es fünf
Bytes. Wenn die Indexzahl und CA eingestellt sind, unterwirft ein
nächster
Schritt 24 CA systematisch einer exklusiven ODER-Verknüpfung mit
jedem Byte im Register 24, beginnend mit dem ersten Byte.
Die Indexzahl wird jedes Mal um Eins erniedrigt, wenn ein Byte exklusiv
ODER-verknüpft
wird. Insbesondere werden, da CA ursprünglich auf Null eingestellt
ist, die ersten acht Bits des Registers 24 mit allen Nullen
exklusiv ODER-verknüpft.
Der resultierende Wert wird deshalb der Wert dieser ersten Bits
sein, wie sie im Register 24 erscheinen. Ein Schritt 46 bestimmt
dann, ob die Indexzahl Null ist. Da zu dieser Zeit die Indexzahl
lediglich auf Vier reduziert wurde, ist die Antwort „Nein" und der Vorgang
wird an den Schritt 44 zurückgegeben. Zu dieser Zeit ist CA
der Wert der Bits in den ersten acht Stellen des Registers 24.
Diese Bits werden dann mit den nächsten acht
Bits in diesem Register exklusiv ODER-verknüpft. Dieser Vorgang wird fortgesetzt,
bis jedes der Bytes des Registers 24 exklusiv ODER-verknüpft ist
und die Indexzahl Null ist.
-
Der
Vorgang wird dann an einen Schritt 48 weitergegeben, der
den endgültigen
Wert von CA mit dem Hexadezimalwert 3F UND-verknüpft. Durch die UND-Verknüpfung von
CA mit dem hexadezimalen 3F (00111111), werden die zwei höchstwertigen
Bits der acht Bits der CA maskiert, um eine maximal mögliche Zyklusnummer
bei 26 – 1
oder 63 einzustellen. Mit anderen Worten, CA wird als eine Zahl
zwischen 0 und 63 enden. Durch ein mehr oder weniger Maskieren der
Bits von CA kann die Anzahl unterschiedlicher Zykluszeiten geändert werden.
Falls CA als Null endet, wie durch einen Schritt 50 bestimmt,
dann wird CA auf „1" eingestellt, wie
durch einen Schritt 52 gezeigt, da der Wert „0" ungültig ist.
Eine andere Zahl als „1" kann auch verwendet
werden. Auf ähnliche
Weise wird ein Zykluswert CB bestimmt, um die Anzahl der Male einzustellen, die
das Register 28 auf die gleiche Weise, wie in 2 gezeigt,
zyklisch durchtaktet wird. Jedoch weist das Register 28 lediglich
vier Bytes auf, und die Indexzahl wird deshalb dementsprechend eingestellt.
Es ist klar, dass die Anzahl der Male, die die Schieberegister 24 und 28 zyklisch
durchtaktet werden, von ihren Inhalten zu einer beliebigen Zeit
abhängt.
Bezeichnenderweise fügt
dieser Schritt im Kodierungsvorgang dem System eine Nichtlinearität hinzu,
die es ausschließt,
dass jemand den Code mit einer kleinen Anzahl von Folgen aneinandergrenzender
Codebeispiele knacken wird, selbst wenn der Kodierungsalgorithmus
bekannt ist.
-
Wie
oben erwähnt,
ist es eine Aufgabe der vorliegenden Rolling-Code-Verschlüsselungstechnik
einen Möchtegern-Codeknacker
daran zu hindern, die richtige Bitsequenz zu treffen, indem einfach
kontinuierlich und zufällig
eine Bitsequenz über
eine vernünftige
Zeitdauer übertragen
wird. Aus diesem Grund werden für die
Längen
der Schieberegister 24 und 28 Neununddreißig und
Einunddreißig
Bits gewählt.
Neununddreißig Bits
legen eine maximale binäre
Codelänge
für das
Register 24 von 239 – 1 oder
549.755.813.887 fest, und Einunddreißig Bits legen eine maximale
binäre
Codelänge
für das
Register 28 von 231 – 1 oder
2.147.483.647 fest. Da es keine gemeinsamen Faktoren zwischen diesen
zwei Zahlen gibt, ist die effektive binäre Codelänge des kombinierten Schieberegisters 16 gleich
deren Produkt oder ungefähr
270. Deshalb müssen ungefähr 1,1806 × 1021 sequenziell
codierte Übertragungen
gesendet werden, bevor sich der Code selbst wiederholen wird.
-
Wie
gerade erläutert,
legt die Länge
der ausgewählten
Schieberegister 24 und 28 die maximale Anzahl verschiedener
möglicher
verschlüsselter Übertragungen
fest. Folglich würde,
falls angenommen wird, dass es möglich
ist, fünf Übertragungen
pro Sekunde durchzuführen,
ein Sender, der eingestellt ist, alle möglichen Codes durchzusequenzieren,
7,5 × 1012 Jahre kontinuierlichen Betriebs brauchen,
um jeden möglichen
Code zu übertragen.
Wenn andere Spezifikationen erforderlich sind, kann jedoch die Länge der
Schieberegister 24 und 28 sowie des Schieberegisters 16 geändert werden,
um dieses Duplizierungsübertragungserfordernis
zu erhöhen
oder zu erniedrigen. In der unten stehenden Tabelle 1 ist eine Liste
der Schieberegisterlängen
in Bitstellen (N) in der linken Spalte und der Faktoren für jede verknüpfte binäre Codelänge in der
rechte Spalte gegeben, wobei die binäre Codelänge gleich 2N – 1 ist.
Es ist festzustellen, dass jeder der Faktoren eine Primzahl ist.
Die mittlere Spalte sieht die alternativen Abgriffsbitstellen vor,
die für
die exklusive NOR-Verknüpfung
verwendet werden müssen,
um die maximale Codelänge
bereitzustellen. Die Abgriffsstellen werden durch ein empirisches
systematisches Probieren („trial
and error process")
bestimmt, das eine maximale Codelänge erzeugt. Die Abgriffsbitstellen
sind Spiegelbilder, derart, dass die Abgriffsstellen von jedem Ende
des Registers gezählt
werden können.
Indem zwei Registerlängen,
die keinen gemeinsamen Faktor aufweisen, ausgewählt werden, wird die maximale
Codelänge,
d.h. die Anzahl der unterschiedlichen Codesequenzen, bevor der Code sich
selbst wiederholt, maximiert.
-
-
Aus
der oben erläuterten
Diskussion ist klar, dass die Längen
der Schieberegister 24 und 28 gewählt wurden,
um die gewünschte
maximale Codelänge
zu erhalten. Es ist festzustellen, dass, falls Längen mit gemeinsamen Faktoren
ausgewählt
wurden, wie z.B. 33 und 39, die resultierende effektive Codelänge um den gemeinsamen
Faktor „7" reduziert sein würde. Folglich
würde eine
solche Auswahl eine Schaltungskomplexität hinzufügen, ohne einen entsprechenden
Vorteil einer Erhöhung
der Anzahl möglicher
unterschiedlicher Codes zu erzielen.
-
Um
die Reaktionszeit der Empfängercode-Interpretation
zu reduzieren, werden die acht Bits des Sequenzcoderegisters 18 vorzugsweise
nicht verschlüsselt
und werden somit in klarem Code übermittelt.
Es wird angenommen, dass ein Versuch, den Sequenzcode zu verschlüsseln, ein
taktischer Fehler ist, da dieser Code Informationen an einen Möchtegern-Codeknacker
zusammen mit einem unverschlüsselten
zusammengefassten äquivalenten
Text liefert. Auf ähnliche
Weise wird der 4-Bit-Befehlscode
im Register 14 als klarer bzw. unverschlüsselter
Code übermittelt.
Wie beim Sequenzcode wird angenommen, dass es besser ist, den Befehlscode
nicht zu verschlüsseln,
um die Menge eines zusammengefassten unverschlüsselten Textes zu begrenzen,
der für
einen Möchtegern-Codeknacker
erhältlich
ist.
-
Um
den Empfänger
mit dem Sender zu synchronisieren, müssen die 40 Bits des Schieberegisters 24, die
32 Bits des Schieberegisters 28 und die 8 Bits des Schieberegisters 18 mit
dem Empfänger
gekoppelt sein. Die vier Bits des Schieberegisters 14 und
die 28 Bits des Schieberegisters 16 enthalten lediglich
flüchtige
Daten und müssen
nicht an den Empfänger
kopiert werden. Die Kopplung zwischen dem Sender und dem Empfänger kann
wie folgt erreicht werden. Der Inhalt des Schieberegisters 18 wird
dynamisch verändert
(rolled around), woher das Übertragbit
(carry bit) an den Ausgabetreiber kopiert wird. Als nächstes wird
der Inhalt des Schieberegisters 24 dynamisch verändert (rolled
around), woher das Übertragbit
an den Ausgabetreiber kopiert wird. Und dann wird der Inhalt des
Schieberegisters 28 dynamisch verändert (rolled around), woher
das Übertragbit
an den Ausgabetreiber kopiert wird. Diese Prozedur entspricht einem
gewöhnlichen 72-Bit-Seed-Code
sowohl für
den Sender als auch für
den Empfänger
und einer gewöhnlichen
Sequenzzahl irgendwo zwischen 0 und 255. Der grundsätzliche
Vorteil dieser Prozedur ist, dass sie die 80 Bits der Synchronisierungsdaten
zu 8-Bit-Bytegrößen verarbeiten
kann, die für
einzelangefertigte kombinatorische Logikchipschaltungen eingerichtet
sind. Eine alternative Prozedur, die mehr für gewöhnliche, billige Automobilklassen-Mikrocomputer
geeignet ist, ist, einfach sequenziell die ACode, BCode- und NCode-Daten
als Bytegrößen an ein
gemeinsames Ausgabebyte-seitiges Schieberegister (common output
byte side shift register) zu kopieren, das für eine normale Codeausgabe
sowie eine Empfängersynchronisierung üblich ist.
Die Bytes werden dann in Gruppen von Acht hinausgeschoben, mit dem
nächsten
Byte erneut geladen, etc., bis die 10 höchstwertigen Datenbytes übermittelt
wurden.
-
Die
Beschreibung der oben genannten bevorzugten Ausführungsform wurde als eine Schaltung
beschrieben. Jedoch hat jede der oben beschriebenen Funktionen ein äquivalentes
Software-Gegenstück
und könnte
deshalb auf diese Weise implementiert sein.
-
Die
vorhergehende Diskussion offenbart und beschreibt lediglich beispielhafte
Ausführungsformen
der vorliegenden Erfindung. Ein Fachmann wird schon aus den Erläuterungen
und aus den beigefügten
Zeichnungen und Ansprüchen
erkennen, dass verschiedenen Änderungen,
Modifikationen und Variationen durchgeführt werden können.