DE69533637T2 - Geschütztes Selbstlernen - Google Patents

Geschütztes Selbstlernen Download PDF

Info

Publication number
DE69533637T2
DE69533637T2 DE69533637T DE69533637T DE69533637T2 DE 69533637 T2 DE69533637 T2 DE 69533637T2 DE 69533637 T DE69533637 T DE 69533637T DE 69533637 T DE69533637 T DE 69533637T DE 69533637 T2 DE69533637 T2 DE 69533637T2
Authority
DE
Germany
Prior art keywords
information
key
decoder
encoder
storing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69533637T
Other languages
English (en)
Other versions
DE69533637D1 (de
Inventor
Frederick Johannes Montana Bruwer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microchip Technology Inc
Original Assignee
Microchip Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microchip Technology Inc filed Critical Microchip Technology Inc
Publication of DE69533637D1 publication Critical patent/DE69533637D1/de
Application granted granted Critical
Publication of DE69533637T2 publication Critical patent/DE69533637T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00817Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys where the code of the lock can be programmed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C9/00309Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks
    • G07C2009/00412Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated with bidirectional data transmission between data carrier and locks the transmitted data signal being encrypted
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/00174Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys
    • G07C2009/00753Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys
    • G07C2009/00769Electronically operated locks; Circuits therefor; Nonmechanical keys therefor, e.g. passive or active electrical keys or other data carriers without mechanical keys operated by active electrical keys with data transmission performed by wireless means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Description

  • Hintergrund der Erfindung
  • Diese Erfindung betrifft im allgemeinen die Fernsteuerung von Geräten und Sicherheitssystemen und insbesondere ein geschütztes Lernsystem und ein Verfahren.
  • Die Fernsteuerung der Systeme oder Geräte über Ultraschall, Hochfrequenz oder Infrarotübertrager ist für viele Anwendungen, die Sicherheitssysteme für Gebäude und Fahrzeuge und ferngesteuerte Garagentore und Toröffner beinhalten üblich.
  • Bestimmte unidirektionale Übertragungssysteme, die gegenwärtig im Gebrauch sind, haben zwei sehr wichtige Sicherheitsmängel:
    • (a) die Kodes, die sie senden, sind gewöhnlich festgelegt; und
    • (b) die Anzahl möglicher Kodekombinationen ist relativ klein. Jeder dieser Mängel kann zu einem nichtautorisiertem Zugriff führen.
  • Die begrenzte Anzahl von möglichen Kombinationen, die in den meisten Fernsteuerungssystemen verfügbar ist, ermöglicht es, alle möglichen Kombinationen in relativ kurzer Zeit zu senden. Ein von Hand gehaltenes mikroprozessorbasiertes System (das Kode-Scanner genannt wird) kann für diesen Zweck leicht konstruiert werden.
  • In Systemen, die acht DIP-Schalter (256 Kombinationen) verwenden, kann ein derartiger Abtastprozess typischerweise in weniger als 32 Sekunden vollendet werden, wenn acht Kombinationen pro Sekunde versucht werden. Selbst in Systemen, die 16 bit-Schlüssel verwenden, welche über 65 536 Kombinationen ver fügen, sind nur 2,25 Stunden erforderlich, um alle Kombinationen auszuprobieren. Es ist auch anzumerken, dass der Scanner in erheblich weniger als dieser maximalen Zeit den Zugriff erlangen kann – die mittlere Zeit wird tatsächlich bei der Hälfte der totalen Zeit liegen.
  • Ein leichterer Weg, um einen nichtautorisierten Zugriff zu einem Sicherheitssystem zu erlangen, ist frei verfügbar. Eine Einheit dieser Art wird als ein Werkzeug für die „legale Rückgewinnung der Fahrzeuge" angeboten.
  • Ein Fernsteuerungssender der Art, wie er in Fahrzeugssicherheits- und Fernsteuerungssystemen verwendet wird, umfasst einen kleinen Radiosender, der eine Kodenummer auf einer speziellen Frequenz sendet. Diese Kodenummer wird normalerweise durch einen integrierten Schaltkreiskodierer erzeugt. Die Sendefrequenz ist gewöhnlich Gesetz innerhalb eines bestimmten Landes festgelegt. Somit ist es möglich einen Empfänger zu bauen, der die Signale von allen Sendern empfangen kann und diesen zusammen mit einer Schaltung verwendet, welche die durch den Empfänger eingefangenen Übertragungen aufzeichnet. Ein derartiges Gerät ist als ein Kode oder Schlüsselfänger bekannt und kann verwendet werden, um einen Zugriff zu geschützten Räumlichkeiten oder zu Fahrzeugen mit Fernsteuerungssicherheitssystemen zu erreichen.
  • Kode-Hopping- und Kode-Rolling-Systeme sind gegenwärtig verfügbar, um die Einschränkungen der fixierten Kodesysteme zu überwinden (Bezugnahme auf das ZA-Patent Nr. 91/4063 und US-Patent Nr. 5,103,221). Die Beschreibungen dieser Patente beschreiben Sender, die Algorithmen verwenden, um eine unterschiedliche Übertragung immer dann zu erzeugen, wenn der Sender aktiviert wird. Wenn ein Kode empfangen und dekodiert ist, reagiert ein Dekodierer nur wenn eine gültige Übertragung durchgeführt wurde. In einigen Fällen (vergleiche ZA-Patent Nr. 91/4063) wird ein spezieller Algorithmus mit einem gespei cherten Schlüssel verwendet, um einen verschlüsselten Empfang zu dekodieren. Der dekodierte Wert wird dann verglichen mit einem gespeicherten Wert, um zu bestimmen, ob die Übertragung legitimiert ist oder nicht.
  • Der Nachteil eines Kode-Hopping- und Kode-Rolling-Systems ist die Tatsache, dass es schwierig ist, verlorene, gestohlene oder nicht betreibbare Sender zu ersetzen oder abzuschalten. Es wird eine externe Ausrüstung durch einen Hersteller oder Vertreiber verwendet, um einen Sender umzuprogrammieren oder zu ersetzen. Während dieses Prozesses kann ein zusätzliches Sicherheitsproblem entstehen.
  • Idealerweise sollte ein Sicherheitssystem keinen Eingriff durch einen Vertreiber erfordern, wenn ein Benutzer Hilfe benötigt, um einen neuen Sender für das System hinzuzufügen oder einen Sender zu ersetzen. Der Benutzer sollte in der Lage sein, einen generellen Ersatzsender aus dem Lager zu kaufen und diesen Sender wunschgemäß ohne Hilfe hinzuzufügen. Lernende Systeme sehen diese Fähigkeit vor, indem der Dekodierer die Identität des neuen Senders "lernen" kann, ohne dass er von außen unter Verwendung einer speziellen Ausstattung umprogrammiert werden muss.
  • Ein lernendes System sollte jedoch nicht nur dem Benutzer ermöglichen, einen neuen Sender zu dem System hinzuzufügen, sondern sollte auch Mittel aufweisen, um einen vorherigen Sender von dem System auf Grund der Möglichkeit, dass ein derartiger Sender in falsche Hände fällt auszuschließen.
  • In lernenden Systemen mit fixiertem Kode wird der eingehende Kode für eine zukünftige Referenz durch den Dekodierer gespeichert, wenn er in einem lernenden Modus ist. Nachfolgende Übertragungen werden mit dem Lernkode verglichen. Es werden unterschiedliche Anordnungen verwendet, um neue Sendekodes zu lernen. Ein Schalter kann verwendet werden, um den Dekodierer entweder in einen normalen Betriebszustand oder in einen Lern modus zu versetzen (US Patent Nr. 4,750,118 und 4,912,463). In dem lernenden Modus kann der Dekodierer neue gültige Kodes von einem Sender lernen. Ähnliche Mittel werden verwendet (vergleiche US Patent Nr. 4,931,789 und 5,049,867), den Dekodierer zu programmieren, um auf neue Sendekodes zu reagieren. In einer anderen Erfindung (vergleiche US Patent Nr. 5,148,159) wird ein zufälligerweise gewählter fester Kode durch den Dekodierer erzeugt und in dem zugehörigen Sender programmiert. Das US-Patent Nr. 4,855,713 beschreibt die Verwendung eines handgehaltenen Programmgebers, um den neuen fixierten Kode zu programmieren und um von dem Dekodier erkannt zu werden. In all diesen Fällen sind die gesendeten oder programmierten Kodes festgelegte gespeicherte Kodes. Sicherheitsgefahren auf Grund eines Kode-Abfangens oder einer Kode-Erzeugung bestehen weiterhin unabhängig von dem verwendeten Lernmechanismus.
  • Es sollte auch Bezug genommen werden auf die Beschreibungen der nachfolgenden U.S.A. Patente Nr. Re 29,525; 4,380,762; 4,385,296; 4,426,637; 4,529,980; 4,535,333; 4,574,247; 4,590,470; 4,596,985; 4,638,433; 4,652,860; 4,686,529; 4,737,770; 4,779,090; 4,835,407; 4,847,614; 4,855,713; 4,878,052; 4,890,108; 4,928,098; 4,951,029; 4,988,992; 5,049,867; 5,055,701; 5,191,610.
  • Zusammenfassung der Erfindung
  • Die Erfindung wird in den unabhängigen Ansprüchen 1 und 13 definiert, vorteilhafte Ausführungsformen werden in den abhängigen Ansprüchen festgelegt.
  • Eine Ausführungsform sieht als erstes ein Verfahren zum Betreiben eines Kodierers vor, der die Verfahrensschritte einschließt:
    Speichern einer Seriennummer;
    Speichern mindestens eines der Folgenden:
    einen Startparameter;
    einen Schlüssel; und
    eine Ableitung des Schlüssels; und
    Übertragen einer Schlüsselgenerierungsinformation, die mindestens eines der Folgenden einschließt:
    den Startparameter;
    den Schlüssel;
    die Ableitung des Schlüssels;
    die Seriennummer; und
    Informationen, die von der Anwendung des Schlüssels oder der Ableitung des Schlüssels und einem Algorithmus auf einen Eingangswert abgeleitet werden.
  • Der Schlüssel kann unter Verwendung von mindestens eines der Folgenden erzeugt werden:
    einem Herstellerschlüssel;
    dem Schlüssel;
    der Ableitung des Schlüssels;
    dem Startparameter; und
    der Seriennummer.
  • Der Eingangswert kann die Informationen enthalten, die mindestens eines der Folgenden aufweist:
    einen Management-Kode;
    einen Zählerwert; und
    Informationen, die ein Kommando betreffen.
  • In einer Ausführungsform beinhaltet das Verfahren die Schritte:
    Speichern einer Mehrzahl von Parametersätzen, wobei jeder Parametersatz mindestens eines der Folgenden beinhaltet:
    eine entsprechende Seriennummer;
    einen entsprechenden Startparameter;
    einen entsprechenden Schlüssel; und
    entsprechende Informationen, die vom Anwenden des entsprechenden Schlüssels und des Algorithmus auf einen entsprechenden Eingangswert abgeleitet werden;
    Auswählen eines Parametersatzes; und
    Übertragen der entsprechenden Schlüsselgenerierungsinformation für den ausgewählten Parametersatz.
  • Jeder entsprechende Eingangswert kann mindestens eines der Folgenden beinhalten:
    einen entsprechenden Management-Kode;
    einen entsprechenden Zählerwert; und
    Informationen, die ein Kommando betreffen.
  • Der Kodierer kann auch Bereitstellungen für ein Abschalten der Übertragung der Schlüsselgenerierungsinformation beinhalten. Diese Möglichkeit ist hilfreich, um zu verhindern, dass ein Außenseiter die Schlüsselgenerierungsinformation erhält, nachdem der Sender durch einen Dekodierer erkannt worden ist. Die Übertragung der Schlüsselgenerierungsinformation kann dauernd durch eine bewusste Maßnahme des Benutzers oder durch einen automatischen Prozess abgeschaltet werden, z. B. wenn der Kodierer für eine vorbestimmte Anzahl benutzt worden ist. In dem vorhergehenden Fall kann eine Handhabung unter Verwendung einer programmierten Maßnahme oder einer bestimmten Kombination von Eingaben vorgenommen werden.
  • Eine Anwendungsform erstreckt sich auch auf ein Verfahren des Betriebs eines Dekodierers, welches die Schritte des Empfangens eines Signals beinhaltet, das die Schlüsselgenerierungsinformation enthält; und das die Schlüsselgenerierungsinformation von dem empfangenen Signal herausfiltert.
  • Die Schlüsselgenerierungsinformation kann mindestens eines der Folgenden beinhalten:
    einen Startparameter;
    eine Seriennummer; und
    eine verschlüsselte Information, die von der Anwendung eines ersten Schlüssels und eines Algorithmus auf einen Eingangswert abgeleitet werden.
  • Das Verfahren kann den Schritt des Speicherns von mindestens einem der Folgenden beinhalten:
    den zweiten Schlüssel;
    die Schlüsselgenerierungsinformation; und
    die Seriennummer.
  • In einer Ausführungsform beinhaltet das empfangene Signal die verschlüsselte Information und das Verfahren schließt die Schritte ein:
    Entschlüsseln der verschlüsselten Information unter Verwendung eines Dekodierungsalgorithmus und eines vorher erzeugten zweiten Schlüssels, um einen dekodierten Eingangswert zu erhalten, welcher die Informationen einschließt, die mindestens ausgewählt sind von:
    einem Management-Kode;
    einem Zählerwert; und
    Informationen, die ein Kommando betreffen; und
    Speichern des dekodierten Eingangswertes.
  • Das Verfahren kann auch die Schritte beinhalten:
    Speichern einer Mehrzahl von Parametersätzen, wobei jeder Parametersatz die Informationen, die mindestens aus dem nachfolgendem ausgewählt sind, beinhalten:
    eine entsprechende Seriennummer;
    einen entsprechenden Management-Kode; und
    einen entsprechenden Zählerwert.
  • In einer weiteren Ausführungsform beinhaltet die Schlüsselgenerierungsinformation einen Abschnitt, der in dem Dekodierer verwendet werden kann, um den gespeicherten Herstellerschlüssel während des Lernens zu modifizieren oder zu vergrößern. Der ursprüngliche oder modifizierte Herstellerschlüssel kann zum Erzeugen des zweiten Schlüssels verwendet werden.
  • Eine Ausführungsform erstreckt sich weiterhin auf ein Betriebsverfahren eines Zugriffsteuersystems, das einen Kodierer und einen Dekodierer beinhaltet, wobei das Verfahren die Schritte beinhaltet:
    Speichern der Seriennummer;
    Speichern von mindestens eines der Folgenden:
    einen Startparameter;
    einen ersten Schlüssel; und
    eine Ableitung des ersten Schlüssels; und
    Verwenden des Kodierers zum Übertragen eines Signals, das die Schlüsselgenerierungsinformation beinhaltet und das mindestens eines der Folgenden einschließt:
    den Startparameter;
    die Seriennummer; und
    Informationen, die von einem Anwenden des ersten Schlüssels oder der Ableitung des ersten Schlüssels und einem Algorithmus auf einen Eingangswert abgeleitet werden; und bei dem Dekodierer,
    Empfangen des gesendeten Signals; und Extrahieren der Schlüsselgenerierungsinformation von dem empfangenen Signal.
  • Der erste Schlüssel kann unter Verwendung des Herstellerschlüssels und mindestens eines der Folgenden erzeugt werden:
    dem Startparameter, und
    der Seriennummer.
  • Während des Lernens kann die Schlüsselgenerierungsinformation verwendet werden, um den Herstellerschlüssel, der in dem Dekodierer gespeichert ist, zu modifizieren oder zu vergrößern. Alternativerweise kann ein Dekodierer überhaupt keinen Herstellerschlüssel aufweisen und kann den Dekodierungsschlüssel einzig und allein aus der Schlüsselgenerierungsinformation, die durch den Kodierer übermittelt wurde, ableiten, oder kann die Schlüsselgenerierungsinformation direkt als einen Dekodierungsschlüssel benutzen.
  • Der zweite Schlüssel oder die Schlüsselgenerierungsinformation kann gespeichert werden. In dem ersteren Fall beinhaltet das Verfahren die Schritte:
    Aktivieren des Kodierers mit einem Kommando;
    Kodieren mindestens eines Eingangswertes unter Verwendung des ersten Schlüssels und eines Algorithmus, um einen kodierten Teil zu bilden, wobei der Eingangswert Informationen einschließt, die mindestens aus dem folgenden ausgewählt sind:
    einem Zählerwert;
    einem Management-Kode; und
    Informationen, die das Kommando betreffen;
    Verwenden des Kodierers, um ein Signal zu übertragen, das von mindestens der Seriennummer und dem kodierten Teil gebildet ist; und beim Dekodierer; Empfangen des Signals; und
    Verwenden des zweiten Schlüssels und eines Dekodierungsalgorithmus zum dekodieren des kodierten Teils in dem übertragenen Signal, um den Eingangswert zu erhalten.
  • In dem letzteren Fall beinhaltet das Verfahren die Schritte:
    Aktivieren des Kodierers mit einem Kommando;
    Kodieren von mindestens einem Eingangswert unter Verwendung des ersten Schlüssels und eines Algorithmus, um einen kodierten Teil zu bilden, wobei der Eingangswert eine Formation aus Folgendem ausgewählt enthält:
    einen Zählerwert;
    einen Management-Kode; und
    Informationen, die sich auf das Kommando beziehen;
    Verwenden des Kodierers, um ein Signal zu übertragen, das von mindestens einer Seriennummer und dem kodierten Teil gebildet wird; und bei dem Dekodierer
    Empfangen des übertragenen Signals; und Verwenden der Schlüsselgenerierungsinformation und einem Dekodierungsalgorithmus, um den kodierten Teil in dem übertragenen Signal zu dekodieren, um den Eingangswert zu erhalten.
  • Das Verfahren kann weiterhin die Schritte beinhalten:
    Verwenden einer Mehrzahl von Kodierern;
    Aktivieren eines ausgewählten Kodierers unter Verwendung eines Kommandos; Übertragen eines Signals, das die Schlüsselgenerierungsinformation verbunden mit dem ausgewählten Kodierer enthält; und
    bei dem Dekodierer, Speichern einer Mehrzahl von Parametersätzen, wobei jeder Parametersatz mit einem entsprechenden Kodierer zusammengehört und Informationen beinhaltet, die mindestens aus Folgendem ausgewählt sind:
    einer entsprechenden Seriennummer;
    einem entsprechenden Management-Kode; und
    einem entsprechenden Zählerwert;
    Empfangen des übertragenen Signals und Erzeugen eines entsprechenden zweiten Schlüssels, der mit einem ausgewählten Parametersatzes assoziiert ist, unter Verwendung des Herstellerschlüssels und der Schlüsselge nerierungsinformation, die in dem übertragenen Signal enthalten ist.
  • Vorzugsweise sind der Kodierer und der Dekodierer jeweils in einem entsprechenden Mikrochip gebildet.
  • Eine Ausführungsform sieht auch einen Kodierer vor, der folgendes beinhaltet:
    Mittel zum Speichern einer Seriennummer;
    Mittel zum Speichern von mindestens einem der Folgenden:
    einen Startparameter;
    einen Schlüssel; und
    eine Ableitung des Schlüssels; und
    Mittel zum Übertragen der Schlüsselgenerierungsinformation, welche mindestens eines der Folgenden beinhaltet:
    den Startparameter;
    den Schlüssel;
    die Ableitung des Schlüssels;
    die Seriennummer; und
    Informationen, die von der Anwendung des Schlüssels oder der Ableitung des Schlüssels und einem Algorithmus auf einen Eingangswert abgeleitet werden.
  • Eine Ausführungsform erstreckt sich auch auf einen Dekodierer, der ein Mittel zum Empfangen eines Signals beinhaltet, das eine Schlüsselgenerierungsinformation enthält; und der Mittel zum Extrahieren der Schlüsselgenerierungsinformation von dem empfangenen Signal enthält.
  • Die Schlüsselgenerierungsinformation kann mindestens eines der Folgenden beinhalten:
    einen Startparameter;
    einen ersten Schlüssel; und
    eine Ableitung des ersten Schlüssels; und
    eine Seriennummer; und
    kodierte Informationen, die von der Anwendung des ersten Schlüssels oder der Ableitung des ersten Schlüssels und einem Algorithmus auf einen Eingangswert abgeleitet werden.
  • Der Dekodierer kann Mittel zum Erzeugen eines zweiten Schlüssels unter Verwendung von mindestens der Schlüsselgenerierungsinformation enthalten. Der zweite Schlüssel kann die Schlüsselgenerierungsinformation sein.
  • Die Mittel können für ein Speichern von mindestens einem der Folgenden vorgesehen sein:
    dem zweiten Schlüssel;
    der Schlüsselgenerierungsinformation; und
    der Seriennummer.
  • Der Dekodierer kann Mittel zum Speichern eines Herstellerschlüssels und Mittel zum Generieren des zweiten Schlüssels unter Verwendung von mindestens der Schlüsselgenerierungsinformation und des Herstellerschlüssels beinhalten.
  • Der Dekodierer kann Mittel zum Speichern einer Mehrzahl von Parametersätzen beinhalten, wobei jeder entsprechende Parametersatz mindestens eines der Folgenden beinhaltet:
    eine entsprechende Seriennummer;
    einen entsprechenden Startparameter;
    einen entsprechenden Schlüssel; und
    einen entsprechenden abgeleiteten Schlüssel.
  • Während des Lernens kann die Schlüsselgenerierungsinformation verwendet werden, um den Herstellerschlüssel, der in dem Dekodierer gespeichert ist, zu modifizieren oder zu vergrößern. Alternativerweise kann der Dekodierer überhaupt keinen Herstellerschlüssel enthalten und kann den Dekodierungsschlüssel einzig und allein von der Schlüsselgenerierungsinformation, die durch den Kodierer gesendet wurde, ableiten, oder verwendet diese Schlüsselgenerierungsinformation direkt als Dekodierungsschlüssel.
  • Eine Ausführungsform sieht weiterhin ein Zugriffssteuersystem vor, das einen Kodierer und einen Dekodierer einschließt, wobei der Kodierer beinhaltet:
    Mittel zum Speichern einer Seriennummer;
    Mittel zum Speichern mindestens eines der Folgenden:
    einen Startparameter;
    einen ersten Schlüssel; und
    eine Ableitung des ersten Schlüssels; und
    Mittel zum Übertragen eines Signals, welches die Schlüsselgenerierungsinformation beinhaltet und welches mindestens eines der Folgenden einschließt:
    den Startparameter;
    den ersten Schlüssel;
    die Ableitung des ersten Schlüssels:
    die Seriennummer; und
    eine Information, die von dem Anwenden des ersten Schlüssels oder der Ableitung des ersten Schlüssels mit einem Algorithmus auf einen Eingangswert abgeleitet wird;
    wobei der Dekodierer beinhaltet:
    Mittel zum Empfangen des übertragenen Signals; und
    Mittel zum Extrahieren der Schlüsselgenerierungsinformation von dem empfangenen Signal.
  • Der erste Schlüssel kann unter Verwendung des Herstellerschlüssels erzeugt werden und mindestens einem der Folgenden:
    des Startparameters;
    der Seriennummer.
  • Der Dekodierer kann Mittel zum Speichern eines Herstellerschlüssels beinhalten und der zweite Schlüssel wird unter Verwendung mindestens der Schlüsselgenerierungsinformation und des Herstellerschlüssels erzeugt.
  • Es ist verständlich, dass während des Lernens die Schlüsselgenerierungsinformation zum Modifizieren oder Vergrößern des Herstellerschlüssels, der im Dekodierer gespeichert ist, verwendet werden kann. Alternativ kann der Dekodierer keinen einzigen Herstellerschlüssel aufweisen und kann einzig und allein den Dekodierungsschlüssel von der Schlüsselgenerierungsinformation, die durch den Kodierer gesendet wird, abgeleitet werden oder diese Schlüsselgenerierungsinformation wird direkt als Dekodierungsschlüssel eingesetzt.
  • Das System kann Mittel zum Speichern des zweiten Schlüssels oder der Schlüsselgenerierungsinformation beinhalten.
  • In einer Ausführungsform kann das System beinhalten:
    Mittel zum Aktivieren des Kodierers mit einem Kommando;
    Mittel zum Kodieren mindestens eines Eingangswertes unter Verwendung des ersten Schlüssels und eines Algorithmus, um einen kodierten Teil zu bilden, wobei der Eingangswert Informationen beinhaltet, die ausgewählt sind wenigstens von:
    einem Zählerwert;
    einem Management-Kode; und
    Informationen, die das Kommando betreffen;
    Mittel zum Bilden eines Signals, zum Übertragen durch den Kodierer von mindestens der Seriennummer und des verschlüsselten Teils;
    der Dekodierer beinhaltet Mittel zum Verwenden des zweiten Schlüssels und eines Dekodierungsalgorithmus, um den kodierten Teil in dem übertragenen Signal zu dekodieren, das durch das Signalempfangsmittel empfangen wird, um diesen Eingangswert zu erhalten.
  • Eine andere Ausführungsform des Systems kann beinhalten:
    Mittel zum Aktivieren des Kodierers mit einem Kommando;
    Mittel zum Kodieren von mindestens einem Eingangswert unter Verwendung des ersten Schrittes und eines Algorithmus, um einen kodierten Teil zu bilden, wobei der Eingangswert Informationen beinhaltet, die mindestens vom folgenden ausgewählt sind:
    einem Zählerwert;
    einem Management-Kode; und
    Informationen, die das Kommando betreffen;
    Mittel zum Bilden eines Signals, zum Übertragen durch den Kodierer von mindestens der Seriennummer und des verschlüsselten Teils;
    der Dekodierer beinhaltet Mittel zum Verwenden der Schlüsselgenerierungsinformation und eines Dekodierungsalgorithmus, um den verschlüsselten Teil in dem übertragenen Signal zu dekodieren, das durch das Signalempfangsmittel empfangen wurde, um den Eingangswert zu erhalten.
  • Das System kann Mittel zum Speichern von einer Mehrzahl von Parametersätzen in dem Kodierer enthalten, wobei jeder Parametersatz Informationen, die mindestens von dem folgenden gewählt sind, enthält:
    eine entsprechende Seriennummer;
    ein entsprechender Startparameter; und
    entsprechende Informationen, die vom Anwenden des entsprechenden Schlüssels und des Algorithmus auf einen entsprechenden Eingangswert abgeleitet werden;
    Mittel zum Auswählen eines Parametersatzes;
    Mittel zum Aktivieren des Kodierers unter Verwendung eines Kommandos;
    das Signalübertragungsmittel, das dann ein Signal überträgt, das die Schlüsselgenerierungsinformation zusammen mit einem ausgewählten Parametersatz enthält;
    Mittel zum Speichern einer Mehrzahl von Parametersätzen in dem Dekodierer, wobei jeder Parametersatz eine Information enthält, die mindestens aus dem Folgenden ausgewählt ist:
    einer entsprechenden Seriennummer;
    einem entsprechenden Management-Kode; und
    einem entsprechenden Zählerwert; und
    Mittel zum Erzeugen eines entsprechenden zweiten Schlüssels, der einem ausgewählten Parametersatz zugeordnet ist, unter Verwendung der Schlüsselgenerierungsinformation, die in dem übertragenen Signal enthalten ist.
  • Dieser entsprechende zweite Schlüssel kann unter Verwendung der Schlüsselgenerierungsinformation und des Herstellerschlüssels erzeugt werden.
  • Vorzugsweise sind der Kodierer und der Dekodierer in einem entsprechenden Mikrochip gebildet.
  • Es ist eine Aufgabe der vorliegenden Erfindung, ein Zugriffssteuersystem bereitzustellen, worin ein Sender oder eine Sendeberechtigung, wie eine sogenannte „smart card", durch einen Benutzer ohne externes Equipment und ohne Übertragen eines Kodierungsschlüssels in einem offenen Format, nämlich in nicht kodierter Form, ersetzt oder zu dem System hinzugefügt werden kann.
  • Das Zugriffsteuersystem kann das Abschalten in einem Dekodierer von gestohlenen Senderkodes ermöglichen, um einen nicht autorisierten Zugriff zu dem System zu verhindern.
  • Eine andere Aufgabe der Erfindung ist es, ein Zugriffsteuersystem vorzusehen, das gegen die Verwendung eines Verfahrens zum Kode-Abfangen oder zum Scanen arbeitet.
  • Die Erfindung betrifft weiterhin einen Kodierer und einen Dekodierer zum Gebrauch in einem Zugriffsteuersystem und ihr Betriebsverfahren.
  • Während des Herstellungsprozesses werden Kodierer mit unterschiedlichen Seriennummern, die einem Bereich von Dekodierern zugehören programmiert. Ein einzigartiger Herstellerschlüssel wird zusammen mit einem Algorithmus verwendet und die Seriennummer wird verwendet, um einen Benutzerschlüssel in einem nicht-flüchtigen Speicher des Kodierers zusammen mit einem Zähler, einem Management-Kode und anderen Informationen zu speichern. Mehrere Sätze dieser Parameter können gespeichert werden, um einige Sendungen durchzuführen (Senden unterschiedlicher Kommandos durch Aktivieren unterschiedlicher Eingaben). Der Herstellerschlüssel wird in allen Herstellerdekodierern gespeichert. Die Benutzerdaten und die Steuerdaten werden auch programmiert, um die unterschiedlichen Funktionen zu steuern, die von dem Kodierer aktiviert werden müssen. Der gleiche Algorithmus, der wird, um den Benutzerschlüssel in dem Kodierer zu erzeugen, muss auch in dem Dekodierer vorhanden sein. Der Algorithmus kann einen oder mehrere unter anderen, wie der Seriennummer, dem Schlüsselgenerierungs-Startparameter und dem Herstellerschlüssel in einer modifizierten oder nicht modifizierten Form verwenden, um den Kodiererschlüssel zu erzeugen.
  • Bei einem normalen Betrieb eines Kodierers wird die Schlüsselinformation, die mit einem Parametersatz verbunden ist, verwendet, um die variable Zählerinformation zu kodieren zusammen mit dem Kodierungs-Management-Kode, der Seriennummer und anderer Informationen durch Gebrauch eines besonderen Algorithmus. Die Information, die kodiert wird, ist jedes Mal unterschiedlich, wenn der Kodierer aktiviert ist. Auf diese Technik wird als Kode-Hopping Bezug genommen. Obgleich es bekannt ist, dass die Zählerinformation sich ändert, ist die Übertragung wegen des Geheimschlüssels und des Algorithmus, der die Information kodiert, nicht vorhersagbar. In einem Zugriffsteuersystem kann ein fixierter Teil die Seriennummer kennzeichnen und mit dem Kode-Hopping-Teil erzeugt sein und zusammen einen Übertragungswert bilden, der durch eine Datentransferschnittstelle gesendet wird.
  • In einer Ausführungsform ist eine Lernfähigkeit eines Kodierers realisiert. Dieses ermöglicht einem Anwender, einen Kodierer zu ersetzen oder einen Kodierer hinzufügen, der durch einen Dekodierer erkannt wird, der eine Lernmodusfunktion aufweist, die durch den Benutzer auswählbar ist. Die Lernmodusfunktion kann durch Aktivieren auf dem Dekodierer ausgewählt werden. Diese kann durch einen normalen Kodierer und einem Programmieren der Ausgangsfunktion erreicht werden, um den Dekodierer in den Lernmodus zu versetzen. Dieser ist auch als Hauptkodierer oder als Token bekannt. Die Verwendung eines derartigen Hauptkodierers ermöglicht, dass ein höheres Niveau der Sicherheit erreicht wird. Der Haupttoken kann auch in Verbindung mit Eingangsschaltern verwendet werden.
  • In einer anderen Ausführungsform ist es möglich, einen externen Eingangswert für eine Kodierer zu kodieren. Dieser Eingangswert ersetzt den Wert des durch den Kodierer intern kodierten Wertes. Eine bi-direktionale Kommunikationsanordnung wird in diesem Fall verwendet. Dieser Vorgang kann verwendet werden, um die Originalität des Kodierers zu identifizieren, was als Identifikation als Freund oder Feind (IFF) für die Zugriffsteuerung und für Authentifizierungszwecke bekannt ist. Der Kodierer akzeptiert einen Herausforderungswert als einen Eingang von einem Endgerät als Teil eines Zugriffsteuerungssystem. Dieser Eingangswert wird durch den Kodierer unter Verwendung der Kodierfunktion und einem Schlüssel zum Bilden eines kodierten Wertes kodiert. Der kodierte Wert wird dann an den Dekodierer übertragen, der ein Teil eines Zugriffsteuerungsendgerätes ist. Wenn ein legitimierter Kodierer verwendet wird, entspricht der kodierte Wert einem dekodierten Wert, der durch den Dekodierer berechnet wird und der Dekodierer wird eine externe Funktion zum Betreiben einschalten. Wenn es kein legitimierter Kodierer ist, korrespondiert der dekodierte Wert nicht mit dem durch den Dekodierer erzeugten Wert und verhindert die geforderte Reaktion durch den Dekodierer.
  • Der Kodierer kann in einem Token oder senderartigem Gerät in einem Zugriffsteuerungssystem verwendet werden. Ein Sender würde im allgemeinen im aktiven Zustand Informationen von dem Kodiererausgang zu einem Empfangssystem über ein Übertragungsmedium wie einem Radio (rf), Infrarot (ir) oder eine Mikrowelle übertragen. Ein Token kann auch für ein Sendegerät bestimmt sein, aber beinhaltet im allgemeinen ein Gerät, in dem ein Informationstransfer mittels elektrischer Kontakte und Leitungen durchgeführt wird. In diesen physischen Kontakttoken (oder smart cards) können Informationen bi-direktional durch Lese- und Schreiboperationen übertragen werden. In beiden Fällen richtet sich die Erfindung auf die Übertragung von Informationen bezüglich eines Kodierungs- oder Dekodierungsschlüssels ohne die Möglichkeit den Kodierungs- oder Dekodierungsschlüssel der Außenwelt zu präsentieren.
  • Falls der Lernmodus des Dekodierers ausgewählt wird, werden die Daten des neuen Kodierers gefangen und die Seriennummer wird zuerst verwendet. Durch Verwenden des Herstellerhauptschlüssels und der eingefangenen Kodierer-Seriennummer wird ein neuer Kodierungsschlüssel abgeleitet, mit dem Schlüsselgenerierungsalgorithmus, der einen Teil des Dekodierers bilden muss. Die Schlüsselgenerierungsinformation kann verwendet werden, den Herstellerschlüssel zu modifizieren oder zu vergrößern, bevor der neue Schlüssel kalkuliert wird. Alternativ kann der Dekodierer überhaupt keinen Herstellerschlüssel aufweisen und kann den Entschlüsselungsschlüssel einzig und allein von der Schlüsselgenerierungsinformation, die durch den Kodierer gesendet wird, ableiten oder verwendet die Schlüsselgenerierungsinformation direkt als Dekodierschlüssel. Der neuerlich abgeleitete Schlüssel wird verwendet, um den variablen (kodierten) Teil der vorher eingefangenen Übertragung zu dekodieren. Wenn es dekodiert ist, wird es geprüft, um sicher zu stellen, dass der korrekte Schlüssel erzeugt und verwendet wurde.
  • In einer anderen Ausführungsform kann es erforderlich werden eine weitere Übertragung zu dekodieren. Dieses doppelte Übertragungssystem kann dann auch die dekodierte Zählerinformation überprüfen, um sicher zu stellen, dass der erzeugte Schlüssel gültig ist. Die kodierte Seriennummer wird in einem nicht-flüchtigem Speicher gespeichert und dem abgeleiteten Dekoderschlüssel, dem Management-Kode, dem Zähler und andere Benutzerinformationen zugeordnet. Das Lernen wird somit verifiziert, bevor es als gültig akzeptiert ist, wonach der Kodierer verwendet werden kann, um den Dekodierer im normalen Betrieb zu aktivieren.
  • In einem Normalbetrieb kodiert der Kodierer, wenn er durch eine elektrische Eingabe z. B. durch Pressen eines Druckknopfschalters oder durch Schalter oder durch irgendein anderes geeignetes Kommandomittel wie, den Zähler-, den Druckknopf- und den Management-Kode-Informationen mit einem Algorithmus und einem Schlüssel aktiviert wird. Die Management-Kode-Information besteht gewöhnlich aus einer Information, die aus der folgenden Gruppe gewählt ist: der Kodiererstatus, dem Kommando, der Identifizierung, dem Technologietyp, der Zeit, dem Modus, der Integrität und den Benutzerdaten. Es kann auch Zeitinformationen enthalten. Diese Zeitinformationen können verwendet werden, um die Zeit, in der der Kodierungsvorgang erfolgt, zu übertragen oder die gültige Zeitdauer oder die Verfallsdaten für das Dekodiersystem anzuzeigen. Der Benutzerschlüssel ist mit der Seriennummer verbunden, die einen Teil der Information bildet, die in dem nicht-flüchtigen Speicher gespeichert ist. Die unverschlüsselte Seriennummer und die verschlüsselte Information werden durch externe Datenübertragungsmittel übertragen. Die Datenübertragung kann eine Übertragung durch den Kodierer oder der Kodierer kann in einer besonderen Anwendung elektrisch aktiviert werden, um Daten zu übertragen.
  • Der Dekodierer ermittelt beim Empfang der Übertragung die unverschlüsselte Seriennummer und den verschlüsselten Teil. Er vergleicht die Seriennummer mit den Seriennummern der gelernten Kodierer, die in seinem Speicher gespeichert sind. Wenn keine Übereinstimmung gefunden wird, wird die Übertragung verworfen. Wenn ein passender Wert gefunden ist, wird der Dekodierschlüssel, der in dem Speicher der mit der passenden Seriennummer verbunden ist, benutzt, um die verschlüsselte Information mit einem Dekodierungsalgorithmus zu dekodieren. Die Integrität der Übertragung wird geprüft, um zu verifizieren, dass das Signal korrekt empfangen und dekodiert wurde. Wenn dieses gültig ist, wird der Zähler geprüft. Wenn das gültig ist, wird die Dekodierzählerinformation aktualisiert und die Ausgabefunktionssteuerung wird aktiviert. Wenn der Zähler nicht gültig ist, wird die Übertragung verworfen.
  • Die Vorteile dieses Sicherheitssystems sind, dass die Übertragungen immer unterschiedlich sind ohne Eingriff von dem Benutzer und dass der Lernprozess in einer sicheren Art durchgeführt wird. Der lernende Dekodierer muss zugriffsbereit sein und verfügbar und eine Information in Bezug auf den Herstellerschlüssel muss in dem Dekodierer zur Verfügung stehen.
  • In einer anderen Ausführungsform wird sogar ein noch sicherer Lernprozess realisiert. Unter Verwendung eines Algorithmus und eines Herstellerschlüssels zusammen mit einem einzigartigen Schlüsselgenerierungs-Startparameter, der für jeden Kodierer ausgewählt wird, wird ein Kodierungsschlüssel erzeugt. Der Schlüsselgenerierungs-Startparameter und der Benutzerschlüssel werden in jedem Kodierer zusammen mit der Kodiererseriennummer und der Management-Kode-Information programmiert. Der Schlüsselgenerierungsalgorithmus und der Herstellerschlüssel müssen in keinem einzigen Kodierer vorhanden sein. Keine mathematische Verbindung ist erforderlich oder sollte zwischen Kodierer-Seriennummern und Schlüsselgenerie rungs-Startparametern existieren. Wenn ein Dekoder einen neuen Kodierer kennen lernen soll, wird der Kodierer in einen Lernmodus gestellt und der Schlüsselgenerierungs-Startparameter und die Seriennummer werden zu dem Dekodierer übertragen. Der Dekodierer erzeugt einen Schlüssel für diesen Kodierer unter Verwendung des Herstellerschlüssels, des Schlüsselgenerierungs-Startparameters und des Schlüsselgenerierungsalgorithmus. Da der Schlüsselgenerierungs-Startparameter nur während des den Lernprozess gesendet wird, ist unter Normalbetrieb ein nicht autorisierter Zugriff nicht möglich, selbst wenn der Herstellerschlüssel bekannt ist.
  • In einer weiteren Ausführungsform des sichereren Lernprozesses kann ein einzigartiger Herstellerschlüssel für jeden Sender für die Berechnung des Schlüssels für diesen Sender verwendet werden. Alle Dekodierer müssen deshalb nicht einen vollständigen Herstellerschlüssel enthalten. Während des Lernens wird der Herstellerschlüssel, der zu einem bestimmten Kodierer gehört, von der Schlüsselgenerierungsinformation, die von dem Kodierer empfangen wird, abgeleitet. Der Herstellerschlüssel kann durch Modifizieren und Vergrößern eines gespeicherten vollständigen oder teilweisen Herstellerschlüssels oder unter Verwendung der hereinkommenden Schlüsselgenerierungsinformation exklusiv abgeleitet werden, um den Herstellerschlüssel zu bestimmen.
  • Der Dekodierer kann dann den Kodiererschlüssel unter Verwendung des modifizierten oder vergrößerten Herstellerschlüssels und eines oder mehreren der Folgenden berechnen: der Kodierer-Seriennummer, derselben Schlüsselgenerierungsinformation, die für die Bestimmung des Herstellerschlüssels verwendet wird, und weiterhin der Schlüsselgenerierungsinformation, die von einer weiteren Übertragung erhalten wird.
  • Der Rest des Lernprozesses ist identisch mit den beschriebenen Prozessen.
  • In noch einer anderen Ausführungsform des sichereren Lernprozesses kann der einzigartige Kodiererschlüssel ohne zusätzliche gespeicherte oder geheime Informationen abgeleitet werden, jedoch von einer Information, die als ein lernender Startparameter gesendet wird. In dieser Ausführungsform ist kein Herstellerschlüssel in dem Dekodierer erforderlich.
  • In irgendeinem oder in allen dieser Ausführungsformen kann der Kodierer konstruiert sein, um zu ermöglichen, eine Übertragung der Schlüsselgenerierungsinformation permanent, nachdem der Lernprozess vollendet ist, abzuschalten. Der Abschaltungsvorgang kann mittels eines besonderen Eingabefehls durch einen programmierenden Vorgang oder automatisch durchgeführt werden. Automatische Prozesse können ein Zählen der Zahl der Aktivierungen des Senders und ein Abschalten der Übertragung der Schlüsselgenerierungsinformation nach einem oder einer vorbestimmten Anzahl von Vorgängen beinhalten.
  • Ein Verifikationsprozess wird initialisiert, um zu verifizieren, dass der korrekte Schlüssel erzeugt worden ist und dass andere Kodiererinformationen gespeichert wurden. Bei Vollendung wird der Kodierer nun ein gültiger Kodierer mit korrekter Synchronisationsinformation. Dieser Verifikationsprozess stellt auch sicher, dass Sender mit kriminellen Kodierern oder Sendern von anderen Herstellern, die nicht den korrekten Herstellerschlüssel aufweisen, nicht ausgebildet werden können.
  • Die Verwendung eines Schlüsselgenerierungs-Startparameters schützt die Sicherheit des Systems in dem Fall des nicht autorisierenden Abtastens der Seriennummer eines Kodierers. Mit den bekannten Seriennummern ist es sehr unwahrscheinlich aber möglich, dass ein Kodierer gefälscht werden kann, wenn ein Zugriff zu dem Herstellerequipment und zu dem Herstellerschlüssel erreicht wird. Wenn ein Schlüsselgenerierungs-Startparameter jedoch verwendet wird, kann der Schlüs sel, der in dem Dekoder gespeichert ist, nicht erzeugt werden ohne Zugriff auf den Sender oder auf den Token des Eigentümers zu haben.
  • Nachdem der Lernvorgang erfolgreich durchgeführt worden ist und der Dekoder zurück zu dem normalen Betriebszustand gekehrt ist, kann der Kodierer verwendet werden, um den Dekodierer auf normale Weise zu aktivieren. Das bedeutet, dass erneut die Seriennummer verglichen wird gegenüber den gelernten Systemen. Eine spezielle Baud-Ratenkompensationsschaltung kann während des Empfangsprozesses verwendet werden, um einen zuverlässigen Kodeempfang zu ermöglichen. Der gespeicherte Schlüssel, der mit der Kodierer-Seriennummer zusammenhängt, wird verwendet, um die Übertragung zu dekodieren. Die Integrität der empfangenen und dekodierten Übertragung wird auf ihre Gültigkeit durch Vergleichen der Management-Kode-Information geprüft, die von dem Kodierer empfangen und mit der gespeicherten Information dekodiert wurde. Ein ähnlicher Prozess wird auf die zugehörige Zählerinformation angewandt. Wenn diese erfolgreich ist, wird die Zählerinformation aktualisiert und das vorbestimmte Ausgangssignal ausgewählt, das in der korrekten externen Funktion, die aktiviert wird, resultiert.
  • Um einen Eindringling am Abfangen von Schlüsselinformationen zu hindern und ein Sicherheitssystem zu kompromittieren-, ist es wünschenswert, dass die Schlüsselinformation nicht übertragen werden sollte. Ein Kode-Hopping macht es unmöglich für einen Eindringling einen nicht autorisierten Zugriff auf den Dekoder oder die Lernfähigkeit des Dekoders unter Verwendung des Kode-Abfangens oder der Generierung zu erlangen oder durch Initialisieren eines nicht autorisierten Kode-Hopping-Kodierers.
  • Das beschriebene System macht Gebrauch von den gespeicherten Schlüsseln in dem Dekodierer, um eingehende Übertragungen zu dekodieren. Eine alternative Anordnung für ein Lern system ist es, nur den Schlüsselgenerierungs-Startparameter zu speichern anstelle des vollständigen Schlüssels an dem Ort des Dekodierschlüssels. Während der Dekodierungsvorgänge wird der korrekte Schlüssel von einer Auswahl aus dem zugehörigen Startparameter, der Seriennummer und des Herstellerschlüssels erzeugt. Der Vorteil ist, dass weniger nicht-flüchtiger Speicherplatz erforderlich ist, da der Schlüsselerzeugungs-Startparameter weniger Speicherplatz erfordern kann als der Schlüssel selbst. Der korrekte Schlüssel wird in einem RAM, wenn immer erforderlich ist, erzeugt. Da einige Kodierer von einem einzigen Dekodierer ausgebildet werden können und der RAM immer wieder verwendet werden kann, kann diese Realisierung ökonomisch sein.
  • Diese Erfindung kann in unterschiedlichen Konfigurationen verwendet werden, um einen Hersteller in die Lage zu versetzen, ihre Prinzipien zu nutzen z. B. in einem Fahrzeugsicherheitssystem, einem Fernsteuerungssicherheitssystem für Türen oder Tore oder in einem System, den persönlichen Zugang zu einem Sicherheitsbereich zu steuern. Unterschiedliche Arten der Übertragungsmittel können auch verwendet werden z. B. eine Radio-, eine Infrarot- oder eine physische Drahtverbindung.
  • Kurze Beschreibung der Zeichnungen
  • Die Erfindung wird weiterhin mit Hilfe eines Beispiels mit Bezug auf die angefügten Zeichnungen beschrieben, in denen:
  • 1 eine vereinfachte Darstellung in Blockdiagrammform eines Kodierers und einer Datenübertragungsschnittstelle und eines Dekodierers und einer Datenübertragungsschnittstelle in einem Zugriffsteuerungssystem gemäß der Erfindung ist;
  • 2 ein Blockdiagramm in größerem Detail des Kodierers der 1 ist;
  • 3 ein Blockdiagramm in größerem Detail des Dekodierers der 1 ist;
  • 4a und 4b Flussdiagramme des Betriebs eines Lernalgorithmus, der in dem System der Erfindung ausgeführt ist, sind; und
  • 5 ein Diagramm für das Speicherformat von Parametersätzen, die in dem Kodierer und dem Dekodierer der Erfindung verwendet werden, ist.
  • Beschreibung der bevorzugten Ausführungsform
  • Die Erfindung wird hiernach zuerst in einem allgemeinen Sinne mit Bezug auf 1 beschrieben, um die Prinzipien der Erfindung zu erläutern und danach mit Bezugnahme auf die 2 bis 5 in einer näher detaillierten Weise zu beschreiben, die auf eine praktische Ausführungsform der Erfindung bezogen ist.
  • Vereinfachte Beschreibung
  • 1 ist ein vereinfachtes Blockdiagramm eines Senders, der einen Kodierer 10 und eine Datenübertragungsschnittstelle 11 und einen Empfänger, der einen Dekodierer 12 und eine Datenübertragungsschnittstelle 13 aufweist, die in einem Kode-Hopping-Fernsteuerungssystem verwendet werden. Detailliertere Funktionen und mehrfache Kodierer/Dekodierer-Kombinationen wurden nur aus Gründen der Klarheit weggelassen.
  • Die Erfindung betrifft primär die Realisierung des Lernens in einem Kode-Hopping-System. Das Lernen wurde realisiert in standardfixierten Kodesystemen, aber die Hopping-Systeme stellen eine einzigartige Herausforderung dar. Die Informationen, die verschlüsselt durch den Kodierer sind, können nicht dekodiert werden außer man hat einen Zugriff zu einem Bedienerschlüssel und die kodierte Information kann konsequenterweise nicht verwendet werden, um den Schlüssel an den Dekodierer zu senden. Die Erfindung richtet sich darauf, dieses Problem zu überwinden.
  • Der Kodierer beinhaltet einen Schalterkodierer 14, eine Zähler/Speicher- und Fehlerkorrektur 16, einen Management-Kode-Speicher 17, einen nicht-linearen Kodierer 18, der einen Kodieralgorithmus aufweist, einen Speicher 20 für einen Schlüsselgenerierungs-Startparameter, einen Speicher 22 für einen Benutzerschlüssel, einen Speicher 24 für eine Seriennummer, die mit dem Kodierer verbunden ist und mit einem breitenmodulierten Kodegenerator (PWM) 26 verbunden ist.
  • Der Dekodierer 12 beinhaltet eine Steuerung 31, einen Format-Detektor 32, einen Dekodierer 34, der einen Dekodierungsalgorithmus aufweist, ein Integritätsprüfungsteil 35, eine Zählerstandsynchronisationsprüfungseinheit 36, eine Ausgabe-Managementfunktion 38, einen Zähler/Speicher 40 für einen Herstellerschlüssel, einen Schlüsselgenerierungsalgorithmus/Steuerungseinheit 42, einen Speicher 43 für den Management-Kode, einen Speicher 44 für einen Dekodiererschlüssel und eine Zähler/Speicher und Fehlerkorrektur 46 für eine Zählerinformation.
  • Der Schalterkodierer 14 ist spricht an auf eine Vielzahl von Schaltern 48, die mit Hand betätigbar werden. Wenn ein Schalter betätigt wird, ist der Kodierer 10 als ganzes aktiviert. Der Kodierer kann in einer von einer Vielzahl von Moden funktionieren, wie es mit der folgenden Beschreibung deut lich wird, mit dem Kodiererbetriebsmodus, der durch den Schalter bestimmt wird oder durch eine Kombination von Schaltern, die betätigt werden. Die Kodiererfunktionen werden durch eine Steuerung 49 gesteuert.
  • Die Steuerung 49 des Kodierers steuert den Kodiererbetrieb. Die Steuerung 49 ist mit jedem Teil des Kodierers verbunden und überprüft den Betriebszustand jedes Teiles und stellt Betriebssteuersignale zu jedem Teil bereit, um den Betrieb und das Funktionieren des Kodierers als ganzes zu steuern. Die Kodierkommandos werden von dem externen Schalter empfangen und verwendet, um Betriebssteuerungssignale an die übrigen Kodierer auszulösen. Die Steuerungssignale können aus Kodierungsmodusänderungen, einer Auswahl der Übertragungsinformationen und der Betätigung all der unterschiedlichen Teile, wenn nötig nach Bedarf bestehen.
  • Die Steuerung 31 des Dekoders steuert den Dekodierer in einer ähnlichen Weise, welche durch die Steuerung 49 für den Kodierer durchgeführt wird. Die Steuerung 31 ist mit jedem Dekodiererteil verbunden. Es prüft den Betriebszustand von jedem Teil des Dekodierers und stellt Betriebssteuerungssignale für jedes Teil bereit, um den Betrieb und die Funktionsfähigkeit des Dekodierers insgesamt von den Dekodierkommandos, die von dem Formatdetektor und dem Modeauswahleingabessignalen empfangen werden, zu steuern. Die Steuerungssignale können aus den Dekoderzustandsänderungen bestehen, wie der Auswahl der Schlüsselgenerierung, dem Speichern der Informationen, wie Schlüssel und Seriennummern, der Integritätsüberprüfung, der Synchronisation und Zählerstandsspeicherung und den Ausgangssignalen.
  • Die Steuerung 49 kann entweder in einem von zwei Moden arbeiten, nämlich einem Lernmodus oder einem normalen Betriebskodierungsmodus. Jeder Modus kann gewählt werden, wie bereits aufgezeigt, durch eine geeignete Auswahl der Schalter 48 oder in irgendeiner anderen geeigneten Weise speziell für die Anwendungsanordnung des Kodierers. Wenn ein Befehl durch den Schalterkodierer 14 eingegangen ist, werden Steuerungssignale durch die Steuerung 49 ausgegeben. In dem normalen Betriebsmodus werden die Steuerungssignale zum Betreiben des Zähler/Speicher und Fehlerkorrekturteils 16, des Management-Kode-Speicher 17, des nicht-linearen Kodierers 18, des Schlüsselspeichers 22, der Seriennummerspeicherung 24 und dem PWM Kodegenerator 26 eingesetzt, um die geeignete Ausgabe von jedem spezifischen Teil auszuwählen und zu aktivieren. Dieses sichert, dass der Kodierer, wie beschrieben insbesondere hiernach beschrieben wird, funktioniert.
  • Wenn der Kodierer in dem Lernmodus verwendet wird, gibt die Steuerung 49 Steuerungssignale an die Startparameterspeicherung 20, den Speicher für die Seriennummer 24 und den PWM Kodegenerator 26, um die geeignete Ausgabe für jedes spezifische Teil auszuwählen und zu aktivieren. Dieses stellt sicher, dass der Kodierer, wie spezieller hiernach beschrieben, funktionieren wird.
  • Die Steuerung 31 des Dekodierers kann in jedem von zwei Moden funktionieren, nämlich einem Lernmodus und einem normalen Betriebskodierungsmodus. Der Modus kann gewählt werden durch geeignete interne oder externe Schaltung. Eine interne Schaltung kann durch den normalen Erfassungs- und Dekodierungsbetrieb, wie hiernach beschrieben wird, aktiviert werden, um den Dekoder in den Lernzustand zu versetzen. Eine externe Schaltung wie ein Druckschalter 110 oder andere Schaltungsmittel können ebenfalls benutzt werden.
  • In einem normalen Betriebsmodus, wenn der Dekodierer ein empfangenes Signal unter Verwendung des Formatdetektors 32 detektiert hat, entscheidet die Steuerung 31 über die Steuerungssignale den Dekoder zu betreiben. Die Steuerungssignale werden an die Schlüsselgenerierungsalgorithmus/Steuerungs einheit 42, den Schlüsselspeicher 44, den Dekodierer 34, den Managementspeicher 43, die Integritätsprüfung 35, die Zähler/Speicher und Fehlerkorrektur 46, die Zählerstandsprüfung 36 und das Ausgabemanagement 38 ausgegeben, um die geeignete Ausgabe für jedes spezielle Teil auszuwählen und zu aktivieren. Diese stellt sicher, dass der Kodierer die hiernach spezieller beschriebene Funktion ausführt.
  • Wenn der Dekodierer in dem Lernmodus verwendet wird, gibt das Steuergerät 31 Kommandos an die Schlüsselgenerierungsalgorithmus/Steuerungseinheit 42, die Schlüsselsspeicherung 44, den Dekodierer 34, den Managementspeicher 43, die Integritätsprüfung 35, die Zähler/Speicher und Fehlerkorrektur 46, das Ausgangsmanagement 38 und die Lernsteuerung 100 aus. Dieses stellt sicher, dass der Dekodierer die geeigneten Informationen speichert und wie hiernach speziell beschrieben, funktioniert.
  • In dem normalen Betriebsmodus wird die Zähler/Speicher und Fehlerkorrektur 16 jedes Mal aktiviert, wenn der Kodierer 10 verwendet wird. Sein Zählerstand ist deshalb ein Indikator für die Anzahl des Benutzens des Kodierers. Der Zählerstand wird in einem nicht-flüchtigem Speicher gespeichert. Der Speicher wird nur betrieben, wenn Strom an den Kodierer geliefert wird. Wenn der Zählerstand geändert wird und gleichzeitig die Stromversorgung abgeschaltet ist, kann das falsche zu speichernde Werte verursachen. Aus diesem Grunde ist eine Fehlerkorrekturfunktion in die Zähler/Speicher und Fehlerkorrektur 16 eingeschlossen. Die Zählerinformation wird in dem nicht-linearen Kodierer 18 unter Verwendung des Benutzerschlüssels in dem Speicher 22 kodiert. Die Ausgabe des Kodierers 18 umfasst somit eine veränderbare Information, die in dem Generator 26 mit der Seriennummer von dem Speicher 24 kombiniert wird. Die Seriennummer, wie beschrieben wurde, hängt mit dem Kodierer zusammen. Der Ausgang des Generators 26 wird an die Datenübertragungsschnittstelle 11 angeschlossen und zu der Datenübertragungsschnittstelle 13 und dem Dekodierer 12 gesendet. Die Seriennummer kann auch ein Teil einer Einheitsnummer sein, um einzigartig eine Kodierungseinheit zu identifizieren.
  • Es ist festzustellen, dass der Kodierer und der Dekodierer direkt miteinander verbunden sein können, z. B. mittels eines Drahtes, oder dass der Kodierer oder der Dekodierer entfernt voneinander verbunden sind und die Übertragung der Informationen durch ein Radiosignal, durch optische, mit einer Infrarotfrequenz oder auf irgendeine andere geeignete Weise durchgeführt wird.
  • Das Signal, das vom Dekoder 12 unter Verwendung der Datentransferschnittstelle 13 empfangen wird, wird zu einem Logiksignal, das seinerseits durch den Formatdekoder 32 in eine Zahl, die auf den Dekodierer 34 angewendet wird, konvertiert wird. Der Detektor kann ein Pulsbreitenmodulations-Kodedetektor sein. Der Dekodierungsalgorithmus des Dekoders 34 dekodiert den variablen Abschnitt der Zahl, unter Erhalten von Zähler- und Management-Kode-Informationen, die Integrität dieser wird durch den Teil 35 unter Verwendung der Management-Kode-Information in dem Speicher 43 geprüft, um die Gültigkeit des dekodierenden Vorgangs zu verifizieren. Wenn er gültig ist, vergleicht die Einheit 36 die dekodierte Zählerinformation mit der Zählerinformation, die in dem Speicher 46 gehalten wird, um zu bestimmen, dass die dekodierte Anzahl gültig ist und nicht vorher verwendet wurde. Wenn der Empfang gültig ist, dann werden die relevanten Ausgaben durch die Ausgabe-Managementfunktion 38 aktiviert.
  • Um ein Lernen zu implementieren, versetzt der Benutzer den Dekodierer 12 in einen Lernzustand. Der Kodierer 10 wird auch effektiv in einen Lernmodus durch Aktivierung der geeigneten Schalter 48 eingestellt. In diesem Fall wird der Schlüsselgenerierungs-Startparameter, der in dem Speicher 20 gehal ten wird, zusammen mit der Seriennummer in dem Speicher 24 an den Generator 26 geschaltet. Es ist festzustellen, dass der Schlüsselgenerierungs-Startparameter nur während des Lernvorgangs verwendet wird. Der gesamte Betrieb des Dekoders wird durch die Steuerung 31 gesteuert.
  • Die Datenübertragungsschnittstelle 11 sendet somit die Information über den Schlüsselgenerierungs-Startparameter und die Seriennummer an den Dekodierer 12. Die Datenübertragungsschnittstelle 13 empfängt diese Information, die dann durch den Detektor 32 erfasst wird und gibt sie an die Schlüsselgenerierungseinheit 42 weiter. Diese Einheit rechnet einen Dekodierschlüssel aus, der auf dem hereinkommenden Schlüsselgenerierungs-Startparameter und dem Herstellerschlüssel basiert, der in dem Speicher 40 gehalten wird. Der neuerlich erzeugte Dekodierschlüssel wird in dem Platz 44 gespeichert und kann für alle zukünftigen Dekodierungsvorgänge verwendet werden, die mit dem Dekodieralgorithmus des Dekodierers 34 arbeiten.
  • Der Schlüsselgenerierungsalgorithmus, der in der Schlüsselgenerierungseinheit 42 während des sicheren Lernprogramms verwendet wird, ist gewöhnlicherweise ein nicht-linearer Algorithmus. Dieser Algorithmus akzeptiert eine Eingabe des Herstellerschlüssels 40 (nicht gezeigt) und der Schlüsselgenerierungsinformation. Die Schlüsselgenerierungsinformation kann aus der Kodierer-Seriennummer 24 oder dem Startparameter 20 oder beiden bestehen. Die Schlüsselgenerierungsinformation kann verwendet werden, um den Herstellerschlüssel, der in dem Dekodierer gespeichert wurde, bevor der neue Schlüssel berechnet wurde, zu modifizieren oder zu vergrößern. Alternativ kann der Dekodierer keinen einzigen Herstellerschlüssel aufweisen und kann den Kodierungsschlüssel einzig und allein von der Schlüsselgenerierungsinformation, die durch den Kodierer gesendet wird, abgeleitet sein oder es wird die Schlüsselgenerierungsinformation direkt als Dekodie rungsschlüssel verwendet. Diese Information wird von dem Kodierer in einem Lernvorgang an den Dekodierer übertragen.
  • Der Dekoder 12 verwendet den Schlüsselgenerierungsalgorithmus, um einen Schlüssel zu erzeugen, der in dem Speicher 44 gehalten wird, welcher verwendet wird, um eine normale Kode-Hopping-Übertragung zu dekodieren. Die Sicherheit dieses Mechanismus ergibt sich aus der Tatsache, dass die Beziehung zwischen dem gesendeten Startparameter und dem Dekodierungsschlüssel nicht bekannt ist, was jede Art des Eingriffs auf die Übertragung nutzlos werden lässt. Die nicht-lineare Schlüsselgenerierungsfunktion macht es auch unmöglich, irgendeine Beziehung zwischen dem Schlüssel und der Schlüsselgenerierungsinformation herzustellen und somit kann kein nicht-legitimierter Kodierer produziert werden. Der Schlüssel 22, die Seriennummer 24 und der zufällig erzeugte Startparameter 20 eines Kodierers 10 werden während des Herstellungsprozesses geladen. Der Hersteller erzeugt den Schlüssel unter Verwendung des Startparameters, der Seriennummer des Herstellerschlüssels und des Schlüsselgenerierungsalgorithmus. Der Schlüsselgenerierungsalgorithmus ist der Öffentlichkeit nicht bekannt. Da der Startparameter eine Zufallsnummer ist und die Seriennummer auch in dem Prozess verwendet wird, ist die Möglichkeit der Herstellung von zwei Kodierern mit den gleichen Schlüsseln sehr klein.
  • Die Verifizierung des Lernprozesses wird wie folgt bewirkt. Der Benutzer drückt den geeigneten Schalter 48 für den normalen Betrieb des Kodierers 10, dadurch verursacht er die Übertragung des variablen Kodes, der durch den nicht-linearen Kodierer 18 produziert wird und der Seriennummer, die in dem Speicher 24 gehalten wird. Der neuerlich erzeugte Dekoderschlüssel in dem Speicher 44 wird zum Dekodieren des hereinkommenden Kodes in dem Dekodieralgorithmus des Dekodierers 34 verwendet. Die Management-Kode-Information, die dadurch er zeugt wird, wird verwendet, um die Gültigkeit des Dekodiervorgangs durch seinen Vergleich mit dem Management-Kode in dem Speicher 34 zu verifizieren. Die hereinkommende Zählerinformation wird in dem relevanten Speicherplatz 46 gespeichert. Eine Fehlerkorrekturfunktion ist in der Einheit 46 enthalten, um sicherzustellen, dass wenn falsche Daten während eines Stromausfalls gespeichert werden, die korrekten Daten rückgewonnen werden können, sobald die Stromversorgung für den Dekodierer wieder hergestellt ist.
  • Der Benutzer aktiviert dann den Kodierer 10 erneut. Noch einmal werden der resultierende variable Kode und die Seriennummer durch die Datenübertragungsschnittstelle 13 empfangen. Der variable Kode wird dekodiert durch den Dekodierungsalgorithmus des Dekoders 34 unter Verwendung des neuerlich erzeugten Dekodierschlüssels. Die Zählerinformation, die sich aus der Übertragung ergibt, wird gegenüber der Zählerinformation, die in dem Speicherplatz 46 gehalten wird, geprüft. Wenn der Vergleich anzeigt, dass die beiden variablen Kodeübertragungen nachfolgend sind, dann wird angenommen, dass der Lernvorgang gültig war und der Dekodierer wird aus dem Lernmodus herausgenommen. Das System kann nun für einen normalen Betrieb verwendet werden.
  • Eine spezielle Beziehung existiert zwischen dem Schlüsselgenerierungs-Startparameter in dem Speicher 20 und dem Benutzerschlüssel, der in dem Speicher 22 gehalten wird. Diese Beziehung hängt von dem Herstellerschlüssel, der in dem Speicher 40 gehalten wird, ab. Der Herstellerschlüssel ist jedoch nicht in dem Kodierer programmiert, sondern anstelle dessen wird er in einer Produktionslinien-Programmierungseinheit verwendet, die entsprechende Schlüsselgenerierungs-Startparameter und Benutzerschlüssel in den entsprechenden Kodierern programmiert. Der Herstellerschlüssel wird andererseits vollständig oder teilweise in jedem der Dekodierer programmiert und wird während des Lernens in der oben beschriebenen Weise verwendet, um den korrekten Dekoderschlüssel zu berechnen, welcher dann in dem Speicherplatz 44 von dem empfangenen Schlüsselgenerierungs-Startparameter gehalten wird.
  • Die Berechnung des Dekodierschlüssels kann eine Vergrößerung oder eine Modifikation des Herstellerschlüssels von der Schlüsselgenerierungsinformation betreffen. Alternativ kann der Dekodierer überhaupt keinen Herstellerschlüssel enthalten und der Dekodierschlüssel kann einzig und allein von der Schlüsselgenerierungsinformation, die durch den Kodierer gesendet wird, abgeleitet werden oder die Schlüsselgenerierungsinformation direkt als einen Dekodierungsschlüssel verwenden.
  • In einer Variation des Lernprozesses wird die Seriennummer, die in dem Speicher 24 gehalten wird, durch die Schlüsselgenerierungseinheit 42 verwendet, um den Dekoderschlüssel zu erzeugen. In diesem Falle besteht keine Notwendigkeit für den Kodierer, die Fähigkeit des Übertragens des Schlüsselgenerierungs-Startparameters aufzuweisen. Weiterhin existiert eine spezielle Beziehung zwischen der Seriennummer und dem Benutzerschlüssel eher als zwischen dem Schlüsselgenerierungs-Startparameter und dem Benutzerschlüssel.
  • Die Seriennummer ist in jeder Übertragung vorhanden. Somit kann der Kodierer, von dem die Übertragung erzeugt wird, identifiziert werden, obwohl selbst ein Außenseiter keinen Zugriff zu der Information, die in der Übertragung enthalten ist, gewinnen kann. Die Seriennummer kann verwendet werden, um mehrere Kodierer in einem einzelnen System zu identifizieren, und ermöglicht damit mehrere bestimmte Kodierer in einem einzigen Dekodierungssystem unterzubringen.
  • Funktionale Beschreibung
  • Die folgende Beschreibung, die auf den 2 bis 5 der anliegenden Zeichnungen basiert, wird mit Bezug auf eine praktische Ausführungsform des Steuerungssystem der Erfindung, welches die allgemeinen Prinzipien, die im Zusammenhang mit 1 beschrieben wurden, ausführt.
  • Dort, wo es passt werden ähnliche Referenznummern zu denen, die in 1 eingesetzt sind, in den 2 bis 5 verwendet, um ähnliche Komponenten zu kennzeichnen.
  • 2 zeigt eine Ausführung eines Kode-Hopping-Fernsteuerungsenders, der einen Kodierer 10, Schalter 48, eine Steuerung 49, eine Stromversorgung 50 und eine Datenübertragungsschnittstelle 11 umfasst, die alle in einem Schutzgehäuse untergebracht sein können, zu dem ein Schlüsselring passt, der dem Benutzer ermöglicht, den Sender bequem zu transportieren. Die Schalter 48 können Druckknopfschalter zur Aktivierung durch Fernsteuerung der unterschiedlichen Funktionen des Sicherheitssystems sein und möglicherweise für die Stromversorgung von einem Stromversorger 50, der eine Batterie sein kann, für den gesamten Sender.
  • Alle Elemente, die in dem Blockdiagramm neben dem Stromversorger 50, den Knopfschaltern 48 und der Datenübertragungsschnittstelle 11 gezeigt werden, können in einem einzigen integrierten Schaltkreis eingebaut sein. Ein anwendungsspezifischer integrierter Schaltkreis ist die bevorzugte Ausführungsform, um einen Nachbau so schwierig wie möglich zu machen. Der Nachbau besitzt ein Sicherheitsrisiko in den Sicherheitssystemen, wenn der volle Zugriff zu dem Algorithmus und der gespeicherten Information durch diesen Prozess bereitgestellt wird.
  • Der Kodierer 10 beinhaltet einen Schalterkodierer 14, um Informationen zu kodieren, die die Schalter 48 welche gedrückt werden betreffen und gibt eine verschlüsselte Information 52 aus, welche zum Steuern des Betriebs des Kodierers un ter Verwendung der Steuerung 49 sowie unter Verwendung anderer Teile verwendet wird, und welche kodiert sein kann als eine „Funktionsanforderung", um die Funktionen, die durch den Dekodierer 12 zu aktivieren sind, zu bestimmen. Die Steuerungsfunktionen schließen ein Auswählen des Modus des Betriebs des Serienkodegenerators 26 und ein Auswählen des virtuellen Kodierers ein, der zu emulieren ist. (Die Bedeutung des Merkmals „virtueller Kodierer" wird mit der nachfolgenden Beschreibung deutlich.) Eine Funktionsanforderung kann einen der unterschiedlichen Ausgaben des Dekodierers aktivieren. Eine typische Anwendung wäre in einem Fahrzeugsicherheitssystem, wo unterschiedliche Dekodiererausgaben verwendet werden können, eine Wegfahrsperre zu entschärfen, einen Alarm scharf zu machen, den Alarm zu entschärfen und elektrische Fenster des Fahrzeugs zu bedienen.
  • Ein Beispiel des Schalterkodierers 14 ist es, wenn eine Anzahl b von Schaltern verwendet wird, um den Kodierer zu aktivieren, kodiert die Schalterkodierungsfunktion den Wert b zu erkennbaren Werten, die dem internen Schaltkreis des Kodierers zugeführt werden. Beim Pressen von zwei Schaltern zur gleichen Zeit kann z. B. ein bestimmter Wert durch den Schalterkodierer 14 erzeugt werden, der den Kodierer zum Übertragen der kodiererbezogenen Information aktiviert. Wenn einer der gleichen zwei Schalter getrennt verwendet wurde, wird ein vollständig anderer Wert durch den Schalterkodierer 14 erzeugt, der in einer Auswahl und einer Übertragung von unterschiedlichen Informationen resultiert. Das bedeutet, dass mit b Schaltern, 2b unterschiedliche Funktionen erkannt und ausgewählt werden können. Der Schalterkodierer 14 kann auch verwendet werden, um die Kodierer in einen Lernmodus durch Programmieren der Kodierungsfunktion zu versetzen, um einen vorbestimmten Wert auszugeben, der vorgezeigt werden kann, wenn irgendeiner oder eine Kombination der Schalter gedrückt wird.
  • Ein Abschnitt des nicht-flüchtigen Speichers 54 wird verwendet, um eine Mehrzahl von Parametersätzen 56A ... 56N zu speichern. Jeder Parametersatz besteht aus einem festen Schlüsselgenerierungs-Startparameter 60, der dem Startparameter, der in dem Speicher 20 der 1 gehalten wird, einer Seriennummer 62, die der Seriennummer, die in Speicher 24 der 1 entspricht einem Kodier- oder Benutzerschlüssel 64, der dem Benutzerschlüssel, der in dem Speicher 22 gehalten wird, entspricht, dem Zähler und der Fehlerkorrekturinformation 66, welche die Zählerinformation einschließt, die in die Zähler/Speicher und Fehlerkorrektur 16 beinhaltet, und einem Management-Kode 68, der dem in dem Speicher 17 gehaltenen Kode entspricht.
  • Wie bereits erwähnt wurde ein Bereitstellen für das Speichern mehrerer Parametersätzen 56 durchgeführt. Jeder Parametersatz ist einem wie hierin bezeichnet „virtuellen Kodierer" zugehörig, wobei der Kodierer als irgendeiner der unterschiedlichen virtuellen Kodierer abhängig davon welcher Schalter 48 gedrückt wird, arbeiten kann.
  • Die Zähler/Speicher und Fehlerkorrektur 16 wird jedes Mal aktualisiert, wenn der Kodierer betätigt wird. Wenn mehrere Parametersätze verwendet werden, wird jedoch nur die Zählerinformation in einem speziellen Parametersatz jedes Mal aktualisiert, wenn der entsprechende virtuelle Speicher verwendet wird.
  • Ein spezieller Kodierer kann entweder als ein einzelner gespeicherter Parametersatz 56 zusammen mit unterschiedlichen Funktionsanfragen oder mit unterschiedlichen Parametersätzen mit ähnlichen oder unterschiedlichen Funktionsanfragen verwendet werden. Typischerweise werden unterschiedliche Parametersätze verwendet, wenn zu mehreren unterschiedlichen Dekodierern zugegriffen werden soll. Mehrere Funktionen können in jedem dieser Kodierer erreichbar sein. Ein einzelner Kodierer kann deshalb konfiguriert sein, um alle Dekodierer unter Verwendung unterschiedlicher Parametersätze zu erreichen und kann in der Lage sein unterschiedliche Funktionsanfragen mit jedem der Parametersätze zu kombinieren.
  • Die Seriennummer 62 ist für einen speziellen Kodierer einzigartig und wird mit jeder Ausgabe von diesem speziellen virtuellen Kodierer entschlüsselt. Der Kodierungs- oder Benutzerschlüssel 64 ist eine Zahl, die einzigartig für einen speziellen virtuellen Kodierer ist und die verwendet wird, um die Übertragung in einer Weise zu kodieren, dass die ursprüngliche kodierte Information nicht durch Außenseiter zurückgewonnen werden kann. Der Management-Kode 68 besteht aus Informationen über den Status des speziellen virtuellen Kodierers und kann Abschnitte beinhalten mit vordefinierten Werten für ein Prüfen der Integrität der Dekodierungsvorgänge in dem Dekodierer. Die Zähler- und Fehlerkorrekturinformation 66 ist der Zählerstand eines 16-Bit-Zählers, der zum Feststellen der Synchronisation zwischen dem Kodierer und dem Dekodierer verwendet wird, und der hinsichtlich eines Fehlers korrigiert, wenn ein verdächtiger Fehler während eines Speichervorgangs auftritt. Der Zählerstand wird jedes Mal, wenn der virtuelle Kodierer betrieben wird, geändert. Der Schlüsselgenerierungs-Startparameter 60 ist eine Zahl, die mit Bezug auf die 1 erwähnt wurde, die eine spezielle Beziehung zu dem Kodierungsschlüssel 64 aufweist. Während der Schlüssel lesegeschützt ist, ist der Startparameter 60 nicht notwendigerweise unerreichbar. Jedoch ist die Beziehung zwischen den beiden ausreichend unverständlich, so dass ein Außenseiter nicht in der Lage ist, den Schlüssel von dem Wert des Startparameters abzuleiten.
  • Das Mittel 61 kann auch permanent enthalten sein, um die Übertragung des Startparameters 60 abzuschalten, nachdem das Lernen vollendet worden ist. Das Abschaltmittel kann automatisch (z. B. wenn eine vorbestimmte Nummer von Übertragungen durchgeführt sind) oder durch eine bewusste Aktion des Benutzers einschließlich einer aber nicht begrenzt auf eine spezifische Kombination von Eingaben aktiviert werden.
  • Der nicht-flüchtige Speicher 54 ist lesegeschützt, um eine genaue Prüfung der Kodierungsschlüssel 64 von außen zu verhindern. Ein Zugriff zu den Schlüsseln oder zu der Seriennummer 62, dem Startparameter 60 und dem Herstellerschlüssel in dem Speicher 40 kann einen Außenseiter in die Lage versetzen, einen ähnlichen Kodierer mit einem identischen Schlüssel zu programmieren und Zugriff zu dem System zu erlangen.
  • Der Kodierer schließt einen nicht-linearen Kodierer 18 ein, der einen Benutzerschlüssel 64 verwendet, um einen Eingabe-String zu kodieren. Die Schlüssellänge sollte ausreichend sein, um eine vernünftige Immunität gegen analytische Angriffe unter Berücksichtigung des Standes der Technik in der Computertechnologie zu sichern. Eine Schlüssellänge von 64 Bits wird als adäquat für Sicherheits- und Zugriffsteuerungssysteme erachtet. Die Verwendung längerer Schlüssel hat ungünstige Kostenfolgen, während kürzere Schlüssel ein vermindertes Sicherheitsniveau bereitstellen. Die Länge des Ausgabe-Strings 70 des nicht-linearen Kodierungsalgorithmus bestimmt die Zahl der Bits die durch den Kodierer kodiert sind. Ein 32-Bits-Ausgabe-String stellt eine gute Balance zwischen Sicherheit und Reaktionszeit bei typischen Fernsteuerungsübertragungsraten bereit. Der Eingabe-String an dem Kodierungsalgorithmus ist 32 Bits und enthält Funktionsinformationen 52 von dem Schalterkodierer 14 (4 Bits), der Zählerinformation 66 (16 Bits) und dem Management-Kode 68 (12 Bits) speziell zu dem Kodierer, der aktiviert wird. Der Management-Kode kann eine Systemzustandsinformation enthalten, die Batteriespannungsanzeigen und Modus-auswahlen einschließen.
  • Ein serieller Kodegenerator 26 wird verwendet, um den Kode, der zu senden ist, zusammenzufügen. Der Kode besteht entweder aus einer Kombination des 32-Bit-kodierten Strings 70, der durch den nicht-linearen Kodierer 18 erzeugt wird und der Seriennummer 62 des Kodierers oder aus einem festen Schlüsselgenerierungs-Startparameter 26 und der Seriennummer 62. Der Kodegenerator 26 implementiert auch das für die Übertragung durch die Datenübertragungsschnittstelle 11 erforderliche Modulationsschema, das in diesem Fall eine Impulsbreitenmodulation (PWM) ist.
  • Die Ausgabe 72 des seriellen Kodegenerators 26 wird durch die Schnittstelle 11 unter Verwendung von elektromagnetischen oder anderen Mitteln gesendet. Die Datenübertragungsschnittstelle 28 kann durch eine direkte Verbindung in dem Fall, in dem ein Fernbetrieb nicht erforderlich ist, ersetzt werden.
  • Der Kodierer schließt einen Statusmonitor 74 ein, der Teile ändern kann z. B. die Statusinformation des Management-Kodes 68 in einem bestimmten Speicherblock, abhängig von einer gewählten Option und von Konditionen, die in dem Kodierer existieren. Diese Änderungen können in dem Dekodierer erfasst werden, um eine Rückkopplung auf drohende Kodiererprobleme bereitzustellen z. B. einer schwachen Batterie. Die Zustandsaspekte, die überwacht werden, werden über ein Optionsregister 76 ausgewählt.
  • Die Optionen sind in dem Kodierer in dem Optionsregister 76 programmiert, welches einen Teil des nicht-flüchtigen Speichers bildet. Der Statusmonitor 74 wählt unterschiedliche Kodiererzustände entsprechend den Optionen, die in dem Optionsregister 76 programmiert sind, aus. Eine besondere vorbestimmte Option kann z. B. eine niedrige Batteriespannung anzeigen. Derselbe Wert wird in dem Dekodierer programmiert, um die niedrige Batteriespannungsanzeige in einer Übertragung zur Anzeige für den Benutzer zu messen. Die programmierten Optionen und der Auswahlstatusmonitor 74 werden aktiviert, wenn ein Kodierer aktiviert ist. Der vorbestimmte Wert wird ersetzt in Teile des Management-Kodes 68 vor einer Kodierung und Übertragung der Information. Die Optionen werden, wenn sie ausgewählt und übertragen sind, durch den Dekodierer nach dem Dekodieren gemessen, so dass die programmierte Aktion durchgeführt werden kann.
  • 3 zeigt eine Ausführungsform eines Lernkode-Hopping-Zugriffsteuerungsdekodierer 12.
  • Eine Datentransferschnittstelle 13 konvertiert die elektromagnetischen oder anderen Signale, die für die Übertragung des Signals von der Datenübertragungsschnittstelle 11 in ein Basisband-Logiksignal 78 verwendet werden, die noch entsprechend dem Modulationsschema, das durch den seriellen Kodegenerator 26 angewendet wird, moduliert werden.
  • Der Dekodierer beinhaltet einen Detektor 32, der Mittel für ein Kompensieren für Unterschiede in der Übertragungslänge auf Grund der Zeitunterschiede zwischen dem Kodierer und dem Dekodierer aufweist.
  • Der Detektor 32 extrahiert eine 32-Bit-variable Zahl 80 von dem Signal 78 und liefert es an einen Dekodieralgorithmus 34, der die variable Zahl unter Verwendung eines 64-Bit-Dekodierungsschlüssels 82, der in einem nicht-flüchtigem Speicher 84 gespeichert ist, dekodiert. Wenn ein gültiger Dekodierungsprozess durchgeführt wurde, enthält der sich ergebende 32-Bit-Kode 86 die Information, die in dem nicht-linearen Kodierungsalgorithmus des Kodierers 18 vor einem Kodieren eingeführt wurde.
  • Der Dekodierer schließt eine Integritätsprüfungseinheit 35 ein, um die Gültigkeit des Dekodierungsprozesses zu verifizieren. Für eine gültige Dekodierung gibt es eine vorbestimmte Beziehung zwischen einem gespeicherten Management-Kode 90, der zu dem in dem Speicher 34 gehaltenen Kode der 1 und dem entsprechenden Abschnitt des dekodierten 32-Bit-Wortes 86 korrespondiert.
  • Der Dekodierungsschlüssel 82 entspricht dem Dekodierungsschlüssel, der in dem Speicherplatz 44 des Dekodierer 12 der 1 gehalten wird.
  • Eine Synchronisationsprüfungseinheit 36 verifiziert die Gültigkeit einer Übertragung durch Vergleichen der hereinkommenden Zählerinformation 92, die durch die Integritätsprüfungseinheit 35 erzeugt wird, mit einer gespeicherten Zählerinformation 94 für den relevanten Kodierer. Die Zählerinformation 94 entspricht der Information, die in dem Speicherplatz 46 des Dekodierers 12 der 1 gehalten ist, und schließt eine Fehlerkorrekturfunktion ein, um sicherzustellen, dass der Wert des Zählerstandes korrigiert wurde, wenn ein Fehler während eines Stromausfalls gespeichert wurde.
  • Eine Ausgaben-Managementeinheit 38 managt die Aktivität von oder die Kommunikation mit anderen Geräten in dem System. Die Einheit 38 stellt eine Anzeige davon bereit, von einigen Funktionen, die gewünscht sind, ob der Kodierer 10 die Kodierung eingestellt hat oder ob irgendeine spezielle Option angefordert wurde. Eine Anzeige der Identität des Kodierers von dem das empfangene Signal erzeugt wurde, kann auch bereitgestellt werden. Die Einheit 38 verwendet auch einen Speicherplatz in dem nicht-flüchtigen Speicher 84, um Optionen zu managen, die durch eine Optionssteuerungseinheit 96 bestimmt sind, welche das Format beeinflussen, in dem Ausgabesignale 98 dargestellt werden, die durch die Einheit erzeugt werden, oder die bestimmte Systemmerkmale ein- oder ausschalten können.
  • Eine Lernsteuerungseinheit 100 managt den Lernprozess mittels Weitergeben geeigneter Anweisungen an den Detektor 32, den Dekodierungsalgorithmus des Dekodierers 34, der Integritätsprüfungseinheit 35, der Synchronisationsprüfungseinheit 36 und einer Schlüsseladressen-Managementeinheit 102. Die Einheit 100 kann in dem Lernmodus außerhalb des Dekodierers angeordnet sein oder spezielle Ausgabekombinationen können verwendet werden, um den Dekodierer in den Lernmodus durch Weitergabe des relevanten Signals von der Managementsteuerungseinheit 38 zu der Lernsteuerungseinheit 100 zu bringen. Typischerweise wird ein einzelner Speicherblock für diesen Zweck reserviert. Der Dekodierer, der die Lernsteuerung 100 beinhaltet, wird durch eine Steuerung 31 gesteuert.
  • Ein Parametersatz 56 eines vorbezeichneten Kodierers, auf den als Hauptkodierer Bezug genommen wird, wird in diesem reservierten Speicherblock gespeichert. Wenn der Hauptkodierer aktiviert ist, sendet die Ausgabefunktionssteuerungseinheit 38 ein Steuerungssignal an die Einheit 100, wodurch der Dekodierer 12 in den Lernmodus versetzt wird.
  • Der nicht-flüchtige Speicher 84 bildet Vorbereitungen zum Speichern einer Vielzahl von Parametersätzen 102A ... 102N, die den Parametersätzen 56A ... 56N in dem Kodierer entsprechen. Jeder Parametersatz beinhaltet eine Seriennummer 104, die der Seriennummer 62 in dem entsprechenden Kodierer entspricht und dem zugehörigen Dekodierschlüssel 82, dem Management-Kode 90 und die Zählerinformation 94. Ein Herstellerschlüssel 106 korrespondiert mit der Information, die in dem Speicherplatz 40 der 1 gehalten wird, und ist auch in dem Speicher 84 für die Verwendung während der Lernvorgänge gespeichert.
  • Eine alternative Ausführungsform des Dekodierers kann auch eine Bereitstellung beinhalten, um den Herstellerschlüssel 40 zu vergrößern oder zu modifizieren während des Lernens mit einem Teil oder mit dem gesamten Schlüsselgenerierungs-Startparameter. Alternativ kann der Dekodierer überhaupt keinen Herstellerschlüssel aufweisen und kann den Dekodierschlüssel einzig und allein von der Schlüsselgenerierungsinformation, die durch den Kodierer übertragen wird, ableiten oder kann die Schlüsselgenerierungsinformation direkt als einen Dekodierungsschlüssel verwenden.
  • Die Schlüsseladressen-Managementeinheit 102 managt den Durchlauf der Information zu und von dem nicht-flüchtigen Speicher 84. Die Schlüsseladressen-Managementeinheit kann in Hardware oder in Software oder in einer Kombination davon implementiert sein. Diese Einheit wählt die Speicherbank, die verwendet werden soll, aus, wobei jede Speicherbank in der Lage ist, einen einzelnen Parametersatz zu speichern. Ein Zeiger wird auch in einem Speichersegment 108 gehalten, der für die Lernvorgänge die nächste Speicherbank anzeigt.
  • Während der Lernvorgänge erzeugt eine Schlüsselgenerierungseinheit 42 einen Dekodierungsschlüssel 82 für den neuen Kodierer und überträgt diesen auf den relevanten Speicherplatz für den entsprechenden Parametersatz 102. Ein nicht-linearer kodierter Algorithmus eines ähnlichen Niveaus der Komplexität wie der Kode-Hopping-Algorithmus wird verwendet, um sicherzustellen, dass die Beziehung zwischen dem Schlüsselgenerierungs-Startparameter und dem Kodierungs- oder Dekodierungsschlüssel 82 so unverständlich wie möglich ist.
  • 5 enthält eine Darstellung eines Kodierungsparametersatzes 56 und eines Dekodierungsparametersatzes 102 und beinhaltet eine Zusammenfassung des Inhalts von jedem Parametersatz.
  • Betriebliche Beschreibung des Kodierers
  • Wenn der Benutzer den Schalter 48 drückt, um den Kodierer 10 zu aktivieren, bestimmt die Schalterkodierereinheit 14, welcher Schalter oder Kombination von Schaltern gedrückt wurde, und erzeugt den 4-Bit-Funktionskode 52 zusammen mit einer Kombination der Steuersignale. Die Steuersignale bestimmen von welchem Speicherblock der relevante Parametersatz genommen wird und ob die Übertragung einen Hopping-Kode oder einen Festkode umfassen soll.
  • Die Schalter 48 können durch ein System ersetzt werden, das den Kodierer elektrisch anweisen kann. Das Kommando kann z. B. durch einen Computer oder durch ein anderes Gerät unter Verwendung einer speziellen Kommandoschnittstelle erzeugt werden. Der Strom für den Kodierer kann durch eine Kommandoschnittstelle versorgt werden.
  • In einer anderen Anwendung kann die Kodierer- und Dekodiererkombination zu Authentisierungs- und zu Zugriffsteuerungszwecken verwendet werden. Der Kodierer kann in einem Token oder einer smart card untergebracht sein, die eine Person tragen kann und als Zugriff z. B. auf einen Sicherheitsbereich verwenden kann. Die Kommunikation wird über eine elektrische Schnittstelle durchgeführt. In diesem Fall wird eine bi-direktionale Kommunikation verwendet, um die Informationen zwischen einem Kodierer und einem Dekodierer auszutauschen. Die Seriennummer 62 des Kodierers wird an den Dekodierer übertragen, um den Schüssel 82, der in dem Dekodierungsprozess verwendet werden soll, zu bestimmen. Ein Wert wird als ein Eingabewert an den Kodierer durch den Dekodierer vorgestellt, der als eine Herausforderung bekannt ist. Der Kodierer kodiert den Herausforderungswert und kehrt zu dem kodierten Wert des Dekodierers zurück. Der Dekodierer dekodiert nun den kodierten Wert und vergleicht ihn mit dem Herausforderungswert, um die Authentizität des Kodierers festzustellen und eine Ausgabe entsprechend zu aktivieren. Diese Technik ist allgemeine als IFF (Identifizierung von Freund oder Feind) bekannt. In dieser Anwendung kann der Startparameter 60 des Kodierers an den Dekodierer in einem Lernmodus übertragen werden. Der Schlüssel (82) kann erzeugt und gespeichert werden in dem Dekodierer wie hierin beschrieben.
  • Die Fähigkeit mehr als einen Parametersatz für einen Kodierer anzuwenden, ermöglicht dem Kodierer mehr als einen Dekodierer ohne Wechselwirkung, selbst wenn eine einzige Betriebsfrequenz gemeinsam benutzt wird, zu adressieren. Der Kodierer scheint ein ausgewählter von mehreren unabhängigen Kodierern zu sein, wobei jeder von ihnen für einen unabhängigen Vorgang in der Lage ist auf Grund der Bezeichnung „virtueller Kodierer". Klarerweise sind die Kodierer nicht in der Lage einen simultanen Vorgang durchzuführen. Für einen Hopping-Kode-Vorgang verwendet der nicht-lineare Kodierungsalgorithmus des Kodierers 18 den entsprechenden Kodierungsschlüssel 64, um die Zählerinformation 66 und den Management-Kode 68 zusammen mit dem 4-Bit-Funktionskode 52 zu kodieren. Der 32-Bit-Ausgabekode 70 wird dem seriellen Kodegenerator 26 zugeführt. Die Zählerinformation 66 wird jedes Mal geändert, wenn eine Übertragung für den entsprechenden virtuellen Kodierer durchgeführt wird. Der serielle Kodegenerator 26 komplementiert die entsprechenden Kodierer-Seriennummer 62 in den kodierten Teil, wodurch ein einziger Ausgabe-Kode 72 gebildet wird, der der Eingabe der Datenübertragungsschnittstelle 11 in PWM-serieller Form (in diesem Beispiel) präsentiert wird.
  • Für einen Festkodebetrieb wird der Schlüsselgenerierungs-Startparameter 60 direkt dem seriellen Kodegenerator 26 vorgestellt, welcher den Kode präsentiert, zusammen mit der Seriennummer 62 in einer PWM-seriellen Form für die Datentransferschnittstelle 11.
  • Es können auch Mittel eingeschlossen sein, die permanent die Übertragung des Startparameters 60, nachdem das Lernen vollendet ist, abschalten. Das Abschaltmittel kann automatisch (z. B. wenn der Kodierer für eine vorbestimmte Anzahl von Übertragungen verwendet worden ist) oder durch eine bewusste Aktion des Benutzers einschließlich, aber nicht begrenzt auf eine spezielle Kombination der Eingaben, abgeschal tet werden. Das Abschaltmittel kann jede geeignete Form annehmen und kann ein Schalter 61 sein, der aktiviert wird wie beschrieben, der den Datenstrom von dem Startparameter 60 zu dem Generator 26 unterbricht. Alternativ kann die Steuerung 49 in Reaktion auf eine Handhabung oder eine andre Eingabe verwendet werden, um die Datenübertragung von dem Startparameter zu dem Generator 26 zu verhindern. Die Steuerung kann auch verwendet werden, um den Schalter 61 zu aktivieren.
  • In beiden Moden des Betriebes sendet die Datenübertragungsschnittstelle 11 Informationen von dem seriellen Kodegenerator unter Verwendung elektromagnetischer oder anderer Mittel.
  • Betriebliche Beschreibung – Dekodierer im Normalbetrieb
  • Signale, die durch die Datenübertragungsschnittstelle 13 empfangen werden, werden in das Logiksignal 78 noch in eine PWM-Form konvertiert. Der Formatdetektor 32 überwacht das Logiksignal 78 und wenn der Anfangsabschnitt von einem scheinbar gültigen Signal beobachtet wird, kalibriert sich der Detektor selbst auf das hereinkommende Signal, um Abweichungen von einer nominalen Zeitvorgabe zu kompensieren. Der verbliebene Anteil des hereinkommenden Signals wird empfangen und in eine Zahl konvertiert, die in diesem Beispiel eine 64-Bit-Binärzahl ist.
  • Die ersten 32 Bits der Detektorausgabe, nämlich der Hopping-Kode, werden mit 80 bezeichnet und werden dem Dekodieralgorithmus des Dekodierers 34 zugeführt. Die letzten 32 Bits, nämlich die Seriennummer, wird der Schlüsseladressen-Managementeinheit 102 zugeführt. Diese Einheit bestimmt den Speicherblock, der verwendet wird unter Vergleichen der empfangenen Seriennummer mit den gespeicherten Seriennummern 104 bis eine Übereinstimmung gefunden ist. Der Dekodierungsalgo rithmus 34 verwendet den Dekodierungsschlüssel 82 von dem korrekten Speicherblock, nämlich dem entsprechenden Parametersatz, um den Hopping-Kode 80 zu dekodieren. Eine 32-Bit-Ausgabe 86 wird der Integritätsprüfungseinheit 88 zugeführt. Dieser 32-Bit-String umfasst den ursprünglichen 4-Bit-Funktionenkode 52, die 16 Bits der Zählerinformation 66 und den 12-Bit-Management-Kode 68. Die Integritätsprüfungseinheit 35 überprüft auf eine vorbestimmte Beziehung zwischen dem dekodierten Management-Kode 68 in dem dekodierten Wort 86 und der gespeicherten Version 90. Wenn eine definierte Beziehung besteht, wird die Dekodierung für gültig gehalten.
  • Der dekodierte Zählerstand 66 wird mit dem gespeicherten Zählerstand 94, der in dem entsprechenden Parametersatz enthalten ist, verglichen. Wenn die Synchronisation beweist, dass die Übertragung gültig ist, wird der gespeicherte Wert aktualisiert und die Ausgabesteuerungsfunktionseinheit 38 wird entsprechend angewiesen.
  • Die Einheit 38 gibt die dekodierte Funktionsinformation 98 aus. Die Einheit kann die Information in einem seriellen Format zugänglich machen für eine Benutzung durch eine externe Steuerung oder kann diskrete Ausgaben aufweisen, um irgendeine Anzahl von unterschiedlichen Konditionen anzuzeigen. Die Identität des Kodierers, die dekodiert wurde, kann als Teil des Management-Kodes einen gültigen Signalzeiger und einen zweiten Funktionsmodus einschließen, wobei alle Beispiele nützliche Ausgabeinformationen 98 sind.
  • Betriebliche Beschreibung – Dekodierer-Lernbetrieb
  • Der Lernbetrieb wird durchgeführt, wenn der Benutzer wünscht, einen neuen Kodierer dem System hinzuzufügen. Die Lernsteuerungseinheit 100 empfängt dann ein Eingangssignal, das sie auffordert in den Lernmodus überzugehen. Das Signal kann in Form einer Instruktion von außen z. B. durch einen Schalter erzeugt oder sie kann von der Ausgabefunktionssteuerungseinheit 38 nach dem Empfang eines gültigen Kodes ausgegeben sein, wie es vorher beschrieben wurde.
  • Der Benutzer aktiviert nun den Kodierer 10 als einen Festkode-Kodierer unter Verwendung einer speziellen Lernhardwarestrukturierung. Der Schlüsselgenerierungs-Startparameter 60 ist für den variablen Kodeabschnitt der Übertragung substituiert und die Seriennummer 42 wird als verbliebener Teil des kodierten Kodes zurückgehalten.
  • Das sich ergebende Signal, das durch die Datenübertragungsschnittstelle 11 gesendet wird, wird von der Datenübertragungsschnittstelle 13 empfangen. Der Formatdetektor 32 gibt die gesamte empfangene Übertragung 78 an die Schlüsseladressen-Managementeinheit 102. Somit ist das Signal, das der Einheit 102 zugeführt wird, ein 64-Bit-String. Die Einheit 102 weicht von ihrer normalen Funktion in dem Lernmodus ab und erzeugt einen Dekodierschlüssel 82 von einem oder mehreren der Seriennummern, des empfangenen Schlüsselgenerierungs-Startparameters und des Herstellerschlüssels 106. Der Schlüsselgenerierungs-Startparameter oder die Seriennummer können verwendet werden, um den Herstellerschlüssel 106 zu variieren bevor der Dekodierungsschlüssel erzeugt wird. Der Herstellerschlüssel kann modifiziert oder vergrößert werden in jeder geeigneten Weise unter Verwendung des Startparameters oder der Seriennummer oder beiden. Dieser Schlüssel wird in einem der Speicherblöcke in Abhängigkeit von dem Wert eines Zeigers geschrieben, der speziell für diesen Zweck verwendet wird, und in dem Speicherblock 108 vorgehalten wird. Die empfangene Seriennummer 104 wird in dem relevanten Speicherblock, der mit dem entsprechenden Parametersatz assoziiert ist, gespeichert. Der nächste Lernzeiger kann entsprechend gemanagt werden durch eine Vielfalt von unterschiedlichen Schemata. Optionen schlie ßen unter anderem ein, ein Kreislaufen des Zeigers durch die verfügbaren Speicherplätze und ein Ermöglichen des Benutzers den Zeiger von der Außenseite aus einzustellen.
  • Von einem Sicherheitsgesichtspunkt aus sollte ein Schlüsselgenerierungsalgorithmus der Art, wie er durch die Einheit 42 ausgeführt wird, nur in einem anwendungsspezifischen integrierten Schaltkreis implementiert werden; denn ein allgemeines logisches Bauteil, wie beispielsweise ein Mikroprozessor, kann leicht nachgebaut werden, was den Algorithmus für eine öffentliche genaue Prüfung preisgibt.
  • Der Benutzer aktiviert nun den Kodierer zweimal in dem Kode-Hopping-Modus. Während der ersten Übertragung wird der 64-Bit-Kode durch die Datenübertragungsschnittstelle 13 empfangen und durch den Detektor 32 erfasst. Der Dekodierungsalgorithmus des Dekodierers 34 dekodiert den 32-Bit-variablen Kode 80 unter Verwendung des neuerlich erzeugten Dekodierschlüssels 82 und speichert den dekodierten Management-Kode 90 in einem korrekten Platz. Die dekodierte Zählerinformation 94 wird auch in einem korrekten Platz gespeichert.
  • Während einer zweiten Übertragung wird das empfangene Signal durch den Detektor 32 erfasst und die Seriennummer wird zu der Schlüsseladressen-Managementeinheit 102 übertragen, wo sie mit der neuerlich gespeicherten Seriennummer 104 verglichen wird. Zusätzlich wird der 32-Bit-variable Kode 80 durch den Dekodierungsalgorithmus 34 dekodiert. Die Integritätsprüfungseinheit 88 überprüft den dekodierten Management-Kode gegenüber der gespeicherten Version 90 und die Synchronisationsprüfungseinheit 36 überprüft die dekodierte Zählerinformation gegenüber der gespeicherten Version 94. Wenn irgendeine dieser Überprüfungen nicht erfolgreich ist, wird der Lernbetrieb zurückgewiesen. Wenn sie erfolgreich sind, wird der nächste Lernzeiger in dem Speicherplatz 108 geändert, um anzuzeigen, dass der nächste Speicherblock zum Lernen zur Verfügung steht.
  • Der Lernprozess kann auch eine Routine einschließen, um eine spezielle Kombination von Ausgaben zum Benutzen mit einem spezifischen Kodierer zu lernen. Zum Beispiel kann ein spezieller Benutzer spezielle Prioritäten in einem spezifischen System fordern und diese Priorität kann während einer derartigen Routine festgelegt werden.
  • Wenn der gesamte Lernvorgang erfolgreich abgeschlossen ist, sollte der Benutzer den Kodierer erneut aktivieren, um zu verifizieren, dass der Kodierer korrekt arbeitet.
  • Dekodiererbetrieb – Alternatives Schlüsselmanagementschema
  • Das System, wie es soweit beschrieben wurde, verwendet gespeicherte Schlüssel 82 in dem Dekodierer, um einkommende Übertragungen zu dekodieren. Eine alternative Anordnung für Lernsysteme ist es, nur den Schlüsselgenerierungs-Startparameter zu speichern anstelle des vollständigen Schlüssels in dem Speicherplatz, der dem Schlüssel 82 zugeordnet ist. Während der Dekodierungsvorgänge wird der korrekte Schlüssel von dem zugehörigen Schlüsselgenerierungs-Startparameter und dem Herstellerschlüssel 106 erzeugt. Der Vorteil ist, dass weniger nicht-flüchtiger Speicherplatz erforderlich ist, da der Schlüsselgenerierungsparameter typischerweise weniger Speicherplatz erfordert als der Schlüssel selbst. Der korrekte Schlüssel wird wann immer erforderlich in einem RAM erzeugt.
  • Lernalgorithmus
  • Die 4a und 4b sind Flussdiagramme des Lernalgorithmus, der in dem Dekoder eingebaut ist. Unter Bezugnahme auf 4a werden, wenn der Lernmodus etabliert worden ist, wie vorher beschrieben, der Schlüsselgenerierungs- Startparameter (Stufe 150) und der Hopping-Kode (Stufe 152) durch den Dekoder empfangen. Bei einer Stufe 154 wird ein relationaler Zähler (in der Schlüsselgenerierungseinheit 42) initialisiert und auf Null gesetzt. Der relationale Zähler wird verwendet um mehr als eine Beziehung zwischen dem Schlüsselgenerierungs-Startparameter, der Kodierer-Seriennummer und dem Schlüssel für den Kodierer oder zwischen der Kodierer-Seriennummer und dem Schlüssel für den Kodierer zu ermöglichen.
  • Der relationale Zähler 154 wird bei einer Stufe 156 verwendet, um einen modifizierten Startparameter für den Schlüsselgenerierungsalgorithmus zusammenzustellen, der ein nicht-linearer Algorithmus ist, unter Verwendung von mindestens dem Schlüsselgenerierungs-Startparameter als eine Eingabe. Der Schlüsselgenerierungs-Startparameter kann zum Variieren verwendet werden, z. B. zum Modifizieren oder Vergrößern des Herstellerschlüssels 106 vor jedem Lernvorgang (Stufe 157). Alternativ kann der einkommende Startparameter verwendet werden in seiner ursprünglichen oder modifizierten Form ausschließlich als Dekodierungsschlüssel (nämlich ohne einen Herstellerschlüssel). Somit wie in 1 gezeigt kann bezugnehmend auf den Dekodierer ein Steuersignal von dem Formatdetektor 32 an den Speicher 40 gelegt werden, um den Herstellerschlüssel zu modifizieren, bevor der neue Dekodierschlüssel erzeugt ist. Andererseits können der Speicher 40 und die Schlüsselgenerierungseinheit 42 weggelassen werden, so dass die einkommende Information an den Speicher 44 geliefert wird, wie es durch eine gestrichelte Datenübertragungslinie gezeigt wird und in dem Speicher 44 zur Verwendung als neuer Schlüssel beibehalten wird. Es ist augenscheinlich, dass mit Bezugnahme auf 4a und abhängig von der Ausführungsform der Erfindung die Stufe 157 optional ist. Auch wenn die eingehende Information, die verwendet werden soll, direkt als neuer Schlüs sel verwendet wird, wird die Stufe 158 weggelassen. Diese Variation wird auch in 3 gezeigt, wo eine optionale Datenübertragungsverbindung sich von dem Detektor 32 zu dem Zwischenspeicher für den Schlüssel 106 erstreckt. Zusätzlich wurde die Einheit 42 erläutert und der Zwischenspeicher für den Schlüssel 106 kann entfernt werden oder verhindert werden. In diesem Fall werden die eingehenden Daten direkt von dem Detektor 32 zu dem Speicher für den Schlüssel 82 übertragen. Die Integrität für den Dekodierungsvorgang wird bei einer Stufe 164 geprüft, um zu entscheiden, ob der dekodierte Vorgang gültig ist. Wenn er gültig ist, setzt sich der Datenfluss zu der Stufe 170 fort. Wenn er nicht gültig ist, wird entschieden, ob der Vorgang mit der Stufe 166 weitergeführt wird oder nicht. Wenn der Vorgang weitergeführt werden soll, wird der relationale Zähler 154 erhöht (Stufe 168), um eine neue Beziehung zu etablieren, die gültig sein kann.
  • Der Lernprozess endet bei einer Stufe 172, wenn alle gültigen Beziehungen zwischen dem Schlüsselgenerierungs-Startparameter und der Seriennummer verwendet worden sind und eine gültige Beziehung (Stufe 166) nicht gefunden wurde.
  • Die Wahrscheinlichkeit eines zufälligen Akzeptierens eines nicht gültigen Kodierers während des Lernens hängt von der Anzahl der vordefinierten Bits innerhalb des kodierten Management-Kodes ab. Da nicht mehr als 12 Bits in der unter Diskussion stehenden Ausführungsform zur Verfügung stehen, liegt die beste Integrität in der Größenordnung von 1 bis 4000. Dieses Niveau ist für Sicherheitssysteme nicht adäquat. Die Integrität kann entweder durch Erhöhen der Länge der bekannten Komponenten des Management-Kodes oder durch Einfügen eines Prüfungsalgorithmus verbessert werden, der auf einer zweiten Übertragung (Stufe 176 in 4b) von dem lernenden Kodierer basiert. Längere Kodelängen haben Nachteile wie höhere Implementierungskosten und längere Reaktionszeiten. Unter Verwen dung einer zweiten Übertragung wird die Sicherheit der Integritätsprüfung um mehrere Größenordnungen, ohne die Systemkosten oder die Reaktionszeiten zu berühren, erhöht.
  • Der zweite Teil des Flussdiagramms wendet diese Technik an, wie sie mit Bezug auf 4b beschrieben wird. Wenn die Dekodierungsfunktion durchgeführt wird und als gültig herausgefunden wird (Stufe 170) wird ein dekodierter Zählerwert gespeichert (Stufe 174). Bei Stufe 176 wird ein zweiter Hopping-Kode empfangen. Der Kode ist dekodiert (Stufe 178) und der dekodierte Management-Kode verifiziert (Stufe 180) zusammen mit dem gespeicherten Management-Kode. Wenn die Werte nicht zusammenpassen wird der Lernprozess als falsch und verwerflich bewertet. Als nächstes wird der Zählerstandswert verifiziert bei der Stufe 182 mit dem gespeicherten Wert. Wenn der Wert nicht passt, die Übertragung als ein ungültiger und illegitimer Lernvorgang angenommen und verworfen. Wenn die Zählerwerte passen, wird ein gültiger Lernvorgang akzeptiert (Stufe 184). Wenn die Zähler nicht passen, wie bei normalen Kode-Hopping-System-Vorgängen, können einige Aktionsfreiheiten in der Zählersynchronisationsprüfung (Stufe 182) für Zwischenübertragungen ermöglicht werden, die nicht durch den Dekodierer dekodiert sein können und können akzeptiert werden, als wenn sie passen und gültig sind.
  • Bei der Stufe 184 wird angenommen, dass ein gültiger Lernprozess vollendet worden ist. Der nächste Lernzeiger (Referenz 108 in 3) wird aktualisiert bei der Stufe 186, um die nächste verfügbare Lernposition zu zeigen. Die Ausgabekonfiguration des Lernens, die mit einem bestimmten Kodierer verbunden ist, kann eine Stufe 188 einschließen, wenn gefordert. Bei der Stufe 190 ist der Lernzyklus vollendet.
  • Offensichtlich sind vielfache Modifikationen und Variationen der vorliegenden Erfindung möglich in dem Licht der vorhergehenden Lehren. Zum Beispiel ist der Kodierungsteil 10 auf einer anwenderspezifischen integrierten Schaltung (ASIC) ausgeführt. Teil der Schaltung ist ein nicht-flüchtiger Speicher, der verwendet wird, um die unterschiedlichen geänderten und programmierbaren Werte, wie die Parametersätze 56 und die Optionen 76, zu speichern. Obgleich diese Methode der Ausführung verwendet wird, um die Sicherheit und die praktischen Aspekte des Systems sicherzustellen, kann in der Software eine Computer oder eine Mikroprozessorsteuerung ausgeführt werden. Die gleiche Maßnahme wird verwendet mit dem Dekodierer 12. Die Funktionen und Speicherteile werden auf ASIC-Teilen realisiert, aber können auch auf einem Computer oder einer Mikroprozessorsteuerung ausgeführt werden. Dies Ausführungsform kann vorzugsweise ein Dekodierer sein, wobei für den Dekodierer ein Speichern einer großen Menge von Informationen gefordert wird, um vielen Benutzern einen Zugriff auf das System zu ermöglichen. Deshalb ist es verständlich, dass innerhalb des Rahmens der anliegenden Ansprüche die Erfindung anders ausgeführt werden kann als sie hierin spezifischerweise beschrieben ist.

Claims (24)

  1. Verfahren zum Ermitteln eines Schlüssels zur Verwendung für das Verschlüsseln und das Entschlüsseln von Informationen, die zwischen einem Kodierer und einem Dekodierer (10, 12) übertragen werden, das folgende Schritten beinhaltet: Speichern des Schlüssels (22) in dem Kodierer (10) während der Herstellung, wobei der Schlüssel (22) unter Benutzung einer ersten Information, einer zweiten Information und einer Schlüsselerzeugungsroutine erzeugt wird; Abspeichern der zweiten Information in dem Kodierer; Abspeichern der Schlüsselerzeugungsroutine und der ersten Information in dem Dekodierer (12) während der Herstellung; Senden der zweiten Information vom Kodierer (10) zum Dekodierer (12) während des Lernens; Empfangen der zweiten Information von dem Dekodierer (12) während des Lernens; und Berechnen, während des Lernens, eines Schlüssels (44) in dem Dekodierer unter Benutzung der zweiten Information, die empfangen wurde, der ersten Information, die während der Herstellung abgespeichert wurde, und der Schlüsselerzeugungsroutine.
  2. Ein Verfahren nach Anspruch 1, wobei der Kodierer (10) ein Sender ist und während des Lernens im Betrieb ist, ohne einen Schritt des Empfangens von Informationen vom Dekodierer durchzuführen.
  3. Ein Verfahren nach Anspruch 1 oder 2, wobei der Dekodierer (12) ein Empfänger ist und während des Lernens im Betrieb ist, ohne einen Schritt des Sendens an den Kodierer durchzuführen.
  4. Ein Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Speicherns der zweiten Information das Speichern der zweiten Information, die eine Seriennummer (24) ist, beinhaltet und der Schritt des Sendens der zweiten Information das Senden der zweiten Information, die eine Seriennummer (24) ist, beinhaltet.
  5. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Speicherns der zweiten Information das Abspeichern der zweiten Information, die ein Startparameter (20) ist, beinhaltet und der Schritt des Sendens der zweiten Information das Übertragen der zweiten Information, die ein Startparameter (20) ist, beinhaltet.
  6. Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Speicherns der zweiten Information das Speichern der zweiten Information, die ein zufällig generierter Startparameter (20) ist, beinhaltet und der Schritt des Sendens der zweiten Information das Senden der zweiten Information, die ein zufällig generierter Startparameter (20) ist, beinhaltet.
  7. Ein Verfahren nach einem der Ansprüche 1 bis 3, wobei der Schritt des Speicherns der zweiten Information das Speichern der zweiten Information, die eine dadurch erzeugte Information ist, dass der Schlüssel (22) und ein Algorithmus auf einen Eingangswert angewendet werden, beinhaltet und der Schritt des Sendens der zweiten Information das Senden der zweiten Information, die eine dadurch erzeugte Information ist, dass der Schlüssel (22) und der Algorithmus auf einem Eingangswert angewendet werden, beinhaltet.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei der Schritt des Speicherns der ersten Information in dem Dekodierer während der Herstellung das Speichern der ersten Information, die ein Hauptschlüssel (40) des Herstellers ist, beinhaltet; und der Schritt des Berechnens des Schlüssels (44) in dem Dekodierer die erste Information, die der Hauptschlüssel (40) des Herstellers ist, nutzt.
  9. Verfahren nach einem der vorhergehenden Ansprüche, zusätzlich die folgenden Schritte beinhaltend: Speichern der dritten Information in dem Kodierer, die sich von der zweiten Information, die während der Herstellung gespeichert wurde, unterscheidet, wobei der Schritt des Sendens zweiten Information weiterhin das Senden der dritten Information von dem Kodierer zu dem Dekodierer während des Lernens beinhaltet, und wobei der Schritt des Empfangens der zweiten Information das Empfangen und Speichern der dritten Information während des Lernens beinhaltet.
  10. Verfahren nach Anspruch 9, das weiterhin die folgenden Schritte, die nach dem Schritt des Berechnens des Schlüssels in dem Dekodierer durchgeführt werden, beinhaltet: Kodieren der Information durch den Kodierer (10) unter Benutzung des in ihm gespeicherten Schlüssels (22); Senden der dritten Information und der Information, die durch den Kodierer (10) kodiert wurde; Empfangen, durch den Dekodierer (12), der dritten Information und der Information, die von dem Kodierer (10) kodiert wurde; Vergleichen, durch den Dekodierer (12), der dritten Information, die mit der Information, die von dem Kodierer (10) kodiert wurde, übertragen wurde, mit der dritten Information, die während des Lernens gespeichert wurde; Dekodieren, durch den Dekodierer (12), der kodierten Information; und Ausführung einer Funktion, die sich auf die kodierte Information, die dekodiert wurde, bezieht, nur wenn der Schritt des Vergleiches ergibt, dass die dritte Information, die mit der Information übertragen wurde, die durch den Kodierer (10) kodiert wurde, der dritten Information, die während des Lernens gespeichert wurde, entspricht.
  11. Verfahren nach Anspruch 10, zusätzlich die folgenden Schritte beinhaltend: Vergleich in der dritten Information, die empfangen wurde, mit der Managementinformation; und Überprüfen der Gültigkeit der dritten Information, wenn der Vergleichsschritt ergibt, dass die Information, die empfangen wurde, der Managementinformation entspricht.
  12. Verfahren nach einem der vorhergehenden Ansprüche, zusätzlich die folgenden Schritte beinhaltend: Übertragen der Zählerinformation (12) von dem Kodierer an den Dekodierer nach dem Schritt des Sendens der zweiten Information; Empfangen der Zählerinformation (16) durch den Dekodierer (12); Vergleichen der Zählerinformation (16), die empfangen wurde, mit der Zählerinformation (46), die vorher in dem Dekodierer (12) gespeichert wurde; und Verhindern der Ausführung eines Kommandos durch den Dekodierer (12), wenn die Zählerinformation (16), die empfangen wurde, nicht fortlaufend zu der Zählerinformationen (46), die vorher gespeichert wurde, ist.
  13. System zum Ermitteln eines Schlüssels zur Verwendung für das Verschlüsseln und das Entschlüsseln von Informationen, die zwischen einem Kodierer und einem Dekodierer (10, 12) übertragen werden, das folgendes beinhaltet: ein Speicher (22) zum Speichern eines Schlüssels in dem Kodierer (10) während der Herstellung, wobei der Schlüssel unter Verwendung einer ersten Information, einer zweiten Information und einer Schlüsselgenerierungsroutine erzeugt wird; ein Speicher (18; 20; 24) zum Speichern der zweiten Information in dem Kodierer (10); ein Speicher (42) zum Speichern einer Schlüsselgenerierungsroutine und der ersten Information in dem Dekodierer (12) während der Herstellung; Mittel zum Empfangen (13) der zweiten Information durch den Dekodierer (12) während des Lernens; und Mittel zum Berechnen (42), während des Lernens, eines Schlüssels in dem Dekodierer (12) unter Verwendung der zweiten Information, die empfangen wurde, der ersten Information, die während der Herstellung gespeichert wurde, und der Schlüsselerzeugungsroutine (42).
  14. System nach Anspruch 13, wobei der Kodierer (10) ein Sender und so ausgeführt ist, dass er während des Lernens in Betrieb ist, ohne Informationen vom Dekodierer (12) zu empfangen.
  15. System nach einem der Ansprüche 13 oder 14, wobei der Dekodierer (12) ein Empfänger und so aus geführt ist, dass er während des Lernens in Betrieb ist, ohne an den Empfänger (10) zu senden.
  16. System nach einem der Ansprüche 13 bis 15, wobei der Speicher (24) zum Speichern der zweiten Information so ausgeführt ist, dass er zum Speichern der zweiten Information, die eine Seriennummer ist, dient, und die Mittel zum Senden (11) der zweiten Information Mittel zum Senden der zweiten Information, die eine Seriennummer ist, beinhalten.
  17. System nach einem der Ansprüche 13 bis 15, wobei der Speicher (20) zum Speichern der zweiten Information so ausgeführt ist, dass er zum Speichern der zweiten Information, die ein Startparameter ist, dient, und die Mittel zum Senden (11) der zweiten Information Mittel zum Senden der zweiten Information, die ein Startparameter ist, beinhalten.
  18. Ein System nach einem der Ansprüche 13 bis 15, wobei der Speicher (20) zum Speichern der zweiten Information so ausgeführt ist, dass er zum Speichern der zweiten Information, die ein zufällig erzeugter Startparameter ist, dient, und die Mittel zum Senden der zweiten Information Mittel zum Übermitteln der zweiten Information, die ein zufällig generierter Startparameter ist, beinhalten.
  19. System nach einem der Ansprüche 13 bis 15, wobei der Speicher (18) zum Speichern der zweiten Information so ausgeführt ist, dass er zum Speichern der zweiten Information, die eine dadurch erzeugte Information ist, dass ein Schlüssel und ein Algorithmus auf einen Eingangswert angewendet werden, dient, und die Mittel zum Senden der zweiten Information Mittel zum Senden der zweiten Information, die eine dadurch erzeugte Information ist, dass ein Schlüssel und ein Algorithmus auf einem Eingangswert angewendet werden, beinhalten.
  20. System nach einem der Ansprüche 13 bis 19, wobei der Speicher (40) zum Speichern der ersten Information in dem Dekodierer (12) während der Herstellung so ausgeführt ist, dass er zum Speichern der ersten Information, die ein Hauptschlüssel des Herstellers ist, dient; und die Mittel zum Berechnen des Schlüssels (42) in dem Dekodierer (12) so ausgeführt sind, das sie die erste Informa tion, die ein Hauptschlüssel des Herstellers ist, verwenden.
  21. System nach einem der Ansprüche 13 bis 15, zusätzlich folgendes beinhaltend: ein Speicher (16) in dem Kodierer zum Speichern der dritten Information, die unterschiedlich von der zweiten Information, die während der Herstellung gespeichert wurde, ist, wobei die Mittel zum Senden (11) der zweiten Information weiterhin Mittel zum Senden der dritten Information vom Kodierer zum Dekodierer (12) während des Lernens beinhalten, und wobei die Mittel zum Empfangen (13) der zweiten Information Mittel zum Empfangen und einen Speicher zum Speichern der dritten Information während des Lernens beinhalten.
  22. System nach Anspruch 20, zusätzlich folgendes beinhaltend: Mittel zum Kodieren (18) von Informationen durch den Kodierer (10) unter Benutzung eines darin gespeicherten Schlüssels; Mittel zum Senden (11) der dritten Information und der Information, die von dem Kodierer kodiert wurde; Mittel zum Empfangen (13) durch den Dekodierer (12) der dritten Information und der Information, die von dem Kodierer (10) kodiert wurde; Mittel zum Vergleichen (36), durch den Dekodierer (12), der dritten Information, die mit der Information, die von dem Kodierer kodiert wurde, übertragen wurde, mit der dritten Information, die während des Lernens gespeichert wurde; Mittel zum Dekodieren (34), durch den Dekodierer (12), der kodierten Information; und Mittel zum Ausführen einer Funktion (38), die sich auf die kodierte Information, die kodiert wurde, bezieht, nur wenn die Mittel für das Vergleichen ergeben, dass die dritte Information, die damit der Information, die von dem Kodierer kodiert wurde, übertragen wurde, mit der dritten Information, die während des Lernens gespeichert wurde, übereinstimmt.
  23. System nach Anspruch 20, zusätzlich folgendes beinhaltend: Mittel zum Vergleichen (36) der dritten Information, die empfangen wurde, mit der Managementinformation; und Mittel zum Überprüfen der Gültigkeit der dritten Information, wenn die Mittel für das Vergleichen ergeben, dass die Information, die empfangen wurde, mit der Managementinformation übereinstimmt.
  24. System nach einem der Ansprüche 13 bis 23, zusätzlich folgendes beinhaltend: Mittel zum Senden der Zählerinformation (16, 11) von dem Kodierer (10) zu dem Dekodierer (12) nach dem Senden der zweiten Information; Mittel zum Empfangen der Zählerinformation (13, 36) durch den Dekoder (12); Mittel zum Vergleichen (36) der Zählerinformation, die empfangen wurde mit der Zählerinformation, die vorher in dem Dekodierer (12) gespeichert wurde; und Mittel zum Verhindern der Ausführungen (38) eines Kommandos durch den Dekodierer (12), wenn die Zählerinformation, die empfangen wurde, nicht fortlaufend zu der Zählerinformation, die vorher gespeichert wurde, ist.
DE69533637T 1994-06-21 1995-06-21 Geschütztes Selbstlernen Expired - Lifetime DE69533637T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ZA944411 1994-06-21
ZA9404411 1994-06-21

Publications (2)

Publication Number Publication Date
DE69533637D1 DE69533637D1 (de) 2004-11-18
DE69533637T2 true DE69533637T2 (de) 2006-02-16

Family

ID=25584009

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69533637T Expired - Lifetime DE69533637T2 (de) 1994-06-21 1995-06-21 Geschütztes Selbstlernen

Country Status (3)

Country Link
EP (1) EP0688929B1 (de)
DE (1) DE69533637T2 (de)
ZA (1) ZA955429B (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6166650A (en) * 1991-05-29 2000-12-26 Microchip Technology, Inc. Secure self learning system
US5731756A (en) * 1996-10-10 1998-03-24 United Technologies Automotive, Inc. Universal encrypted radio transmitter for multiple functions
EP0851398A3 (de) * 1996-12-17 1998-11-25 Robert Bosch Gmbh Empfangsvorrichtung einer Fernbedienung
JP3988172B2 (ja) * 1997-04-23 2007-10-10 ソニー株式会社 情報処理装置および方法、並びに記録媒体
US6108326A (en) * 1997-05-08 2000-08-22 Microchip Technology Incorporated Microchips and remote control devices comprising same
FI105253B (fi) * 1997-11-11 2000-06-30 Sonera Oyj Siemenluvun generointi
DE19757037A1 (de) * 1997-12-20 1999-06-24 Bosch Gmbh Robert Verfahren zum Neuzuordnen eines Betätigungselementes zu einer Fernwirkeinrichtung und Fernwirkeinrichtung
KR20010021529A (ko) * 1998-05-07 2001-03-15 씨. 필립 채프맨 인코드된 무선 주파수 및 인코드된 자기장 통신용 시스템및 그 방법
FR2788649A1 (fr) * 1999-01-18 2000-07-21 Schlumberger Systems & Service Procede de chargement securise de donnees entre des modules de securite
DE19942788A1 (de) * 1999-09-08 2001-03-15 Winkhaus Fa August Schliessanlage und Verfahren zum Betrieb einer Schliessanlage
FR2837939B1 (fr) 2002-03-26 2004-09-17 Somfy Procede de reprogrammation d'objets bidirectionnels
EP1851743A1 (de) 2005-02-18 2007-11-07 Locca Tech Ltd. Drahtloses fernbedienbares feuer- und rauchwarnsystem
US20220103354A1 (en) * 2020-09-25 2022-03-31 Renesas Electronics Corporation Secure encryption key generation and management in open and secure processor environments

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3906348A (en) 1973-08-20 1975-09-16 Chamberlain Mfg Corp Digital radio control
GB2023899B (en) 1978-06-14 1982-10-27 Hitachi Ltd Remote-controlled automatic control apparatus
US4426637A (en) 1979-02-26 1984-01-17 Multi-Elmac Company Combination encoder-decoder integrated circuit device
US4380762A (en) 1980-01-31 1983-04-19 Gaetano Capasso Polyfunction programmable data receiver
US4529980A (en) 1982-09-23 1985-07-16 Chamberlain Manufacturing Corporation Transmitter and receiver for controlling the coding in a transmitter and receiver
US4535333A (en) 1982-09-23 1985-08-13 Chamberlain Manufacturing Corporation Transmitter and receiver for controlling remote elements
DE3237622A1 (de) 1982-10-11 1984-04-12 Bayerische Motoren Werke AG, 8000 München Sicherheitseinrichtung
DE3244049C2 (de) 1982-11-27 1986-06-26 Kiekert GmbH & Co KG, 5628 Heiligenhaus Zentralverriegelungsanlage für ein Kraftfahrzeug
US4590470A (en) 1983-07-11 1986-05-20 At&T Bell Laboratories User authentication system employing encryption functions
US4931789A (en) 1983-11-01 1990-06-05 Universal Photonix, Inc. Apparatus and method for a universal electronic locking system
US4686529A (en) 1984-01-06 1987-08-11 Kiekert Gmbh & Co. Kommanditgesellschaft Remote-control lock system
US4928098A (en) 1984-03-30 1990-05-22 Siemens Aktiengesellschaft Method for code protection using an electronic key
US4574247A (en) 1984-05-21 1986-03-04 Multi-Elmac Company FM Signal demodulator
US4638433A (en) 1984-05-30 1987-01-20 Chamberlain Manufacturing Corporation Microprocessor controlled garage door operator
US4750118A (en) 1985-10-29 1988-06-07 Chamberlain Manufacturing Corporation Coding system for multiple transmitters and a single receiver for a garage door opener
US4737770A (en) 1986-03-10 1988-04-12 Interactive Technologies, Inc. Security system with programmable sensor and user data input transmitters
FR2597538B1 (fr) * 1986-04-22 1995-03-31 Soum Rene Ensemble cle-serrure de securite a telecommande dans lequel la cle n'a qu'une fonction d'emission et la serrure de reception
US4779090A (en) 1986-08-06 1988-10-18 Micznik Isaiah B Electronic security system with two-way communication between lock and key
JPH0747910B2 (ja) 1986-10-24 1995-05-24 日産自動車株式会社 リモ−トコントロ−ルドアロツク装置
DE3636822C2 (de) 1986-10-29 1993-12-23 Ruf Kg Wilhelm Elektronische Fernbetätigungseinrichtung, insbesondere für Zentralverriegelungsanlagen von Kraftfahrzeugen
DE3741324A1 (de) 1987-12-05 1989-06-15 Alltronik Gmbh Handsender zur aussendung codierter elektromagnetischer impulse und darauf abgestimmter empfaenger
US4951029A (en) 1988-02-16 1990-08-21 Interactive Technologies, Inc. Micro-programmable security system
US4912463A (en) 1988-08-09 1990-03-27 Princeton Technology Corporation Remote control apparatus
JPH0732499B2 (ja) 1988-08-16 1995-04-10 日産自動車株式会社 施解錠制御システム
US4890108A (en) 1988-09-09 1989-12-26 Clifford Electronics, Inc. Multi-channel remote control transmitter
US4855713A (en) 1988-10-07 1989-08-08 Interactive Technologies, Inc. Learn mode transmitter
US5049867A (en) 1988-11-30 1991-09-17 Code-Alarm, Inc. Vehicle security apparatus
IT1227401B (it) 1988-12-06 1991-04-08 Delta Elettronica Spa Dispositivi per la trasmissione a distanza di comandi in sicurezza
US5148159A (en) 1989-04-26 1992-09-15 Stanley Electronics Remote control system with teach/learn setting of identification code
US4988992A (en) 1989-07-27 1991-01-29 The Chamberlain Group, Inc. System for establishing a code and controlling operation of equipment
ATE136975T1 (de) * 1990-05-29 1996-05-15 Microchip Tech Inc Integrierte schaltungen, insbesondere zum gebrauch in fernsteuersystemen
ZA914063B (en) 1990-05-29 1993-03-31 Nanoteq Pty Limited Microchips and remote control device comprising same
US5191610A (en) * 1992-02-28 1993-03-02 United Technologies Automotive, Inc. Remote operating system having secure communication of encoded messages and automatic re-synchronization

Also Published As

Publication number Publication date
EP0688929A3 (de) 1997-12-17
DE69533637D1 (de) 2004-11-18
EP0688929A2 (de) 1995-12-27
ZA955429B (en) 1996-02-13
EP0688929B1 (de) 2004-10-13

Similar Documents

Publication Publication Date Title
DE102006011685B4 (de) Sicherheitssystem mit gegenseitiger Berechtigungsüberprüfung mit Wiederherstellung aus einer teilweisen Programmierung
DE3905651C2 (de)
DE69535362T2 (de) Rollierendes Code-Verschlüsselungsverfahren für ein fernbedienbares schlüsselloses Eingangssystem
DE69533637T2 (de) Geschütztes Selbstlernen
DE102006013504B4 (de) Technik zum Programmieren eines geheimen Schlüssels für einen Transponder unter Verwendung einer Verschlüsselung
DE102006030767B4 (de) Verfahren, Transponder und System zum sicheren Datenaustausch
DE4411449C1 (de) Fahrzeugsicherungseinrichtung mit elektronischer Nutzungsberechtigungscodierung
DE4411450C1 (de) Fahrzeugsicherungseinrichtung mit elektronischer Nutzungsberechtigungscodierung
DE69637072T2 (de) Rollierendes code-sicherheitssystem
DE4418069C1 (de) Sicherungseinrichtung mit elektronisch codierter Zugangsberechtigung für ein Fahrzeug
DE3636822C2 (de) Elektronische Fernbetätigungseinrichtung, insbesondere für Zentralverriegelungsanlagen von Kraftfahrzeugen
EP0283432B1 (de) Verfahren und Vorrichtung zum Schutz der Geheimelemente in einem Netz von Chiffriergeräten mit offener Schlüssel-Verwaltung
DE19532067C1 (de) Verfahren und Einrichtung zur Einprogrammierung von Betriebsdaten in Fahrzeugbauteile
DE102007016467B3 (de) Transponder mit Zugriffsschutz und Verfahren zum Zugriff auf den Transponder
DE69729064T2 (de) Resynchronisation durch variablen Tastendruck für fernbedienbare schlüssellose Eingangssystem
DE2253275B2 (de) Verfahren und Vorrichtung zum Betreiben einer gegen unbefugten Zugang gesicherten Nachrichtenübertragungsanlage
DE60129742T2 (de) Verfahren und vorrichtung zum datentransfer
EP0811739B1 (de) Vorrichtung und Verfahren zur Prüfung der Nutzungsberechtigung für Zugangskontrolleinrichtungen, insbesondere Schliesseinrichtungen für Fahrzeuge
EP0925665A2 (de) Verfahren zur kryptologischen authentifizierung in einem radiofrequenz-identifikations-system
DE3327720A1 (de) Verfahren und vorrichtung zum betrieb einer elektronischen sicherheitseinrichtung
DE19616399A1 (de) Fernbedienung
EP1768342A1 (de) Netzwerkkomponente, Kommunikationsnetzwerk und Verfahren zur Bereitstellung einer Datenverbindung
EP1073019A2 (de) Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
DE69633165T2 (de) Sende- und Empfangssystem
DE4234822A1 (de) Fernsteuerung fuer betaetigungsmittel, insbesondere fuer ein kraftfahrzeug

Legal Events

Date Code Title Description
8364 No opposition during term of opposition