PatentDe  


Dokumentenidentifikation DE69836185T2 23.08.2007
EP-Veröffentlichungsnummer 0000914732
Titel VORRICHTUNG UND VERFAHREN FÜR DAZU PASSENDER MULTI-ITERATION CMEA ENTSCHLÜSSELUNG UND VERSCHLÜSSELUNG UM DIE SICHERHEIT VON DRAHTLOSEN FERNSPRECHNACHRICHTEN ZU VERBESSERN
Anmelder Lucent Technologies Inc., Murray Hill, N.J., US
Erfinder ETZEL, H., Mark, Harvard, MA 01451, US;
FRANK, John, Robert, Silver Spring, MD 20904, US;
HEER, Nelson, Daniel, Newton, NH 03858, US;
NcNELIS, John, Robert, Columbia, MD 21046, US;
MIZIKOVSKY, B., Semyon, Morganville, NJ 07751, US;
RANCE, John, Robert, Andover, MA 01810, US;
SHIPP, Dale, R., Columbia, MD 21044, US
Vertreter derzeit kein Vertreter bestellt
DE-Aktenzeichen 69836185
Vertragsstaaten DE, FI, FR, GB, SE
Sprache des Dokument EN
EP-Anmeldetag 14.04.1998
EP-Aktenzeichen 989379268
WO-Anmeldetag 14.04.1998
PCT-Aktenzeichen PCT/US98/07823
WO-Veröffentlichungsnummer 1998047262
WO-Veröffentlichungsdatum 22.10.1998
EP-Offenlegungsdatum 12.05.1999
EP date of grant 18.10.2006
Veröffentlichungstag im Patentblatt 23.08.2007
IPC-Hauptklasse H04L 9/00(2006.01)A, F, I, 20051017, B, H, EP

Beschreibung[de]

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 Verwendung 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 verschlü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 gespeichert 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 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. 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.


Anspruch[de]
Datenverschlüsselungsverfahren mit folgenden Schritten:

Einführen einer Klartextnachricht (302);

Durchführen einer ersten Eingabetransformation (304) auf der Klartextnachricht zur Erzeugung einer ersten Eingabetransformationsnachricht;

Durchführen einer ersten Iteration eines CMEA-Prozesses (306) auf der ersten Eingabetransformationsnachricht mittels eines ersten CMEA-Schlüssels zur Erzeugung einer ersten chiffrierten Zwischennachricht; und

Durchführen einer ersten Ausgabetransformation (308) auf der ersten chiffrierten Zwischennachricht zur Erzeugung einer ersten Ausgabetransformationsnachricht, wobei die erste Ausgabetransformation verschieden von der ersten Eingabetransformation, verschieden von einer Inversion der ersten Eingabetransformation und nicht-selbst-invertierend ist.
Verfahren nach Anspruch 1 ferner einschließlich folgender Schritte:

Durchführen einer zweiten Eingabetransformation (310) auf der ersten Ausgabetransformationsnachricht zur Erzeugung einer zweiten Eingabetransformationsnachricht;

Durchführen einer zweiten Iteration des CMEA-Prozesses (312) auf der zweiten Eingabetransformationsnachricht mittels eines zweiten CMEA-Schlüssels zur Erzeugung einer zweiten chiffrierten Zwischennachricht; und

Durchführen einer zweiten Ausgabetransformation (314) auf der zweiten chiffrierten Zwischennachricht zur Erzeugung einer zweiten Ausgabetransformationsnachricht.
Verfahren nach Anspruch 2, wobei die erste Eingabetransformationsnachricht mit einer tbox-Funktion einschließlich Permutation jeder Eingabe in eine tbox-Funktion durch erste und zweite geheime Offsets während der ersten Iteration des CMEA-Prozesses behandelt wird, und die zweite Eingabetransformationsnachricht mit einer tbox-Funktion einschließlich Permutation jeder Eingabe in die tbox-Funktion durch dritte und vierte geheime Offsets während der zweiten Iteration des CMEA-Prozesses behandelt wird. Verschlüsselungsverfahren für eine chiffrierte Nachricht mit folgenden Schritten:

Einführen einer chiffrierten Nachricht (602);

Durchführen einer ersten invertierten Ausgabetransformation (604) auf der chiffrierten Nachricht zur Erzeugung einer ersten invertierten Ausgabetransformationsnachricht;

Durchführen einer ersten Iteration eines CMEA-Prozesses (606) auf der ersten invertierten Ausgabetransformationsnachricht mittels eines zweiten CMEA-Schlüssels zur Erzeugung einer ersten entschlüsselten chiffrierten Zwischennachricht; und

Durchführen einer ersten invertierten Eingabetransformation (608) auf der ersten entschlüsselten chiffrierten Zwischennachricht zur Erzeugung einer ersten invertierten Eingabetransformationsnachricht, wobei die erste invertierte Ausgabetransformation verschieden von der ersten invertierten Eingabetransformation, verschieden von einer Inversion der ersten invertierten Eingabetransformation und nicht-selbst-invertierend ist.
Verfahren nach Anspruch 4 ferner einschließlich folgender Schritte:

Durchführen einer zweiten invertierten Ausgabetransformation (610) auf der ersten invertierten Eingabetransformationsnachricht zur Erzeugung einer zweiten invertierten Ausgabetransformationsnachricht;

Durchführen einer zweiten Iteration des CMEA-Prozesses (612) auf der zweiten invertierten Ausgabetransformationsnachricht mittels eines ersten CMEA-Schlüssels zur Erzeugung einer zweiten entschlüsselten chiffrierten Zwischennachricht; und

Durchführen einer zweiten invertierten Eingabetransformation (614) auf der zweiten entschlüsselten chiffrierten Zwischennachricht zur Erzeugung einer zweiten invertierten Eingabetransformationsnachricht.
Verfahren nach Anspruch 5, ferner einschließlich der Schritte des Abrufens erster, zweiter, dritter und vierter Offsets, die während der Verschlüsselung einer Klartextnachricht zur Erzeugung der chiffrierten Nachricht erstellt wurden, und Behandeln der ersten invertierten Ausgabetransformationsnachricht mit einer tbox-Funktion einschließlich Permutation jeder tbox-Funktions-Eingabe durch die dritten und vierten Offsets während der ersten Iteration des CMEA-Prozesses und Behandeln der zweiten invertierten Ausgabetransformationsnachricht mit einer tbox-Funktion einschließlich Permutation jeder tbox-Funktions-Eingabe durch die ersten und zweiten Offsets während der zweiten Iteration des CMEA-Prozesses. Drahtloses Telefon, aufweisend:

einen Nachrichtengenerator (716), der Benutzereingaben empfängt und die Benutzereingaben zu einer ausgehenden Nachricht

einen Speicher (710) zum Speichern von geheimen Daten;

einen Schlüsselgenerator (708), der mindestens einen ersten Verschlüsselungsschlüssel aufgrund der geheimen Daten erzeugt;

einen Prozessor (706), der die ausgehende Nachricht verarbeitet, indem er durchführt:

eine erste Eingabetransformation auf der ausgehenden Nachricht,

einen ersten CMEA-Prozess auf der Ausgabe der ersten Eingabetransformation mittels des ersten Verschlüsselungsschlüssels zur Erzeugung einer ersten chiffrierten Nachricht, und

eine erste Ausgabetransformation auf der ersten chiffrierten Nachricht, wobei die erste Ausgabetransformation verschieden von der ersten Eingabetransformation, verschieden von einer Inversion der ersten Eingabetransformation und nicht-selbst-invertiertend ist; und

einen Sender (702), der die vom Prozessor ausgegebenen verarbeiteten ausgehenden Nachrichten sendet.
Telefon nach Anspruch 7, wobei der Prozessor ferner die ausgehende Nachrichte verarbeitet, indem er durchführt:

eine zweite Eingabetransformation auf der Ausgabe der ersten Ausgabetransformation,

einen zweiten CMEA-Prozess auf der Ausgabe der zweiten Eingabetransformation mittels eines vom Schlüsselgenerator erzeugten zweiten Verschlüsselungsschlüssels zur Erzeugung einer zweiten chiffrierten Nachricht, und

eine zweite Ausgabetransformation auf der zweiten chiffrierten Nachricht, wobei die zweite Ausgabetransformation verschieden von der zweiten Eingabetransformation, verschieden von einer Inversion der zweiten Eingabetransformation und nicht-selbst-invertierend ist.
Telefon nach Anspruch 8, wobei die Ausgabe der ersten Eingabetransformation mit einer tbox-Funktion einschließlich Permutation jeder tbox-Funktion-Eingabe durch ein erstes und ein zweites Offset während des ersten CMEA-Prozesses behandelt wird, und die Ausgabe der zweiten Eingabetransformation mit einer tbox-Funktion einschließlich Permutation jeder tbox-Funktionseingabe durch ein drittes und ein viertes Offset während des zweiten CMEA-Prozesses behandelt wird. Telefon nach Anspruch 8, ferner aufweisend:

einen Empfänger (702), der eingehende Nachrichten empfängt; und wobei

der Prozessor jede eingehende Nachricht verarbeitet, indem er durchführt:

eine erste invertierte Ausgabetransformation auf der eingehenden Nachricht, wobei die erste invertierte Ausgabetransformation eine Inversion der zweiten Ausgabetransformation ist,

einen dritten CMEA-Prozess auf der Ausgabe der ersten invertierten Ausgabetransformation mittels des zweiten Verschlüsselungsschlüssels,

eine erste invertierte Eingabetransformation auf der Ausgabe des dritten CMEA-Prozesses, wobei die erste invertierte Eingabetransformation eine Inversion der zweiten Eingabetransformation ist,

eine zweite invertierte Ausgabetransformation auf der Ausgabe der ersten invertierten Eingabetransformationsnachricht, wobei die zweite invertierte Ausgabetransformation eine Inversion der ersten Ausgabetransformation ist,

einen vierten CMEA-Prozess auf der Ausgabe der ersten invertierten Ausgabetransformation mittels des ersten Verschlüsselungsschlüssels, und

eine zweite invertierte Eingabetransformation auf der Ausgabe des vierten CMEA-Prozesses, wobei die zweite invertierte Eingabetransformation eine Inversion der ersten Eingabetransformation ist.
Telefon nach Anspruch 7, ferner aufweisend:

einen Empfänger, der eine eingehende Nachricht empfängt; und wobei

der Prozessor die eingehende Nachricht verarbeitet, indem er durchführt:

eine invertierte Ausgabetransformation auf der eingehenden Nachricht,

einen CMEA-Prozess auf der Ausgabe der invertierten Ausgabetransformation mittels des ersten Verschlüsselungsschlüssels, und

eine invertierte Ausgabetransformation auf der Ausgabe des CMEA-Prozesses.
Telefon nach Anspruch 11, ferner aufweisend:

eine Schnittstelle, die eingehende Nachrichten vom Empfänger zum Prozessor, ausgehende Nachrichten vom Nachrichtengenerator zum Prozessor und verarbeitete ausgehende Nachrichten vom Prozessor zum Sender leitet, wobei die Schnittstelle die eingehende Nachricht dem Prozessor mit einem ersten Identifikationssignal zuführt, welches die eingehende Nachricht als eingehende Nachricht kennzeichnet, und die ausgehenden Nachrichten dem Prozessor mit einem zweiten Identifikationssignal zuführt, welches die ausgehende Nachricht als ausgehende Nachricht kennzeichnet.
Telefon nach Anspruch 11, wobei der Sender und der Empfänger in einem Sendeempfänger verkörpert sind. Drahtloses Telefon nach Anspruch 8, ferner aufweisend:

einen Empfänger (702), der eine eingehende Nachricht empfängt, wobei

der Prozessor die eingehende Nachricht verarbeitet, indem er durchführt:

eine invertierte Ausgabetransformation auf der eingehenden Nachricht,

einen CMEA-Prozess auf der Ausgabe der invertierten Ausgabetransformation mittels des ersten Verschlüsselungsschlüssels, und

eine invertierte Eingabetransformation auf der Ausgabe des CMEA-Prozesses, wobei die invertierte Ausgabetransformation verschieden von der invertierten Eingabetransformation, verschieden von einer Inversion der invertierten Eingabetransformation und nicht-selbst-invertierend ist.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com