DE10046642A1 - System und Verfahren zur Geheimcode-Emulation zwischen zwei Hardwaremodulen - Google Patents
System und Verfahren zur Geheimcode-Emulation zwischen zwei HardwaremodulenInfo
- 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
Links
- 230000009466 transformation Effects 0.000 title claims abstract description 56
- 238000012360 testing method Methods 0.000 claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 50
- 230000001131 transforming effect Effects 0.000 claims abstract 4
- 230000000694 effects Effects 0.000 claims description 6
- 238000012546 transfer Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 38
- 238000004891 communication Methods 0.000 description 36
- 238000011084 recovery Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000008929 regeneration Effects 0.000 description 3
- 238000011069 regeneration method Methods 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- ZVQOOHYFBIDMTQ-UHFFFAOYSA-N [methyl(oxido){1-[6-(trifluoromethyl)pyridin-3-yl]ethyl}-lambda(6)-sulfanylidene]cyanamide Chemical compound N#CN=S(C)(=O)C(C)C1=CC=C(C(F)(F)F)N=C1 ZVQOOHYFBIDMTQ-UHFFFAOYSA-N 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002002 slurry Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0877—Generation 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
- H04L9/0897—Escrow, 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.
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)
| 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)
| 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 |
-
1999
- 1999-10-01 US US09/411,581 patent/US6826689B1/en not_active Expired - Lifetime
-
2000
- 2000-05-12 CN CN00107427A patent/CN1291025A/zh active Pending
- 2000-09-20 DE DE10046642A patent/DE10046642A1/de not_active Withdrawn
- 2000-09-26 GB GB0023571A patent/GB2358333B/en not_active Expired - Fee Related
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 |