[go: up one dir, main page]

DE10046642A1 - System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen - Google Patents

System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen

Info

Publication number
DE10046642A1
DE10046642A1 DE10046642A DE10046642A DE10046642A1 DE 10046642 A1 DE10046642 A1 DE 10046642A1 DE 10046642 A DE10046642 A DE 10046642A DE 10046642 A DE10046642 A DE 10046642A DE 10046642 A1 DE10046642 A1 DE 10046642A1
Authority
DE
Germany
Prior art keywords
secret code
hardware module
test object
code
secret
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.)
Withdrawn
Application number
DE10046642A
Other languages
English (en)
Inventor
Chien-Tzu Hou
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.)
Geneticware Co Ltd
Original Assignee
Geneticware Co Ltd
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 Geneticware Co Ltd filed Critical Geneticware Co Ltd
Publication of DE10046642A1 publication Critical patent/DE10046642A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • 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
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Es werden ein Verfahren und ein System zum Emulieren eines geheimen Codes zwischen einem ersten Hardwaremodul (100) und einem zweiten Hardwaremodul (200) angegeben. Als erstes wird der geheime Code (SC), der zunächst im ersten Hardwaremodul gespeichert ist, entsprechend einem Transformationsmuster, das zufällig aus einem Satz möglicher Transformationsmuster ausgewählt wird, in einen transformierten geheimen Code transformiert. Dann wird der transformierte geheime Code an das zweite Hardwaremodul übertragen. Als Nächstes nimmt dieses wiederholt dadurch einen hypothetischen geheimen Code aus dem transformierten geheimen Code an, dass es ein aus den möglichen Transformationsmustern ausgewähltes Transformationsmuster verwendet und den Effekt desselben auf den transformierten geheimen Code umkehrt. Außerdem wird der hypothetische geheime Code dazu verwendet, ein Testobjekt zu codieren, wobei das codierte Testobjekt an das erste Hardwaremodul rückgeliefert wird. Demgemäß kann das erste Hardwaremodul die Gültigkeit des aktuellen hypothetischen geheimen Codes durch Prüfen des codierten Testobjekts verifizieren. Nachdem das erste Hardwaremodul erkannt hat, dass der aktuelle hypothetische geheime Code mit dem richtigen geheimen Code übereinstimmt, informiert es das zweite Hardwaremodul über dieses Übereinstimmungsergebnis und beendet den Prozess.

Description

Die Erfindung betrifft allgemein die Informationsaus­ tausch-Technologie, spezieller ein Verfahren und ein System zum Übertragen eines Geheimcodes oder geheimer Information zwischen zwei Hardwaremodulen. Der Übertragungsprozess wird als Geheimcode-Emulation bezeichnet. Die zwei Hardwaremodule sind dazu in der Lage, unter Verwendung des ursprünglichen Geheimcodes und des emulierten Geheimcodes, wie nur ihnen bekannt, geheim zu kommunizieren.
Die Verteilung von Schlüsseln ist ein wichtiger und grundle­ gender Punkt bei modernen Chiffriersystemen. Der Zweck der Verteilung von Schlüsseln besteht im Verteilen nützlicher Chiffrier/Dechiffrier-Information (oder sogenannter Chiff­ rier/Dechiffrier-Schlüssel) über Kommunikationshosts für Kommunikation miteinander, um zu verhindern, dass illegale Hosts oder Personen die Schlüsselbezogene Information ab­ fangen, um dadurch Kommunikationsdaten abzuhorchen oder Ur­ kunden zu fälschen. Moderne Chiffriersysteme können in zwei Klassen eingeteilt werden, von denen die eine symmetrische oder Systeme mit geheimem Schlüssel betrifft und die andere asymmetrische oder Systeme mit öffentlichem Schlüssel be­ trifft. Nachfolgend werden Realisierungen der Verteilung von Schlüsseln für diese zwei Arten von Chiffriersystemen unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
Fig. 1 zum Stand der Technik ist ein schematisches Diagramm eines herkömmlichen symmetrischen Systems, wie gemäß dem DES (Data Encryption Standard = Datenchiffrierstandard), zum Veranschaulichen des zugehörigen Schemas bei der Verteilung von Schlüsseln. Beim symmetrischen System benutzen der Sen­ der (Datenquelle) und der Empfänger (Datenziel) denselben Schlüssel, KEYc, zum Chiffrieren/Dechiffrieren vertraulicher Daten. In Fig. 1 wirkt ein Kommunikationshost 1 als Sender, und ein Kommunikationshost 2 wirkt als Empfänger. Der Kommu­ nikationshost 1 verfügt über eine Chiffriereinrichtung 3, die den Schlüssel KEYc zum Verschlüsseln von Normaltext 10 in Chiffriertext 20 verwendet. Der Chiffriertext 20 kann über öffentliche Netzwerke, wie LANs oder das Internet, da­ durch verteilt werden, dass der Kommunikationshost 2 als Zielhost angegeben wird. Außerdem verfügt der Kommunikati­ onshost 2 über eine Chiffriereinrichtung 4. Nachdem die Chiffriereinrichtung 4 den Chiffriertext 20 vollständig emp­ fangen hat, verwendet sie denselben Schlüssel KEYc zum De­ chiffrieren des Chiffriertexts 20, um wiedergewonnenen Text 12 zu erhalten. Beim symmetrischen Chiffriersystem wird an­ genommen, dass der durch beide Endstellen verwendete gemein­ same Schlüssel KEYc auf vertrauliche und sichere Weise ver­ teilt wird und während des Verteilprozesses nicht abgefangen werden kann. Tatsächlich ist es jedoch schwierig, ein Über­ tragungsmedium herauszufinden, das diesem Geheimerfordernis vollständig genügen kann. Es zeigt sich auch, dass Hacker dazu in der Lage sind, derartige Chiffriersysteme dadurch zu durchbrechen, dass sie den Chiffrierschlüssel aus dem nicht vertrauenswürdigen Übertragungsmedium stehlen.
Fig. 2 zum Stand der Technik ist ein schematisches Diagramm eines herkömmlichen asymmetrischen Chiffriersystems, wie des RSA-Systems. Abweichend von symmetrischen Chiffriersystemen nutzen asymmetrische Chiffriersysteme verschiedene öffentli­ che Schlüssel und private Schlüssel zur Chiffrierung bzw. Dechiffrierung. Wie es in Fig. 2 dargestellt ist, verwenden die Kommunikationshosts 1 und 2 Verschlüsselungseinrichtun­ gen 5, 6 bzw. 7, 8 zum Realisieren praxisgerechter Daten- Chiffrier/Dechiffrier-Prozesse, die denen ähnliche sind, wie sie beim symmetrischen Chiffriersystem verwendet werden. Jedoch verfügt jeder der Kommunikationshosts über sein eige­ nes Paar eines privaten und eines öffentlichen Schlüssels. Der private Schlüssel und der öffentliche Schlüssel des Kom­ munikationshosts 1 sind als KEYAPRI bzw. KEYAPUB bezeichnet, und diejenigen des Kommunikationshosts 2 sind als KEYBPRI bzw. KEYBPUB bezeichnet. Es wird darauf hingewiesen, dass die privaten Schlüssel in ihren Kommunikationshosts vertrau­ lich enthalten sind, jedoch die öffentlichen Schlüssel der Öffentlichkeit bekanntgemacht werden müssen. Im in Fig. 2 dargestellten Fall eignet sich auch der Kommunikationshost 2 den öffentlichen Schlüssel KEYAPUB des Kommunikationshosts 1 an, und der Kommunikationshost 1 eignet sich auch den öf­ fentlichen Schlüssel KEYBPUB des Kommunikationshosts 2 an.
Nun werden Beispiele für die Übertragung von Daten veran­ schaulicht. Es sei angenommen, dass der Kommunikationshost 1 dazu bereit ist, ein Dokument auf sichere Weise an den Kom­ munikationshost 2 zu übertragen. Der erste Schritt besteht darin, dass die Chiffriereinrichtung 5 den öffentlichen Schlüssel KEYBPUB des Kommunikationshosts 2 zum Chiffrieren dieses Dokuments verwendet. Nach der Chiffrierung wird das chiffrierte Dokument über das Verbindungsnetzwerk vom Kommu­ nikationhost 1 an den Kommunikationshost 2 übertragen. Da der Kommunikationshost 2 den privaten Schlüssel KEYBPRI ent­ hält, der paarweise dem öffentlichen Schlüssel KEYBPUB zuge­ ordnet ist, der zum Chiffrieren dieses Dokuments verwendet wurde, kann das chiffrierte Dokument von der Chiffrierein­ richtung 6 unter Verwendung des privaten Schlüssels KEYBPRI dechiffriert werden. Auf ähnliche Weise kann der Kommunika­ tionshost 2 den öffentlichen Schlüssel KEYAPUB des Kommuni­ kationshosts 1 zum Dechiffrieren geheimer Daten verwenden, und der Kommunikationshost 1 kann seinen privaten Schlüssel KEYAPRI zum Dechiffrieren der geheimen Daten verwenden. Es sei darauf hingewiesen, dass die Verteilung von Schlüsseln leicht dadurch erzielt werden kann, dass diese öffentlichen Schlüssel an die Öffentlichkeit ausgegeben werden. Die grundlegende Sicherheitsannahme bei herkömmlichen asymmetri­ schen Chiffriersystemen besteht darin, dass die Ausgabe öf­ fentlicher Schlüssel zu keinem Mangel des Schutzes des Chiffriersystems führt.
Wie oben beschrieben, verwenden das herkömmliche symmetri­ sche und das asymmetrische Chiffriersystem verschiedene Vor­ gehensweisen zum Handhaben der Frage der Verteilung von Schlüsseln. Beim symmetrischen System muss die Schlüssel­ bezogene Information geheim gehalten werden und mittels ei­ nes sicheren Übertragungsmediums ausgetauscht werden. Jedoch ist es in der tatsächlichen Welt beinahe unmöglich, die Ver­ traulichkeit des Schlüsselaustauschprozesses zu garantieren. Daher existiert, aus dem Gesichtspunkt der Verteilung von Schlüsseln, beim herkömmlichen symmetrischen Chiffriersystem eine Sicherheitslücke. Andererseits kann die Verteilung von Schlüsseln dadurch erfolgen, dass die öffentlichen Schlüssel bei den herkömmlichen asymmetrischen Chiffriersystemen frei ausgegeben werden. Andererseits kann der Austausch von Schlüsseln auf unkomplizierte Weise erfolgen. Daher kann die Verteilung von Schlüsseln bei einem asymmetrischen Chiff­ riersystem auf einfachere Weise als bei einem symmetrischen Chiffriersystem erfolgen.
Außerdem nutzen die meisten herkömmlichen Chiffriersysteme auf mathematischen Gesetzen beruhende Chiffrieralgorithmen zum Chiffrieren von Daten, insbesondere bei asymmetrischen Chiffriersystemen. Zum Beispiel ist das RSA-Chiffriersystem auf Grundlage von Primzahlzerlegungs-Problemen konzipiert. Daher sind die üblichsten Realisierungen derartiger Chiff­ riersystemen in Software geschrieben. Im in Fig. 2 darge­ stellten Fall repräsentieren die Chiffriereinrichtungen 5 und 6 im Allgemeinen Softwarepakete, die zum Ausführen der erforderlichen Chiffrieralgorithmen konzipiert sind und in den Kommunikationshosts 1 bzw. 2 abgearbeitet werden. Erfor­ derliche Schlüssel, einschließlich der Schlüssel KEAYPUB KEYAPRI, KEABPUB und KEYBPRI, werden von den Benutzern er­ stellt oder durch Schlüsselerzeugungssoftware automatisch erzeugt. Manchmal können Chiffriereinrichtungen durch Hard­ ware realisiert werden, um die Verarbeitung zu beschleuni­ gen. Unabhängig davon, wie diese herkömmlichen Chiffriersys­ teme realisiert sind, sind die Grundlagen der Schlüssel un­ verändert, d. h., dass die Bestimmung dieser Schlüssel stark von den Chiffrieralgorithmen abhängt, wobei die Benutzer auf die Schlüssel zugreifen können.
Gemäß der vorstehenden Beschreibung sind die Chiffrieralgo­ rithmen herkömmlicher Chiffriersysteme bekannt, jedoch sind die Dechiffrierschlüssel unbekannt. Daher gehören zur Si­ cherheitsfunktion eines Chiffriersystems zwei Dinge: es ist zu gewährleisten, dass niemand chiffrierte Daten auf Grund­ lage der bekannten Chiffrieralgorithmen und der öffentlichen Schlüssel dechiffrieren kann, und beim Chiffriersystem mit öffentlichem Schlüssel ist der private Schlüssel sorgfältig geheim zu halten, während dies beim Chiffriersystem mit ge­ heimem Schlüssel für den geheimen Schlüssel gilt. Es ist er­ sichtlich, dass ein System unsicher ist, wenn Information zum Schlüssel durch Hacker erlangbar ist. Tatsächlich benut­ zen aktuelle Chiffriersysteme immer noch vom Benutzer defi­ nierte Schlüssel, oder sie erlauben es in einigen Situatio­ nen den Benutzern, Information zu Schlüsseln zu erfassen. Dies führt zu einem Vorteil betreffend die Unabhängigkeit von Kommunikationseinrichtungen, und Benutzer können ihre Schlüssel leicht in beliebigen Systemen nutzen, die diesel­ ben Chiffrieralgorithmen unterstützen. Dieses Merkmal bildet jedoch auch einen Weg für Hacker zum Erreichen der versteck­ ten Information.
Eine bessere Lösung für dieses Problem besteht darin, diese Schlüssel in die Hardware einzubauen und den Zugriffspfad auf diese Schlüssel zu beschränken, um dadurch unberechtig­ ten Zugriff auf die Schlüssel zu sperren. Jedoch führt das Einbetten der Schlüssel in die Hardware auch zum Problem, wie Information zu Schlüsseln für zwei Hardwaremodule mit demselben Merkmal gemeinsam zu nutzen sei. Die Erfindung be­ handelt den Punkt des Schlüsselaustauschs in einer solchen Situation.
Der Erfindung liegt die Aufgabe zugrunde, ein System und ein Verfahren zum Emulieren eines geheimen Codes, der ein echter Schlüssel oder ein Schlüsselvorläufer sein kann, zwischen zwei unabhängigen, jedoch gekoppelten Hardwaremodulen zu schaffen. Die Emulation eines geheimen Codes bedeutet einen Prozess, bei dem ein Kommunikationshost einen geheimen Code, der innerhalb eines anderen Kommunikationshosts verborgen ist, repliziert. Außerdem wird der geheime Code auch während des Emulationsprozesses und nach diesem geheim gehalten.
Durch die Erfindung ist diese Aufgabe dadurch gelöst, dass ein System mit einem ersten und einem zweiten Hardwaremodul für wechselseitige Kommunikation geschaffen ist, bei dem das erste Hardwaremodul einen geheimen Code enthält, der von au­ ßen nicht zugänglich ist, und das zweite Hardwaremodul den geheimen Code emulieren kann.
Das erste Hardwaremodul verfügt über eine Einrichtung zum Speichern eines Testobjekts und eine Einrichtung zum Trans­ formieren des geheimen Codes in einen transformierten gehei­ men Code entsprechend einem Transformationsmuster, das zu­ fällig aus einem Satz möglicher Transformationsmuster ausge­ wählt wurde. Dann kann der transformierte geheime Code vom ersten Hardwaremodul an das zweite Hardwaremodul übertragen werden. Das zweite Hardwaremodul verfügt über eine Rückge­ winnungs-Logikschaltung zum Wiederherstellen des transfor­ mierten geheimen Codes zum Erhalten hypothetischer geheimer Codes durch rekursives versuchsweises Anwenden des Satzes möglicher Transformationsmuster sowie einen Codierer zum Co­ dieren des Testobjekts in ein codiertes Testobjekt unter Verwendung jedes der hypothetischen geheimen Codes. Jedes codierte Testobjekt wird an das erste Hardwaremodul gelie­ fert. Das erste Hardwaremodul verfügt ferner über einen De­ codierer zum Decodieren des vom zweiten Hardwaremodul emp­ fangenen codierten Testobjekts in ein vorläufiges Objekt un­ ter Verwendung des richtigen geheimen Codes sowie einen Com­ parator zum Vergleichen des vorläufigen Objekts mit dem in der Speichereinrichtung gespeicherten Testobjekt und zum In­ formieren des zweiten Hardwaremoduls über das Vergleichser­ gebnis. Wenn das Ergebnis zeigt, dass das vorläufige Objekt und der geheime Code übereinstimmen, endet der Betrieb der Rückgewinnungslogik, da der aktuelle hypothetische geheime Code dem geheimen Code entspricht.
Außerdem ist durch die Erfindung ein in einem derartigen System ausführbares Emulationsverfahren geschaffen. Als Ers­ tes wird der anfangs im ersten Hardwaremodul abgespeicherte geheime Code entsprechend einem Transformationsmuster, das zufällig aus dem vorbestimmten Satz möglicher Transformati­ onsmuster ausgewählt wurde, in einen transformierten gehei­ men Code umgewandelt. Dann kann der transformierte geheime Code vom ersten Hardwaremodul an das zweite Hardwaremodul übertragen werden. Es ist unmöglich, den richtigen geheimen Code unmittelbar aus dem transformierten geheimen Code zu erfassen, solange nicht jemand vorhersagen kann, welches der möglichen Transformationsmuster ausgewählt ist. Als Nächstes kann das zweite Hardwaremodul aus dem transformierten gehei­ men Code einen hypothetischen geheimen Code rekursiv dadurch annehmen, dass es eines der möglichen Transformationsmuster auswählt und den Effekt des ausgewählten Musters auf den transformierten geheimen Code umkehrt, bis ein Übereinstim­ mungs-Vergleichsergebnis erzielt wird.
Das Übereinstimmungs-Vergleichsergebnis wird vom ersten Hardwaremodul verifiziert und ausgegeben. Das zweite Hard­ waremodul verwendet den aktuellen hypothetischen geheimen Code zum Codieren eines Testobjekts in ein codiertes Testob­ jekt, und es sendet das codierte Testobjekt zur Verifizie­ rung an das erste Hardwaremodul. So verwendet das erste Hardwaremodul den richtigen geheimen Code zum Decodieren des codierten Testobjekts in ein vorläufiges Objekt, und es ver­ gleicht dieses mit dem ursprünglichen Testobjekt. Wenn sie übereinstimmen, bedeutet dies, dass der aktuelle hypotheti­ sche geheime Code korrekt ist. Daher kann das erste Hard­ waremodul das zweite Hardwaremodul über das Übereinstim­ mungs-Vergleichsergebnis informieren. Dann ist der geheime Code erfolgreich vom ersten an das zweite Hardwaremodul übertragen.
Die nachfolgende detaillierte beispielhafte Beschreibung, die die Erfindung nicht alleine auf die hier beschriebenen Ausführungsbeispiele beschränken soll, ist am besten in Ver­ bindung mit den beigefügten Zeichnungen zu verstehen.
Fig. 1 (Stand der Technik) ist ein schematisches Diagramm eines herkömmlichen Chiffriersystems mit geheimem Schlüssel, wobei es das zugehörige Schema zum Verteilen von Schlüsseln veranschaulicht;
Fig. 2 (Stand der Technik) ist ein schematisches Diagramm eines herkömmlichen Chiffriersystems mit öffentlichem Schlüssel, wobei es das zugehörige Schema zum Verteilen von Schlüsseln veranschaulicht;
Fig. 3 ist ein Blockdiagramm eines Chiffriersystems, bei dem geheime Codes gemäß der Erfindung in Hardwaremodule einge­ baut sind;
Fig. 4 ist ein detailliertes Blockdiagramm des Chiffriersys­ tems mit zwei Hardwaremodulen zum Veranschaulichen des Sche­ mas zur Verteilung von Schlüsseln gemäß der Erfindung;
Fig. 5 zeigt einige Beispiele möglicher Transformationsmus­ ter, wie sie beim Ausführungsbeispiel der Erfindung verwen­ det werden; und
Fig. 6 ist ein Flussdiagramm des Prozesses zum Verteilen des geheimen Codes, wie bei einem Chiffriersystem angewandt, bei dem die geheimen Codes gemäß der Erfindung in die Hardware­ module eingebaut sind.
Das Blockdiagramm eines erfindungsgemäßen Chiffriersystems gemäß Fig. 3 verfügt über Hardwaremodule, die geheime Codes enthalten. Genauer gesagt, kann der geheime Code in jedem Hardwaremodul als Schlüssel für Hardware-Chiffrierung/De­ chiffrierung verwendet werden, oder er kann dazu verwendet werden, den richtigen Schlüssel für Hardware Chiffrierung/­ Dechiffrierung herzuleiten. Hardwaremodule 100 und 200 be­ finden sich gesondert in verschiedenen Kommunikationshosts, die miteinander kommunizieren sollen. Bei diesem Beispiel dient der das Hardwaremodul 100 enthaltende Host als Sender, der normale Daten 300 an den das Hardwaremodul 200 enthal­ tenden Host übertragen soll.
Wie es in Fig. 3 dargestellt ist, enthält das Hardwaremodul 100 einen Zufallszahlengenerator 104, der dazu verwendet wird, intern einen in das Hardwaremodul 100 eingebauten ge­ heimen Code SC zu erzeugen. Der geheime Code SC kann inner­ halb des Hardwaremoduls 100 sicher versteckt werden, und es kann nicht von außen auf ihn zugegriffen werden, da kein körperlicher Zugriffspfad auf den geheimen Code SC im Hard­ waremodul 100 besteht. Tatsächlich könnte der geheime Code SC nicht nur durch den Zufallszahlengenerator 104 sondern auch durch andere Systeme erzeugt werden. Zum Beispiel kann der geheime Code SC aus einem durch den Zufallszahlengenera­ tor 104 erzeugten Datenteil und einem durch Benutzer defi­ nierten Datenteil bestehen. Es sei darauf hingewiesen, dass der geheime Code SC in einem derartigen Fall immer noch ge­ heim gehalten werden kann, da niemand die vollständige In­ formation betreffend den geheimen Code SC erfassen kann, insbesondere den vom Zufallszahlengenerator 104 erzeugten Teil. Im Allgemeinen sollte der erzeugte geheime Code SC in einem im Hardwaremodul 100 enthaltenen Speicher aufbewahrt werden.
Außerdem verfügt das Hardwaremodul 100 über eine Codierlogik 102 zum üblichen Codieren des normalen Texts 300. Die Co­ dierlogik 102 kann den geheimen Code SC unmittelbar als Chiffrierschlüssel verwenden, oder sie kann aus dem geheimen Code SC einen tatsächlichen Chiffrierschlüssel herleiten, wie oben beschrieben. Unabhängig davon, wie die Codierlogik 102 den Chiffrierschlüssel erzeugt, kann sie den normalen Text 300 unter Verwendung des geheimen Codes SC codieren, um codierten Text 300e zu erhalten.
Wie es in Fig. 3 dargestellt ist, verfügt das als Empfänger dienende Hardwaremodul 200 über eine Decodierlogik 202 zum üblichen Decodieren des vom Hardwaremodul 100 empfangenen codierten Texts 300e und über Speichermedien zum Aufbewahren eines emulierten geheimen Codes SCT, der dem im Hardwaremo­ dul 100 versteckten geheimen Code SC entspricht. Wenn das Hardwaremodul 200 tatsächlich über den emulierten geheimen Code SCT verfügt, der dem geheimen Code SC entspricht, kann der codierte Text 300e unter Verwendung dieses geheimen Co­ des SCT von der Decodierlogik 202 korrekt in decodierten Text 300 decodiert werden. Der einzige offene Punkt besteht darin, wie der geheime Code SC vom Hardwaremodul 100 ver­ traulich an das Hardwaremodul 200 übertragbar ist. Die fol­ gende Erörterung konzentriert sich auf diesen Punkt.
Fig. 4 ist ein detailliertes Blockdiagramm des Chiffriersys­ tems des Ausführungsbeispiels zum Demonstrieren des Prozes­ ses, mit dem das Hardwaremodul 200 den geheimen Code SC des Hardwaremoduls 100 emuliert. Wie es in Fig. 4 dargestellt ist, verfügt das Hardwaremodul 100 über eine Decodierlogik 106, eine Speichereinrichtung zum Speichern des geheimen Codes SC, eine Speichereinrichtung zum Speichern eines Test­ objekts 120, eine Variationslogik 110, einen Codeprozessor 112 und einen Komparator 140. Andererseits verfügt das Hard­ waremodul 200 über eine Variationslogik 210, einen Codepro­ zessor 212 und eine Codierlogik 206.
Nachfolgend wird der Emulationsprozess für den geheimen Code kurz beschrieben. Wie oben angegeben, kann auf den im Hard­ waremodul 100 versteckten geheimen Code nicht unmittelbar zugegriffen werden, da kein körperlicher Zugriffspfad auf die Speichereinrichtung zum Speichern desselben besteht. Beim vorliegenden Ausführungsbeispiel muss der geheime Code SC entsprechend einem Transformationsmuster umgewandelt wer­ den, das zufällig aus einem Satz möglicher Transformations­ muster ausgewählt wird, die vorab in den Hardwaremodulen 100 und 200 festgelegt sind. Der diese möglichen Transformati­ onsmuster betreffende Punkt wird später näher erörtert. Nachfolgend wird der umgewandelte geheime Code SC als trans­ formierter geheimer Code bezeichnet, der an das Hardwaremo­ dul 200 übertragen wird. Nachdem das Hardwaremodul 200 den transformierten geheimen Code korrekt empfangen hat, kann dieses ein Transformationsmuster annehmen, das zum vorab definierten Satz von Transformationsmustern gehört, und es kann aus dem transformierten geheimen Code dadurch einen hypothetischen geheimen Code erzeugen, dass es den Transfor­ mationseffekt des angenommenen Musters umkehrt. Außerdem kann das Hardwaremodul 200 den erzeugten hypothetischen ge­ heimen Code dazu verwenden, ein beiden Seiten bekanntes Testobjekt zu codieren, und es kann das codierte Testobjekt zur Verifikation an das Hardwaremodul 100 senden. Dann kann das Hardwaremodul 100 den richtigen geheimen Code SC dazu verwenden, das vom Hardwaremodul 200 empfangene codierte Testobjekt zu decodieren, um zu verifizieren, ob das Deco­ dierungsergebnis dem ursprünglichen Testobjekt entspricht. Tatsächlich kann das Hardwaremodul 200 im Allgemeinen mit nur einigen wenigen Versuchen nicht die richtige Annahme treffen. Daher dauert ein derartiger Annahme- und Verifi­ zier-Prozess an, bis das Hardwaremodul 200 die richtige An­ nahme getroffen hat.
Ausgehend von der obigen Erörterung soll nun der die mögli­ chen Transformationsmuster betreffende Punkt näher erörtert werden. Wie oben angegeben, werden diese vorab bestimmten Transformationsmuster so konzipiert, dass der richtige ge­ heime Code in verwürfelter Form enthalten ist, um dadurch wichtige Information während des Emulationsprozesses zu ver­ stecken, die zum richtigen geheimen Code gehört. Offensicht­ lich bestimmt die Anzahl aller möglicher Transformationsmus­ ter die Kompliziertheit des Annahme- und Verifizier-Prozes­ ses. Anders gesagt, benötigt das Annahme- und Verifizier- Verfahren im Mittel mehr Zeit zum erfolgreichen Emulieren des geheimen Codes, wenn die Anzahl möglicher Transformati­ onsmuster höher ist. Ferner kann die Realisierung des Annah­ me- und Verifizier-Verfahrens dadurch beeinflusst werden, ob die Transformationsmuster öffentlich bekannt gemacht werden oder nicht. Es ist ersichtlich, dass der Emulationsprozess dann absolut sicher ist, wenn die Information zu den Trans­ formationsmustern in den Hardwaremodulen vollständig ver­ steckt ist. Als Beispiel sei angenommen, dass die Bitlänge des geheimen Codes 64 beträgt und die Anzahl der möglichen Transformationsmuster nur 4 ist. Obwohl in diesem Fall nur vier Transformationsmuster angewandt werden, umfasst der ge­ samte Kombinationsraum für den geheimen Code, entsprechend jedem transformierten geheimen Code, immer noch 264 Möglich­ keiten. Anders gesagt, kann der Emulationsprozess sogar in einem öffentlichen Netz geheim ausgeführt werden. Wenn dage­ gen die Information zu den Transformationsmustern bekannt ist, muss der Emulationsprozess eine große Anzahl möglicher Transformationsmuster umfassen, oder er muss in einer nicht­ öffentlichen Verbindung ausgeführt werden, um die Vertrau­ lichkeit des geheimen Codes zu garantieren. Außerdem sei darauf hingewiesen, dass Benutzer den Emulationsprozess nur aktivieren können, jedoch die Prozedur desselben nicht än­ dern können. Der gesamte Emulationsprozess wird nur durch die zwei den Prozess vorwegnehmenden Hardwaremodule kontrol­ liert.
Fig. 5 zeigt einige Beispiele von bei diesem Ausführungsbei­ spiel verwendbaren Transformationsmustern. Bei diesen Bei­ spielen ist angenommen, dass der ursprüngliche geheime Code 64 Bits enthält, die fortlaufend mit B0, B1, B2, . . ., B62 und B63 gekennzeichnet sind. Das erste Beispiel beinhaltet eine Bitrotationsoperation, die die Bits des geheimen Codes in einer speziellen Rotationsrichtung um n Bits (n ist eine positive ganze Zahl) rotiert. Wie es in Fig. 5 dargestellt ist, verfügt das Ergebnis der Bitrotationsoperation (Rotati­ on nach links um n Bits) über ein führendes Bit Bn und ein Endbit Bn-1. Das zweite Beispiel beinhaltet eine Bitver­ tauschoperation, die die Reihenfolge der ungeraden Bits (B0, B2, . . .) und der benachbarten geraden Bits (B1, B3, . . .) vertauscht. Diese Bitvertauschoperation führt dazu, dass, wie es in Fig. 5 dargestellt ist, die Bitpaare (B0, B1), (B2, B3), . . . (B62, B63) ihre Bitreihenfolge ändern. Das dritte Beispiel beinhaltet eine Reihenfolgeumkehr-Operation, die die normale Reihenfolge der im geheimen Code enthaltenen Bits umkehrt. Fig. 5 veranschaulicht das Ergebnis der Umkeh­ rung der 64 Bits des geheimen Codes. Tatsächlich können die­ se Operationen vermischt oder modifiziert werden, um eine Anzahl von Transformationsmustern zu erhalten. Im Allgemei­ nen ist die Anzahl der vorab bestimmten Transformationsmus­ ter proportional zum Sicherheitsniveau des Emulationsprozes­ ses.
Gemäß erneuter Bezugnahme auf Fig. 4 werden im Hardwaremodul 100 die Variationslogik 110 und der Codeprozessor 112 zum Transformieren des ursprünglichen geheimen Codes SC verwen­ det. Die Variationslogik 110 ist zum zufälligen Auswählen eines Transformationsmusters aus dem vollständigen Satz al­ ler möglichen Transformationsmuster bei jedem Emulationspro­ zess zuständig, und sie verwendet demgemäß das ausgewählte Muster zum Steuern des Betriebs des Codeprozessors 112. Der Codeprozessor 112 wird zum Ausführen einer Transformations­ operation an den Bits des geheimen Codes SC unter Steuerung durch die Variationslogik 110 verwendet, um dadurch den transformierten geheimen Code 114 zu erzeugen. Dann werden der transformierte geheime Code 114 und das Testobjekt 120 in ein Kommunikationspaket C1 gepackt und vom Hardwaremodul 100 an das Hardwaremodul 200 übertragen. Es sei darauf hin­ gewiesen, dass der Betrieb der Variationslogik 110 nicht von Hand gesteuert wird.
Im Hardwaremodul 200 werden die Rückgewinnungslogik 210 und der Codeprozessor 212 dazu verwendet, den richtigen geheimen Code auf Grundlage des im Paket C1 enthaltenen transformier­ ten geheimen Codes 114 zu erraten. Die Grundfunktion der Rückgewinnungslogik 210 ist ähnlich derjenigen der Varia­ tionslogik 110. Der Unterschied zwischen ihnen besteht dar­ in, dass die Rückgewinnungslogik 210 dieselbe Operation wie­ derholt ausführt, bis sie die richtige Annahme getroffen hat. Die Variationslogik 110 arbeitet im Allgemeinen ein Mal pro Emulationsprozess, jedoch arbeitet die Rückgewinnungslo­ gik 210 wiederholt, bis der korrekte geheime Code aufgefun­ den ist. Der Codeprozessor 212 wird unter Steuerung durch die Rückgewinnungslogik 210 dazu verwendet, den Effekt des örtlich durch die Rückgewinnungslogik 210 ausgewählten Transformationsmusters umzukehren, um dadurch den hypotheti­ schen geheimen Code SCH zu erzeugen. Die Codierlogik 206 verwendet den hypothetischen geheimen Code SCH zum Codieren des im Paket C1 enthaltenen Testobjekts 120 in jeder Phase des Emulationsprozesses. Das unter Verwendung des hypotheti­ schen geheimen Codes SCH codierte Testobjekt sollte in das Kommunikationspaket C2 gepackt und zur Verifizierung an das Hardwaremodul 100 übertragen werden.
Nachdem das Hardwaremodul 100 das codierte Testobjekt emp­ fangen hat, kann die Decodierlogik 106 in ihm den richtigen geheimen Code SC dazu verwenden, das ursprüngliche Testob­ jekt rückzugewinnen. Nachfolgend wird das Ergebnis der Deco­ dierung des codierten Testobjekts als vorläufiges Testobjekt bezeichnet. Als Nächstes werden das vorläufige Testobjekt und das Testobjekt 120 gemeinsam dem Komparator 140 zuge­ führt. Wenn die Rückgewinnungslogik 210 eine falsche Annahme getroffen hat, unterscheiden sich das vorläufige Testobjekt und das ursprüngliche Testobjekt 120. Wenn dagegen die Rück­ gewinnungslogik 210 die richtige Annahme getroffen hat, stimmen sie überein. In diesem Fall kann der Komparator 140 die Rückgewinnungslogik 210 über ein Kommunikationspaket C3 über das Übereinstimmungs-Vergleichsergebnis informieren. Wenn die Rückgewinnungslogik 210 hierüber informiert ist, wird der hypothetische geheime Code SCH in der aktuellen Phase als korrekt angesehen. Demgemäß hat das Hardwaremodul 200 den geheimen Code SC erfolgreich emuliert.
Es sei darauf hingewiesen, dass die während des Emulations­ prozesses zwischen den Hardwaremodulen 100 und 200 übertra­ genen Daten, einschließlich der Pakete C1, C2 und C3, den genauen geheimen Code SC nicht enthalten. Wie oben beschrie­ ben, enthält das Paket C1 das Testobjekt 120 und den trans­ formierten geheimen Code 114. Das Paket C2 enthält das co­ dierte Testobjekt. Das Paket C3 enthält das Vergleichsergeb­ nis. Daher kann der geheime Code SC sicher innerhalb der Hardwaremodule 100 und 200 versteckt werden.
Das vorstehende Ausführungsbeispiel soll den Schutzumfang der Erfindung nicht beschränken, sondern es kann so modifi­ ziert und angepasst werden, dass es verschiedenen Anwendun­ gen genügt. Zum Beispiel ist beim obigen Ausführungsbeispiel das Testobjekt 120 anfangs im Hardwaremodul 100 gespeichert, und es wird zu Beginn des Emulationsprozesses an das Hard­ waremodul 200 übertragen. Jedoch ist vom Fachmann zu beach­ ten, dass das Testobjekt auch im Hardwaremodul 200 gespei­ chert werden kann und an das Hardwaremodul 100 übertragen werden kann oder dass es zuvor für beide Seiten bestimmt werden kann.
Es ist von außerordentlicher Bedeutung, die Datenübertragung und den Emulationsprozess für den geheimen Code zu unter­ scheiden. Beim Ausführungsbeispiel erfordert der Emulations­ prozess viele Quittierungsschritte zum Verifizieren der Gül­ tigkeit der vom Empfänger angenommenen hypothetischen gehei­ men Codes. Daher ist dieser Emulationsprozess zeitaufwändig und für normale Datenübertragung nicht geeignet. Außerdem ist es bevorzugt, dass eine derartige Emulation des geheimen Codes in einer vertraulichen Peer-to-peer-Kommunikationsum­ gebung (beidseitig auf derselben Protokollebene) ausgeführt wird. Wenn der Emulationsprozess zwischen zwei Hardwaremodu­ len erfolgreich abgeschlossen ist, können die diese zwei Hardwaremodule enthaltenden Hosts in dieselbe Gruppe einge­ teilt werden, da sie dieselbe oder in Beziehung stehende Codeinformation gemeinsam nutzen. Anders gesagt, können sie auf sichere Weise miteinander kommunizieren. Wie oben be­ schrieben, wird derartige Hardware-orientierte Codeinforma­ tion innerhalb des Hardwaremoduls festgelegt, und niemand kann auf sie zugreifen. Dies ist von den herkömmlichen Chiffriersystemen verschieden, die solche Chiffrier/Dechiff­ rier-Schlüssel verwenden, auf die die Benutzer zugreifen können.
Fig. 6 ist ein Flussdiagramm des Emulationsprozesses bei diesem Ausführungsbeispiel. Im vorliegenden Fall repräsen­ tiert der Host A denjenigen Host, der beim Emulationsprozess als Quelle des geheimen Codes dient. Außerdem repräsentiert der Host B denjenigen Host, der dazu bereit ist, den gehei­ men Code zu emulieren. Die detaillierten Schritte des Emula­ tionsprozesses werden wie folgt veranschaulicht. Zunächst erstellt der Host A einen geheimen Code im Hardwaremodul (Schritt S1). Wie oben beschrieben, ist der geheime Code von der Außenseite des Hardwaremoduls her nicht erkennbar, und er kann durch einen Zufallszahlengenerator erzeugt werden. Als Nächstes transformiert der Host A den geheimen Code ge­ mäß einem der möglichen Transformationsmuster, wie durch die Variationslogik 110 festgelegt (Schritt S2). Dann liefert der Host A den transformierten geheimen Code und ein Testob­ jekt an den Host B (Schritt S3). Die restlichen Schritte konzentrieren sich darauf, wie der richtige geheime Code aus dem transformierten geheimen Code erraten wird.
Nach dem Empfangen des transformierten geheimen Codes nimmt der Host B mittels eines durch die Rückgewinnungslogik 210 festgelegten, ausgewählten Transformationsmusters einen hy­ pothetischen geheimen Code aus dem transformierten geheimen Code an (Schritt S4). Dann codiert der Host B das Testobjekt mittels des hypothetischen geheimen Codes (Schritt S5) und überträgt das codierte Testobjekt an den Host A (Schritt S6). Andererseits nutzt der Host A den richtigen geheimen Code zum Decodieren des codierten Testobjekts (Schritt S7), und er vergleicht das Ergebnis mit dem ursprünglichen Test­ objekt (Schritt S8). Wenn der hypothetische geheime Code mit dem richtigen geheimen Code übereinstimmt, weisen das Deco­ dierergebnis und das ursprüngliche Testobjekt keinen Unter­ schied auf. Falls nicht, unterscheidet sich das Decodierer­ gebnis vom ursprünglichen Testobjekt. Demgemäß sollte der Host A bestimmen, ob das Decodierergebnis und das ursprüng­ liche Testobjekt übereinstimmen (Schritt S9). Wenn sie nicht übereinstimmen, werden die Schritte S4 bis S8 erneut ausge­ führt, um einen anderen hypothetischen geheimen Code zu ver­ suchen. Wenn Übereinstimmung besteht, bedeutet dies, dass der Host B den geheimen Code erfolgreich emuliert hat (Schritt S10).
Nachfolgend werden die Merkmale des Systems und des Verfah­ rens zum Emulieren eines geheimen Codes in einem Hardwaremo­ dul wie folgt zusammengefasst.
  • 1. Der geheime Code wird erzeugt und im Hardwaremodul ge­ speichert. Niemand, einschließlich dem Benutzer selbst, kann den internen geheimen Code erreichen. Das offenbarte Verfah­ ren und das System schaffen eine Art zum Verteilen des ge­ heimen Schlüssels von einem Ort an einen anderen Ort. Demge­ mäß können ein einen geheimen Code erzeugendes Hardwaremodul und ein den geheimen Code emulierendes anderes Hardwaremodul selbst in einem öffentlichen Netz eine sichere Kommunikation ausführen.
  • 2. Während des Prozesses zum Emulieren des geheimen Codes wird dieser transformiert. Dies bedeutet, dass aus der wäh­ rend des Emulationsprozesses ausgegebenen Information nie­ mand den richtigen geheimen Code erraten kann. Nur zur sel­ ben Gruppe gehörige Hardwaremodule haben das Recht, den ge­ heimen Code zu emulieren. Es sei darauf hingewiesen, dass der Verwalter den Emulationsprozess zwischen den zur selben Gruppe gehörenden Hardwaremodulen freigeben kann, dass er jedoch nicht die darin vorhandenen Parameter ändern kann, wie die während des Prozesses ausgewählten Transformations­ muster. Daher können diese Hardwaremodule den geheimen Code erfolgreich in sich festhalten.

Claims (14)

1. System zum Emulieren eines geheimen Codes zwischen zwei verschiedenen Hardwaremodulen, mit:
  • - einem ersten Hardwaremodul (100) mit
  • - einer Einrichtung zum Speichern des geheimen Codes (SC), auf die von außerhalb des ersten Hardwaremoduls nicht zuge­ griffen werden kann;
  • - einer Einrichtung (120) zum Aufbewahren eines Testob­ jekts;
  • - einer Einrichtung (112) zum Transformieren des geheimen Codes in einen transformierten geheimen Code entsprechend einem Transformationsmuster, das zufällig aus einem Satz von Transformationsmustern ausgewählt wird, und zum Liefern des transformierten geheimen Codes an ein zweites Hardwaremodul;
  • - einer Einrichtung (106) zum Decodieren eines vom zweiten Hardwaremodul empfangenen codierten Testobjekts in ein vor­ läufiges Objekt unter Verwendung des geheimen Codes; und
  • - einer Einrichtung (140) zum Vergleichen des vorläufigen Objekts mit dem in der Aufbewahrungseinrichtung gespeicher­ ten Testobjekt und zum Informieren des zweiten Hardwaremo­ duls über das Vergleichsergebnis;
  • - und dem zweiten Hardwaremodul (200), das mit dem ersten Hardwaremodul verbunden ist und mit Folgendem versehen ist:
  • - einer Einrichtung (210, 212) zum Wiederherstellen des vom ersten Hardwaremodul empfangenen transformierten geheimen Codes, um durch rekursives Ausprobieren des Satzes von Transformationsmustern hypothetische geheime Codes zu erhal­ ten und um einen hypothetischen geheimen Code dann als emu­ lierten geheimen Code zu bestimmen, der dem richtigen gehei­ men Code entspricht, wenn das vom ersten Hardwaremodul emp­ fangene Vergleichsergebnis anzeigt, dass das zum ermittelten hypothetischen geheimen Code gehörige vorläufige Objekt und das Testobjekt übereinstimmen; und
  • - einer Einrichtung (206) zum Codieren des Testobjekts in das codierte Testobjekt unter Verwendung jedes hypotheti­ schen geheimen Codes und zum Liefern des codierten Testob­ jekts an das erste Hardwaremodul.
2. System nach Anspruch 1, dadurch gekennzeichnet, dass das in der Codiereinrichtung (206) verwendete Testobjekt von der Aufbewahrungseinrichtung (120) im ersten Hardwaremodul (100) herrührt.
3. System nach Anspruch 1, dadurch gekennzeichnet, dass die Transformationseinrichtung (210, 212) Folgendes auf­ weist:
  • - eine Einrichtung für zufällige Auswahl eines Transformati­ onsmusters aus dem Satz von Transformationsmustern;
  • - eine Einrichtung (112) zum Ausführen einer Transformati­ onsoperation, die dem ausgewählten Transformationsmuster ge­ hört, an den Bits des geheimen Codes, um den transformierten geheimen Code zu erzeugen; und
  • - eine Einrichtung zum Senden des transformierten geheimen Codes an das zweite Hardwaremodul (200).
4. System nach Anspruch 1, dadurch gekennzeichnet, dass die Wiederherstelleinrichtung (210, 212) Folgendes aufweist:
  • - eine Einrichtung (210) zum Auswählen eines Transformati­ onsmusters aus dem Satz von Transformationsmustern;
  • - eine Einrichtung zum Umkehren des Effekts des ausgewählten Transformationsmusters auf die Bits des transformierten ge­ heimen Codes, um den entsprechenden hypothetischen geheimen Code zu erzeugen; und
  • - eine Einrichtung zum Bestimmen des emulierten geheimen Co­ des aus den hypothetischen geheimen Codes entsprechend dem Vergleichsergebnis.
5. System nach Anspruch 1, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die Bits des geheimen Codes um eine feste Bitlänge rotiert werden.
6. System nach Anspruch 1, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die zwei im geheimen Code enthaltene Bits vertauscht werden.
7. System nach Anspruch 1, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die Reihenfolge der Bits im geheimen Code umgekehrt wird.
8. Verfahren zum Emulieren eines geheimen Codes zwischen einem ersten Hardwaremodul (100) und einem zweiten Hardware­ modul (200), wobei der geheime Code zunächst im ersten Hard­ waremodul gespeichert ist, wobei von außerhalb des ersten Hardwaremoduls nicht auf ihn zugegriffen werden kann, mit den folgenden Schritten:
  • a) Transformieren des geheimen Codes in einen transformier­ ten geheimen Code entsprechend einem Transformationsmuster, das zufällig aus einem Satz von Transformationsmustern aus­ gewählt wird, was im ersten Hardmodul erfolgt;
  • b) Liefern des transformierten geheimen Codes vom ersten Hardwaremodul an das zweite Hardwaremodul;
  • c) Rückgewinnen des transformierten geheimen Codes, um ei­ nen hypothetischen geheimen Code zu erhalten, was durch se­ quenzielles Auswählen eines der Transformationsmuster und durch Umkehren des Effekts des ausgewählten Transformations­ musters auf den transformierten geheimen Code im zweiten Hardwaremodul erfolgt;
  • d) Codieren eines Testobjekts in ein codiertes Testobjekt unter Verwendung des hypothetischen geheimen Codes im zwei­ ten Hardwaremodul;
  • e) Liefern des codierten Testobjekts vom zweiten Hardware­ modul an das erste Hardwaremodul;
  • f) Decodieren des codierten Testobjekts in ein vorläufiges Objekt unter Verwendung des geheimen Codes im ersten Hard­ waremodul;
  • g) Vergleichen des Testobjekts mit dem ersten Testobjekt, was im ersten Hardwaremodul erfolgt;
  • h) Liefern des Übereinstimmungs-Vergleichsergebnisses vom ersten Hardwaremodul an das zweite Hardwaremodul, wenn das vorläufige Objekt und das Testobjekt übereinstimmen, um an­ zuzeigen, dass der zum aktuellen vorläufigen Objekt gehörige hypothetische geheime Code der emulierte geheime Code ist, der dem richtigen geheimen Code entspricht; und
  • i) Zurückkehren zum Schritt (c), wenn das vorläufige Objekt und das Testobjekt nicht übereinstimmen.
9. Verfahren nach Anspruch 8, gekennzeichnet durch den Schritt des Lieferns des Testobjekts vom ersten Hardwaremo­ dul an das zweite Hardwaremodul.
10. Verfahren nach Anspruch 8, gekennzeichnet durch den Schritt des Lieferns des Testobjekts vom zweiten Hardwaremo­ dul an das erste Hardwaremodul.
11. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass der geheime Code im ersten Hardwaremodul durch einen Zu­ fallszahlengenerator erzeugt wird.
12. Verfahren nach Anspruch 8, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die Bits des geheimen Codes um eine feste Bitlänge rotiert werden.
13. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die zwei im geheimen Code enthaltene Bits vertauscht werden.
14. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass gemäß einem der Transformationsmuster die Reihenfolge der Bits im geheimen Code umgekehrt wird.
DE10046642A 1999-10-01 2000-09-20 System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen Withdrawn DE10046642A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/411,581 US6826689B1 (en) 1999-10-01 1999-10-01 Method and system for emulating a secret code between two hardware modules

Publications (1)

Publication Number Publication Date
DE10046642A1 true DE10046642A1 (de) 2001-04-12

Family

ID=23629510

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10046642A Withdrawn DE10046642A1 (de) 1999-10-01 2000-09-20 System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen

Country Status (4)

Country Link
US (1) US6826689B1 (de)
CN (1) CN1291025A (de)
DE (1) DE10046642A1 (de)
GB (1) GB2358333B (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6886096B2 (en) * 2002-11-14 2005-04-26 Voltage Security, Inc. Identity-based encryption system
US20060294364A1 (en) * 2003-10-02 2006-12-28 Toru Sasabe Security system for electronic device
JP5268001B2 (ja) * 2007-03-27 2013-08-21 日本電気株式会社 ストリーム暗号向け擬似乱数生成装置とプログラムと方法
US8199917B2 (en) * 2008-10-29 2012-06-12 International Business Machines Corporation SID management for access to encrypted drives
US9681357B1 (en) 2008-12-02 2017-06-13 ioBridge, Inc. System, method, and computer-readable medium for interaction with a device via a module-based device interaction system enabled for wireless communication
US8271629B1 (en) * 2008-12-02 2012-09-18 ioBridge, Inc. Module-based device interaction system
US10756918B2 (en) 2008-12-02 2020-08-25 ioBridge, Inc. Activating a device via a module-based device interaction system
US9497261B1 (en) 2008-12-02 2016-11-15 ioBridge, Inc. System, method, and computer-readable medium for wireless interaction with a device via a module-based device interaction system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4218582A (en) * 1977-10-06 1980-08-19 The Board Of Trustees Of The Leland Stanford Junior University Public key cryptographic apparatus and method
WO1988001817A1 (en) * 1986-09-02 1988-03-10 Unisys Corporation Stations for communicating with encrypted messages via randomly selected circularly stored keys
GB2270446B (en) * 1992-09-04 1996-01-24 Ibm Uk Improvements in cryptography
EP0840477B1 (de) * 1996-10-31 2012-07-18 Panasonic Corporation Hochsicheres Verfahren zur geheimen Schlüsselübertragung mit Beschränkung des Schadens bei Bekanntwerden oder Dekodierung des geheimen Schlüssels
EP0840476B1 (de) * 1996-10-31 2005-08-17 Matsushita Electric Industrial Co., Ltd. Vorrichtung zur verschlüsselten Kommunikation mit beschränkten Schaden bei Bekanntwerden eines Geheimschlüssels
US5862225A (en) * 1996-12-16 1999-01-19 Ut Automotive Dearborn, Inc. Automatic resynchronization for remote keyless entry systems

Also Published As

Publication number Publication date
GB0023571D0 (en) 2000-11-08
CN1291025A (zh) 2001-04-11
GB2358333A8 (en) 2001-07-25
US6826689B1 (en) 2004-11-30
GB2358333B (en) 2003-06-25
GB2358333A (en) 2001-07-18

Similar Documents

Publication Publication Date Title
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE69230489T2 (de) Verfahren zur Aufstellung und Durchführung eines geheimen Netzwerksicherheitsverfahrens in einem Kryptosystem mit öffentlichem Schlüssel
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
DE60027046T2 (de) Synchronisierung von sitzungsschlüsseln
DE60314402T2 (de) System und methode zum speichern sowie abrufen kryptographischer geheimnisse von unterschiedlichen kundenendgeräten in einem netzwerk
DE60036112T2 (de) Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis
DE3883287T2 (de) Steuerung der Anwendung von Geheimübertragungsschlüsseln durch in einer Erzeugungsstelle hergestellte Steuerwerte.
DE60314060T2 (de) Verfahren und Vorrichtung zur Schlüsselverwaltung für gesicherte Datenübertragung
DE4008971C2 (de)
DE69629857T2 (de) Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
DE10148415C2 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE102011120968A1 (de) Erzeugen von sicheren Schlüsseln auf Anforderung
DE112008001436T5 (de) Sichere Kommunikation
EP3443705A1 (de) Verfahren und anordnung zum aufbauen einer sicheren kommunikation zwischen einer ersten netzwerkeinrichtung (initiator) und einer zweiten netzwerkeinrichtung (responder)
DE112012000971B4 (de) Datenverschlüsselung
DE60116195T2 (de) Vorrichtung und Verfahren zur Verschleierung von Eingangsparametern
DE19716111A1 (de) Verfahren zur gegenseitigen Authentifizierung zweier Einheiten
DE19935286A1 (de) Verfahren zur sicheren verteilten Generierung eines Chiffrierschlüssels
EP3206154B1 (de) Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten
EP0090771B1 (de) Verfahren und Vorrichtung zur chiffrierten Uebermittlung von Nachrichten
DE10046642A1 (de) System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen
EP3050244B1 (de) Bereitstellung und verwendung pseudonymer schlüssel bei hybrider verschlüsselung
DE19935285A1 (de) Verfahren zur Generierung/Regenerierung eines Chiffrierschlüssels für ein Kryptographieverfahren

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee