-
Hintergrund
der Erfindung
-
Die
Erfindung betrifft eine Vorrichtung entsprechend dem Oberbegriff
des Anspruchs 1. Eine solche Vorrichtung ist in US5048087 und in WO8707796
offenbart.
-
In
der Vorrichtung, die aus US5048087 bekannt ist, werden in einem
Speicher für
jeden Kanal (oder jede virtuelle Verbindung) ein Schlüssel und
ein kryptografischer Wert gespeichert. Dieser kryptografische Wert
ist der Endwert (kryptografischer Rest) des verwendeten kryptografischen
Verfahrens, nachdem eine kryptografische Bearbeitung eines Datenpakets
vorgenommen wurde. In diesem Verfahren wird der genannte Endwert,
das heisst der Zustand (Zustandsvektor) nach der Ausführung der
Bearbeitungsschritte, im Speicher als Anfangsvektor (Initialisierungsvektor)
für ein
folgendes Datenpaket des genannten Kanals gespeichert. Diese wiederholte
Verwendung des Endwertes als neuer Anfangsvektor hat den Nachteil,
dass die kryptografische Sicherheit relativ klein ist, weil eine
grosse Zahl von aufeinanderfolgenden Zuständen des betreffenden kryptografischen
Verfahrens durchlaufen wird (für
einen bestimmten Kanal), wobei eine zyklische Wiederholung der Zustände vorkommen
kann. Des weiteren hat die Vorrichtung des Standes der Technik den
Nachteil, dass, falls ein oder mehrere Datenpakete verloren gehen,
die Synchronisation zwischen der Verschlüsselungsvorrichtung und der
Ent schlüsselungsvorrichtung
ebenfalls verloren geht. Daher wird beispielsweise der Verlust eines
Datenpakets in der Datenverbindung immer dazu führen, dass der Zustand des vorhergehenden
Pakets in der Entschlüsselungsvorrichtung
für die
Initialisierung der kryptografischen Funktion (des kryptografischen
Verfahrens) verwendet wird, was dazu führt, dass die "entschlüsselten" Datenpakete in den
meisten Fällen
unerkennbar verstümmelt
sein werden.
-
WO8707796
offenbart ein System des Standes der Technik zur symmetrischen Verschlüsselung, in
welchem eingangsseitig Verschlüsselungsbits
zum Strom der Datenbits addiert werden und in welchem ausgangsseitig
die genannten Verschlüsselungsbits subtrahiert
werden, was wieder zum ursprünglichen Strom
der Datenbits führt.
Das offenbarte System arbeitet so lange gut, wie es keine Bitfehler
wie "Bit Slip" (Bitverschiebung), "Bit Flip" (Bitvertauschung) usw.
gibt, oder in anderen Worten, solange keine Synchronisationsprobleme
vorkommen. Falls jedoch solche Fehler vorkommen, muss die verschlüsselte Kommunikationssitzung
neu gestartet werden, um die benötigte
Synchronisation der Verschlüsselung wieder
herzustellen. Die Erfindung bezieht sich auf die automatische Wiederherstellung
der Synchronisation oder die Verschlüsselung/Entschlüsselung
eines Stroms von (ATM-) Paketen.
-
Darstellung
der Erfindung
-
Die
Aufgabe der Erfindung ist es, die oben genannten Nachteile und andere
Nachteile des Standes der Technik zu vermeiden und eine Vorrichtung zur
Verfügung
zu stellen, welche sowohl eine sehr hohe kryptografische Sicherheit
bietet als auch, unabhängig
vom verwendeten kryptografischen Verfahren, die Synchronisation
der Verschlüsselungs-
und Entschlüsselungs vorrichtungen
sicherstellt, sogar für den
Fall des Verlustes einer Mehrzahl von Datenpaketen.
-
Des
weiteren ist es die Aufgabe der Erfindung, eine Vorrichtung zur
kryptografischen Verarbeitung von Datenpaketen zur Verfügung zu
stellen, welche für
hohe Datenraten geeignet ist, beispielsweise die Datenrate von etwa
155 Mbit/s, die in ATM (engl. asynchronous transfer mode, asynchroner Übertragungsmodus)
eingesetzt wird.
-
Zu
diesem Zwecke ist die erfindungsgemässe Vorrichtung so gekennzeichnet,
wie es im kennzeichnenden Teil des Anspruchs 1 dargestellt ist.
-
Weil
die Verarbeitungsmittel ein erstes und ein zweites kryptografisches
Element umfassen, wobei das zweite kryptografische Element den Anfangsvektor
des ersten Elements zur Verfügung
stellt, kann eine sehr hohe kryptografische Sicherheit erreicht werden,
da die Anfangsvektoren des ersten kryptografischen Elements praktisch
unabhängig
von den vorhergehenden Endwerten sind.
-
Des
weiteren ist es auf diese Weise möglich, die zwei Elemente kryptografisch
einfacher zu gestalten als ein vergleichbares einziges Element,
wodurch erstens höhere
Verarbeitungsraten und zweitens kleinere Zustände (Zustandsvektoren, beispielsweise
die Anfangs- und Endwerte) möglich
sind.
-
Die
kleineren Anfangs- und Endwerte können wiederum schneller ausgelesen
oder gespeichert werden, und dies führt zu einem weiteren Anstieg
der Rate.
-
Die
zwei kryptografischen Elemente können unterschiedliche
kryptografische Verfahren ausführen,
möglicherweise
mit unterschiedlichen Komplexitäten.
-
Bei
einer konstanten kryptografischen Sicherheit der Vorrichtung sind
die Komplexitäten
der Elemente im wesentlichen komplementär.
-
Gemäss einer
bevorzugten Ausführungsform
der Erfindung sind jedoch die kryptografischen Elemente identisch,
das heisst, sie führen
identische kryptografische Verfahren aus.
-
Vorteilhaft
sind die Verarbeitungsmittel dafür ausgelegt,
dass sie die Funktionen des ersten kryptografischen Elements und
des zweiten kryptografischen Elements austauschen.
-
Folglich
ist es nicht nötig,
Anfangs- oder Endwerte eines kryptografischen Elements an das andere
zu übertragen,
was es ermöglicht,
sehr schnell aufeinanderfolgende Datenpakete zu verarbeiten.
-
In
einer bevorzugten Ausführungsform
wird wenigstens ein kryptografisches Element mit mehreren Registern
zur Verfügung
gestellt. Mit der Hilfe von zwei oder mehr Registern pro kryptografisches
Element ist es möglich,
eine kryptografische Verarbeitung, beispielsweise die Erzeugung
eines neuen Endwertes, auf dem Inhalt eines ersten Registers auszuführen, während wenigstens
ein weiteres Register für
die temporäre
Speicherung eines früher
erzeugten oder später
zu verwendenden Wertes zur Verfügung
steht und damit als Puffer dient.
-
In
diesem Falle sind die Register vorzugsweise dafür ausgelegt, dass sie das Kopieren
des Inhalts eines Registers in ein anderes Register ermöglichen.
-
Insbesondere
im Falle des parallelen Kopierens ist somit eine schnelles Übertragung
der Werte der verschiedenen Register möglich, wodurch die Verarbeitungsmittel
schnell zur Erzeugung von neuen Werten übergehen können.
-
Die
erfindungsgemässe
Vorrichtung wird vorzugsweise in einem anwendungsspezifischen integrierten
Schaltkreis (engl. application-specific integrated circuit, ASIC)
untergebracht.
-
Literatur
-
- [1] US 5048087
- [2] WO 8707796
-
Beispielhafte
Ausführungsformen
-
Die
Erfindung wird im folgenden ausführlicher
unter Bezugnahme auf die Zeichnungen beschrieben.
-
1 zeigt
schematisch eine erste Ausführungsform
der erfindungsgemässen
Vorrichtung.
-
2 zeigt
schematisch eine zweite Ausführungsform
der erfindungsgemässen
Vorrichtung.
-
3 zeigt
schematisch eine dritte Ausführungsform
der erfindungsgemässen
Vorrichtung.
-
4 zeigt
schematisch eine vierte Ausführungsform
der erfindungsgemässen
Vorrichtung.
-
5 zeigt
schematisch ein System für
die verschlüsselte Übertragung
von Datenpaketen, in welchem die Erfindung verwendet wird.
-
In
der erfindungsgemässen
Vorrichtung 1, welche schematisch und beispielhaft in 1 gezeigt
ist, umfassen die Verarbeitungsmittel ein erstes kryptografisches
Element 11, ein zweites kryptografisches Element 12 und
ein Verknüpfungselement 13.
-
Die
Puffermittel werden von einem Eingangspuffer 14 gebildet.
Dieser Eingangspuffer 14 ist an eine Identifikationseinheit 15 gekoppelt,
welche das Identifikationsmittel bildet.
-
Die
Speichermittel umfassen einen Speicher 16, welcher mit
dem ersten kryptografischen Element 11 und dem zweiten
kryptografischen Element 12 durch einen Datenbus 17 verbunden
ist.
-
In
der gezeigten Ausführungsform
wird die Vorrichtung von der Identifikationseinheit 15 gesteuert,
welche zu diesem Zweck geeignete Steuersignale (zum Beispiel S0)
abgibt.
-
Gegebenenfalls
kann allerdings auch eine separate Steuerungseinheit bereitgestellt
werden.
-
Des
weiteren kann, falls nötig,
ein Ausgangspuffer, welcher mit dem Verknüpfungselement 13 verbunden
ist, bereitgestellt werden (nicht dargestellt).
-
Ein
Datenpaket, welches in der Vorrichtung 1 ankommt, wird
temporär
im Eingangspuffer 14 gespeichert, bis die Identifikationseinheit 15 das
Datenpaket identifiziert hat und die Verarbeitungsmittel bereit
sind, das Datenpaket zu verarbeiten.
-
Die
Identifikation eines Datenpakets umfasst die Bestimmung des (logischen)
Kanals des Datenpakets, wobei der Begriff "Kanal" hier auch so verstanden werden soll,
dass er einen virtuellen Pfad oder eine Verbindung einer anderen
Art, möglicherweise
virtueller Art, einschliesst.
-
Im
Falle von ATM, beispielsweise, ermittelt die Identifikationseinheit 15 den
virtuellen Kanal oder die virtuelle Verbindung auf der Basis des „virtuellen Kanalidentifikators" (engl. virtual channel
identifier, VCI) oder des "virtuellen
Pfadidentifikators" (engl.
virtual path identifier, VPI), das heisst auf der Basis von Information,
die im Vorspann (Header) des Datenpakets vorhanden ist.
-
Zu
diesem Zweck kann der Vorspann des Datenpakets vom Eingangspuffer 14 in
die Identifikationseinheit 15 kopiert werden.
-
Ausser
der Bestimmung des Kanals kann weitere Information, wenn nötig, sowohl
aus dem Vorspann als auch dem Datenfeld des Datenpakets abgeleitet
werden.
-
Wenn
das Datenpaket identifiziert ist, wird Verarbeitungsinformation
aus dem Speicher 16 ausgelesen, z. B. Information, die
bestimmt, ob Datenpakete aus dem betreffenden Kanal verschlüsselt, entschlüsselt oder überhaupt
nicht verarbeitet werden müssen.
-
Falls
eine Verarbeitung des Datenpakets notwendig ist, kann ein entsprechender
Schlüssel aus
dem Speicher 16 auf der Basis der (Kanal-) Identifikation
ausgelesen werden.
-
Es
kann auch ein separater Speicher (nicht dargestellt) zum Zwecke
der Speicherung von Schlüsseln
zur Verfügung
gestellt werden.
-
Die
Verarbeitung, im vorliegenden Falle die Verschlüsselung, eines Datenpakets
findet wie folgt statt.
-
Ein
Anfangswert (Anfangsvektor), welcher mit dem betreffenden Kanal
assoziiert ist, wird aus dem Speicher 16 in das kryptografische
Element 11 geladen.
-
Zu
diesem Zwecke kann das Element 11 so verstanden werden,
dass es funktional in ein Register R1 und eine kryptografische Funktion
F1 aufgeteilt ist, wobei es möglich
ist, dass das Register R1 Speicherelemente umfasst, wie zum Beispiel
Flip-Flops.
-
Die
Funktion F1, welche zum Beispiel als ein Mikroprozessor und ein
Speicher ausgeführt
ist, berechnet in einer Reihe von Schritten einen neuen kryptografischen
Wert (Endwert) aus dem Anfangsvektor. Vorzugsweise hat der Anfangsvektor
wie der Endwert einer Länge
von 256 Bits, und die Funktion führt
48 Schritte aus (entsprechend den 48 Datenbytes eines ATM-Pakets), was nacheinander
48 Zustände
mit assoziierten Zustandsvektoren (Zwischenwerte) ergibt.
-
Ein
Byte (Oktett) wird nacheinander aus jedem Zustand von 256 Bit extrahiert,
und dieses Byte bildet den "laufenden
Schlüssel" eines entsprechenden
Datenbytes des Datenpakets.
-
Im
Verknüpfungselement 13 werden
die Bytes des laufenden Schlüssels
("Verarbeitungsbytes") mit den Datenbytes
des Datenpakets verknüpft.
-
Vorzugsweise
erfolgt dies durch eine Addition modulo 2 der entsprechenden Bits,
aber auch andere Operationen, z. B. Multiplikation, sind im Prinzip möglich.
-
Das
Verarbeitungselement 11 ist vorzugsweise so ausgelegt,
dass der Vorspann eines Datenpakets nicht verändert wird. Im Falle der Bytes
des Vorspanns kann dies zum Beispiel einfach durch die Addition
modulo 2 von Verarbeitungsbytes, die nur Nullen enthalten, erreicht
werden.
-
Zu
diesem Zwecke aktiviert die Identifikationseinheit 15 (oder
falls vorhanden eine separate Steuerungseinheit) das kryptografische
Element 11 oder das Verknüpfungselement 13,
indem geeignete Steuersignale (zum Beispiel S0) bereitgestellt werden.
-
Die
Werte der ersten acht verarbeiteten (verschlüsselten) Bytes, die vom Verknüpfungselement 13 ausgegeben
werden, werden in das kryptografische Element 12 kopiert
und in einem Register R2, welches für diesen Zweck bereitsteht,
gespeichert.
-
In
diesem Zusammenhang kann das Register R2 aus Speicherelementen zusammengesetzt sein,
z. B. Flip-Flops, möglicherweise
verflochten mit der Funktion F2.
-
Im
Element 12 werden die genannten 64 Bits eines nach dem
an deren in insgesamt vier Kopien abgelegt, was zu einer Zahl führt, die
eine Länge
von 256 Bits aufweist.
-
Zu
der genannten Zahl wird der Schlüssel des
betreffenden Kanals, welcher ebenfalls eine Länge von 256 Bits aufweist,
modulo 2 addiert. Die resultierende Zahl dient als Anfangswert (Anfangsvektor) für die kryptografische
Funktion F2. Der Endwert (Endvektor), welcher im Speicher 16 gespeichert wird
und für
die Funktion F1 als Anfangsvektor für das nachfolgende Datenpaket
des betreffenden Kanals verwendet werden wird, wird dann in vorzugsweise
40 Schritten berechnet.
-
Als
Folge davon, dass nur eine begrenzte Zahl von Bytes, so wie die
obengenannten ersten acht Bytes, eines jeden verarbeiteten Datenpakets an
Stelle von z. B. allen 48 Datenbytes eines ATM-Datenpakets verwendet
wird, um einen Anfangsvektor zu bilden, wird erreicht, dass die
Bildung eines neuen Anfangsvektors schon während der Verarbeitung des
Datenpakets begonnen werden kann.
-
Es
leuchtet ein, dass als Folge hiervon die Bearbeitungsrate der Vorrichtung
höher sein
kann.
-
In
der erfindungsgemässen
Vorrichtung werden daher Daten eines verarbeiteten Datenpakets, vorzugsweise
kombiniert mit einem Schlüssel,
verwendet, um den Anfangsvektor eines kryptografischen Verfahrens
zur Verfügung
zu stellen.
-
Der
Endwert des genannten Verfahrens wird als Anfangsvektor eines anderen
Verfahrens verwendet, welches den laufenden Schlüssel für die Verschlüsselung
oder Entschlüsselung
erzeugt.
-
In
der dargestellten Ausführungsform
wird ein Datenpaket immer auf der Basis eines Anfangsvektors verschlüsselt, welcher
auf der Basis des vorhergehenden Datenpakets jenes Kanals ermittelt wurde.
-
Dies
führt dazu,
dass eine minimale Anzahl von Datenpaketen unkorrekt entschlüsselt wird,
falls ein Datenpaket auf der Empfangsseite verloren geht.
-
Die
erfindungsgemässe
Vorrichtung kann allerdings auch so konstruiert werden, dass die
Verschlüsselung
eines Datenpakets nicht in Abhängigkeit
vom letzten Datenpaket jenes Kanals ermittelt wird, sondern in Abhängigkeit
zum Beispiel vom vorletzten Datenpaket, so dass ein Datenpaket übersprungen
wird. Gegebenenfalls kann eine Mehrzahl von Datenpaketen übersprungen
werden.
-
Im
Prinzip kann der Anfangsvektor des Verschlüsselungsverfahrens auch auf
einem früheren Datenpaket
eines anderen Kanals basieren, z. B. auf dem letzten Datenpaket,
welches von der Vorrichtung verschlüsselt wurde.
-
Allerdings
führt dies
zu einem gewissen Grad gegenseitiger Abhängigkeit der Kanäle, was
im allgemeinen kryptografisch nicht wünschenswert ist.
-
In
den gezeigten Verarbeitungsmitteln ist ein Verknüpfungselement 13 vorhanden,
um z. B. einen zu verschlüsselnden
Bitstrom mit einem zur Verschlüsselung
dienenden Bitstrom zu verknüpfen.
-
Ein
solches Verknüpfungselement
kann z. B. durch ein exklusives ODER-Gatter gebildet werden.
-
Es
ist allerdings auch möglich,
die Verarbeitungsmittel in einer solchen Weise zu konstruieren, dass
das kryptografische Verfahren des kryptografischen Elements 11 direkt
auf die Daten eines Datenpakets wirkt und daher keinen separaten
laufenden Schlüssel
erzeugt.
-
In
diesem Fall kann das separate Verknüpfungselement 13 weggelassen
werden.
-
Das
konkrete kryptografische Verfahren, welches in den kryp tografischen
Elementen 11 und 12 verwendet wird, ist im Prinzip
willkürlich,
solange es einen kryptografischen Wert erzeugt, der von einem Anfangsvektor
abgeleitet ist.
-
Geeignete
Verfahren sind zum Beispiel der bekannte DES-Algorithmus und der RSA-Algorithmus.
-
Siehe
auch Referenz 1.
-
Die
Vorrichtung der 1 kann aus diskreten, kommerziell
erhältlichen
Komponenten konstruiert werden, aber sie wird vorzugsweise wenigstens teilweise
in einem applikationsspezifischen integrierten Schaltkreis (ASIC)
untergebracht.
-
Die
Vorrichtung 1 ist nicht nur für die schnelle Verschlüsselung
von ATM-Datenpaketen geeignet, sondern auch zur Verarbeitung von
Datenpaketen, die in Übereinstimmung
mit anderen Protokollen übertragen
werden, z. B. X.25.
-
Es
leuchtet ein, dass die angegebenen numerischen Werte, wie zum Beispiel
die Anzahl von Bits in einem Schlüssel, die Anzahl der Schritte
eines kryptografischen Verfahrens und die Anzahl der zu verschlüsselnden
Bytes in Abhängigkeit
von der spezifischen Anwendung oder Implementierung variieren können und
hier nur beispielhaft angegeben sind.
-
Die
erfindungsgemässe
Vorrichtung 1',
die schematisch in 2 dargestellt ist, entspricht
weitgehend der Vorrichtung 1 der 1, ist jedoch
an die Entschlüsselung
von Datenpaketen angepasst.
-
Die
Vorrichtung 1' umfasst
ebenfalls ein erstes kryptografisches Element 11, ein zweites
kryptografisches Element 12, ein Verknüpfungselement 13, einen
Eingangspuffer 14, eine Identifikationseinheit 15,
einen Speicher 16, und einen Datenbus 17.
-
Im
Unterschied zur 1 sind die Positionen der Elemente 11 und 12 in
der 2 gegeneinander ausgetauscht, das heisst das Element 12 ist
mit dem Eingangspuffer 14 und dem Verknüpfungselement 13 verbunden,
so dass die Inhalte der verschlüsselten
Datenpakete dem Element 12 zugeführt werden.
-
Es
leuchtet ein, dass der Eingangspuffer 14 der Vorrichtung 1' verschlüsselte Datenpakete
empfängt
und dass die genannten Datenpakete im Verknüpfungselement 13 entschlüsselt werden,
falls dies für
den betreffenden Kanal wünschenswert
ist.
-
Die
Entschlüsselung
findet in diesem Fall dadurch statt, dass die Daten eines Datenpakets
mit einem laufenden Schlüssel
verknüpft
werden.
-
Falls
die Daten durch die Addition modulo 2 eines laufenden Schlüssels verschlüsselt worden sind,
findet die Entschlüsselung
durch die Addition modulo 2 eines identischen laufenden Schlüssels statt.
-
Die 3 zeigt
eine erfindungsgemässe Vorrichtung,
welche sowohl für
die Verschlüsselung als
auch die Entschlüsselung
geeignet ist. Die Vorrichtung 1'' der 3 entspricht
weitgehend den Vorrichtungen 1 beziehungsweise 1' der 1 und 2.
-
Im
Unterschied zu 1 und 2 wird jedoch
ein Auswahlmittel 18 zwischen dem kryptografischen Element 12 einerseits
und den Ausgängen des
Verknüpfungselements 13 und
des Eingangspuffers 14 andererseits bereitgestellt.
-
Durch
das Anlegen eines Auswahlsignals S1 am Auswahlmittel 18,
welches z. B. aus UND-Gattern konstruiert werden kann, wird entweder
der Ausgang des Puffers 14 (Entschlüsselung) oder der Ausgang des
Verknüpfungselements 13 (Verschlüsselung)
mit dem kryptografischen Element 12 verbunden.
-
Das
Auswahlsignal S1 kann entweder durch die Identifikationseinheit 15 (oder
eine hiermit verbundene Steuerungseinheit), zum Beispiel als Antwort
auf die Identifikation eines Kanals, oder durch externe Mittel,
wie z. B. einen Auswahlschalter (nicht dargestellt) erfolgen.
-
Im
Falle der Vorrichtungen der 1, 2 und 3 muss
ein Endwert für
jedes Datenpaket in den Speicher 16 geschrieben werden,
während
ein Anfangsvektor aus dem Speicher ausgelesen werden muss.
-
In
dem angegebenen Beispiel ist die Länge dieser Werte 256 Bits.
-
Im
Falle von sehr hohen Datenraten, wie sie beispielsweise im Falle
von ATM benötigt
werden, kann die rechtzeitige Übertragung
der jeweiligen Anfangs- und Endwerte in den oben genannten Ausführungsformen
nur stattfinden, wenn sehr breite Datenpfade (z. B. der Datenbus 17)
verwendet werden, was die Vorrichtung relativ teuer macht. Im Prinzip
ist es möglich,
die Länge
der genannten Werte zu verkleinern, aber dies verringert auch die
kryptografische Sicherheit.
-
Gemäss einem
anderen Aspekt der vorliegenden Erfindung werden daher andere Ausführungsformen
zur Verfügung
gestellt, die es selbst bei sehr hohen Datenraten ermöglichen,
Anfangs- und Endwerte zu übertragen,
die eine grosse Anzahl von Bits aufweisen und daher eine hohe kryptografische Sicherheit
bieten.
-
Erstens
kann der Datenbus 17 in zwei separate Datenbusse 171 und 172 (nicht
dargestellt) aufgeteilt werden, wobei der erste Datenbus 171 mit dem
Speicher 16 und dem ersten kryptografischen Element 11 verbunden
ist, während
der zweite Datenbus 172 mit dem Speicher 16 und
den zweiten kryptografischen Element 12 verbunden ist.
-
Dadurch
ist es möglich,
gleichzeitig Information zwischen dem Speicher 16 und dem
Element 11 einerseits und zwischen dem Speicher 16 und
dem Element 12 andererseits auszutauschen.
-
Zu
diesem Zweck wird der Speicher 16 vorteilhaft so konstruiert,
dass das Schreiben in einen ersten Bereich statt finden kann, während gleichzeitig das
Auslesen aus einem zweiten Bereich stattfinden kann.
-
Insbesondere
kann der Speicher 16 dazu ausgelegt sein, Information aus
dem zweiten in den ersten Bereich zu kopieren, so dass gleichzeitig
Endwerte, welche zuvor in den zweiten Bereich geschrieben wurden,
aus dem ersten Bereich ausgelesen werden können und neue Endwerte in den
zweiten Bereich geschrieben werden können.
-
Zweitens
können
die Register R1 und R2 der Elemente 11 und 12 doppelt
konstruiert werden, so dass nicht nur ein Wert, auf dem eine Operation
in diesem Moment ausgeführt
wird, in jedem Register gespeichert werden kann, sondern auch ein
darauf folgender Wert.
-
Dies
wird ausführlicher
unten mit Bezugnahme auf die 4 erklärt werden.
-
Drittens
kann die Vorrichtung so konstruiert werden, dass die Register R1
und R2 in der Lage sind, ihren jeweiligen Inhalt einfach und schnell
untereinander auszutauschen, z. B. als Folge des Vorhandenseins
eines genügend
breiten Datenpfades (Datenbusses) zwischen den Registern.
-
Dies
ist insbesondere dann vorteilhaft, wenn zwei aufeinander folgende,
zu verarbeitende Datenpakete zum selben Kanal gehören. Zum
Zwecke dieses Austausches können
die Elemente 11 und 12 vorteilhaft in einer integrierten
Form konstruiert sein, so dass die Register R1 und R2 parallel und
in einem kurzen Abstand zueinander angeordnet sind.
-
Viertens
kann die Vorrichtung so konstruiert werden, dass die Funktionen
der kryptografischen Elemente 11 und 12 miteinander
vertauscht werden können.
-
Dies
wird ausführlicher
unter Bezugnahme auf die 4 er klärt.
-
Dies
ist ebenfalls insbesondere dann vorteilhaft, wenn zwei aufeinander
folgende, zu verarbeitende Datenpakete zum selben Kanal gehören.
-
In
diesem Falle muss der Inhalt des Registers R2 nicht mehr in das
Register R1 übertragen werden,
weil als Ergebnis des Austausches R2 die Funktion von R1 übernimmt.
In einer solchen Ausführungsform
werden die kryptografischen Funktionen F1 und F2 in allgemeinen
identisch sein.
-
Fünftens können die
Verarbeitungsmittel so ausgeführt
sein, dass sie den Anfangsvektor auf der Basis eines anderen Datenpakets
als des letzten Datenpakets (des betreffenden Kanals) bilden, wie
oben schon erwähnt.
-
Indem
ein Datenpaket "übersprungen" wird, in dem Sinne,
dass dieses Datenpaket nicht zur Bildung eines Anfangsvektors verwendet
wird, wird Zeit zum Schreiben und Auslesen von Information (z. B. der
Anfangs- und Endwerte) gewonnen.
-
Der
Nachteil hiervon ist es, dass mehr Datenpakete unkorrekt entschlüsselt werden,
falls ein Verlust eintritt, das heisst ein Nichteintreffen oder
verzerrtes Eintreffen eines Datenpakets auf der Empfangsseite.
-
Des
weiteren kann die Vorrichtung mit einer Vielzahl von parallelen
Verarbeitungsmitteln ausgestaltet sein. Dadurch kann eine sehr hohe
Verarbeitungsrate erzielt werden, weil eine Vielzahl von Datenpaketen
gleichzeitig (oder im wesentlichen gleichzeitig) verarbeitet werden
kann.
-
Die
erfindungsgemässe
Verschlüsselungsvorrichtung 1''',
die in der 4 dargestellt ist, ist so konstruiert,
dass eine sehr hohe Verarbeitungsrate sogar mit relativ langen Anfangs- und Endwerten erzielt
werden kann, jedoch ohne eine Vielzahl von Verarbeitungsmitteln
zu konstruieren. Die Vorrichtung 1''' der 4 entspricht
weitgehend der Vorrichtung 1 der 1, aber
die Verarbeitungsmittel werden zusätzlich mit Auswahlmitteln 19 ausgestattet,
welche ein erstes Auswahlelement 191 und ein zweites Auswahlelement 192 umfassen.
-
Zusätzlich werden
die Register R1 und R2 in 4 doppelt
konstruiert, wie später
ausführlicher erläutert wird.
-
Die
Auswahlmittel 19 bieten die Möglichkeit, die Funktionen der
kryptografischen Elemente 11 und 12 miteinander
zu vertauschen. Zu diesem Zweck ist ein erster Eingang des Auswahlelements 191 mit
dem Register R1 und ein zweiter Eingang mit dem Register R2 verbunden,
während
der Ausgang mit dem Verknüpfungselement 13 verbunden
ist.
-
Ein
Auswahlsignal S2, welches entweder das Register R1 oder das Register
R2 mit dem Verknüpfungselement 13 verbindet,
kann an einen Steuereingang des Auswahlelements 191 angelegt
werden.
-
Auf
vergleichbare Weise ist der Eingang des Auswahlelements 192 mit
dem Ausgang des Verknüpfungselements 13 verbunden,
und die Ausgänge
des Auswahlelements 192 sind jeweils mit dem Register R1
beziehungsweise dem Register R2 verbunden.
-
Der
Ausgang des Verknüpfungselements 13 kann
entweder mit dem Register R1 oder dem Register R2 verbunden werden,
indem ein Auswahlsignal S2 an einen Steuereingang angelegt wird.
-
Abhängig vom
Auswahlsignal 52 wird daher der Betrieb der Vorrichtung
der 4 in einer ersten Betriebsart vollständig dem
der 1 entsprechen.
-
In
einer zweiten Betriebsart sind die kryptografischen Elemente relativ
zur 1 funktional gegeneinander ausgetauscht, so dass
die Funktion F1 den Anfangsvektor der Funktion F2 bestimmt und der Endwert
der Funktion F2 auf die zu verarbeitenden Daten angewendet wird.
-
Das
Auswahlsignal S2 kann in der Identifikationseinheit 15 oder
in einer separaten Steuerungseinheit (nicht dargestellt) erzeugt
werden.
-
Vorzugsweise
wird das Auswahlsignal S2 oder ein hiermit verwandtes Signal auch
an die kryptografischen Elemente 11 und 12 und
den Speicher 16 bereitgestellt, um sicherzustellen, dass
die korrekte Information (wie zum Beispiel die Anfangs- und Endwerte und
Schlüssel)
an das korrekte Element übertragen
werden.
-
Der
funktionale Austausch der kryptografischen Elemente ermöglicht es,
im Falle von Datenpaketen desselben Kanals, die nacheinander verarbeitet
werden sollen, sehr schnell den Endwert einer Funktion (z. B. F1)
als Anfangsvektor für
die andere Funktion (z. B. F2) bereitzustellen.
-
Es
muss daher keine Übertragung
des genannten Wertes von einem Register (z. B. R1) an das andere
Register (z. B. R2) stattfinden.
-
Als
Ergebnis können
sehr grosse Werte, das heisst Werte mit einer grossen Bitlänge und
daher einer hohen kryptografischen Sicherheit, verwendet werden.
-
Falls
zwei aufeinanderfolgende Datenpakete zu verschiedenen Kanälen gehören, kann
in den meisten Anwendungen der Endwert einer Funktion (z. B. F2)
nicht direkt als Anfangsvektor der anderen Funktion (z. B. F1) verwendet
werden, so dass der genannte Endwert gespeichert werden muss.
-
Um
eine Verzögerung
infolge von Überlastung
auf dem Datenbus 17 oder infolge begrenzter Zugriffszeiten
auf den Speicher 16 zu vermeiden, ist die Vorrichtung der 4 mit
doppelten Registern ausgestattet, welche die Möglichkeit bieten, einen zweiten
Wert temporär
zu speichern.
-
Zu
diesem Zweck umfasst das Register R1 einen Bereich R1a und einen
Bereich R1b, wobei beide Bereiche vorzugsweise in der Lage sind,
einen gesamten Anfangs- oder Endwert (im obigen Beispiel 256 Bits)
aufzunehmen. Das Register R2 umfasst entsprechend einen Bereich
R2a und einen Bereich R2b.
-
Wenn
zum Beispiel die Vorrichtung in der ersten Betriebsart arbeitet
(entsprechend der 1) und zwei aufeinander folgende
Datenpakete zu unterschiedlichen Kanälen gehören, wird ein Endwert, der
im Speicher 16 gespeichert werden muss, im Register R2
vorhanden sein, z. B. im Bereich R2a, nachdem das erste Paket verschlüsselt wurde.
-
Bei
sehr hohen Datenraten kann die Zeit zwischen zwei Datenpaketen nicht
ausreichend sein, um die beispielsweise 256 Bits des genannten Wertes
in den Speicher 16 zu übertragen.
Aus diesem Grund kann in der Ausführungsform der 4 der
Inhalt eines Registerbereichs (z. B. R2a) in den anderen Registerbereichs
(z. B. R2b) kopiert werden. Dies gibt ein Register (R2a) für den Empfang
und die Verarbeitung neuer Daten frei, während der ermittelte Endwert
von dem anderen Bereich (R2b) an den Speicher 16 übertragen
werden kann.
-
Dadurch
können
die Übertragung über den Datenbus 17 und
die Ermittlung eines neuen Wertes gleichzeitig stattfinden.
-
Als
eine Alternative dazu, etwas von einem Registerbereich in den anderen
Registerbereich zu kopieren, können
die Verarbeitungselemente so konstruiert sein, dass die Registerbereiche
abwechselnd mit der entsprechenden Funktion (F1 oder F2) oder mit
dem Datenbus 17 und den Eingängen und Ausgängen der
entsprechenden kryptografischen Elemente verbunden werden.
-
Zu
diesem Zweck können, ähnlich den
in 4 gezeigten Auswahlmitteln 19, interne
Auswahlmittel für
die Verarbeitungsmittel vorgesehen werden.
-
Es
leuchtet ein, dass die in 4 dargestellten
zusätzlichen
Massnahmen auch separat eingesetzt werden können, z. B., indem die Register
R1 und R2 im Doppel konstruiert werden, ohne dass ein funktionaler
Austausch der Elemente 11 und 12 ausgeführt wird.
-
Merkmale
der Vorrichtung der 4 können auch z. B. mit der Vorrichtung 1'' der 3 kombiniert
werden.
-
Das
in der 5 dargestellte Kommunikationssystem 9 umfasst
ein Netzwerk 91, mit dem eine Mehrzahl von Sicherheitseinheiten 92 verbunden
ist.
-
Ein
Endbenutzer 93 ist mit jeder Sicherheitseinheit 92 verbunden.
Das Netzwerk 91 ist zum Beispiel ein ATM-Netzwerk, und
die Endbenutzer 93 sind z. B. digitale Telefonapparate,
Datenterminals und/oder Bezahlterminals.
-
Jede
Sicherheitseinheit 92 umfasst mindestens eine Verschlüsselungsvorrichtung 1 und
eine Entschlüsselungsvorrichtung 1' gemäss der Erfindung,
oder eine kombinierte Vorrichtung 1'',
wie sie in der 3 dargestellt ist, eine Vorrichtung 1''',
wie sie in der 4 dargestellt ist, oder eine
andere Ausführungsform
der erfindungsgemässen
Vorrichtung.
-
Das
System 9, welches in Übereinstimmung mit
der Erfindung konstruiert ist, ermöglicht eine schnelle, sichere Übertragung
von Datenpaketen.
-
Ein
Fachmann wird verstehen, dass die Erfindung nicht auf die gezeigten
beispielhaften Ausführungsformen
beschränkt
ist und dass viele Modifikationen und Zusätze möglich sind, ohne vom Bereich
der vorliegenden Erfindung abzuweichen.