-
Diese
Patentanmeldung beansprucht die Vorteile der vorläufigen US-Patentanmeldung
lfd. Nr. 60/043.536, eingereicht am 14. April 1997. Auf die verwandte
und am gleichen Tag eingereichte Anmeldung mit dem Titel "Methods and Apparatus
for Enhaced Security Expansion of a Secret Key into a Lookup Table
for Improved Security for Wireless Telephone Messages" wird hiermit hingewiesen.
-
Gebiet der Erfindung
-
Im
Allgemeinen betrifft die vorliegende Erfindung Kryptografie drahtloser
Telefone. Im Besonderen betrifft die Erfindung ein verbessertes
Sicherheits-Kryptosystem
zur schnellen und sicheren Verschlüsselung in einem System drahtloser
Telefone.
-
Allgemeiner
Stand der Technik
-
Drahtlose
Telefonie verwendet Benachrichtigungen für mehrere Zwecke einschließlich beispielsweise Übermitteln
von Statusinformationen, Neukonfigurieren von Betriebszuständen, Handhabung
von Anrufterminierung und Übermitteln
von System und Benutzerdaten. wie z.B. elektronischer Seriennummer
und Telefonnummer eines Teilnehmers sowie Gesprächen und anderen Daten, die
durch den Benutzer gesendet werden. Anders als bei gewöhnlicher
leitungsgebundener Telefonie, bei der eine zentrale Station mit
Servingfunktion per Leitung mit jedem Teilnehmer verbunden ist,
womit ein angemessenes Maß an
Schutz gegen Abhören
und Manipulation durch eine unbefugte Partei (Angreifer) sichergestellt
ist, müssen
Stationen mit Servingfunktion für drahtlose
Telefone (also Basisstationen) Nachrichten über Signale durch die Luft
ungeachtet des physikalischen Standorts des Teilnehmers senden und
empfangen.
-
Weil
die Basisstation Nachrichten zu und von einem Teilnehmer irgendwohin
bzw. -her senden und empfangen können
muss, ist der Benachrichtigungsprozess zur Gänze von Signalen abhängig, die
von der Teilnehmereinrichtung empfangen und zu dieser gesendet werden.
Weil die Signale über
die Luft gesendet werden, können
Sie durch einen Lauscher oder Eindringling mit der richtigen Einrichtung
abgehört
werden.
-
Wird
ein Signal durch ein drahtloses Telefon im Klartext gesendet, besteht
eine Gefahr, dass ein Lauscher das Signal abhört und es dazu verwendet, einen
Teilnehmer zu personifizieren oder durch den Benutzer gesendete
private Daten abzufangen. Derartige private Daten können den
Inhalt von Gesprächen
beinhalten. Private Daten können
außerdem durch
den Benutzer gesendete Nicht-Sprachdaten beinhalten, wie beispielsweise
Computerdaten, die über
ein Modem gesendet werden, das mit dem drahtlosen Telefon verbunden
ist, und können
außerdem
Konto- oder sonstige private Benutzerinformationen beinhalten, die
typischerweise mittels Drücken von
Tasten gesendet werden. Ein Lauscher, der einem Gespräch zuhört oder
Nicht-Sprachdaten abfängt,
kann private Informationen vom Benutzer erhalten. Der Nachrichteninhalt
eines unverschlüsselten
Telefonsignals (also Klartextsignals) wird relativ leicht durch
einen in geeigneter Weise angepassten Empfänger abgefangen.
-
Alternativ
kann ein Eindringling sich selbst in eine aufgebaute Verbindung
einbringen, indem er eine größere Sendeleistung
benutzt, Signale zur Basisstation sendet und eine Partei des Gesprächs personifiziert.
-
Beim
Fehlen von Anwendung von Kryptografie auf Nachrichten, die durch
drahtlose Signale gesendet werden, sind unbefugte Benutzung von
Telefonressourcen, Abhören
von Nachrichten und Personifizierung angerufener oder anrufender
Parteien während
eines Gesprächs
möglich.
Derartiges unbefugtes Eindringen und/oder Abhören hat sich in der Tat als
schwerwiegendes Problem erwiesen und ist in hohem Maße unerwünscht.
-
Die
Anwendung von Kryptografie auf drahtlose Telefonanwendungen bietet
eine Lösung
der oben diskutierten Sicherheitsprobleme, jedoch trifft die Anwendung
standardmäßiger Kryptografieverfahren
auf drahtlose Telefonie aufgrund der rechenintensiven Natur dieser
Verfahren auf erhebliche Schwierigkeiten. Diese Verfahren unterliegen
besonders den Bedingungen, die durch den Wunsch auferlegt werden, ein
kleines drahtloses Handgerät
zu beschaffen, und den Bedingungen der Verarbeitungsleistung, die durch
die kleine Größe des Handgeräts auferlegt werden.
Die Verarbeitungsleistung, die in typischen drahtlosen Handgeräten vorhanden
ist, ist nicht ausreichend, um die Verarbeitungsanforderungen üblicherweise
bekannter kryptografischer Algorithmen wie z.B. DES (Data Encryption
Standard, Datenverschlüsselungsstandard)
zu bewältigen.
Das Implementieren derartiger üblicherweise
bekannter kryptografischer Algorithmen in einem typischen drahtlosen Telefonsystem
würde möglicherweise
die Zeit vergrößern, die
zum Bearbeiten von Signalen (also Verschlüsseln und Entschlüsseln) benötigt wird,
wodurch inakzeptable Verzögerungen
für Teilnehmer verursacht
werden.
-
Ein
kryptografisches System für
drahtlose Telefonie ist in Reeds, US-Patentschrift 5.159.634 („Reeds") beschrieben. Reeds
beschreibt ein kryptografisches System, das in einem kryptografischen
Algorithmus integriert ist, der als Cellular Message Encryption
Algorithm-Prozess (CMEA-Prozess) bekannt ist. Es besteht der Wunsch,
dieses und andere gegenwärtig
vorhandene kryptografische Systeme für drahtlose Telefonie wesentlich
zu verbessern, die mit den Ressourcen im Einklang stehen, die in
diesem Kontext verfügbar
sind.
-
Kurzdarstellung der Erfindung
-
Die
vorliegende Erfindung geht diese und andere Wünsche vorteilhafterweise an.
In einem Verfahren gemäß der vorliegenden
Erfindung werden erste und zweite CMEA-Schlüssel
erzeugt. Klartext wird eingeführt
und mit einer ersten Eingabetransformation zur Erzeugung einer ersten
Eingabetransformationsnachricht behandelt. Die erste Eingabetransformationsnachricht
wird durch eine erste Iteration eines CMEA-Prozesses mittels des
ersten CMEA-Schlüssels
zur Erzeugung eines ersten chiffrierten Zwischentextes verarbeitet.
Dieser erste chiffrierte Zwischentext wird mit einer ersten Ausgabetransformation
zur Erzeugung einer ersten Ausgabetransformationsnachricht behandelt.
Die erste Ausgabetransformationsnachricht wird mit einer zweiten Eingabetransformation
zur Erzeugung einer zweiten Eingabetransformationsnachricht behandelt.
Die zweite Eingabetransformationsnachricht wird durch eine zweite
Iteration des CMEA-Prozesses mittels des zweiten CMEA-Schlüssels zur
Erzeugung eines zweiten chiffrierten Zwischentextes verarbeitet.
Der zweite chiffrierte Zwischentext wird mit einer zweiten Ausgabetransformation
zur Erzeugung einer zweiten Ausgabetransformationsnachricht behandelt.
Gemäß einem
anderen Aspekt der vorliegenden Erfindung setzen die ersten und
zweiten Iterationen des CMEA-Prozesses tbox-Funktionen mit Eingaben
ein, die durch geheime Offsets permutiert sind. Gemäß einem
anderen Aspekt der vorliegenden Erfindung kann der Klartext durch
erste und zweite Iterationen des CMEA-Prozesses mittels erster und
zweiter CMEA-Schlüssel
verarbeitet werden, ohne mit Eingabe- und Ausgabetransformationen
behandelt zu werden. Verschlüsselter
Text kann in geeigneter Weise gemäß den Ausführungen der vorliegenden Erfindung
durch Einführen
von chiffriertem Text und Umkehren der Reihenfolge und Invertieren
der Schritte entschlüsselt
werden, die zum Verschlüsseln
von Klartext angewendet werden.
-
Eine
Vorrichtung gemäß der vorliegenden Erfindung
erzeugt Text und führt
ihn einer E/A-Schnittstelle zu, die ihn als erzeugten Text identifiziert
und den Text und die Identifikation einem Ver-und-Entschlüsselungsprozessor
zuführt,
der wiederum den Text verschlüsselt
und ihn einem Sendeempfänger
zur Sendung zuführt.
Wenn die Vorrichtung über
den Sendeempfänger
eine Sendung empfängt,
wird die Sendung als eingehender chiffrierter Text identifiziert,
und der chiffrierte Text und die Identifikation werden dem Ver-und-Entschlüsselungsprozessor
zugeführt,
der den chiffrierten Text entschlüsselt und ihn als Text dem
E/A-Prozessor zum Leiten an sein Ziel zuführt. In einer bevorzugten Ausführungsform
ist diese Vorrichtung in ein drahtloses Telefon integriert unter
Nutzung eines standardmäßigen Mikroprozessors
und Speichers, die mit jenen im Einklang stehen, die gegenwärtig typischerweise
in derartigen Telefonen eingesetzt werden.
-
Ein
vollständigeres
Verständnis
der vorliegenden Erfindung sowie weitere Merkmale und Vorteile der
Erfindung werden aus der folgenden ausführlichen Beschreibung und den
beiliegenden Zeichnungen offensichtlich.
-
Kurzbeschreibung
der Zeichnungen
-
1 ist
ein Flussdiagramm, das einen CMEA-Schlüsselerzeugungsprozess und eine CMEA-Implementierung
nach Stand der Technik darstellt;
-
2 ist
ein Flussdiagramm, das ein erweitertes CMEA-Verschlüsselungsverfahren darstellt, das
mehrfache CMEA-Iterationen einsetzt, gemäß der vorliegenden Erfindung;
-
3 ist
ein Flussdiagramm, das ein erweitertes CMEA-Verschlüsselungsverfahren gemäß der vorliegenden
Erfindung darstellt, das mehrfache CMEA-Iterationen einsetzt; wobei
jeder Iteration eine Eingabetransformation vorausgeht und eine Ausgabetransformation
folgt;
-
4 ist
eine detaillierte Darstellung einer Eingabetransformation, die zur
Verwendung in einem Verschlüsselungsverfahren
geeignet ist, gemäß der vorliegenden
Erfindung;
-
5 ist
eine detaillierte Darstellung einer Ausgabetransformation, die zur
Verwendung in einem Verschlüsselungsverfahren
geeignet ist, gemäß der vorliegenden
Erfindung;
-
6 ist
ein Flussdiagramm, das ein Verfahren gemäß der vorliegenden Erfindung
des Entschlüsselns
von chiffriertem Text darstellt, der durch einen erweiterten CMEA-Prozess
verschlüsselt
ist; und
-
7 ist
ein Diagramm, das ein Telefongerät darstellt,
das erweiterte CMEA-Verschlüsselung
einsetzt, gemäß der vorliegenden
Erfindung.
-
Ausführliche
Beschreibung
-
1 ist
ein Diagramm, das ein Verfahren nach Stand der Technik 100 darstellt,
das einen CMEA-Schlüssel
zur Verschlüsselung
gewisser kritischer Benutzerdaten verwendet, die während eines Anrufs
gesendet werden können.
Die Erstellung und Beschreibung des CMEA-Schlüssels
sind auf dem Fachgebiet wohl bekannt. Der CMEA-Schlüssel wird zum
Erstellen eines geheimen Arrays tbox(z) von 256 byte verwendet.
Alternativ kann die tbox als Funktionsaufruf implementiert sein.
Diese Implementierung verringert die RAM-Benutzung, erhöht jedoch
die Verarbeitungszeit um rund eine Größenordnung.
-
In
Schritt 102 wird unverarbeiteter Text eingeführt. In
Schritt 104 wird in Systemen, die tbox als statische Tabelle
statt als Funktionsaufruf implementieren, die statische tbox-Tabelle
hergeleitet. Die tbox-Tabelle wird wie folgt hergeleitet. Für alle z
im Bereich 0 ≤ z < 256 ist tbox(z)
= C(((C(((C(((C((z XOR k0) + k1) + z)XOR k2) + k3) + z)XOR k4) +
k5) + z)XOR k6) + k7) + z, wobei „+" Addition modulo 256 bezeichnet, „XOR" der bitweise Boolesche XOR-Operator
ist, „z" das Funktionsargument
ist, k0, ..k7 die acht Oktette des CMEA-Schlüssels umfassen und C() das
Ergebnis einer CAVE-8-bit-Tabellennachschau
ist.
-
CMEA
weist drei aufeinander folgende Stufen auf, von denen jede jeden
Bytestring im Datenpuffer ändert.
In den Schritten 106, 108 und 110 werden
jeweils erste, zweite und dritte Stufen des CMEA-Prozesses durchgeführt, wie
hierin beschrieben wird. Ein d Bytes langer Datenpuffer, wobei jedes Byte
durch b(i) bezeichnet ist mit einer ganzen Zahl im Bereich 0 ≤ i < d, wird in drei
Stufen chiffriert. Die erste Stufe (I) von CMEA ist wie folgt:
- 1. Initialisieren einer Variablen z auf null,
- 2. Für
aufeinander folgende ganzzahlige Werte von i im Bereich 0 ≤ i < d
a. Bilden
einer Variablen q durch: q = z (+) niederwertiges Byte von i, wobei
(+) der bitweise Boolesche Exklusiv-ODER-Operator ist,
b. Bilden
der Variablen k durch: k = TBOX(q),
c. Aktualisieren von b(i)
mit: b(i) = b(i) + k mod 256, und
d. Aktualisieren von z mit:
z = b(i) + z mod 256.
-
Die
zweite Stufe (II) von CMEA ist:
- 1. für alle Werte
von i im Bereich 0 ≤ i < (d –1)/2: b(i)
= b(i) ⊕ (b(d – 1 – i)OR 1),
wobei OR der bitweise Boolesche ODER-Operator ist.
-
Die
letzte oder dritte Stufe (III) von CMEA ist die Entschlüsselung,
die zur ersten Stufe invertiert ist:
- 1. Initialisieren
einer Variablen z auf null,
- 2. Für
aufeinander folgende ganzzahlige Werte von i m Bereich 0 ≤ i < d
a. Bilden
einer Variablen q durch: q = z niederwertiges Byte von i,
b.
Bilden der Variablen k durch: k = TBOX(q),
c. Aktualisieren
von z mit: z = b(i) + z mod 256,
d. Aktualisieren von b (i)
mit b (i) = b (i) + k mod 256.
-
In
Schritt 112 wird die endgültige verarbeitete Ausgabe
bereitgestellt.
-
Der
CMEA-Prozess ist selbst-invertierend. Das heißt, dass dieselben Schritte,
in derselben Reihenfolge angewendet; sowohl zum Verschlüsseln von
Klartext als auch zum Entschlüsseln
von chiffriertem Text verwendet werden. Daher besteht keine Notwendigkeit,
zu ermitteln, ob Verschlüsselung
oder Entschlüsselung
vorgenommen wird. Unglücklicherweise
ist gezeigt worden, dass der CMEA-Prozess Gegenstand eines Angriffs
ist, der die Wiederherstellung des für einen Anruf verwendeten CMEA-Schlüssels erlaubt.
-
Um
zusätzliche
Sicherheit für
die Kundeninformationen bereitzustellen, führt ein Verschlüsselungssystem
gemäß der vorliegenden
Erfindung vorzugsweise zwei Iterationen des CMEA-Prozesses durch,
wobei in jeder Iteration ein unterschiedlicher Schlüssel verwendet
wird. Eine erste Eingabetransformation und eine erste Ausgabetransformation werden
vor und nach der ersten Iteration des CMEA-Prozesses durchgeführt, und
eine zweite Eingabetransformation und eine zweite Ausgabetransformation
werden vor und nach der zweiten Iteration des CMEA-Prozesses durchgeführt. Ein
alternatives Verschlüsselungssystem
gemäß der vorliegenden Erfindung
verbessert vorzugsweise die Verwendung der tbox-Funktion durch Hinzufügen mindestens
einer Permutation der tbox-Eingaben in einer oder mehreren Iterationen
des CMEA-Prozesses. Die verbesserte Verwen dung der tbox-Funktion
ist in unserer Patentanmeldung lfd. Nr. 09/059.116 mit dem Titel „Methods
and Apparatus for Enhanced Security Expansion of a Secret Key into
a Lookup Table for Improved Security for Wireless Telephone Messages" beschrieben, die
am gleichen Tag mit der vorliegenden Anwendung eingereicht wurde,
die als US-Patentschrift Nr. 6.233.337 veröffentlicht wurde. In einem
anderen Aspekt der Erfindung können
erste und zweite Iterationen des CMEA-Prozesses durchgeführt werden, jedoch ohne die
Eingabe- und Ausgabetransformationen
vor und nach jeder Iteration des CMEA-Prozesses.
-
2 ist
ein Flussdiagramm, das die Schritte zeigt, die durch einen Verschlüsselungsprozess 200 gemäß einem
Aspekt der vorliegenden Erfindung durchgeführt werden. Der Verschlüsselungsprozess nach 2 beinhaltet
zwei Iterationen des CMEA-Prozesses, der in Verbindung mit der Diskussion
von 1 beschrieben ist, wobei für jede Iteration ein unterschiedlicher
CMEA-Schlüssel
verwendet wird. In Schritt 202 wird der Klartext in den
Verschlüsselungsprozess
eingeführt.
In Schritt 204 wird der Klartext in einer ersten Iteration
mittels des CMEA-Prozesses mittels eines ersten CMEA-Schlüssels verschlüsselt. In
Schritt 206 ist die erste Iteration abgeschlossen, und
chiffrierter Zwischentext ist erzeugt. In Schritt 208 wird
der chiffrierte Zwischentext mit einer zweiten Iteration des CMEA-Prozesses
mittels eines zweiten CMEA-Schlüssels
behandelt. In Schritt 210 ist der endgültige chiffrierte Text erzeugt.
-
3 ist
ein Diagramm, das einen Verschlüsselungsprozess 300 gemäß einem
anderen Aspekt der vorliegenden Erfindung darstellt. In Schritt 302 wird
die Klartextnachricht in den Verschlüsselungsprozess eingeführt. In
Schritt 304 wird die Klartextnachricht mit einer ersten
Eingabetransformation zur Erzeugung einer ersten Eingabetransformationsnachricht
behandelt. In Schritt 306 wird die erste Eingabetransformationsnachricht
mit einer ersten Iteration eines CMEA-Prozesses mittels eines ersten CMEA-Schlüssels zur
Erzeugung eines ersten chiffrierten Zwischentextes behandelt. Vorzugsweise setzt
die erste Iteration des CMEA-Prozesses eine verbesserte Verwendung
der tbox-Funktion ein, in der jede Eingabe der tbox-Funktion mit
einer Permutation behandelt wird. Die verbesserte Verwendung der
tbox-Funktion ist
in unserer oben erwähnten
Patentanmeldung lfd. Nr. 09/059.116 beschrieben. In Schritt 308 wird
die Ausgabe der ersten Iteration des CMEA-Prozesses mit einer ersten
Ausgabetransformation zur Erzeugung einer ersten Ausgabetransformationsnachricht
behandelt. In Schritt 310 wir der erste chiffrierte Zwischentext
mit einer zweiten Eingabetransformation zur Erzeugung einer zweiten
Eingabetransformationsnachricht behandelt. In Schritt 312 wird
der transformierte chiffrierte Zwischentext mit einer zweiten Iteration
des CMEA-Prozesses
mittels eines zweiten CMEA-Schlüssels
zur Erzeugung eines zweiten chiffrierten Zwischentextes behandelt. Die
zweite Iteration des CMEA-Prozesses setzt vorzugsweise die verbesserte
Verwendung der tbox-Funktion
ein, die in unserer oben erwähnten
Patentanmeldung beschrieben ist. In Schritt 314 ist der zweite
chiffrierte Zwischentext Gegenstand einer zweiten Ausgabetransformation
zur Erzeugung einer zweiten Ausgabetransformationsnachricht. In
Schritt 316 wird die zweite Ausgabetransformationsnachricht
als endgültiger
chiffrierter Text ausgegeben.
-
4 ist
ein Diagramm, das im Detail eine Eingabetransformation 400 darstellt,
die in geeigneter Weise im Verschlüsselungsprozess 300 verwendet
werden kann, der in Verbindung mit 3 beschrieben
ist. Die invertierte Eingabetransformation 400 ist selbst-invertierend.
Jedes von j + 1 Eingabedatenoktetten j + 1, j, ..., 2, 1 wird mit
einem Transformationsoktett XOR-verknüpft. Das Transformationsoktett
ist ein geheimer Wert, der mittels einer beliebigen einer Anzahl
von Techniken erstellt werden kann, die üblicherweise auf dem Fachgebiet
verwendet werden. Zwei Transformationsoktette werden vorzugsweise
in alternierender Weise verwendet und auf die Eingabedatenoktette
angewendet. Transformationsoktett I2 wird
auf Eingabedatenoktett j + 1 angewendet, Transformationsoktett I1 wird auf Eingabedatenoktett j angewendet,
Transformationsoktett I2 wird auf Eingabedatenoktett
j – 1
angewendet und so fort. Die Anwendung der Transformation erzeugt
einen neunen Satz Eingabedatenoktette j + 1', j',
..., 2', 1', der dann wie oben
in Verbindung mit der Diskussion von 3 beschrieben
verwendet wird.
-
5 ist
ein Diagramm, das eine invertierte Vorwärts-Ausgabetransformation 500 darstellt,
die in geeigneter Weise im Verschlüsselungsprozess 300 verwendet
werden kann, der in Verbindung mit 3 beschrieben
ist. Für
die Vorwärts-Ausgabetransformation
wird jedes von j + 1 Ausgabedatenoktetten j + 1, j, ..., 2, 1 mit
einem Transformationsoktett summiert. Das Transformationsoktett
ist ein geheimer Wert, der mittels einer beliebigen einer Anzahl
von Techniken erstellt werden kann, die üblicherweise auf dem Fachgebiet
verwendet werden. Für
die invertierte Ausgabetransformation wird die Summation durch eine
Subtraktion ersetzt. Zwei Transformationsoktette werden vorzugsweise
in alternierender Weise verwendet und auf die Ausgabedatenoktette
angewendet. Transformationsoktett O2 wird
auf Ausgabedatenoktett j + 1 angewendet, Transformationsoktett O1 wird auf Ausgabedatenoktett j angewendet,
Transformationsoktett O2 wird auf Ausgabedatenoktett
j – 1 angewendet
und so fort. Die Anwendung der Transformation erzeugt einen neunen
Satz Ausgabedatenoktette j + 1',
j', ..., 2', 1', der dann wie oben
in Verbindung mit der Diskussion von 3 beschrieben verwendet
wird.
-
Weil
das Verschlüsselungssystem
der vorliegenden Erfindung die Anwendung zweier Schlüssel erfordert,
ist es nicht selbst-invertierend. Das heißt, dass dieselben Operationen,
in derselben Reihenfolge angewendet, nicht sowohl Klartext verschlüsseln als
auch chiffrierten Text entschlüsseln.
Darüber
hinaus ist die Ausgabetransformation, die in Verbindung mit der
Diskussion von 5 beschrieben ist, nicht selbst-invertierend.
Daher ist ein separater Entschlüsselungsprozess
notwendig, wie unten beschrieben.
-
6 stellt
einen Entschlüsselungsprozess 600 gemäß einem
Aspekt der vorliegenden Erfindung dar. Im Wesentlichen wird den
Schritten gefolgt, die in 3 dargestellt
sind, aber in der Umkehrung der Reihenfolge, die in 3 gezeigt
ist. Erste und zweite invertierte Eingabe- und Ausgabetransformationen
werden anstelle der Eingabe- und Ausgabetransformationen nach 3 eingesetzt.
Die erste invertierte Eingabetransformation ist einfach die zweite Eingabetransformation,
die oben in Verbindung mit der Diskussion von 3 beschrieben
ist, und die zweite invertierte Eingabetransformation ist die erste Eingabetransformation,
die oben in Verbindung mit der Diskussion von 3 beschrieben
ist.
-
In
Schritt 602 wird die chiffrierte Nachricht in den Entschlüsselungsprozess
eingeführt.
In Schritt 604 wird die chiffrierte Nachricht mit einer
ersten invertierten Ausgabetransformation zur Erzeugung einer ersten
invertierten Ausgabetransformationsnachricht behandelt. Die erste
invertierte Ausgabetransformation ist die Inversion der zweiten
Ausgabetransformation, die in Verbindung mit 3 und ausführlicher
in Verbindung mit 5 beschrieben ist. Insbesondere
wird der Additionsschritt in der Ausgabetransformation durch eine
Subtraktion in der invertierten Ausgabetransformation aufgehoben.
In Schritt 606 wird die erste invertierte Ausgabetransformationsnachricht
mit einer ersten Iteration des CMEA-Prozesses zur Erzeugung einer
ersten entschlüsselten
chiffrierten Zwischennachricht behandelt. Die erste Iteration des
CMEA-Prozesses setzt vorzugsweise eine verbesserte Verwendung der tbox-Funktion
gemäß unserer
oben erwähnten
Anwendung lfd. Nr. 09/059.116 ein. Die Schlüsselung, die für diese
erste Iteration verwendet wird, ist der zweite CMEA-Schlüssel und
die zweite tbox-Eingabepermutation. In Schritt 608 wird
der erste chiffrierte Zwischentext mit einer ersten invertierten
Eingabetransformation, die mit der zweiten Eingabetransformation
identisch ist, die in Verbindung mit der Diskussion von 3 beschrieben
ist, zur Erzeugung einer ersten invertierten Eingabetransformationsnachricht behandelt.
Als Nächstes
wird in Schritt 610 die erste invertierte Eingabetransformationsnachricht
mit einer zweiten invertierten Ausgabetransformation, die die Inversion
der ersten Ausgabetransformation ist, die in Verbindung mit der
Diskussion von 3 beschrieben ist, zur Erzeugung
einer zweiten invertierten Ausgabetransformationsnachricht behandelt.
In Schritt 612 wird die zweite invertierte Ausgabetransformationsnachricht
mit einer zweiten Iteration des CMEA-Prozesses zur Erzeugung einer
zweiten entschlüsselten
chiffrierten Zwischennachricht behandelt. Die zweite Iteration des
CMEA-Prozesses setzt vorzugsweise die verbesserte Verwendung der tbox-Funktion
ein. Die Schlüsselung,
die für
diese Iteration des modifizierten CMEA-Prozesses verwendet wird,
ist der erste CMEA-Schlüssel
und die erste tbox-Eingabepermutation. In Schritt 616 wird
die zweite entschlüsselte
chiffrierte Zwischennachricht mit einer zweiten invertierten Eingabetransformation, die
mit der ersten Eingabetransformation identisch ist, die in Verbindung
mit der Diskussion von 4 beschrieben ist, zur Erzeugung
einer zweiten invertierten Eingabetransformationsnachricht behandelt. In
Schritt 618 ist die zweite Iteration abgeschlossen, und
die zweite invertierte Eingabetransformationsnachricht wird als
der endgültige
Klartext ausgegeben.
-
Die
Verschlüsselung,
die in Verbindung mit der Diskussion von 2 beschrieben
ist, kann in gleicher Weise umgekehrt werden. Um eine Nachricht
zu entschlüsseln,
die gemäß dem Aspekt
der Erfindung ver schlüsselt
ist, der in Verbindung mit 2 oben beschrieben
ist, wird die Entschlüsselung
ausgeführt,
die bei 6 beschrieben ist, jedoch ohne Ausführen der
invertierten Eingabe- und Ausgabetransformationen.
-
Weil
die Entschlüsselung,
die in Verbindung mit 6 beschrieben ist, nicht einfach
durch Operieren mit der Verschlüsselung
erreicht werden kann, die in Verbindung mit 3 beschrieben
ist, ist es für ein
Gerät,
das Verschlüsselungs-
und Entschlüsselungssysteme
gemäß der vorliegenden
Erfindung verwendet, notwendig, zu erkennen, wann eine Nachricht
verschlüsselt
werden muss und wann sie entschlüsselt
werden muss.
-
7 ist
ein Diagramm, das ein drahtloses Telefongerät 700 zeigt, das zur
Durchführung
von Nachrichtensendung und Ver- und Entschlüsselung gemäß der vorliegenden Erfindung
mit Einrichtungen sowohl zum Erkennen, ob eine Nachricht verschlüsselt oder
entschlüsselt
werden muss, als auch zum Durchführen
der entsprechenden Verschlüsselung oder
Entschlüsselung
ausgestattet ist. Das Telefongerät 700 beinhaltet
einen Sendeempfänger 702, eine
Ein-und-Ausgangsschnittstelle (E/A-Schnittstelle) 704,
einen Ver-und-Entschlüsselungsprozessor 706 und
einen Schlüsselgenerator 708.
Der Schlüsselgenerator 708 empfängt gespeicherte
geheime Daten zur Schlüsselerzeugung
und setzt sie ein. Gespeicherte geheime Daten sind vorzugsweise
in nicht flüchtigem
Speicher 710 gespeichert wie z.B. einem EEPROM oder einem
Flash-Speicher. Der Schlüsselgenerator 708 speichert
die erzeugten Schlüssel in
Speicher 712. Der Ver-und-Entschlüsselungsprozessor beinhaltet
außerdem
Speicher 714 zur Speicherung von Schlüsseln, die vom Schlüsselgenerator 708 empfangen
werden, einer statischen tbox-Tabelle,
die erzeugt und verwendet werden kann, wenn es gewünscht wird,
die tbox-Funktion als statische Tabelle zu implementieren, und anderer
Werte, die während
Verschlüsselung
und Entschlüsselung
erzeugt und ge speichert werden können.
Das Telefongerät 700 beinhaltet
außerdem
einen Nachrichtengenerator 716, der Nachrichten erzeugt,
die durch den Ver-und-Entschlüsselungsprozessor 706 zu
verschlüsseln
und durch den Sendeempfänger 702 zu senden
sind.
-
Wenn
eine intern erzeugte Nachricht durch das Telefongerät 700 zu
verschlüsseln
und zu senden ist, wird die Nachricht von Nachrichtengenerator 712 zur
E/A-Schnittstelle 704 gesendet. Die E/A-Schnittstelle 704 identifiziert
die Nachricht als intern erzeugte Nachricht, die zu verschlüsseln ist,
und sendet die Nachricht zusammen mit der Identifikation zum Ver-und-Entschlüsselungsprozessor 706.
Der Ver-und-Entschlüsselungsprozessor 706 empfängt einen
oder mehrere Schlüssel
vom Schlüsselgenerator 708,
die er dann zum Verschlüsseln
der Nachricht verwendet. Vorzugsweise empfängt der Ver-und-Entschlüsselungsprozessor 706 zwei
Schlüssel
vom Schlüsselgenerator 708,
die dann zum Durchführen von
Zwei-Iterationen-CMEA-Verschlüsselung
mittels Eingabe- und Ausgabetransformationen eingesetzt werden,
wie oben in Verbindung mit 3 beschrieben.
-
Der
Ver- und Entschlüsselungsprozessor 706 behandelt
die Klartextnachricht mit einer ersten Eingabetransformation zur
Erzeugung einer ersten Eingabetransformationsnachricht. Als Nächstes wird die
erste Eingabetransformationsnachricht mit einer ersten Iteration
eines CMEA-Prozesses mittels eines ersten CMEA-Schlüssels zur
Erzeugung einer ersten chiffrierten Zwischennachricht behandelt.
Die erste Iteration des CMEA-Prozesses kann in geeigneter Weise
die verbesserte Verwendung der tbox-Funktion einsetzen, in der jede
tbox-Funktionseingabe mit einer Permutation behandelt wird. Die
erste chiffrierte Zwischennachricht wird mit einer ersten Ausgabetransformation
zur Erzeugung einer ersten Ausgabetransformationsnachricht behandelt.
Als Nächstes wird
die erste Ausgabetransformationsnachricht mit einer zweiten Eingabetransformation
zur Erzeugung einer zweiten Eingabetransformationsnachricht behandelt.
Die zweite Eingabetransformationsnachricht wird dann mit einer zweiten
Iteration des modifizierten CMEA-Prozesses mittels eines zweiten CMEA-Schlüssels zur
Erzeugung einer zweiten chiffrierten Zwischennachricht behandelt.
Der zweite Iterationsprozesses kann auch in geeigneter Weise die verbesserte
Verwendung der tbox-Funktion einsetzen. Die Ausgabe der zweiten
Iteration des CMEA-Prozesses wird dann mit einer zweiten Ausgabetransformation
zur Erzeugung einer zweiten Ausgabetransformationsnachricht behandelt.
Abschließend
ist die zweite Iteration abgeschlossen, und die zweite Ausgabetransformationsnachricht wird
als der endgültige
chiffrierte Text erzeugt. Nach Abschluss der Verschlüsselung
kann der endgültige chiffrierte
Text in Speicher 714 gespeichert werden und wird zur E/A-Schnittstelle 704 und
zum Sendeempfänger 702 zur
Sendung geleitet.
-
Wenn
eine verschlüsselte
Nachricht durch das Telefongerät 700 empfangen
wird, leitet der Sendeempfänger 702 sie
an die E/A-Schnittstelle 704 weiter. Die E/A-Schnittstelle identifiziert
die Nachricht als verschlüsselte
Nachricht und leitet diese Identifikation zusammen mit der Nachricht
zum Ver-und-Entschlüsselungsprozessor 706 weiter.
Der Ver-und-Entschlüsselungsprozessor 706 empfängt einen
oder mehrere Schlüssel
vom Schlüsselgenerator 708 und
entschlüsselt
die Nachricht vorzugsweise mittels eines Zwei-Iterationen-CMEA-Entschlüsselungsprozesses,
wie in Verbindung mit 6 beschrieben.
-
Wenn
der Ver-und-Entschlüsselungsprozessor 706 eine
chiffrierte Nachricht von der E/A-Schnittstelle 704 empfängt, wird
die chiffrierte Nachricht mit einer ersten invertierten Ausgabetransformation
zur Erzeugung einer ersten invertierten Ausgabetransformationsnachricht
behandelt. Die erste invertierte Ausgabetransformation ist die Inversion
der zweiten Ausgabe transformation, die in Verbindung mit 3 und
ausführlicher
in Verbindung mit 5 beschrieben ist. Insbesondere
wird der Additionsschritt in der Ausgabetransformation durch eine
Subtraktion in der invertierten Ausgabetransformation aufgehoben.
Als Nächstes
wird eine erste Iteration des CMEA-Prozesses, wobei vorzugsweise
die verbesserte Verwendung der tbox-Funktion eingesetzt wird, zur Erzeugung
einer ersten entschlüsselten
chiffrierten Zwischennachricht durchgeführt. Die Schlüsselung, die
für diese
erste Iteration verwendet wird, ist der zweite CMEA-Schlüssel und
die zweite tbox-Eingabepermutation. Als Nächstes wird die erste entschlüsselte chiffrierte
Zwischennachricht mit einer ersten invertierten Eingabetransformation
zur Erzeugung einer ersten invertierten Eingabetransformationsnachricht
behandelt. Die erste invertierte Eingabetransformation ist identisch
mit der zweiten Eingabetransformation, die in Verbindung mit der
Diskussion von 3 beschrieben ist. Die zweite
invertierte Eingabetransformationsnachricht wird dann mit einer zweiten
invertierten Ausgabetransformation zur Erzeugung einer zweiten invertierten
Ausgabetransformationsnachricht behandelt. Die zweite invertierte Ausgabetransformation
ist die Inversion der ersten Ausgabetransformation, die in Verbindung
mit der Diskussion von 3 beschrieben ist. Dann wird eine
zweite Iteration des CMEA-Prozesses, wobei vorzugsweise die verbesserte
Verwendung der tbox-Funktion eingesetzt wird, zur Erzeugung einer zweiten
entschlüsselten
chiffrierten Zwischennachricht durchgeführt. Die Schlüsselung,
die für
diese Iteration des modifizierten CMEA-Prozesses verwendet wird,
ist der erste CMEA-Schlüssel und
die erste tbox-Permutation. Die zweite entschlüsselte chiffrierte Zwischennachricht
wird dann mit zweiter invertierter Eingabetransformation zur Erzeugung
einer zweiten invertierten Eingabetransformationsnachricht behandelt.
Die zweite invertierte Eingabetransformation ist identisch mit der
ersten Eingabetransformation, die in Verbindung mit der Diskussion
von 3 beschrieben ist. Die zweite invertierte Eingabetransformationsnachricht
wird als Klartext zur E/A-Schnittstelle 704 weitergeleitet,
wo sie dann zur endgültigen Verwendung
weitergeleitet wird.
-
Obgleich
sie die Sicherheit wesentlich steigern, steigern die oben beschriebenen
Erweiterungen des CMEA-Prozesses
Verarbeitungs- oder Systemressourcen nicht wesentlich und sind daher
gut zur Verwendung in einer Umgebung wie z.B. einem drahtlosen Telefonsystem
geeignet, in dem Einheiten wie z.B. die Mobileinheiten oft begrenzte
Verarbeitungsleistung aufweisen.
-
Obgleich
die vorliegende Erfindung im Kontext einer gegenwärtig bevorzugten
Ausführungsform beschrieben
ist, wird man erkennen, dass vom Durchschnittsfachmann eine große Vielfalt
von Implementierungen im Einklang mit der obigen Diskussion und
den Ansprüchen,
die unten folgen, eingesetzt werden kann.