PatentDe  


Dokumentenidentifikation DE69535362T2 04.10.2007
EP-Veröffentlichungsnummer 0001260942
Titel Rollierendes Code-Verschlüsselungsverfahren für ein fernbedienbares schlüsselloses Eingangssystem
Anmelder Delphi Technologies, Inc., Troy, Mich., US
Erfinder Michaels, Paul A., Livonia, Michigan 48154, US
Vertreter Witte, Weller & Partner, 70178 Stuttgart
DE-Aktenzeichen 69535362
Vertragsstaaten DE, FR
Sprache des Dokument EN
EP-Anmeldetag 23.02.1995
EP-Aktenzeichen 020184354
EP-Offenlegungsdatum 27.11.2002
EP date of grant 03.01.2007
Veröffentlichungstag im Patentblatt 04.10.2007
IPC-Hauptklasse G07C 9/00(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04L 9/32(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]

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 Funktionen 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.

Tabelle 1

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.


Anspruch[de]
Verfahren zum Senden eines codierten Datensignals in einem fernbedienbaren schlüssellosen Zugangssystem, mit einem Sender zum Senden eines codierten Datensignals gemäß einem intern erzeugten digitalen Codewort und mit einem Empfänger zum Einleiten der Durchführung einer vorbestimmten Aufgabe bei Empfang eines gültigen codierten Datensignals, mit den Schritten:

Bereitstellen eines Pseudo-Zufallszahlengenerators (20, 22), der ein digitales Codewort enthält, das aus einer ersten Anzahl von Datenbits besteht;

zyklisches Durchtakten des Pseudo-Zufallszahlengenerators (20, 22) gemäß einem vorbestimmten algorithmischen Prozess, um ein neues digitales Codewort zu erzeugen; und

Senden eines codierten Datensignals gemäß dem neuen digitalen Codewort, wobei das codierte Datensignal eine zweite Anzahl von codierten Datenbits enthält, die kleiner ist als die erste Anzahl,

dadurch gekennzeichnet, dass der Pseudo-Zufallszahlengenerator (20, 22) ein erstes Schieberegister (24) mit einer ersten vorbestimmten Anzahl von Bits, ein zweites Schieberegister (28) mit einer zweiten vorbestimmten Anzahl von Bits, eine Vielzahl von Logikgattern (32) zum Kombinieren einer entsprechenden Vielzahl von Bits aus sowohl dem ersten als auch dem zweiten Schieberegister (24, 28) in ein drittes Schieberegister (16) mit einer dritten vorbestimmten Anzahl von Bits, wobei die dritte vorbestimmte Anzahl kleiner ist als zumindest die erste oder die zweite vorbestimmte Anzahl.
Verfahren nach Anspruch 1, gekennzeichnet durch die Schritte, einen Folgezähler in dem Sender jedes Mal dann zu inkrementieren, wenn ein neues digitales Codewort erzeugt wird, und wobei der Schritt des Sendens beinhaltet, den Inhalt des Folgezählers zu senden. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Anzahl, wie häufig der Generator zyklisch durchgetaktet wird, um ein neues digitales Codewort zu erzeugen, durch den Inhalt des Generators (20, 22) bestimmt ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com