DE60310439T2 - Auf fehlerkorrekturkode basierter nachrichtenauthentifizierungskode - Google Patents

Auf fehlerkorrekturkode basierter nachrichtenauthentifizierungskode Download PDF

Info

Publication number
DE60310439T2
DE60310439T2 DE60310439T DE60310439T DE60310439T2 DE 60310439 T2 DE60310439 T2 DE 60310439T2 DE 60310439 T DE60310439 T DE 60310439T DE 60310439 T DE60310439 T DE 60310439T DE 60310439 T2 DE60310439 T2 DE 60310439T2
Authority
DE
Germany
Prior art keywords
message
key
code
value
tag value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60310439T
Other languages
English (en)
Other versions
DE60310439D1 (de
Inventor
Christian Gehrmann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of DE60310439D1 publication Critical patent/DE60310439D1/de
Application granted granted Critical
Publication of DE60310439T2 publication Critical patent/DE60310439T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3033Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to pseudo-prime or prime number generation, e.g. primality test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Telephone Function (AREA)
  • Error Detection And Correction (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung bezieht sich auf die Verarbeitung von einer Meldung, um einen Kennzeichen-Wert gemäß einem Meldungs-Authentifizierungs-Kode zu bestimmen.
  • HINTERGRUND DER ERFINDUNG
  • Eine Datenintegrität und -authentifizierung sind grundlegende Erwartungen in jeglichem sicheren Datenkommunikationssystem, und sie enthalten eine Gewissheit, dass eine Information nicht durch irgendjemanden modifiziert wurde, der dazu nicht autorisiert ist. In Drahtloskommunikations-Szenarien gibt es ein bestimmtes hohes Risiko eines gegnerischen Abfangens und einer möglichen Modifizierung der kommunizierten Daten, und somit einen besonderen Bedarf an Integritätsschutz und Authentifizierung.
  • Eine Datenintegrität kann durch einen Meldungs-Authentifizierungs-Kode (MAC) bereitgestellt werden. Es werden MACs zum Integritätsschutz von einer Datenkommunikations-Nutzlast verwendet, da sie eine berechenbare wirksame Weise zum Schutz von sogar hohen Mengen an Daten bereitstellen.
  • MACs basieren auf einem symmetrischen, gemeinsam benutzten Geheimnis zwischen dem Sender und dem Empfänger. Der geheime Wert wird Schlüssel genannt. Der geheime Schlüssel ist eine Eingangsvariable zur MAC-Berechnung, und die zu schützende Meldung ist eine weitere Eingabe. Die MAC-Berechnung führt zu einem Integritätsprüfwert, welcher als ein Kennzeichen-Wert bezeichnet wird. Lediglich jemand, welcher den korrekten geheimen Schlüssel besitzt, ist dazu in der Lage, den Kennzeichen-Wert für jegliche vorgegebene Meldung zu berechnen. Bei herkömmlichen automatischen Integritätsschutz-Szenarien wird der berechnete Kennzeichen-Wert der Meldung angehängt, bevor die Meldung und der Kennzeichen-Wert über den Kommunikationskanal an den Empfänger übertragen werden. Nach Empfang einer durch einen MAC geschützten Meldung berechnet der Empfänger einen entsprechenden Kennzeichen-Wert auf Basis der empfangenen Daten und des gemeinsam benutzten geheimen Schlüssels. Wenn der berechnete Kennzeichen-Wert gleich dem empfangenen Kennzeichen-Wert ist, wird die Meldung als authentisch akzeptiert. Beispiele von bekannten MACs enthalten das sogenannte Keyed-Hashing für einen Meldungs-Authentifizierungs(HMAC)-Algorithmus, welcher auf kryptographischen Einwege Hash-Funktionen basiert, wie beispielsweise der Sicherheits-Hash-Algorithmus SHA-1 und der Meldungs-Digest-Algorithmus MD5.
  • Bei manuellen Authentifizierungs-Schemata wird der berechnete Kennzeichen-Wert nicht notwendigerweise der übertragenen Meldung angehängt. Bei einem solchen Schema kann der Kennzeichen-Wert durch die Vorrichtung, welche die Meldung sendet, und durch die Vorrichtung, welche die Meldung empfängt, berechnet werden. Nachfolgend vergleicht ein Benutzer die berechneten Kennzeichen-Werte oder überträgt manuell einen berechneten Kennzeichen-Wert von einer Vorrichtung an die andere zum Vergleich durch diese Vorrichtung. Ähnlich kann bei einigen Anwendungen ein MAC dazu verwendet werden, um eine Integritätsüberprüfung von einem Datenelement durchzuführen, welches separat durch zwei unterschiedliche Vorrichtungen erzeugt wurde. Somit wird bei einigen Szenarien das Datenelement nicht von einem Sender zu einem Empfänger übertragen, und somit muss der Kennzeichen-Wert vor einer Übertragung nicht den Daten angehängt werden.
  • Der Artikel „Enhancements to Bluetooth baseband security" von C. Gehrmann und K. Nyberg, Proceedings of Nordsec 2001, Kopenhagen, November 2001, beschreibt ein Beispiel eines solchen manuellen Authentifizierungs-Schemas eines Diffie- Hellman gemeinsam benutzten Geheimnisses, welches zuvor durch zwei Vorrichtungen erzeugt wurde, ohne dass das gemeinsam benutzte Geheimnis jemals über eine Kommunikationsverbindung kommuniziert wurde. Das Verfahren basiert auf der Annahme, dass, wenn beim Diffie-Hellman Schlüsselaustausch irgendjemand in der Mitte präsent ist, die aufgebauten Diffie-Hellman Schlüssel in den legitimierten Vorrichtungen unterschiedlich sein werden. Gemäß diesem Verfahren wird das erzeugte, gemeinsam benutzte Geheimnis durch einen manuellen Austausch eines geheimen Schlüssels, Berechnen eines Kennzeichen-Wertes eines Meldungs-Authentifizierungs-Kodes aus dem erzeugten, gemeinsam benutzten Geheimnis und dem geheimen Schlüssel, und durch ein manuelles Vergleichen der erzeugten Kennzeichen-Werte authentifiziert.
  • Bei solchen Szenarien ist das Einbeziehen von einer Benutzer-Interaktion nicht gewünscht, um die Länge des Kennzeichen-Wertes kurz zu halten, um einen Vergleich oder eine Übertragung des Kennzeichen-Wertes durch einen Benutzer möglich zu machen, d.h., um die Zeit zu reduzieren, welche für einen solchen manuellen Vergleich notwendig ist, und um das Risiko von Fehlern zu reduzieren.
  • G. Kabatianskii, B. Smeets und T. Johansson, „On the cardinality of systematic A-codes via error correcting codes", IEEE Transaction on Information theory, vol. IT-42, pp. 566–578, 1996, beschreiben die Beziehung zwischen Meldungs-Authentifizierungs-Kodes und Fehlerkorrekturkodes und offenbaren einen MAC-Aufbau, welcher auf einem Fehlerkorrekturkode basiert, bei welchem der Kode in Äquivalenzklassen eingeteilt wird, so dass alle Kodewörter, welche sich um eine Konstante unterscheiden, durch ein singuläres Kodewort ersetzt werden, wodurch ein neuer Kode erzeugt wird, nämlich der sogenannte Faktor-Kode. Der Kennzeichen-Wert wird dann aus einem Symbol von diesem Faktor-Kode auf Basis von zwei Schlüsseln berechnet.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist eine Aufgabe der vorliegenden Erfindung, einen Kennzeichen-Wert von einem Meldungs-Authentifizierungs-Kode bereitzustellen, welcher einen hohen Pegel an Fälschungsschutz für kleine Kennzeichen-Größen und kleine Schlüssel-Größen bereitstellt.
  • Die obere und weitere Aufgaben werden durch ein Verfahren zum Verarbeiten von einer Meldung, um einen Kennzeichen-Wert aus der Meldung und aus einem Schlüssel gemäß einem Meldungs-Authentifizierungs-Kode zu bestimmen, gelöst, wobei das Verfahren enthält:
    Auswählen von einem aus einer Mehrzahl von Symbolen, wobei die Mehrzahl von Symbolen ein Kodewort ausbildet, welches ein Datenelement enkodiert, welches aus der Meldung abgeleitet ist, wobei das Kodewort das Datenelement gemäß einem Fehlerkorrekturkode enkodiert, wobei der Schlüssel bestimmt, welches aus der Mehrzahl von Symbolen ausgewählt wird; und
    Bestimmen des Kennzeichen-Wertes als das ausgewählte Symbol.
  • Der Erfinder hat erkannt, dass das obige Verfahren einen hohen Pegel an Fälschungssicherheit sogar für kleine Kennzeichen-Größen und kleine Schlüssel-Größen bereitstellt.
  • Es sei ein weiterer Vorteil, dass durch direkte Auswahl des Kennzeichen-Wertes als ein Symbol von einem Kodewort eines Fehlerkorrekturkodes, ein berechenbarer wirksamer MAC-Aufbau bereitgestellt ist.
  • Bei einer Ausführungsform ist das aus der Meldung abgeleitete Datenelement gleich die Meldung selber. Somit wird bei dieser Ausführungsform die Meldung direkt als eine Eingabe an den Fehlerkorrekturkode verwendet.
  • Bei einer weiteren Ausführungsform ist das aus der Meldung abgeleitete Datenelement ein Hash-Wert von einer Einwege Hash-Funktion, welche aus der Meldung berechnet ist, wodurch die Meldungs-Größe reduziert wird und eine weitere Reduktion der Größe des Schlüssels und/oder des Kennzeichen-Wertes erlaubt wird, während der gleiche Sicherheitspegel beibehalten wird.
  • Es ist ein weiterer Vorteil, dass die Sicherheit auf einer uneingeschränkten Sicherheit der MAC-Funktion basiert, anstatt dass sie auf einer berechenbaren Sicherheit beruht, wie im Falle, bei welchem Hash-Funktionen mit langen Hash-Kodes als MAC-Funktionen verwendet werden.
  • Insbesondere wurde erkannt, dass der MAC-Aufbau, wie oben und im folgenden beschrieben, ausreichend geringe Fälschungswahrscheinlichkeiten bereitstellt, und zwar sogar für kurze Kennzeichen-Werte und kurze Schlüssel, d.h. Kennzeichen und Schlüssel, welche eine Länge von weniger als 10–15 Digits und/oder Zeichen und/oder weitere Symbole, beispielsweise 4–6 Hexadezimalzeichen, haben, wodurch es einem Benutzer erlaubt wird, die Kennzeichen-Werte zu kommunizieren und/oder zu vergleichen.
  • Zum Zwecke der vorliegenden Beschreibung ist beabsichtigt, dass der Ausdruck Meldung jegliches digitale Datenelement enthält, dessen Integrität und/oder Authentizität zu verifizieren ist. Beispiele von Meldungen enthalten Datenelemente, welche von einem Sender an einen Empfänger gesendet werden, und zwar beispielsweise über eine Drahtlos-Kommunikationsverbindung, Datenelemente, welche separat oder in Zusammenarbeit durch unterschiedliche Vorrichtungen erzeugt werden, und dergleichen.
  • Bei einer Ausführungsform wird zumindest ein Beitrag zur Meldung von einem Sender zu einem Empfänger über einen ersten Kommunikationskanal kommuniziert; und der Kennzeichen-Wert und optional der Schlüssel werden über einen zweiten Kommunikationskanal, welcher vom ersten Kanal getrennt ist, kommuniziert. Bei einer Ausführungsform enthält der zweite Kommunikationskanal eine Benutzer-Interaktion.
  • Beispielsweise kann die gesamte Meldung kommuniziert werden, oder es kann in einigen Ausführungsformen jede Vorrichtung, welche an der Kommunikation teilnimmt, einen Beitrag zur letztendlichen Meldung erzeugen und den Beitrag an die jeweilige weitere Vorrichtung senden. Beide Vorrichtungen erzeugen dann die letztendliche Meldung. In diesem Fall können ein oder mehrere der übertragenen Beiträge und/oder die letztendliche Meldung durch das oben und im folgenden beschriebene Verfahren verifiziert werden.
  • Weitere bevorzugte Ausführungsformen sind in den abhängigen Patentansprüchen beschrieben.
  • Es ist zu erwähnen, dass die oben und im folgenden beschriebenen Merkmale des Verfahrens in Software implementiert sein können und in einem Datenverarbeitungssystem oder weiteren Verarbeitungsmittel ausgeführt werden können, und zwar verursacht durch die Ausführung von computerausführbaren Anweisungen. Die Anweisungen können ein Programmkode-Mittel sein, welches in einem Speicher, wie beispielsweise ein RAM, aus einem Speichermedium oder aus einem weiteren Computer über ein Computernetzwerk geladen wird. Alternativ können die beschriebenen Merkmale durch eine festverdrahtete Schaltung anstelle von Software oder in Kombination mit Software implementiert sein.
  • Die vorliegende Erfindung kann auf unterschiedliche Weisen implementiert sein, welche das oben und im folgenden beschriebene Verfahren, eine Kommunikationsvorrichtung und ein weiteres Produktmittel enthalten, wobei jedes einen oder mehrere der Vorzüge und Vorteile, wie in Verbindung mit dem zuerst erwähnten Verfahren beschrieben, erzielt, und jedes eine oder mehrere bevorzugte Ausführungsformen entsprechend der bevorzugten Ausführungsformen hat, wie in Verbindung mit dem zuerst erwähnten Verfahren beschrieben und in den abhängigen Ansprüchen offenbart.
  • Die Erfindung bezieht sich ferner auf eine Kommunikationsvorrichtung zur Kommunikation von Datenmeldungen, wobei die Kommunikationsvorrichtung ein Verarbeitungsmittel enthält, welches dazu angepasst ist, einen Kennzeichen-Wert aus einer Meldung und aus einem Schlüssel gemäß einem Meldungs-Authentifizierungs-Kode zu bestimmen, wobei das Verarbeitungsmittel angepasst ist zum Auswählen von einem aus einer Mehrzahl von Symbolen, wobei die Mehrzahl von Symbolen ein Kodewort ausbildet, welches ein Datenelement enkodiert, welches aus der Meldung abgeleitet ist, wobei das Kodewort das Datenelement gemäß einem Fehlerkorrekturkode enkodiert, wobei der Schlüssel bestimmt, welches aus der Mehrzahl von Symbolen ausgewählt wird; und Bestimmen des Kennzeichen-Wertes als das ausgewählte Symbol.
  • Der Ausdruck Kommunikationsvorrichtung enthält jegliche Vorrichtung, welche eine geeignete Schaltung zum Empfangen und/oder Übertragen von Kommunikationssignalen, beispielsweise Funkkommunikationssignale, enthält, um eine Datenkommunikation zu ermöglichen. Beispiele solcher Vorrichtungen enthalten ein tragbares Funkkommunikations-Equipment und weitere Taschenformat- oder tragbare Vorrichtungen. Der Ausdruck tragbares Funkkommunikations-Equipment enthält jegliches Equipment, wie beispielsweise Mobiltelefone, Pager, Kommunikatoren, d.h. elektronische Organizer, Smart-Phones, Personal Digital Assistants (PDAs), Taschenformat-Computer, oder dergleichen.
  • Weitere Beispiele von Kommunikationsvorrichtungen enthalten ein stationäres Kommunikations-Equipment, beispielsweise stationäre Computer oder ein weiteres elektronisches Equipment, welches eine Drahtlos-Kommunikationsschnittstelle enthält. In einer Ausführungsform kann eine der Vorrichtungen eine Netzwerkvorrichtung sein, beispielsweise ein Zugriffspunkt eines Computernetzwerkes, welche einen Drahtloszugriff auf dieses Computernetzwerk, beispielsweise ein LAN, bereitstellt.
  • Der Ausdruck Verarbeitungsmittel enthält hier jegliche Schaltung und/oder Vorrichtung, welche geeigneterweise dazu angepasst ist, die obigen Funktionen durchzuführen. Insbesondere enthält der obige Ausdruck Allzweck- oder Spezialzweck-programmierbare Mikroprozessoren, digitale Signalprozessoren (DSP), applikationsspezifische integrierte Schaltungen (ASIC), programmierbare Logik-Arrays (PLA), feldprogrammierbare Gate-Arrays (FPGA), Spezialzweck-Elektronikschaltungen, usw., oder eine Kombination daraus.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Der Obige und weitere Aspekte der Erfindung werden anhand der im folgenden beschriebenen Ausführungsformen mit Bezug auf die Zeichnungen verdeutlicht und erklärt, in denen:
  • 1 ein Ablaufdiagramm eines Beispiels von einem Meldungs-Authentifizierungs-Szenarium zeigt, welches eine Benutzer-Interaktion enthält;
  • 2 ein Ablaufdiagramm eines weiteren Beispiels von einem Meldungs-Authentifizierungs-Szenarium zeigt, welches eine Benutzer-Interaktion enthält;
  • 3 ein Ablaufdiagramm eines Verfahrens zum Berechnen eines Meldungs-Authentifizierungs-Kodes basierend auf einem Fehlerkorrekturkode darstellt;
  • 4a–b Ablaufdiagramme von Beispielen eines Verfahrens zum Berechnen eines Meldungs-Authentifizierungs-Kodes basierend auf einem Reed-Solomon-Kode darstellen;
  • 5 eine Tabelle zeigt, welche die Wahrscheinlichkeiten einer erfolgreichen Substitutionsattacke bei einer Anzahl von Aufbaubeispielen des MAC-Aufbaus von 4a–b darstellt;
  • 6 ein Blockdiagramm von zwei Kommunikationsvorrichtungen zeigt;
  • 7 eine Ausführungsform eines sicheren Schlüsselaustausch-Mechanismus darstellt, bei welchem ein Beitrag zum erzeugten gemeinsam benutzten Geheimnis über eine Drahtlos-Kommunikationsverbindung kommuniziert wird, und durch die Meldungs-Authentifizierung, wie in Verbindung mit 3 und 4a–b beschrieben, authentifiziert wird.
  • GENAUE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • 1 zeigt ein Ablaufdiagramm eines Beispiels von einem Meldungs-Authentifizierungs-Szenarium, welches eine Benutzer-Interaktion enthält. Das Meldungs-Authentifizierungs-Szenarium enthält zwei Vorrichtungen, welche jeweils im allgemeinen mit A und B bezeichnet sind. Die Schritte auf der linken Seite des Ablaufdiagramms, welche im allgemeinen durch Bezugszeichen 101 bezeichnet sind, werden durch Vorrichtung A durchgeführt, während die Schritte auf der linken Seite des Ablaufdiagramms, welche im allgemeinen durch Bezugszeichen 102 gekennzeichnet sind, durch Vorrichtung B durchgeführt werden.
  • In dem Beispiel von 1 haben beide Vorrichtungen eine Meldung d gespeichert, wie jeweils durch Kästchen 103 und 109 dargestellt. Beispielsweise kann die Meldung d durch eine der Vorrichtungen erzeugt und an die weitere Vorrichtung gesendet worden sein; alternativ können beide Vorrichtungen die Meldung d von einer oder von mehreren weiteren Vorrichtungen empfangen haben, oder sie können die Meldung in Zusammenarbeit miteinander und/oder mit einer dritten Vorrichtung erzeugt haben.
  • Um zu verifizieren, dass beide Vorrichtungen die gleiche Meldung gespeichert haben, erzeugt Vorrichtung A in einem Anfangsschritt 104 einen Schlüssel k, beispielsweise eine geheime Folge einer geeigneten Länge und aus einem geeigneten Schlüsselraum ausgewählt. In Schritt 105 sendet Vorrichtung A den erzeugten Schlüssel an Vorrichtung 8, beispielsweise über eine Drahtlos-Kommunikationsverbindung oder eine weitere geeignete Datenverbindung zwischen den zwei Vorrichtungen. In Schritt 110 empfängt Vorrichtung B den Schlüssel. Im folgenden wird der durch Vorrichtung B empfangene Schlüssel als k' bezeichnet.
  • In Schritt 106 berechnet Vorrichtung A einen Kennzeichen-Wert t aus einer MAC-Funktion unter Verwendung der Meldung d, welche durch Vorrichtung A gespeichert ist, und des Schlüssels k, welcher durch Vorrichtung A erzeugt ist, als Eingaben. Ähnlich berechnet Vorrichtung B in Schritt 111 einen entsprechenden Kennzeichen-Wert t' aus der gleichen MAC-Funktion wie Vorrichtung A, unter Verwendung des empfangenen Schlüssels k und der Meldung d, welche durch Vorrichtung B gespeichert ist, als Eingaben.
  • In Schritt 107 zeigt Vorrichtung A den berechneten Kennzeichen-Wert t und den erzeugten Schlüssel k dem Benutzer von Vorrichtung A an. Ähnlich zeigt in Schritt 112 Vorrichtung B den Kennzeichen-Wert t', welcher durch Vorrichtung B berechnet ist, und den empfangenen Schlüssel k' dem Benutzer von Vorrichtung B an. Der Benutzer bzw. die Benutzer vergleichen die angezeigten Werte, um zu bestimmen, ob sie gleich sind, d.h. ob t = t' gilt. Wenn beispielsweise die Vorrichtungen in der Nähe voneinander sind, kann ein Benutzer direkt die angezeigten Werte vergleichen. Wenn sich die Vorrichtungen entfernt voneinander befinden, kann ein Benutzer von Vorrichtung A den Kennzeichen-Wert t und den Schlüssel k von Vorrichtung A auslesen, den Kennzeichen-Wert und den Schlüssel an einen Benutzer von Vorrichtung B, beispielsweise über das Telefon oder ein weiteres Kommunikationsmittel, kommunizieren, so dass der Benutzer von Vorrichtung B den Vergleich mit dem Kennzeichen-Wert t' und dem Schlüssel k', welche durch Vorrichtung B angezeigt sind, durchführen kann.
  • In den Schritten 108 und 114, gibt der Benutzer bzw. geben die Benutzer von Vorrichtungen A und B jeweils das Ergebnis des obigen Vergleichs ein, beispielsweise durch Drücken einer OK-Taste, wenn die Kennzeichen-Werte und Schlüssel gleich sind, und einer Lösch-Taste, wenn die Werte nicht gleich sind.
  • Es ist zu verstehen, dass verschiedene alternative Ausführungsformen von einer Benutzereingabe von dem Ergebnis der Authentifizierung implementiert werden können. Beispielsweise kann vom Benutzer lediglich erfordert werden, das Ergebnis in eine der Vorrichtungen einzugeben. In einer weiteren Ausführungsform können die Vorrichtungen annehmen, dass die Authentifizierung nicht erfolgreich war, wenn der Benutzer die OK-Taste nicht innerhalb einer vorbestimmten Zeitperiode drückt.
  • Wenn die Kennzeichen-Werte und Schlüssel gleich sind, ist die in den zwei Vorrichtungen gespeicherte Meldung d erfolgreich authentifiziert, und Vorrichtungen A und B können ihre jeweilige Verarbeitung der Meldung fortführen. Somit enthält das Authentifizierungs-Szenarium von 1 eine Benutzer-Interaktion, wie durch den gestrichelten Pfeil 114 angezeigt, da der Benutzer die angezeigten Werte vergleicht und das Ergebnis des Vergleichs den Vorrichtungen anzeigt.
  • 2 zeigt ein Ablaufdiagramm eines weiteren Beispiels von einem Meldungs-Authentifizierungs-Szenarium, welches eine Benutzer-Interaktion enthält. Wieder enthält das Meldungs- Authentifizierungs-Szenarium jeweils zwei Vorrichtungen A und B, und die Schritte auf der linken Seite vom Ablaufdiagramm, welche im allgemeinen durch Bezugszeichen 201 gekennzeichnet sind, werden durch Vorrichtung A durchgeführt, während die Schritte auf der rechten Seite des Ablaufdiagramms, welche im allgemeinen durch Bezugszeichen 202 gekennzeichnet sind, durch Vorrichtung B durchgeführt werden.
  • Wie im obigen Beispiel haben beide Vorrichtungen eine Meldung d gespeichert, wie jeweils durch Kästchen 103 und 109 dargestellt. Um zu verifizieren, dass beide Vorrichtungen die gleiche Meldung gespeichert haben, erzeugt Vorrichtung A in einem Anfangsschritt 104 einen Schlüssel k.
  • In Schritt 205 berechnet Vorrichtung A einen Kennzeichen-Wert t aus einer MAC-Funktion unter Verwendung der durch Vorrichtung A gespeicherten Meldung d und des durch Vorrichtung A erzeugten Schlüssels k als Eingaben.
  • In Schritt 206 zeigt Vorrichtung A den erzeugten Schlüssel k und den berechneten Kennzeichen-Wert t dem Benutzer von Vorrichtung A an. Beispielsweise können die Werte als zwei separate Werte oder zu einer einzelnen Folge verkettet angezeigt werden.
  • Der Benutzer von Vorrichtung A liest den angezeigten Wert bzw. die angezeigten Werte aus und gibt sie der Vorrichtung B ein (Schritt 208). Beispielsweise kann der Benutzer die Werte über eine Tastatur oder ein Tastenfeld von Vorrichtung B oder über jegliche weitere geeignete Eingabevorrichtung eingeben. Es ist zu verstehen, dass, wenn sich die Vorrichtungen beispielsweise entfernt voneinander befinden, der Benutzer von Vorrichtung A den Wert bzw. die Werte an einem Benutzer von Vorrichtung B beispielsweise über Telefon oder ein weiteres Kommunikationsmittel kommunizieren kann, so dass der Benutzer von Vorrichtung B die Werte in Vorrichtung B eingeben kann.
  • In einem nachfolgenden Schritt 209 berechnet Vorrichtung B den Kennzeichen-Wert t' aus der gleichen MAC-Funktion wie Vorrichtung A unter Verwendung des eingegebenen Schlüssels k und der durch Vorrichtung B gespeicherten Meldung d als Eingaben.
  • In Schritt 210 vergleicht Vorrichtung B den berechneten Kennzeichen-Wert t' mit dem durch den Benutzer von Vorrichtung B eingegebenen Kennzeichen-Wert t. Wenn die Kennzeichen-Werte gleich sind, wird die Meldung d erfolgreich authentifiziert (Schritt 211); andernfalls wird die Meldung d als verfälscht verworfen (Schritte 212). In einer Ausführungsform kann die Vorrichtung B dem Benutzer von der Vorrichtung eine entsprechende Meldung anzeigen, welche das Ergebnis der Authentifizierung anzeigt. Alternativ oder zusätzlich kann Vorrichtung B eine entsprechende Meldung an Vorrichtung A senden.
  • Wiederum enthält das Authentifizierungs-Szenarium von 2 eine Benutzer-Interaktion, wie durch den gestrichelten Pfeil 213 angezeigt.
  • Somit wurden oben zwei Beispiele von Authentifizierungs-Szenarien, welche eine Benutzer-Interaktion enthalten, beschrieben. In den obigen Szenarien wurde zumindest einer aus dem Schlüssel k, welcher der MAC-Funktion eingegeben wird, und dem Kennzeichen-Wert t, welcher durch die MAC-Funktion berechnet wird, ausgelesen und/oder durch einen Benutzer eingegeben. Vom Benutzer kann sogar erfordert werden, die Werte an einen weiteren Benutzer zu kommunizieren, beispielsweise über Telefon. Somit ist es bei den obigen und ähnlichen Szenarien wünschenswert, die Größe des Kennzeichen-Wertes und des Schlüssels kurz zu halten, ohne die durch das Authentifizierungs-Schema bereitgestellte Sicherheit zu reduzieren.
  • Es ist ferner so zu verstehen, dass die oben beschriebenen Szenarien lediglich als Beispiele dienen, und dass es zahlreiche weitere Authentifizierungs-Schemata gibt, welche eine Benutzer-Interaktion enthalten. Beispielsweise kann in einer Ausführungsform der Schlüssel k durch eine dritte Vorrichtung erzeugt und an die Vorrichtungen A und B kommuniziert werden, oder der Schlüssel kann durch den Benutzer, beispielsweise als eine PIN-Nummer, erzeugt und in beide Vorrichtungen eingegeben werden, oder der Schlüssel kann in den zwei Vorrichtungen hartkodiert sein oder dergleichen. Ferner kann der Schlüssel und möglicherweise der Kennzeichen-Wert durch Vorrichtung A, der aktuellen Authentifizierung lange voreilend, berechnet werden. Beispielsweise kann Vorrichtung A den Schlüssel und den Kennzeichen-Wert in Verbindung mit der Erzeugung von der Meldung d durch Vorrichtung A erzeugen. In einer weiteren Ausführungsform können die kommunizierten Parameter, d.h. der Schlüssel k in 1 oder der Schlüssel und das Kennzeichen in 2, von Vorrichtung A an eine dritte Vorrichtung kommuniziert werden, von welcher aus Vorrichtung B auf sie zugreifen kann. Wenn beispielsweise B eine Netzwerkvorrichtung eines Computernetzwerkes ist, können die obigen Parameter an einen weiteren Computer des Computernetzwerkes kommuniziert werden, wo sie gespeichert werden können und nachfolgend durch Vorrichtung B erlangt werden.
  • 3 stellt ein Ablaufdiagramm eines Verfahrens zum Berechnen eines Meldungs-Authentifizierungs-Kodes basierend auf einem Fehlerkorrekturkode dar. In dem Beispiel von 3 wird angenommen, dass ein Datenelement d aus einem Datenraum D unter Verwendung eines Meldungs-Authentifizierungs-Kodes (MAC) zu authentifizieren ist, beispielsweise wie in den Schritten 106 und 111 von 1 oder in Schritten 205 und 209 von 2. Aus Gründen dieses Beispiels wird das Datenelement d ebenfalls als Meldung bezeichnet.
  • Im allgemeinen ist ein MAC eine Abbildung f aus einem Datenraum D und einem Schlüsselraum K auf einen Kennzeichenraum C, d.h. f: D × K → C, wobei eine Meldung d∊D und ein Schlüssel k∊K auf ein Kennzeichen t∊C abgebildet werden, d.h. (d, k) → t.
  • Ein MAC wird zum Schutz der Integrität der Meldung verwendet, d.h. um sicherzustellen, dass die Daten nicht verändert wurden, und zwar beispielsweise während einer Übertragung von einem Sender an einen Empfänger der Meldung. Bei einer manuellen Authentifizierung werden kurze MAC-Werte verwendet, d.h. Kennzeichen, welche eine Länge von weniger als 10–15 Digits und/oder Zeichen und/oder weitere Symbole haben, wodurch es einem Benutzer erlaubt wird, die Kennzeichen-Werte zu kommunizieren und/oder zu vergleichen. Bei einem solchen manuellen Authentifizierungs-Schema basiert die Sicherheit auf einer uneingeschränkten Sicherheit von der MAC-Funktion anstelle einer berechenbaren Sicherheit. Wenn beispielsweise Hash-Funktionen mit langen Hash-Kodes als MAC-Funktionen verwendet werden, basiert die Sicherheit auf einer berechenbaren Sicherheit.
  • Die uneingeschränkte Sicherheit von einer MAC-Funktion kann bestimmt werden, indem unterschiedliche Arten möglicher Attacken in Betracht gezogen werden. Zwei Haupttypen von Attacken, welche typischerweise in Betracht gezogen werden, sind die Nachahmungsattacke (engl. impersonation attack) und die Substitutionsattacke. Um das Verständnis der folgenden Beschreibung zu erleichtern, werden diese Typen von Attacken hier kurz beschrieben. Für eine detailliertere Beschreibung wird beispielsweise Bezug genommen auf G. Kabatianskii, B. Smeets und T. Johansson, „On the cardinality of systematic A-codes via error correcting codes", IEEE Transaction on Information theory, vol. IT-42, pp. 566–578, 1996, welches hier unter Bezugnahme in seiner Vollständigkeit einbezogen ist.
  • Bei einer Nachahmungsattacke versucht der Attackierende einen Empfänger davon zu überzeugen, dass gewisse Daten von einem legitimierten Sender gesendet werden, ohne jeglichen vorherigen Datenaustausch zwischen dem legitimierten Sender und dem Empfänger zu beobachten. Bei einer Substitutionsattacke beobachtet der Attackierende andererseits zunächst gewisse Daten d und ersetzt dann die beobachteten Daten durch einige weitere Daten d' ≠ d. Die Wahrscheinlichkeiten für den Attackierenden, bei einer Nachahmungsattacke und einer Substitutionsattacke Erfolg zu haben, werden jeweils durch PI und PS gekennzeichnet, und sie können ausgedrückt werden als:
    Figure 00160001
  • Beispielsweise ist im Kontext des Schlüsselaustausch-Protokolls, wie im folgenden in Verbindung mit 7 beschrieben, die Wahrscheinlichkeit für einen Attackierenden, die beobachteten Daten d durch bestimmte weitere Daten d' zu ersetzen, ein relevantes Maß für die Sicherheit des Schlüsselaustausch-Verfahrens, d.h. die Wahrscheinlichkeit, einen während des Schlüsselaustauschs übertragenen öffentlichen Schlüssel durch einen weiteren öffentlichen Schlüssel zu ersetzen. Bei diesem Szenarium hat der Attackierende Erfolg, wenn d' durch den Empfänger als gültige Daten akzeptiert wird. Bei einem Kurzbereich-Drahtloskommunikations-Szenarium, wie beispielsweise Bluetooth, sind beide Vorrichtungen physikalisch nahe beieinander und können darauf beschränkt werden, lediglich Daten zu akzeptieren, wenn beide Vorrichtungen signalisiert haben, dass sie bereit sind. Somit kann, da in einem solchen Szenarium die Nachahmungsattacke einfach vermieden werden kann, die Wahrscheinlichkeit von einer Substitutionsattacke als das relevantere Maß an Sicherheit betrachtet werden. Ferner wird bei vielen manuellen Authentifizierungs-Szenariun, der durch die MAC-Funktion berechnete Kennzeichen-Wert über einen getrennten Kommunikationskanal kommuniziert, welcher von der Kommunikationsverbindung unterschiedlich ist, über welche die Daten gesendet werden. Dies steht im Gegensatz zu einem Standard MAC-Szenarium, bei welchem sowohl die Daten als auch der Kennzeichen-Wert zusammen übertragen werden und durch einen Attackierenden beobachtet werden können. Unter diesen Annahmen kann die Wahrscheinlichkeit von einer erfolgreichen Substitutionsattacke ausgedrückt werden als:
    Figure 00170001
  • Somit kann, unter der Annahme, dass der Schlüssel gleichförmig unter Zufallsverteilung aus dem Schlüsselraum K gewählt wird, die obige Wahrscheinlichkeit ausgedrückt werden als
    Figure 00170002
    wobei |.| die Kardinalität eines Satzes, d.h. |K|, die Kardinalität von K ist, und der Zähler in der obigen Gleichung die Kardinalität des Satzes von allen Schlüsseln im Schlüsselraum K ist, welches die gleiche MAC-Funktion, sowohl für d als auch d', erzielt. Somit folgt aus der obigen Gleichung, dass, um eine hohe Sicherheit bereitzustellen, die Kollisionswahrscheinlichkeit von der MAC-Funktion f niedrig sein sollte.
  • Die folgenden Beispiele von MAC-Aufbauten basieren auf Fehlerkorrekturkodes. Zum Zwecke dieser Beschreibung werden Fehlerkorrekturkodes über ein endliches Feld Fq in Betracht gezogen. Insbesondere wird ein q-ary-Kode über Fq mit Kodewörtern einer Länge n in Betracht gezogen und durch V gekennzeichnet. Im allgemeinen ist der Kode eine Abbildung aus Meldungen zu Kodewörtern, so dass jede Meldung einem eindeutigen Kodewort entspricht, und jedes Kodewort enthält eine Anzahl von Symbolen. Somit enthält der Kode V alle Vektoren v ∊ V = {v(d):d ∊ D}, wobei gilt: v(d) = (v1 (d), v2 (d) ..., vn (d)), d.h. dass die vi (d) Fq die Symbole des Kodeworts v(d) sind.
  • Die Hamming-Distanz dH(x, y) zwischen zwei q-ary n-Tupeln x und y ist die Anzahl von Komponenten der n-Tupeln, welche nicht dieselben sind, d.h. dH(x, y) = |{i∊{1, ..., n}:xi ≠ yi}|. Die minimale Distanz eines Kodes V ist gleich:
    Figure 00180001
    d.h. die minimale Distanz zwischen allen Kodewörtern des Kodes V.
  • Mit Bezug auf 3 wird eine Ausführungsform eines MAC-Aufbaus basierend auf Fehlerkorrekturkodes beschrieben, d.h. dass 3 ein Ablaufdiagramm von einer Ausführungsform von jeglichen der Unterprozessen 106, 111, 205, 209, 714, und zwar jeweils von 1, 2 und 7 ist.
  • In einem Anfangsschritt 301 werden die Eingangsdaten zum MAC-Aufbau bereitgestellt, d.h. die zu authentifizierende Meldung d und der Schlüssel k, welche als Eingaben zur MAC-Funktion zu verwenden sind. In einer Ausführungsform kann der Schlüssel eine Folge von Symbolen, Digits, Zeichen oder dergleichen sein. Vorzugsweise enthält der Schlüssel weniger als 10–15 Symbole, weiter bevorzugt weniger als 7 Symbole, beispielsweise 4–6 Hexadezimalzeichen.
  • In Schritt 302 wird ein Index i∊{1, ..., n} als eine Funktion g des Schlüssels k, d.h. i = g(k), ausgewählt. Insbesondere, wenn der Schlüsselraum K gleich n Elemente hat, d.h. |K| = n, kann jedes k eindeutig auf einem der Symbolindices abgebildet werden, und jeder Index entspricht einem Schlüssel. In einer Ausführungsform wird der Schlüssel direkt als ein Index verwendet, d.h. i = k.
  • In Schritt 303 wird der Kennzeichen-Wert t als das i-te Symbol des Kodewort v(d) des Kodes V bestimmt, welcher der Meldung d entspricht, d.h. t = f(d, k) = vi (d) = vg(k) (d).
  • Somit ist bestimmt, dass der Kennzeichen-Wert ein ausgewähltes Symbol des Kodewortes von einem Fehlerkorrekturkode ist, wobei das Kodewort gleich dem Kodewort entsprechend der Meldung ist, und das Symbol durch den Schlüssel spezifiziert ist. Daraus folgend wird im obigen Beispiel ein MAC mit einer Schlüsselraum-Größe, die gleich n ist, und mit einer Meldungsraum-Größe, die gleich der Kodierungsraum-Größe ist, erlangt. Ferner wird die obige Wahrscheinlichkeit Ps für eine Substitutionsattacke gegeben durch Ps = 1 – dH(V)/n.
  • 4a–b stellen Ablaufdiagramme von Beispielen eines Verfahrens zum Berechnen eines Meldungs-Authentifizierungs-Kodes basierend auf einem Reed-Solomon-Kode dar.
  • Der Ausdruck Reed-Solomon (RS)-Kodes bezieht sich auf einen Typ von Fehlerkorrekturkodes, bei welchen die Kodewörter über eine Polynomdivision mit einem Generator-Polynom bestimmt werden, siehe hierzu I.S. Reed und G. Solomon, „Polynomial Codes over Certain Finite Fields", Journal of Soc. Ind. Appl. Math., vol. 8, pp. 300–304, 1960, welches in seiner Gesamtheit hier unter Bezugnahme einbezogen ist. Der Ausdruck Reed-Solomon-Kode bedeutet ferner, dass Varianten des Reed-Solomon-Kodes, beispielsweise sogenannte generalisierte Reed-Solomon-Kodes, enthalten sind.
  • Im Aufbau von 4a werden in einem Anfangsschritt 401 die Eingangsdaten dem MAC-Aufbau bereitstellt, d.h. die zu authentifizierende Meldung d und der als Eingabe zur MAC- Funktion zu verwendende Schlüssel k, wie oben in Verbindung mit 3 beschrieben.
  • In Schritt 402 wird die Meldung als ein q-ary τ-Tupel über Fq ausgedrückt, d.h. d = d0, d1, ..., dτ-1, wobei gilt di ∊ Fq. Somit wird das Reed-Solomon (RS) Enkodierungs-Polynom, welches der Meldung entspricht, bestimmt als P(d)(x) = d0 + d1x + d2x2 + ... + dτ-1xτ-1.
  • In Schritt 403 wird der Kennzeichen-Wert des MAC berechnet, indem das Polynom an einem Punkt ausgewertet wird, welcher durch den Wert k spezifiziert ist, d.h. t = f(d, k) = vk (d) = p(d)(k) = d0 + d1k + d2k2 + ... + dτ-1kτ-1.
  • Somit spezifiziert der Schlüssel k ein Symbol des Reed-Solomon-Kodes, welcher als ein Kennzeichen-Wert verwendet wird. Es ist zu verstehen, dass, wie oben beschrieben, das Symbol durch jegliche geeignete Funktion des Schlüssels spezifiziert werden kann.
  • Es ist ferner zu erwähnen, dass bei diesem Aufbau der Schlüssel aus dem endlichen Feld Fg ausgewählt ist, d.h. k∊Fq. Daraus folgend hat dieser Aufbau die folgenden Eigenschaften: n = q = |K| und |D| = qτ = nτ. Die minimale Distanz des obigen Kodes ist dH(V) = n – τ + 1, und somit ist die Wahrscheinlichkeit einer erfolgreichen Substitutionsattacke gleich Ps = (τ – 1)/n. Es ist ein Vorteil von Reed-Solomon-Kodes, dass sie lange Kodes mit einer hohen minimalen Distanz sind, wodurch sie eine hohe Sicherheit bereitstellen.
  • Das Obige impliziert ferner, dass die Wahrscheinlichkeit Ps mit der Größe des Meldungsraumes D zunimmt.
  • 4b zeigt ein Ablaufdiagramm von einer weiteren Ausführungsform eines MAC-Aufbaus, basierend auf einem Reed-Solomon-Kode.
  • Wiederum werden gemäß dieses Aufbaus in einem Anfangsschritt 404 die Eingangsdaten zum MAC-Aufbau bereitgestellt, d.h. die zu authentifizierende Meldung d und der als Eingabe an die MAC-Funktion zu verwendende Schlüssel k.
  • In Schritt 405 wird eine Einwege Hash-Funktion h auf die Meldung angelegt. Zum Zwecke dieser Beschreibung bezieht sich der Ausdruck Einwege Hash-Funktion auf einen Algorithmus, welcher ein Datenelement, beispielsweise eine Folge, als Eingabe nimmt, und einen Binärwert mit festgelegter Länge (Hash) als Ausgabe erzeugt. Insbesondere ist dieser Prozess irreversibel, d.h., dass das Herausfinden von einem Datenelement, welches einen vorgegebenen Hash-Wert produziert hat, rechnerisch unmöglich sein sollte. Ähnlich sollte es ferner rechnerisch unmöglich sein, zwei beliebige Datenelemente zu finden, welche den gleichen Hash-Wert erzeugen. Ein Beispiel von einer geeigneten Hash-Funktion ist der Standard-Sicherheits-Hash-Algorithmus SHA-1. Der SHA-1-Algorithmus nimmt eine Meldung von weniger als 264 Bits in der Länge auf und erzeugt ein 160-Bit Meldungs-Digest. Weitere Beispiele von Einwege Hash-Funktionen enthalten MD4, MD5, und dergleichen. Die Ausgabe von der Hash-Funktion δ = h(d) wird dann als eine Eingabe an den Reed-Solomon-Kode verwendet. In einer Ausführungsform wird die Ausgabe der Hash-Funktion gekürzt, um ferner die wirksame Meldungs-Größe zu reduzieren.
  • Somit wird in Schritt 406 der Hash-Wert δ als ein q-ary τ-Tupel über Fq ausgedrückt, d.h. δ = δ0, δ1, ..., δτ-1, wobei δi ∊ Fq gilt.
  • In Schritt 407 wird der Kennzeichen-Wert t des MAC berechnet, indem das entsprechende Reed-Solomon Enkodierungs-Polynom an einem Punkt bewertet wird, welcher durch den Schlüssel k spezifiziert ist, d.h. t = f(δ, k) = vk (δ) = p(δ)(k) = δ0 + δ1k + δ2k2 + ... + δτ-1kτ-1
  • Somit wird zunächst durch ein Anlegen von einer Einwege Hash-Funktion, wie beispielsweise SHA-1, an die Meldung, die Größe des Meldungsraums reduziert, wodurch die Wahrscheinlichkeit Ps von einer erfolgreichen Substitutionsattacke reduziert wird, ohne dass die Schlüssellänge oder die Länge von der Ausgabe des MAC, d.h. die Länge des Kennzeichens, beträchtlich erhöht wird. Daraus folgend wird eine sichere Authentifizierung sogar für kurze Schlüssel und für kurze Meldungskennzeichen bereitgestellt, wodurch die Kommunikation des Schlüssels und der Meldungskennzeichen über eine Mensch-Interaktion erlaubt wird.
  • 5 zeigt eine Tabelle, welche die Wahrscheinlichkeiten von einer erfolgreichen Substitutionsattacke für eine Anzahl von Aufbaubeispielen des MAC-Aufbaus von 4a–b darstellt. Die erste Spalte, welche mit log2|D| gekennzeichnet ist, enthält die Größe der Meldung als Anzahl von Bits, die zweite Spalte, welche mit log2(n) gekennzeichnet ist, zeigt die Schlüssel-Größe hinsichtlich der Anzahl von Bits, während die letzte Spalte die entsprechende Wahrscheinlichkeit von einer erfolgreichen Substitutionsattacke zeigt. Beispielsweise erzielt ein Kode, welcher eine Kodelänge von vier Hexadezimal-Digits und eine Schlüssel-Größe von vier Digits hat (n = q = 164, d.h. log2(n) = 16), eine Fälschungswahrscheinlichkeit von ungefähr 2-13 bis 2-16 für Meldungen, welche 128 Bits lang sind. Somit erzielt eine SHA-1-Ausgabe, welche auf 128 Bits gekürzt ist und eine Schlüssel-Größe und eine Kode-Größe von 4 Hexadezimal-Bits hat, eine ausreichend hohe Sicherheit. Wenn die Schlüssel-Größe auf 5 Digits (log2(n) = 20) erhöht wird, verringert sich die Wahrscheinlichkeit weiter auf ungefähr 2-17 oder weniger.
  • 6 zeigt ein Blockdiagramm eines Kommunikationssystems, welches zwei Kommunikationsvorrichtungen enthält, welche im allgemeinen mit A und B gekennzeichnet sind. Die Kommunikationsvorrichtung A und die Kommunikationsvorrichtung B kommunizieren miteinander über eine Kommunikationsverbindung 605.
  • Die Kommunikationsvorrichtung A enthält eine Verarbeitungseinheit 602, eine Funkkommunikationseinheit 603, welche mit der Verarbeitungseinheit verbunden ist, ein Speichermedium 604, welches mit der Verarbeitungseinheit verbunden ist, und eine Benutzerschnittstelle 606, welche mit der Verarbeitungseinheit verbunden ist.
  • Die Funkkommunikationseinheit 603 überträgt die Daten, welche von der Verarbeitungseinheit 602 empfangen werden, über die Funkverbindung 605 an die Kommunikationsvorrichtung 607, und sie empfängt Daten von der Funkverbindung und leitet sie an die Verarbeitungseinheit weiter. Beispielsweise kann die Funkkommunikationseinheit 603 auf der Bluetooth-Technologie basieren und bei 2,45 GHz im ISM-Band übertragen und empfangen.
  • Die Verarbeitungseinheit 602, beispielsweise ein geeignet programmierter Mikroprozessor, verarbeitet die Daten, welche von weiteren Vorrichtungen empfangen werden, und die Daten, welche an weitere Vorrichtungen zu senden sind, gemäß der Funktionalität, welche durch die Kommunikationsvorrichtung A implementiert ist. Insbesondere ist die Verarbeitungseinheit 602 dazu geeignet programmiert, um die oben beschriebenen Sicherheitsfunktionen durchzuführen, insbesondere die Erzeugung eines Schlüssels und eines entsprechenden Kennzeichen-Wertes von einer MAC-Funktion, wie oben beschrieben.
  • Das Speichermedium 604, beispielsweise ein EPROM, EEPROM, Flash-Memory oder dergleichen, ist dazu angepasst, den Schlüssel k als auch die notwendigen Parameter für die oben beschriebene Meldungs-Authentifizierung zu speichern.
  • Die Benutzerschnittstelle 606 enthält eine Anzeige zum Anzeigen des erzeugten Schlüssels K und des entsprechenden Kennzeichen-Wertes t, so dass ein Benutzer die erzeugten Werte auslesen und sie an die Kommunikationsvorrichtung B übertragen kann. Zusätzlich kann die Benutzerschnittstelle 606 ein Dateneingabemittel, beispielsweise eine Tastatur, ein Tastenfeld, eine Zeigevorrichtung, ein Touchscreen, oder dergleichen, enthalten.
  • Die Kommunikationsvorrichtung B enthält eine Verarbeitungseinheit 609, eine mit der Verarbeitungseinheit verbundene Funkkommunikationseinheit 608, ein mit der Verarbeitungseinheit verbundenes Speichermedium 610 und eine mit der Verarbeitungseinheit verbundene Benutzerschnittstelle 611.
  • Die Funkkommunikationseinheit 609 entspricht der Funkkommunikationseinheit 603 der Kommunikationsvorrichtung A, wodurch eine Funkkommunikation zwischen den Funkkommunikationsvorrichtungen A und B erlaubt wird.
  • Die Verarbeitungseinheit 609 verarbeitet die Daten, welche von weiteren Vorrichtungen empfangen werden, und die Daten, welche an weitere Vorrichtungen zu senden sind, und zwar gemäß der Funktionalität, welche durch die Kommunikationsvorrichtung implementiert ist. Insbesondere ist die Verarbeitungseinheit dazu geeignet programmiert, um die oben beschriebenen Sicherheitsfunktionen durchzuführen, insbesondere das oben beschriebene Authentifizierungs-Verfahren, und entsprechend dem Authentifizierungs-Mechanismus, welcher durch Vorrichtung A implementiert ist.
  • Genauso ist das Speichermedium 604, beispielsweise ein EPROM, EEPROM, Flash-Speicher, oder dergleichen, dazu angepasst, den Schlüssel k und den Kennzeichen-Wert t zu speichern.
  • Die Benutzerschnittstelle 611 enthält eine Eingabevorrichtung, beispielsweise ein Tastenfeld, eine Tastatur, ein Touchscreen, oder dergleichen, welche es einem Benutzer erlaubt, den Schlüssel k und den entsprechenden Kennzeichen-Wert t, welcher durch Kommunikationsvorrichtung A erzeugt wird, einzugeben. Zusätzlich kann die Benutzerschnittstelle eine Anzeige, eine Zeigevorrichtung und/oder dergleichen enthalten.
  • Somit enthält das Kommunikationssystem von 6 zwei Kommunikationsvorrichtungen, beispielsweise zwei tragbare Kommunikationsvorrichtungen, wie beispielsweise Mobiltelefone, ein Mobiltelefon und einen tragbaren Computer, zwei tragbare Computer, oder jegliche Kombination von ähnlichem elektronischen Equipment, welche dazu angepasst sind, eine Meldungs-Authentifizierung gemäß dem oben beschriebenen Verfahren durchzuführen.
  • In einer Ausführungsform können die Verarbeitungseinheiten und/oder Speichermedien entnehmbar in die entsprechende Kommunikationsvorrichtung eingesetzt werden, wodurch die Sicherheits-Vereinigung, welche unabhängig von der tatsächlichen Vorrichtung aufzubauen ist, ermöglicht wird. Beispielsweise können das Speichermedium und/oder die Verarbeitungseinheit durch eine Smart-Card, beispielsweise eine SIM-Card, aufgebaut sein.
  • Es ist ferner zu erwähnen, dass die Kommunikationsvorrichtungen ferner Bauteile enthalten können, welche im schematischen Blockdiagramm von 6 ausgelassen wurden. Beispielsweise können die Vorrichtungen, in Abhängigkeit von der tatsächlichen Implementierung des Authentifizierungs-Schemas, ferner ein Eingabe- und/oder Ausgabemittel zur Eingabe und/oder Ausgabe der Parameter des Authentifizierungs-Verfahrens enthalten. Beispielsweise kann eine der Vorrichtungen eine weitere Kommunikationsschnittstelle, beispielsweise eine Netzwerkkarte, enthalten, um den Schlüssel und/oder Kennzeichen-Wert von einem Netzwerk-Server oder dergleichen zu erlangen.
  • 7 stellt eine Ausführungsform eines sicheren Schlüsselaustausch-Mechanismus dar, bei welchem ein Beitrag zum erzeugten, gemeinsam benutzten Geheimnis über eine Drahtlos-Kommunikationsverbindung kommuniziert und durch die oben beschriebene Meldungs-Authentifizierung authentifiziert wird. Somit ist die Meldung bei dieser Ausführungsform ein Beitrag zu einem gemeinsam benutzten Geheimnis. Wenn zwei Vorrichtungen, welche jeweils im allgemeinen mit A und B gekennzeichnet sind, dazu gedacht sind, einen sicheren Schlüsselaustausch durchzuführen, um einen gemeinsam benutzten geheimen Schlüssel aufzubauen, führen sie die folgenden Schritte aus, bei welchen die Schritte auf der linken Seite des Ablaufdiagramms, welche im allgemeinen durch Bezugszeichen 701 gekennzeichnet sind, durch Vorrichtung A durchgeführt werden, während die Schritte auf der rechten Seite des Ablaufdiagramms, welche im allgemeinen durch Bezugszeichen 702 gekennzeichnet sind, durch Vorrichtung B durchgeführt werden.
  • Der folgende Schlüsselaustausch basiert auf dem sogenannten „Diffie-Hellman"-Verfahren zur Schlüsselübereinstimmung. Um ein Verständnis der folgenden Beschreibung zu erleichtern, wird die Diffie-Hellman Schlüsselübereinstimmung kurz beschrieben. Für eine detaillierte Beschreibung wird Bezug auf US 4,200,770 genommen, welche hier in ihrer Gesamtheit unter Bezugnahme einbezogen ist.
  • Wenn zwei Vorrichtungen A und B es wünschen, einen gemeinsam benutzten geheimen Schlüssel aufzubauen, stimmen sie über eine Primzahl p > 2 und eine Basis g, welche ein Grundelement mod p ist, überein. Die Parameter p und g können in beiden Vorrichtungen hartkodiert sein, sie können durch eine der Vorrichtungen erzeugt und an die weitere Vorrichtung kommuniziert sein, sie können von einer dritten Partei erlangt sein, oder dergleichen. Beispielsweise, um p und g zu erzeugen, kann ein Wert von p ausgewählt werden, beispielsweise als eine hohe Zufallszahl, welche beispielsweise 1000 Bits oder mehr enthält, und ein bekannter Primzahltest kann durchgeführt werden, um zu testen, ob p eine Primzahl ist. Wenn dies nicht der Fall ist, kann ein neues p ausgewählt und getestet werden, bis eine Primzahl gefunden wird. Darauf folgend wird eine Zufallszahl g ausgewählt, und es wird getestet, ob g ein Generator ist; wenn dies nicht der Fall ist, wird ein neues g ausgewählt und getestet, bis ein Generator gefunden wird.
  • Jede Vorrichtung erzeugt eine Geheimzahl, welche kleiner als p – 1 ist. Im folgenden wird die Geheimzahl, welche durch Vorrichtung A erzeugt ist, x genannt, und die durch Vorrichtung B erzeugte Geheimzahl wird y genannt. Jede Vorrichtung erzeugt dann einen öffentlichen Schlüssel, basierend auf dem geheimen Wert und den obigen Parametern: Vorrichtung A erzeugt X = gx mod p, wobei mod die Modulus-Funktion kennzeichnet, d.h. den Rest aus einer Ganzzahldivision. Genauso erzeugt Vorrichtung B: Y = gy mod p.
  • Die Vorrichtungen tauschen ihre öffentlichen Schlüssel aus, und jede Vorrichtung berechnet einen gemeinsamen geheimen Wert S gemäß: Vorrichtung A: S = (Y)x mod p, Vorrichtung B: S = (X)y mod p.
  • Somit haben die Vorrichtungen A und B als Ergebnis einen gemeinsamen geheimen Schlüssel S aufgebaut, ohne dass sie die geheimen Werte x und y kommuniziert haben, da gilt: (gy mod p)x mod p = (gx mod p)y mod p.
  • Nun, unter Bezugnahme auf 7, erzeugt Vorrichtung A in einem Anfangsschritt 703 des Schlüsselaustausches eine Zufallszahl x, einen entsprechenden Diffie-Hellman öffentlichen Schlüssel X und eine kurze geheime Folge K. Der Diffie-Hellman öffentliche Schlüssel X wird, wie oben beschrieben, basierend auf entsprechenden Parametern g und p berechnet, welche zuvor durch die Vorrichtungen A und B in Übereinstimmung genommen wurden. Vorzugsweise wird die geheime Folge K zufällig aus einem geeigneten Schlüsselraum bestimmt, beispielsweise als eine Folge aus 4–6 Hexadezimal-Digits.
  • In einem nachfolgenden Schritt 704 verwendet die Vorrichtung A einen Meldungs-Authentifizierungs-Kode (MAC), wie oben beschrieben, um einen Kennzeichen-Wert t aus dem öffentlichen Schlüssel X unter Verwendung der geheimen Folge K als einen Schlüssel zu berechnen. Es ist zu verstehen, dass in einigen Ausführungsformen, bei welchen zusätzliche Daten während des Schlüsselaufbaus kommuniziert werden, der Kennzeichen-Wert aus einer Meldung berechnet werden kann, welche den öffentlichen Schlüssel X und die zusätzlichen Daten enthält, wodurch zusätzlich ein Integritätsschutz für die zusätzlichen Daten bereitgestellt wird.
  • In Schritt 705 werden die erzeugte geheime Folge K und der berechnete Kennzeichen-Wert t über einen geeigneten Kommunikationskanal an Vorrichtung B kommuniziert, wie durch den gestrichelten Pfeil 706 in 7 angezeigt.
  • Beispielsweise können die Werte von K und t von Vorrichtung A an Vorrichtung B durch eine Benutzerschnittstelle übertragen werden, beispielsweise durch ein Auslesen der Werte von einer Anzeige von Vorrichtung A und durch eine Tasteneingabe der Werte in Vorrichtung B. Bei einer weiteren Ausführungsform können die Werte durch gewisse weitere Mittel übertragen werden, beispielsweise über ein Telekommunikationsnetzwerk, indem die Werte als eine verschlüsselte Meldung gesendet werden, beispielsweise eine E-Mail, eine SMS, oder dergleichen, oder über jeglichen weiteren geeigneten Kommunikationskanal, und zwar vorzugsweise ein Kommunikationskanal, welcher sich vom Kommunikationskanal unterscheidet, für welchen die sicheren Kommunikationen aufzubauen sind. Es ist ein Vorteil, dass die Vorrichtungen A und B keine miteinander aufgebaute Kommunikationsverbindung zu haben brauchen, sie müssen nicht einmal in der Nähe zueinander sein. Beispielsweise kann der Benutzer von Vorrichtung A die geheime Folge und den Kennzeichen-Wert an den Benutzer von Vorrichtung B über Telefon, E-Mail oder jegliches weitere geeignete Mittel kommunizieren. Ferner kann die Kommunikation der erzeugten Werte von K und t zuvor von dem Zeitpunkt durchgeführt werden, an welchem der gemeinsam benutzte geheime Schlüssel tatsächlich zwischen den Vorrichtungen aufzubauen ist, und zwar beispielsweise als Teil von einer Registrierungsprozedur. In einer Ausführungsform wird eine Kennungs-ID zusammen mit K und t kommuniziert, um eine nachfolgende Erlangung von K und t zu erleichtern.
  • In Schritt 707 empfängt Vorrichtung B die Werte von K und t und speichert sie in Schritt 710 in einem Speichermedium 711 von Vorrichtung B, beispielsweise ein EPROM oder EEPROM von einer tragbaren Vorrichtung, auf einer Smart-Card, auf einer Festplatte oder jeglichen weiteren geeigneten Datenspeichervorrichtung. Wenn die Werte K und t sich auf eine Kennungs-ID beziehen, werden die Werte K und t in Relation zu dieser Kennung gespeichert, beispielsweise unter Verwendung der Kennung als ein Index.
  • Ähnlich speichert Vorrichtung A in Schritt 708 die geheime Folge K, optional in Relation zur Kennungs-ID, in einem Speichermedium 709 von Vorrichtung A. Ferner speichert Vorrichtung A den geheimen Wert x, auf welchen die Berechnung des öffentlichen Schlüssels X basierte.
  • Dies beendet den Anfangsregistrierungsprozess. Die folgenden Schritte, welche den tatsächlichen Schlüsselaustausch enthalten, werden durchgeführt, wenn die Vorrichtungen A und B tatsächlich über eine Kommunikationsverbindung verbunden sind. Dies kann unmittelbar nach der obigen Anfangsregistrierung oder zu einem späteren Zeitpunkt sein, wie durch die Linien 727 in 7 angezeigt.
  • In Schritt 712 leitet Vorrichtung A den tatsächlichen Schlüsselaustausch ein, indem der öffentliche Schlüssel X an Vorrichtung B über eine Drahtlos-Kommunikationsverbindung übertragen wird. Bei einer Ausführungsform, bei welcher sich die geheime Folge K auf eine Kennungs-ID bezog, überträgt Vorrichtung A ebenfalls diese Kennung. Genauso werden, wenn in Schritt 704 der Kennzeichen-Wert t für den öffentlichen Schlüssel und gewisse Zusatzdaten berechnet wurde, diese Zusatzdaten ebenfalls von Vorrichtung A an Vorrichtung B gesendet.
  • Wenn Vorrichtung B den öffentlichen Schlüssel X von Vorrichtung A empfängt (Schritt 713), erlangt Vorrichtung B in Schritt 714 die geheime Folge K vom Speichermedium 711, und zwar in einer Ausführungsform basierend auf der Kennungs-ID. Vorrichtung B berechnet den MAC-Kennzeichen-Wert t' des empfangenen öffentlichen Schlüssels X und basierend auf der geheimen Folge K.
  • In Schritt 715 vergleicht Vorrichtung B den berechneten Kennzeichen-Wert t' mit dem zuvor gespeicherten Kennzeichen-Wert t. Wenn die Kennzeichen-Werte unterschiedlich sind, wird der empfangene öffentliche Schlüssel abgelehnt (Schritt 716). Beispielsweise kann Vorrichtung B den Schlüsselaustausch abbrechen, indem eine entsprechende Meldung an Vorrichtung A gesendet wird und/oder indem der Benutzer über die Ablehnung informiert wird, beispielsweise durch Bereitstellung von einer visuellen oder akustischen Anzeige. Andererseits, wenn die Kennzeichen-Werte gleich sind, wird der öffentliche Schlüssel X akzeptiert, und der Prozess fährt bei Schritt 717 fort.
  • In Schritt 717 erzeugt Vorrichtung B einen geheimen Wert y und einen entsprechenden Diffie-Hellmann öffentlichen Schlüssel Y, wie oben beschrieben.
  • In Schritt 718 erzeugt Vorrichtung B den entsprechenden Diffie-Hellman gemeinsam benutzten geheimen Schlüssel S = (X)y mod p.
  • In Schritt 719 verschlüsselt Vorrichtung B die geheime Folge K, welche aus dem Speichermedium 711 erlangt wird, unter Verwendung des erzeugten gemeinsam benutzten geheimen Schlüssels S, welches zu einer verschlüsselten geheimen Folge K* führt. Die Verschlüsselung kann auf jeglichem geeigneten Verschlüsselungsverfahren basieren, welches auf einem symmetrischen geheimen Schlüssel basiert.
  • In Schritt 720 sendet Vorrichtung B die verschlüsselte Folge K* und den Diffie-Hellman öffentlichen Schlüssel Y an Vorrichtung A. Abermals sendet Vorrichtung B in einer Ausführungsform ferner die entsprechende Kennungs-ID.
  • In Schritt 721 empfängt Vorrichtung A die verschlüsselte Folge K* und den Diffie-Hellman öffentlichen Schlüssel Y.
  • In Schritt 722 erzeugt Vorrichtung A den Diffie-Hellman gemeinsam benutzten geheimen Schlüssel S = (Y)x mod p unter Verwendung des im Speichermedium 709 gespeicherten geheimen Wertes x.
  • In Schritt 723 verwendet Vorrichtung A den erzeugten gemeinsam benutzten geheimen Schlüssel S zum Entschlüsseln der empfangenen verschlüsselten geheimen Folge K*, um die entschlüsselte geheime Folge K' zu erlangen.
  • In Schritt 724 vergleicht Vorrichtung A die empfangene und entschlüsselte geheime Folge K' mit der geheimen Folge K, welche ursprünglich durch Vorrichtung A erzeugt und im Speichermedium 709 gespeichert ist. Wenn die geheimen Folgen nicht gleich sind, wird der empfangene öffentliche Schlüssel Y abgelehnt, d.h., dass der erzeugte gemeinsam benutzte geheime Schlüssel S verworfen wird (Schritt 725). Andererseits fährt der Prozess bei Schritt 726 fort.
  • In Schritt 726 wird der empfangene öffentliche Schlüssel Y akzeptiert, d.h., dass der berechnete gemeinsam benutzte geheime Schlüssel S als ein gemeinsam benutztes Geheimnis akzeptiert wird. In einer Ausführungsform wird eine entsprechende Meldung an eine Vorrichtung gesendet, wodurch der Schlüsselaustausch abgeschlossen wird. Der erzeugte, gemeinsam benutzte geheime Schlüssel kann nun dazu verwendet werden, um die nachfolgende Kommunikation zwischen den Vorrichtungen A und B zu schützen, beispielsweise durch eine Verschlüsselung und/oder einen Integritätsschutz der zwischen den Vorrichtungen gesendeten Meldungen.
  • Es ist zu verstehen, dass in einer alternativen Ausführungsform der öffentliche Schlüssel Y, welcher von Vorrichtung B an Vorrichtung A kommuniziert wird, durch ein unterschiedliches Verfahren authentifiziert werden kann, beispielsweise durch Berechnen eines MAC gemäß dem oben beschriebenen Verfahren.
  • Es ist zu verstehen, dass das hier beschriebene Authentifizierungs-Verfahren ebenfalls zum Authentifizieren eines zuvor aufgebauten, gemeinsam benutzten Geheimnisses verwendet werden kann, beispielsweise ein gemeinsam benutztes Geheimnis, welches durch ein anonymes Diffie-Hellman Schlüsselübereinkommen erzeugt wird. Somit ist die Meldung bei dieser Ausführungsform ein gemeinsam benutztes Geheimnis, welches in Zusammenarbeit durch zwei Vorrichtungen erzeugt wird.
  • Es ist zu betonen, dass der Ausdruck „enthält/enthaltend", wenn in dieser Beschreibung verwendet, dazu heran genommen wird, um das Vorliegen von festgelegten Merkmalen, Ganzzahlen, Schritten oder Bauteilen zu spezifizieren, jedoch nicht das Vorliegen oder Hinzufügen von einem oder mehreren weiteren Merkmalen, Ganzzahlen, Schritten, Bauteilen oder Gruppen daraus ausschließt.
  • Obwohl bevorzugte Ausführungsformen der vorliegenden Erfindung beschrieben und gezeigt wurden, ist die Erfindung nicht auf sie beschränkt, sondern kann ebenfalls auf weiteren Wegen innerhalb des Umfangs des Gegenstandes ausgeführt werden, wie in den folgenden Ansprüchen bestimmt.
  • Die bloße Tatsache, dass bestimmte Maße in gegenseitig unterschiedlich abhängigen Ansprüchen vorgetragen sind, zeigt nicht an, dass eine Kombination dieser Maße nicht vorteilhaft verwendet werden kann.

Claims (12)

  1. Verfahren zum Verarbeiten von einer Meldung (d, X), um einen Kennzeichen-Wert (t) aus der Meldung und aus einem Schlüssel (k, K) gemäß einem Meldungs-Authentifizierungs-Kode (MAC) zu bestimmen, dadurch gekennzeichnet, dass das Verfahren enthält: Auswählen (302) von einem aus einer Mehrzahl von Symbolen (vi(d)), wobei die Mehrzahl von Symbolen ein Kodewort ausbildet, welches ein Datenelement (d, δ) enkodiert, welches aus der Meldung abgeleitet ist, wobei das Kodewort das Datenelement gemäß einem Fehlerkorrekturkode enkodiert, wobei der Schlüssel bestimmt, welches aus der Mehrzahl von Symbolen ausgewählt wird; und Bestimmen (303) des Kennzeichen-Wertes als das ausgewählte Symbol.
  2. Verfahren nach Anspruch 1, bei welchem das aus der Meldung abgeleitete Datenelement aus der Meldung zusammengesetzt ist.
  3. Verfahren nach Anspruch 1, welches ferner ein Bestimmen (405) des Datenelements als ein Hash-Wert (δ) von einer Einwege Hash-Funktion (h(d)) enthält, welche aus der Meldung berechnet ist.
  4. Verfahren nach Anspruch 1, bei welchem der Schlüssel kurz genug ist um über eine Benutzer-Interaktion kommuniziert zu werden.
  5. Verfahren nach Anspruch 1, bei welchem der Fehlerkorrekturkode ein Reed-Solomon-Kode ist, und bei welchem der Kennzeichen-Wert durch ein Auswerten (403) eines Reed-Solomon Enkodierungs-Polynom an einem durch den Schlüssel bestimmten Punkt bestimmt wird.
  6. Verfahren nach Anspruch 1, bei welchem der Kennzeichen-Wert ein Element in einem endlichen Feld ist.
  7. Verfahren nach Anspruch 1, welches ferner enthält: Kommunizieren (712) von zumindest einem Beitrag zur Meldung von einem Sender (701) zu einem Empfänger (702) über einen ersten Kommunikationskanal; und Kommunizieren (705) des Kennzeichen-Wertes und/oder des Schlüssels (K) vom Sender zum Empfänger über einen zweiten Kommunikationskanal (706), welcher sich vom ersten Kommunikationskanal unterscheidet.
  8. Verfahren nach Anspruch 7, bei welchem der zweite Kommunikationskanal eine Benutzer-Interaktion enthält.
  9. Kommunikationsvorrichtung (A, B) zur Kommunikation von Datenmeldungen, wobei die Kommunikationsvorrichtung ein Verarbeitungsmittel (606, 609) enthält, welches dazu angepasst ist, einen Kennzeichen-Wert (t) aus einer Meldung (d, X) und aus einem Schlüssel (k, K) gemäß einem Meldungs-Authentifizierungs-Kode (MAC) zu bestimmen, dadurch gekennzeichnet, dass das Verarbeitungsmittel angepasst ist zum: Auswählen (302) von einem aus einer Mehrzahl von Symbolen (vi(d)), wobei die Mehrzahl von Symbolen ein Kodewort ausbildet, welches ein Datenelement (d, δ) enkodiert, welches aus der Meldung abgeleitet ist, wobei das Kodewort das Datenelement gemäß einem Fehlerkorrekturkode enkodiert, wobei der Schlüssel bestimmt, welches aus der Mehrzahl von Symbolen ausgewählt wird; und Bestimmen (303) des Kennzeichen-Wertes als das ausgewählte Symbol.
  10. Computerprogramm, welches ein Programmkodemittel zum Durchführen aller Schritte von jeglichen der Ansprüche 1 bis 8 enthält, wenn das Programm auf einem Computer läuft.
  11. Computerprogramm nach Anspruch 10, welches als ein Computerprogrammprodukt ausgeführt ist, welches ein auf einem computerlesbaren Medium gespeichertes Programmkodemittel enthält, um das Verfahren von jeglichen der Ansprüche 1 bis 8 durchzuführen, wenn das Computerprogrammprodukt auf einem Computer läuft.
  12. Computerprogramm nach Anspruch 10, welches als ein computerlesbares Medium ausgeführt ist, welches ein darauf gespeichertes Programmkodemittel hat, um alle Schritte von jeglichen der Ansprüche 1 bis 8 durchzuführen, wenn das Programm auf einem Computer läuft.
DE60310439T 2002-10-24 2003-10-09 Auf fehlerkorrekturkode basierter nachrichtenauthentifizierungskode Expired - Lifetime DE60310439T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US42096402P 2002-10-24 2002-10-24
US420964P 2002-10-24
US602167 2003-06-24
US10/602,167 US7702910B2 (en) 2002-10-24 2003-06-24 Message authentication
PCT/EP2003/011219 WO2004038999A1 (en) 2002-10-24 2003-10-09 Message authentication code based on error correcting code

Publications (2)

Publication Number Publication Date
DE60310439D1 DE60310439D1 (de) 2007-01-25
DE60310439T2 true DE60310439T2 (de) 2007-09-27

Family

ID=32179830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60310439T Expired - Lifetime DE60310439T2 (de) 2002-10-24 2003-10-09 Auf fehlerkorrekturkode basierter nachrichtenauthentifizierungskode

Country Status (10)

Country Link
US (1) US7702910B2 (de)
EP (1) EP1554835B1 (de)
JP (1) JP4664206B2 (de)
KR (3) KR101092696B1 (de)
CN (1) CN1729646B (de)
AT (1) ATE348459T1 (de)
AU (1) AU2003268933A1 (de)
DE (1) DE60310439T2 (de)
ES (1) ES2279142T3 (de)
WO (1) WO2004038999A1 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005159905A (ja) * 2003-11-27 2005-06-16 Ntt Docomo Inc データ保存装置及び通信端末装置
US7831828B2 (en) * 2004-03-15 2010-11-09 Cardiac Pacemakers, Inc. System and method for securely authenticating a data exchange session with an implantable medical device
US7739513B2 (en) * 2005-02-22 2010-06-15 Sony Corporation Secure device authentication
US7392037B2 (en) * 2005-08-19 2008-06-24 Intel Corporation Wireless communication device and methods for protecting broadcasted management control messages in wireless networks
US9386327B2 (en) * 2006-05-24 2016-07-05 Time Warner Cable Enterprises Llc Secondary content insertion apparatus and methods
US8280982B2 (en) 2006-05-24 2012-10-02 Time Warner Cable Inc. Personal content server apparatus and methods
US8024762B2 (en) 2006-06-13 2011-09-20 Time Warner Cable Inc. Methods and apparatus for providing virtual content over a network
GB0622366D0 (en) * 2006-11-09 2006-12-20 Cambridge Silicon Radio Ltd Authenticating devices for RF communications
CN101946452A (zh) * 2007-12-13 2011-01-12 塞尔蒂卡姆公司 用于控制器件上的特征的系统和方法
KR20100098567A (ko) * 2007-12-19 2010-09-07 파이제르트 아베 암호화된 데이터를 수신 및 전송하기 위한 시스템
KR100987213B1 (ko) * 2008-07-11 2010-10-12 삼성전자주식회사 바이오 키를 이용하여 VoIP을 기반으로 한 통신을수행하는 방법 및 장치
JP5493946B2 (ja) * 2010-02-08 2014-05-14 株式会社リコー 複合システム、セキュリティ方法、セキュリティプログラム及び記録媒体
US20110264530A1 (en) 2010-04-23 2011-10-27 Bryan Santangelo Apparatus and methods for dynamic secondary content and data insertion and delivery
FI125393B (en) 2012-07-17 2015-09-30 Arm Finland Oy Procedure, device and system for use in a web service
JP6295961B2 (ja) * 2012-11-13 2018-03-20 日本電気株式会社 メッセージ認証システム、およびメッセージ認証方法
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
UA115501C2 (uk) * 2013-12-02 2017-11-10 Мастеркард Інтернешнл Інкорпорейтед Спосіб і система для захищеної передачі повідомлень послуги віддалених сповіщень в мобільні пристрої без захищених елементів
US9762395B2 (en) * 2014-04-30 2017-09-12 International Business Machines Corporation Adjusting a number of dispersed storage units
US10511581B2 (en) * 2015-11-17 2019-12-17 International Business Machines Corporation Parallelizable encryption using keyless random permutations and authentication using same
US10586023B2 (en) 2016-04-21 2020-03-10 Time Warner Cable Enterprises Llc Methods and apparatus for secondary content management and fraud prevention
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10951607B2 (en) * 2018-05-14 2021-03-16 GM Global Technology Operations LLC Authentication methods and systems
US11403849B2 (en) 2019-09-25 2022-08-02 Charter Communications Operating, Llc Methods and apparatus for characterization of digital content

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) * 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US4688250A (en) * 1986-01-29 1987-08-18 Rca Corporation Apparatus and method for effecting a key change via a cryptographically protected link
JP2570635B2 (ja) * 1994-11-07 1997-01-08 日本電気株式会社 デジタル署名方式
US5651069A (en) * 1994-12-08 1997-07-22 International Business Machines Corporation Software-efficient message authentication
US5664016A (en) * 1995-06-27 1997-09-02 Northern Telecom Limited Method of building fast MACS from hash functions
JPH09270053A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp 認証番号発行装置および認証番号検証装置
US6226383B1 (en) 1996-04-17 2001-05-01 Integrity Sciences, Inc. Cryptographic methods for remote authentication
US6690289B1 (en) * 1997-06-12 2004-02-10 Microsoft Corporation Message formatting, authentication, and error detection in home control systems
JPH118616A (ja) * 1997-06-17 1999-01-12 Dainippon Printing Co Ltd 故障利用攻撃対応icカード
US6192474B1 (en) 1998-07-31 2001-02-20 Lucent Technologies Inc. Method for establishing a key using over-the-air communication and password protocol and password protocol
US6851052B1 (en) * 1998-12-10 2005-02-01 Telcordia Technologies, Inc. Method and device for generating approximate message authentication codes
CA2296967A1 (en) * 1999-02-02 2000-08-02 Gregory S. Caso Show-thru prevention and user authentication of uplink bursts without overhead
EP1149475B1 (de) 1999-02-11 2003-12-03 RSA Security Inc. Ein fuzzy engagement schema
US6779111B1 (en) * 1999-05-10 2004-08-17 Telefonaktiebolaget Lm Ericsson (Publ) Indirect public-key encryption
US6754824B1 (en) 1999-06-25 2004-06-22 Telefonaktiebolaget L M Ericsson (Publ) Modulated message authentication system and method
US6845449B1 (en) * 1999-07-23 2005-01-18 Networks Associates Technology, Inc. System and method for fast nested message authentication codes and error correction codes
AU6625000A (en) 1999-08-09 2001-03-05 Qualcomm Incorporated Method and apparatus for generating a message authentication code
DK174672B1 (da) * 1999-11-09 2003-08-25 Orange As System til elektronisk udlevering af en personlig identifikationskode
JP2001175602A (ja) * 1999-12-20 2001-06-29 Casio Comput Co Ltd 通信端末接続確立方法および通信システム
US6631172B1 (en) * 2000-05-01 2003-10-07 Lucent Technologies Inc. Efficient list decoding of Reed-Solomon codes for message recovery in the presence of high noise levels
ATE389987T1 (de) 2001-05-03 2008-04-15 Ericsson Telefon Ab L M Verfahren und vorrichtung zum schutz der datenintegrität
US20030041242A1 (en) 2001-05-11 2003-02-27 Sarver Patel Message authentication system and method
US6718503B1 (en) * 2002-01-04 2004-04-06 Itran Communications Ltd. Reduced latency interleaver utilizing shortened first codeword

Also Published As

Publication number Publication date
US20050262418A1 (en) 2005-11-24
ATE348459T1 (de) 2007-01-15
KR20110053391A (ko) 2011-05-20
CN1729646A (zh) 2006-02-01
JP4664206B2 (ja) 2011-04-06
WO2004038999A1 (en) 2004-05-06
DE60310439D1 (de) 2007-01-25
JP2006504361A (ja) 2006-02-02
CN1729646B (zh) 2010-09-29
EP1554835B1 (de) 2006-12-13
EP1554835A1 (de) 2005-07-20
KR20100114947A (ko) 2010-10-26
KR20050083819A (ko) 2005-08-26
AU2003268933A1 (en) 2004-05-13
ES2279142T3 (es) 2007-08-16
KR101255357B1 (ko) 2013-04-17
US7702910B2 (en) 2010-04-20
KR101092696B1 (ko) 2011-12-09

Similar Documents

Publication Publication Date Title
DE60310439T2 (de) Auf fehlerkorrekturkode basierter nachrichtenauthentifizierungskode
DE60310437T2 (de) Sichere kommunikation
DE60133266T2 (de) Verfahren und Vorrichtung zum Schutz der Datenintegrität
DE60103737T2 (de) System und Verfahren zur Nachrichtenauthentisierung
DE102011120968B4 (de) Erzeugen von sicheren Schlüsseln auf Anforderung
DE602004000695T2 (de) Erzeugung von asymmetrischen Schlüsseln in einem Telekommunicationssystem
DE112011100182B4 (de) Datensicherheitsvorrichtung, Rechenprogramm, Endgerät und System für Transaktionsprüfung
EP3474172B1 (de) Zugangskontrolle unter verwendung einer blockchain
EP2826199B1 (de) Verfahren und system zur gesicherten kommunikation zwischen einem rfid-tag und einem lesegerät
EP2484047B1 (de) Verfahren zum manipulationsschutz von sensordaten und sensor hierzu
DE602005002652T2 (de) System und Verfahren für das Erneuern von Schlüsseln, welche in Public-Key Kryptographie genutzt werden
DE112013002752T5 (de) System und Verfahren zur Verifikation von Nachrichten bei Broadcast und Multicast Netzwerken
DE69734209T2 (de) Sicherheitsverfahren und -einrichtung für die authentifizierung in einem drahtlosen kommunikationssystem
DE112012000971B4 (de) Datenverschlüsselung
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE4423209A1 (de) Verfahren zum Durchführen einer Punkt-zu-Punkt-Kommunikation bei abhörsicheren Kommunikationssystemen
EP1368929B1 (de) Verfahren zur authentikation
EP1290905B1 (de) Verfahren zur kryptografischen identifikation einer physikalischen einheit in einem drahtlosen telekommunikationsnetzwerk
WO2020126078A1 (de) Verfahren zum erzeugen einer blinden signatur
CN110191467A (zh) 一种物联网设备的鉴权方法、设备、装置及存储介质
EP3206154B1 (de) Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten
DE60224391T2 (de) Sicherer Zugang zu einem Teilnehmermodul
DE602005000716T2 (de) Sicherung einer Kommunikationsverbindung zwischen Geräten.
DE19919909C2 (de) Signierung und Signaturprüfung von Nachrichten
DE102014117311A1 (de) Kommunikationsanordnung und Verfahren zum Generieren eines Kryptografieschlüssels

Legal Events

Date Code Title Description
8364 No opposition during term of opposition