DE602004010494T2 - Kryptographische Authentifizierung einer Vorrichtung - Google Patents

Kryptographische Authentifizierung einer Vorrichtung Download PDF

Info

Publication number
DE602004010494T2
DE602004010494T2 DE602004010494T DE602004010494T DE602004010494T2 DE 602004010494 T2 DE602004010494 T2 DE 602004010494T2 DE 602004010494 T DE602004010494 T DE 602004010494T DE 602004010494 T DE602004010494 T DE 602004010494T DE 602004010494 T2 DE602004010494 T2 DE 602004010494T2
Authority
DE
Germany
Prior art keywords
value
values
devices
cause
authentication
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
DE602004010494T
Other languages
English (en)
Other versions
DE602004010494D1 (de
Inventor
Michael K. Kitchener Brown
Herbert A. Waterloo Little
Dinah L. M. Kitchener Davis
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.)
BlackBerry Ltd
Original Assignee
Research in Motion Ltd
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 Research in Motion Ltd filed Critical Research in Motion Ltd
Publication of DE602004010494D1 publication Critical patent/DE602004010494D1/de
Application granted granted Critical
Publication of DE602004010494T2 publication Critical patent/DE602004010494T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01BSOIL WORKING IN AGRICULTURE OR FORESTRY; PARTS, DETAILS, OR ACCESSORIES OF AGRICULTURAL MACHINES OR IMPLEMENTS, IN GENERAL
    • A01B1/00Hand tools
    • A01B1/02Spades; Shovels
    • A01B1/04Spades; Shovels with teeth
    • 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/321Cryptographic 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 involving a third party or a trusted authority
    • EFIXED CONSTRUCTIONS
    • E01CONSTRUCTION OF ROADS, RAILWAYS, OR BRIDGES
    • E01HSTREET CLEANING; CLEANING OF PERMANENT WAYS; CLEANING BEACHES; DISPERSING OR PREVENTING FOG IN GENERAL CLEANING STREET OR RAILWAY FURNITURE OR TUNNEL WALLS
    • E01H5/00Removing snow or ice from roads or like surfaces; Grading or roughening snow or ice
    • E01H5/02Hand implements
    • 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/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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/3271Cryptographic 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 challenge-response
    • H04L9/3273Cryptographic 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 challenge-response for mutual authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Pure & Applied Mathematics (AREA)
  • Architecture (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Soil Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Computing Systems (AREA)
  • Environmental Sciences (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Lock And Its Accessories (AREA)
  • Transceivers (AREA)
  • Bidet-Like Cleaning Device And Other Flush Toilet Accessories (AREA)
  • Enzymes And Modification Thereof (AREA)
  • Vehicle Body Suspensions (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

  • Diese Erfindung betrifft im Allgemeinen die Kommunikation zwischen elektronischen Vorrichtungen und insbesondere die Authentisierung von zwei elektronischen Vorrichtungen, einschließlich der Authentisierung durch eine dritte Vorrichtung.
  • Bei der Kommunikation zwischen elektronischen Vorrichtungen ist es manchmal wünschenswert, dass zwei Vorrichtungen unter Verwendung einer dritten Vorrichtung miteinander kommunizieren. Typischerweise strebt eine Vorrichtung danach, eine Kommunikation mit einer zweiten Vorrichtung herzustellen, indem eine Anfrage an die dritte Vorrichtung gerichtet wird. In diesem Fall kann die dritte Vorrichtung als Pförtner fungieren und diese Kommunikation basierend auf Zulassungen, die für die beiden Vorrichtungen definiert sind, verhindern oder zulassen.
  • Wenn die Sicherheit der Kommunikation zwischen Vorrichtungen zur Debatte steht, können die beiden Kommunikationsvorrichtungen mit einem Geheimwert oder -schlüssel ausgestattet werden, der dafür verwendet werden kann, zu bestimmen, ob ein Kommunikationskanal zwischen den beiden Vorrichtungen eingerichtet werden kann. Eine dritte Vorrichtung kann Anweisungen ausführen, um eine Kommunikation zwischen den Vorrichtungen basierend auf den gemeinsamen Werten, die von den entsprechenden Kommunikationsvorrichtungen gehalten werden, zu gestatten oder zu verweigern. Allgemeiner gesagt, können andere Gründe vorhanden sein, um zwei Vorrichtungen einer dritten Vorrichtung gegenüber zu authentisieren. In Fällen, in denen die beiden zu authentisierenden Vorrichtungen beide denselben Geheimwert aufweisen, kann die dritte Vorrichtung die beiden Vorrichtungen authentisieren, indem jede der Vorrichtungen ihre Kopien des Geheimwerts der dritten Vorrichtung zum Vergleich bereitstellt. Wenn jedoch die Kommunikation zwischen der ersten oder der zweiten Vorrichtung und der dritten Vorrichtung potenziell unsicher ist oder wenn die dritte Vorrichtung selbst potenziell nicht sicher ist, ist eine direkte Übertragung des Geheimwerts oder -schlüssels zur dritten Vorrichtung typischerweise nicht wünschenswert, da die Geheimhaltung des gemeinsamen Werts gefährdet ist.
  • Die U.S.-Patentanmeldung Nr. 2003/233546 auf den Namen Blom lehrt ein Authentisierungsverfahren für Herausforderungsreaktionen, das die Maskierung der erwarteten Reaktion umfasst, welche von einem Authentisierungszentrum erzeugt wird, und zwar mit Hilfe einer Maskierungsfunktion und Übertragung der maskierten erwarteten Reaktion anstatt der erwarteten Reaktion selbst zu einer Zwischenpartei, bei der die tatsächliche Benutzerauthentisierung stattfindet. Die Zwischenpartei empfängt ebenfalls eine Benutzerreaktion von dem Benutzer und erzeugt eine maskierte Benutzerreaktion unter Verwendung derselben Maskierungsfunktion, die das Authentisierungszentrum verwendet hatte. Um den Benutzer zu authentisieren, überprüft die Zwischenpartei daraufhin, dass die maskierte Benutzerreaktion der maskieren erwarteten Reaktion entspricht, die sie vom Authentisierungszentrum empfangen hat.
  • Es ist daher wünschenswert, über einen Mechanismus zur Authentisierung von zwei Vorrichtungen durch eine dritte Vorrichtung zu verfügen, wobei die Gefahr der Freigabe des gemeinsamen Werts verringert wird.
  • ALLGEMEINES
  • Gemäß einem Gesichtspunkt der Erfindung wird ein verbessertes Verfahren zur Vorrichtungsauthentisierung geschaffen.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein Authentisierungsverfahren zur Authentisierung von zwei Vorrichtungen geschaffen, die beide einen gemeinsamen Geheimwert aufweisen, wobei eine dritte Vorrichtung bestimmen kann, ob jede der Kommunikationsvorrichtungen denselben gemeinsamen Geheimwert aufweist, ohne dass ihr dieser Wert direkt bereitgestellt worden wäre.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein Verfahren für einen Kommunikationskanal, der zwischen zwei Vorrichtungen eingerichtet werden soll, unter Verwendung einer dritten Vorrichtung geschaffen. Den beiden Vorrichtungen, die miteinander kommunizieren wollen, wird ein gemeinsamer Geheimwert bereitgestellt. Die Kommunikationsvorrichtungen können der dritten Vorrichtung beweisen, dass jede von ihnen denselben Geheimwert besitzt (und werden somit authentisiert). Bei diesem Authentisierungsverfahren kann die dritte Vorrichtung bestimmen, ob jede der Kommunikationsvorrichtungen denselben gemeinsamen Geheimwert aufweist, ohne dass dieser Wert der dritten Vorrichtung bereitgestellt worden wäre.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein Verfahren geschaffen, um den unter Verwendung der oben beschriebenen Authentisierung eingerichteten Kommunikationskanal sicher zu schließen. Gemäß einem Gesichtspunkt der Erfindung wird ein Verfahren zur Authentisierung einer ersten und einer zweiten Vorrichtung durch eine dritte Vorrichtung geschaffen, wobei die erste und die zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, jede der Vorrichtungen über einen öffentlichen Schlüssel P verfügt, der so ausgewählt ist, dass der Vorgang der Ableitung des Geheimschlüsselwerts h aus dem Produkt hP ein rechnerisch schwieriger Vorgang ist, wobei das Verfahren folgende Schritte umfasst: die erste und die zweite Vorrichtung tauscht unter Verwendung der dritten Vorrichtung entweder einen ersten Wertesatz oder einen unterschiedlichen zweiten Wertesatz untereinander aus, so dass die erste Vorrichtung einen Wertesatz sendet, der sich von dem Wertesatz unterscheidet, den sie empfangt, die erste Vorrichtung berechnet unter Verwendung einer ersten Auswahl von Werten von sowohl dem ersten als auch dem unterschiedlichen zweiten Wertesatz einen ersten Ausdruck, der einen Wert aufweist, der dem Produkt hP entspricht, und die zweite Vorrichtung berechnet unter Verwendung einer Auswahl von Werten von sowohl dem ersten Satz als auch dem unterschiedlichen zweiten Wertesatz einen zweiten Ausdruck, der einen Wert aufweist, der dem Produkt hP entspricht, und die dritte Vorrichtung behält Kopien von dem ersten und zweiten Wertesatz, der zwischen der ersten und der zweiten Vorrichtung ausgetauscht wird, wobei das Verfahren des Weiteren den Schritt aufweist, dass die dritte Vorrichtung die Werte des ersten Ausdrucks und des zweiten Ausdrucks berechnet und vergleicht, um die erste und die zweite Vorrichtung zu authentisieren.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, bei dem die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, wobei der Schritt der Authentisierung der ersten und der zweiten Vorrichtung durch die dritte Vorrichtung den Schritt umfasst, dass zwischen der ersten und der zweiten Vorrichtung und Kommunikationskanal eingerichtet wird.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, bei dem der eingerichtete Kommunikationskanal die dritte Vorrichtung als Teil des Kanals umfasst und die dritte Vorrichtung die Werte beibehalten hat, die zwischen der ersten Vorrichtung und der zweiten Vorrichtung übertragen worden sind, wobei das Verfahren des Weiteren den Schritt umfasst, den Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung zu schließen, wobei der Schritt des Schließens des Kanals folgende Schritte umfasst: die zweite Vorrichtung und die dritte Vorrichtung tauschen Sätze von Schließauthentisierungswerten aus, um der dritten Vorrichtung zu gestatten, auf der Grundlage der beibehaltenen Werte eine Berechnung eines Ausdrucks durchzuführen, und den Schließauthentisierungswerten zu gestatten, das Schließen des Kommunikationskanals zu authentisieren.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein Verfahren zur Authentisierung einer ersten und einer zweiten Vorrichtung durch eine dritte Vorrichtung geschaffen, wobei die erste und zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, wobei jede der Vorrichtungen so betrieben werden kann, dass sie an definierten Gruppen E(Fq) und Zp mathematische Operationen ausführt, wobei Fq ein finites Feld der Primordnung q ist, einschließlich skalarer Multiplikation, die unter Bezugsnahme auf die Gruppe definiert ist, wobei das Verfahren folgende Schritte umfasst:
    • a) Erhalten eines öffentlichen Schlüssels P, so dass P eine Primuntergruppe der Gruppe E(Fq) der Ordnung p erzeugt, und jeder der Vorrichtungen den öffentlichen Schlüssel P zur Verfügung stellen,
    • b) die erste Vorrichtung erhält einen beliebigen Wert rD, so dass 1 < rD < p – 1, und ein Wert RD = rDP wird berechnet,
    • c) die erste Vorrichtung teilt den Wert RD der dritten Vorrichtung mit,
    • d) die dritte Vorrichtung behält eine Kopie des Werts RD und leitet den Wert RD zur zweiten Vorrichtung weiter,
    • e) die zweite Vorrichtung erhält einen beliebigen Wert rB, so dass 1 < rB < p – 1, und ein Wert RB = rBP wird berechnet, wobei RB so bestimmt wird, dass er nicht gleich RD ist, die zweite Vorrichtung erhält einen beliebigen Wert eD, so dass 1 < eD < p – 1, die zweite Vorrichtung teilt die Werte eD und RB der dritten Vorrichtung mit,
    • f) die dritte Vorrichtung behält Kopien der Werte RB und eD und leitet diese Werte zur ersten Vorrichtung weiter,
    • g) die erste Vorrichtung berechnet einen Wert yD = h – eDrD mod p, die erste Vorrichtung erhält einen beliebigen Wert eB, so dass 1 < eB < p – 1, die erste Vorrichtung teilt die Werte yD und eB der dritten Vorrichtung mit,
    • h) die dritte Vorrichtung behält Kopien der Werte yD und eB und leitet diese Werte zur zweiten Vorrichtung weiter,
    • i) die zweite Vorrichtung berechnet einen Wert yB = h – eBrB mod p, die zweite Vorrichtung teilt den Wert yB der dritten Vorrichtung mit, und
    • j) die dritte Vorrichtung authentisiert die erste und zweite Vorrichtung, wenn die Bedingung yBP + eBRB – yDP + eDRD erfüllt ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren den Schritt umfasst, dass die erste Vorrichtung die zweite Vorrichtung autenthisiert, wenn die Bedingung yBP + eBRB = hP erfüllt ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren den Schritt umfasst, dass die zweite Vorrichtung die erste Vorrichtung authentisiert, wenn die Bedingung yDP + eDRD = hP erfüllt ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, bei dem die erste Vorrichtung durch ein nicht authentisierendes Etikett identifiziert wird und bei dem die zweite Vorrichtung einen Satz von Schlüsselwerten beibehält, wobei der Satz einen Schlüsselwert umfasst, den er mit dem Geheimschlüsselwert der ersten Vorrichtung gemeinsam hat, wobei das Verfahren den Schritt umfasst, dass die erste Vorrichtung das nicht authentisierende Etikett der zweiten Vorrichtung mitteilt, wobei die zweite Vorrichtung den Schlüsselwert, den sie mit dem Geheimschlüsselwert der ersten Vorrichtung gemeinsam hat, aus dem Satz von Schlüsselwerten auswählen kann.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren den Schritt umfasst, den Wert h von einem gemeinsamen Geheimwert s abzuleiten.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, wobei der Schritt des Ableitens des Wertes h den Schritt des Ausführens einer Einweghashfunktion an dem gemeinsamen Geheimwert s umfasst.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass eine oder mehrere der ersten, zweiten und dritten Vorrichtung prüfen, dass der Wert eD nicht null ist und/oder dass der Wert eB nicht null ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass eine oder mehrere der ersten, zweiten und dritten Vorrichtung prüfen, dass der Wert RB nicht dem unendlich fernen Punkt entspricht und/oder dass der Wert RD nicht dem unendlich fernen Punkt entspricht.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass eine oder mehrere der ersten, zweiten und dritten Vorrichtung prüfen, dass der Wert RB nicht dem Wert RD entspricht.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, wobei die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, und wobei der Schritt, der darin besteht, dass die dritte Vorrichtung die erste und zweite Vorrichtung authentisiert, den Schritt umfasst, dass ein Kommunikationskanal zwischen der ersten und zweiten Vorrichtung einrichtet wird.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, wobei der Kommunikationskanal dadurch definiert ist, dass der ersten Vorrichtung eine Internetprotokolladresse zugeordnet wird.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, wobei der eingerichtete Kommunikationskanal die dritte Vorrichtung als Teil des Kanals umfasst, und die dritte Vorrichtung die Werte yD, P, eD und RD beibehalten hat und wobei das Verfahren des Weiteren den Schritt umfasst, dass der Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung geschlossen wird, wobei der Schritt des Schließens des Kanals folgende Schritte umfasst:
    • k) die zweite Vorrichtung erhält einen beliebigen Wert rC, so dass 1 < rC < p – 1, und ein Wert RC = rCP wird berechnet, wobei RC darauf beschränkt ist, einen anderen Wert als RB und RD aufzuweisen,
    • k) die zweite Vorrichtung teilt den Wert RC der dritten Vorrichtung mit,
    • l) die dritte Vorrichtung erhält einen beliebigen Wert eC, so dass 1 < eC < p – 1, die dritte Vorrichtung teilt den Wert eC der zweiten Vorrichtung mit,
    • m) die zweite Vorrichtung authentisiert den Schließvorgang, wenn die Bedingung yCP + eCRC = yDP + eDRD erfüllt ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass die zweite Vorrichtung prüft, dass der Wert eC nicht null ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass die dritte Vorrichtung prüft, dass der Wert RC nicht dem unendlich fernen Punkt entspricht.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass entweder die zweite oder die dritte Vorrichtung oder sowohl die zweite als auch die dritte Vorrichtung prüfen, dass der Wert RC nicht dem Wert RB entspricht und nicht dem Wert RD entspricht.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte Verfahren geschaffen, das des Weiteren die Schritte umfasst, dass entweder die zweite oder die dritte Vorrichtung oder sowohl die zweite als auch die dritte Vorrichtung prüfen, dass der Wert eC nicht dem Wert eD entspricht und nicht dem Wert eB entspricht.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein Programmprodukt geschaffen, das ein Medium umfasst, das einen ausführbaren Programmcode aufweist, der in dem Medium verwirklicht ist, wobei der ausführbare Programmcode auf verschiedene Weise in einer ersten Vorrichtung, einer zweiten Vorrichtung und einer dritten Vorrichtung ausführbar ist, wobei der ausführbare Programmcode so betrieben werden kann, dass er veranlasst, dass die oben genannten Verfahren ausgeführt werden.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein System geschaffen, das eine erste Vorrichtung, eine zweite Vorrichtung und eine dritte Vorrichtung umfasst, wobei die erste und zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, jeder der Vorrichtungen ein öffentlicher Schlüssel P zur Verfügung steht, der so ausgewählt wird, dass der Vorgang der Ableitung des Geheimschlüsselwerts h aus dem Produkt hP ein rechnerisch schwieriger Vorgang ist, und die erste Vorrichtung, die zweite Vorrichtung und die dritte Vorrichtung jeweils Speichereinheiten und Prozessoren zum Speichern und Ausführen von Programmcode umfassen, wobei das System Mittel umfasst, die dafür ausgelegt sind, die Übertragung von entweder einem ersten Satz von Werten oder einem anderen, zweiten Satz von Werten zwischen der ersten Vorrichtung und der zweiten Vorrichtung unter Verwendung der dritten Vorrichtung zu veranlassen, so dass die erste Vorrichtung einen Satz von Werten überträgt, der anders ist als der Satz von Werten, den sie empfangt, das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung unter Verwendung einer Auswahl von Werten sowohl aus dem ersten Satz als auch dem anderen, zweiten Satz von Werten einen ersten Ausdruck mit einem Wert berechnet, der dem Produkt hP entspricht, und die zweite Vorrichtung unter Verwendung einer anderen Auswahl von Werten sowohl aus dem ersten Satz als auch dem anderen, zweiten Satz von Werten einen zweiten Ausdruck mit einem Wert berechnet, der dem Produkt hP entspricht, das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien des ersten und zweiten Satzes von Werten behält, die zwischen der ersten und zweiten Vorrichtung übertragen werden, und das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die Werte des ersten Ausdrucks und des zweiten Ausdrucks berechnet und vergleicht, um die erste und zweite Vorrichtung zu authentisieren.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte System geschaffen, wobei die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die erste und zweite Vorrichtung authentisiert und einen Kommunikationskanal zwischen der ersten und zweiten Vorrichtung einrichtet.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte System geschaffen, wobei der eingerichtete Kommunikationskanal die dritte Vorrichtung als Teil des Kanals umfasst und die dritte Vorrichtung einen Speicher umfasst, um die Werte beizubehalten, die zwischen der ersten Vorrichtung und der zweiten Vorrichtung übertragen worden sind, wobei das System des Weiteren Mittel umfasst, die dafür ausgelegt sind, den Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung zu schließen, wobei das System Mittel zum Austausch von Sätzen von Schließauthentisierungswerten zwischen der zweiten Vorrichtung und der dritten Vorrichtung umfasst, um die dritte Vorrichtung zuzulassen, wobei der Code Programmcode umfasst, um Sätze von Schließauthentisierungswerten zwischen der zweiten Vorrichtung und der dritten Vorrichtung auszutauschen um der dritten Vorrichtung zu ermöglichen, basierend auf den beibehaltenen Werten und den Schließauthentisierungswerten eine Berechnung eines Ausdrucks auszuführen, um das Schließen des Kommunikationskanals zu authentisieren.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird ein System geschaffen, das eine erste Vorrichtung, eine zweite Vorrichtung und eine dritte Vorrichtung umfasst, wobei die erste und zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, wobei jede der Vorrichtungen dafür ausgelegt ist, an definierten Gruppen E(Fq) und Zp mathematische Operationen auszuführen, wobei Fq ein finites Feld der Primordnung q ist, einschließlich skalarer Multiplikation, die unter Bezugsnahme auf die Gruppe definiert ist, wobei die erste Vorrichtung, die zweite Vorrichtung und die dritte Vorrichtung jeweils Speichereinheiten und Prozessoren zum Speichern und Ausführen von Programmcode umfassen,
    • o) wobei das System Mittel umfasst, die dafür ausgelegt sind, einen öffentlichen Schlüssel P zu erhalten, so dass P eine Primuntergruppe der Gruppe E(Fq) der Ordnung p erzeugt, und den öffentlichen Schlüssel P jeder der Vorrichtungen zur Verfügung zu stellen,
    • p) wobei das System Mittel umfasst, die dafür ausgelegt sind, dass die erste Vorrichtung einen beliebigen Wert rD erhält, so dass 1 < rD < p – 1, und einen Wert RD = rDP berechnet,
    • q) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung den Wert RD der dritten Vorrichtung mitteilt,
    • r) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung eine Kopie des Werts RD behält und den Wert RD zur zweiten Vorrichtung weiterleitet,
    • s) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die zweite Vorrichtung einen beliebigen Wert rB erhält, so dass 1 < rB < p – 1, und einen Wert RB = rBP berechnet, wobei RB so bestimmt wird, dass er nicht gleich RD ist, und zu verursachen, dass die zweite Vorrichtung einen beliebigen Wert eD erhält, so dass 1 < eD < p – 1, und die Werte rD und RB der dritten Vorrichtung mitteilt,
    • t) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien der Werte RB und eD behält und diese Werte zur ersten Vorrichtung weiterleitet,
    • u) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung einen Wert yD = h – eDrD mod p berechnet, um zu verursachen, dass die erste Vorrichtung einen beliebigen Wert eB erhält, so dass 1 < eB < p – 1, und zu verursachen, dass die erste Vorrichtung die Werte yD und eB der dritten Vorrichtung mitteilt,
    • v) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien der Werte yD und eB behält und diese Werte zur zweiten Vorrichtung weiterleitet,
    • w) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die zweite Vorrichtung einen Wert yB = h – eBrB mod p berechnet, und zu verursachen, dass die zweite Vorrichtung den Wert yB der dritten Vorrichtung mitteilt, und
    • x) wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die erste und zweite Vorrichtung authentisiert, wenn die Bedingung yBP + eBRB = yDP + eDRD erfüllt ist.
  • Gemäß einem anderen Gesichtspunkt der Erfindung wird das oben genannte System geschaffen, bei dem die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, wobei die Mittel, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die erste und zweite Vorrichtung authentisiert Mittel umfassen, die dafür ausgelegt sind, einen Kommunikationskanal zwischen der ersten und zweiten Vorrichtung einzurichten.
  • Vorteile der Erfindung umfassen die Authentisierung von zwei Vorrichtungen gegenüber einer dritten Vorrichtung, ohne dass der dritten Vorrichtung ein gemeinsamer Geheimwert, den die beiden authentisierten Vorrichtungen besitzen, mitgeteilt werden muss, oder der dritten Vorrichtung Informationen über denselben mitgeteilt werden müssen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Bei den Zeichnungen, die nur beispielhaft eine bevorzugte Ausführungsform der Erfindung veranschaulichen, ist
  • 1 ein Blockdiagramm, das zwei Vorrichtungen und eine dritte Vorrichtung zeigt, die bei der Authentisierung der ersten beiden Vorrichtungen verwendet wird.
  • BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
  • Es gibt viele verschiedene Kontexte, in eine Kommunikation zwischen zwei verschiedenen elektronischen Vorrichtungen hergestellt werden soll und eine dritte Vorrichtung dafür verwendet wird, zu steuern, ob diese Kommunikation stattfinden soll oder nicht. 1 ist ein Blockdiagramm, das die Vorrichtung 10 und die Vorrichtung 12 zeigt, für die ein Kommunikationskanal eingerichtet werden soll. Bei dem Beispiel aus 1 bestimmt die Vorrichtung 14, ob diese Kommunikation stattfinden kann oder nicht. Die Entscheidung erfolgt auf der Basis der Authentisierung der Vorrichtungen 10, 12 durch Überprüfen, dass jede Vorrichtung den gemeinsamen Geheimwert aufweist. In dem Beispiel aus 1 ist ein direkter Kommunikationskanal zwischen den Vorrichtungen 10, 12 gezeigt. Andere Anordnungen sind ebenfalls möglich, wobei die Vorrichtungen 10, 12 die Vorrichtung 14 dafür verwenden, eine Kommunikation herzustellen, und wobei zum Beispiel die gesamte Kommunikation durch die Vorrichtung 14 geleitet wird.
  • Die Beschreibung der bevorzugten Ausführungsform bezieht sich auf Kommunikationsvorrichtungen, jedoch ist Fachleuten ersichtlich, dass ein Lösungsweg der bevorzugten Ausführungsform in anderen Kontexten implementiert werden kann, bei denen die Authentisierung von zwei Vorrichtungen von einer dritten Vorrichtung ausgeführt wird. Jede der Vorrichtungen 10, 12 muss in der Lage sein, mit der Vorrichtung 14 zu kommunizieren, jedoch braucht der letztendliche Zweck der Authentisierung der Vorrichtungen 10, 12 nicht in deren Kommunikation miteinander zu liegen.
  • Fachleuten ist ersichtlich, dass elektronische Vorrichtungen, auf die in dieser Beschreibung Bezug genommen wird, alle Arten von Vorrichtungen umfassen, die in der Lage sind, eine Kommunikation mit anderen Vorrichtungen herzustellen und die Berechnungen, wie unten beschrieben, ausführen können. Insbesondere umfassen die Vorrichtungen Kommunikationsserver wie beispielsweise E-Mail- oder andere Mitteilungsserver zur Verwendung in Verbindung mit Netzwerken, wie beispielsweise dem Internet, drahtlose Kommunikationshandgeräte und andere Server-, Desktop-, tragbare oder Handgeräte, einschließlich Vorrichtungen, die typischerweise in einer Computerumgebung oder bei der Telefonie verwendet werden.
  • Die bevorzugte Ausführungsform wird als ein Verfahren beschrieben, das im Hinblick auf solche elektronischen Vorrichtungen implementiert wird. Die Implementierung kann in einem Computerprogrammprodukt verwirklicht sein, das Programmcode auf einem Medium umfasst, das an die Vorrichtungen geliefert werden kann, auf die in dieser Beschreibung Bezug genommen wird. Derartiger Programmcode kann auf den Vorrichtungen ausgeführt werden, auf die Bezug genommen wird, um das beschriebene Verfahren auszuführen.
  • Ein Beispiel einer Implementierung der bevorzugten Ausführungsform umfasst eine Konfiguration, bei der die Vorrichtung 14 aus 1 ein Router ist, der dazu verwendet wird, der Vorrichtung 10, welche ein drahtloses Handgerät ist, eine IP-(Internet-Protokoll-)Adresse zuzuweisen. Der Router der Vorrichtung 14 stellt die Verbindung zwischen dem drahtlosen Handgerät 10 und einem Unternehmensserver her, der in dem Beispiel aus 1 durch die Vorrichtung 12 dargestellt wird. Bei diesem Beispiel leitet der Router der Vorrichtung 14 den Verkehr von dem Unternehmensserver der Vorrichtung 12 zum Handgerät 10 weiter. Um sicherzustellen, dass keine andere Vorrichtung in der Lage ist, eine IP-Adresse unangemessenerweise von dem Router der Vorrichtung 14 zu erhalten, verfügen sowohl das Handgerät 10 als auch der Unternehmensserver der Vorrichtung 12 bei der bevorzugten Ausführungsform über einen Geheimwert s. Wie unten ausgeführt, kann der Router der Vorrichtung 14 feststellen, dass das (Hand-)Gerät 10 eine vertrauenswürdige Vorrichtung ist und ein Kommunikationskanal mit der Vorrichtung 12 (Unternehmensserver) von der Vorrichtung 14 (Router) eingerichtet werden sollte. Bei diesem Beispiel leitet der Router der Vorrichtung 14, sobald er die Authentisierung durchgeführt hat, die Kommunikation unter Verwendung einer zugewiesenen IP-Adresse und unter Weiterleitung von Kommunikation vom Unternehmensserver der Vorrichtung 12 unter Verwendung des Internet zum Handgerät der Vorrichtung 10 weiter.
  • Die unten ausgeführte Beschreibung der bevorzugten Ausführungsform umfasst mehrere Schritte, in denen Werte überprüft werden, die zwischen Vorrichtungen gesendet werden. Um sicherzustellen, dass es in dem Verfahren nur eine Fehlerstelle gibt, wenn eine solche Überprüfung ergibt, dass ein Fehlerzustand vorliegt, besteht der Lösungsweg der bevorzugten Ausführungsform darin, einen der Werte in einer Weise erneut zu definieren, die verursacht, dass das Verfahren die Vorrichtungen in seinen Endschritten nicht authentisiert. Wie Fachleuten ersichtlich ist, kann es andere Lösungswege geben, um eine derartige Überprüfung durchzuführen, die dazu führen, dass das Verfahren zu einem früheren Zeitpunkt oder in einem Fehlerzustand beendet wird, der auf andere Weise spezifiziert wird.
  • Die bevorzugte Ausführungsform ist unter Bezugnahme auf die Vorrichtungen 10, 12, 14 beschrieben, die alle in der Lage sind, kryptografische Funktionen auszuführen, und denen in der Ausführungsform die folgenden Kryptosystemparameter gemeinsam sind. Die beschriebenen mathematischen Operationen werden in Gruppen E(Fq) und Zp ausgeführt. Die Gruppe E(Fq) ist bei der bevorzugten Ausführungsform als die von dem National Institute of Standards and Technology (NITS) genehmigte willkürliche elliptische 521 Bit-Kurve über Fq definiert. Diese Kurve weist einen Kofaktor von eins auf. Das Feld Fq ist als ein finites Feld der Primordnung q definiert. Zp ist die Gruppe von Ganzzahlen Modulus p. In der Beschreibung unten ist der öffentliche Schlüssel P als als ein Punkt von E(Fq) definiert, der eine Primuntergruppe von E(Fq) der Ordnung p erzeugt. Die Schreibweise xR stellt eine Skalarmultiplikation einer elliptischen Kurve dar, wobei x das Skalar ist und R ein Punkt auf E(Fq) ist. Dieser elliptische Kurvenpunkt R muss manchmal für einige der Berechnungen als Ganzzahl dargestellt werden. Diese Darstellung lautet
    Figure 00150001
    wobei x - die Ganzzahldarstellung der x-Koordinate des elliptischen Kurvenpunkts R ist und f = log2p + 1 die Bitlänge von p ist.
  • Wie ersichtlich ist, kann die Wahl für die Gruppen, über denen die Operationen der bevorzugten Ausführungsform ausgeführt werden sollen, für verschiedene Implementierungen der bevorzugten Ausführungsform variieren. Die elliptische Kurve ist eine gewöhnliche Gruppe für diese Operationen in der Kryptografie. Jede mathematisch definierte Gruppe kann für die Implementierung der bevorzugten Ausführungsform verwendet werden. Zum Beispiel kann bei der Gruppe, die von dem Ganzzahlenmodulus definiert wird, eine Primzahl für eine Implementierung verwendet werden.
  • In Tabelle 1, die wie folgt aufgestellt ist, sind die Berechnungen und die Kommunikation der bevorzugten Ausführungsform aufgeführt. Bei der bevorzugten Ausführungsform ist s der gemeinsame Wert, der sowohl der Vorrichtung 10 als auch der Vorrichtung 12, jedoch nicht der Vorrichtung 14 bekannt ist. Bei der bevorzugten Ausführungsform kann die Vorrichtung 12 mit einer oder mehreren Vorrichtungen kommunizieren und daher ist die Vorrichtung 10 mit einer Etikettenschlüssel-ID ausgestattet, die spezifiziert, welche Vorrichtung oder Klasse von Vorrichtungen mit der Vorrichtung 12 kommunizieren möchte. Ebenso kann die Vorrichtung 12 in anderen Implementierungen mit einem Etikett versehen sein, um zu ermöglichen, dass die Vorrichtung 10 spezifziert, welche Vorrichtung authentisiert werden möchte. Es ist ersichtlich, dass die beschriebene Schlüssel-ID selbst nicht ausreicht, um die Vorrichtung zu authentisieren. Es ist ebenfalls ersichtlich, dass die Schlüssel-ID möglicherweise nicht notwendig ist, falls die Identität der Vorrichtung 10 aus dem Kontext deutlich ist. Wenn die Vorrichtung 12 zum Beispiel mit einer einzigen Vorrichtung 10 und keinen anderen derartigen Vorrichtungen kommuniziert, dann ist die Schlüssel-ID möglicherweise nicht notwendig. TABELLE 1
    VORRICHTUNG 10 VORRICHTUNG 14 VORRICHTUNG 12
    Berechnen: Berechnen:
    h = SHA-512(s) h = SHA-512(s)
    Willkürliches rD erzeugen,
    1 < rD < p – 1
    RD = rDP berechnen
    RD zur Vorrichtung 14 senden;
    Schlüssel-ID zur Vorrichtung 14 senden.
    Während RD == unendlich ferner Punkt, dann RD = rand().
    RD zur Vorrichtung 12 senden;
    Schlüssel-ID zur Vorrichtung 12 senden
    Während RD == unendlich ferner Punkt, dann RD = rand().
    Willkürliches rB erzeugen, 1 < rB < p – 1
    RB = rBP berechnen
    Während RD == RB, dann ein anderes RB wählen.
    Willkürliches eD erzeugen, 1 < eD < p – 1
    Schlüssel-ID, eD und RB zur Vorrichtung 14 senden.
    Während RB == unendlich ferner Punkt oder RD == RB, dann RB = rand().
    Während eD == 0, dann eD = rand().
    Schlüssel-ID, eD und RB zur Vorrichtung 10 senden.
    Während RB == unendlich ferner Punkt oder RD == RB, dann RB = rand().
    Während eD == 0, dann eD = rand().
    YD = h – eDrD mod p berechnen
    Willkürliches eB erzeugen, 1 < eB < p – 1
    yD und eB zur Vorrichtung 14 senden.
    Während eB == 0 oder eB == eD, dann eB = rand().
    yD und eB zur Vorrichtung 12 senden.
    Während eB == 0 oder eB == eD, dann eB = rand().
    yB = h – eBrB mod p berechnen
    yB zur Vorrichtung 14 senden.
    yB zur Vorrichtung 10 senden.
    Wenn yBP + eBRB ! = hP, dann abweisen Wenn YBP + eBRB ! = yDP + eDRD, dann abweisen Wenn yDP + eDRD ! = hP, dann abweisen
  • Die oben angegebene Tabelle spezifiziert Schritte, die im Verlauf der bevorzugten Ausführungsform gemacht werden, um die Authentisierung der beiden Kommunikationsvorrichtungen (Vorrichtung 10, 12) durchzuführen, die eine Authentisierung durch eine dritte Partei (Vorrichtung 14) umfasst. Fachleuten ist ersichtlich, dass bestimmte Schritte in unterschiedlicher Reihenfolge ausgeführt werden können und dass, wie unten angegeben, bestimmte Schritte ausgelassen werden können.
  • Der erste Schritt, der in der bevorzugten Ausführungsform ausgeführt wird, besteht darin, dass jede der Vorrichtungen 10, 12 basierend auf dem gemeinsamen Geheimwert s eine Hash-Funktion berechnet. Bei der bevorzugten Ausführungsform ist diese Hash-Funktion die Hash-Funktion SHA-512, die in der "Federal Information Processing Standards Publication 1802" definiert ist. Es können andere ähnliche Hash-Funktionen verwendet werden. Der Wert h, der durch Anwendung der Hash-Funktion erzielt wird, wird von beiden Vorrichtungen 10, 12 verwendet. Durch die Verwendung eines Hash-Funktionswerts h anstelle der direkten Verwendung des Werts s wird das Verfahren sicherer, da der gemeinsame Geheimwert s bei den verschiedenen Berechnungen, die unten aufgeführt sind, nicht direkt verwendet wird. Bei der bevorzugten Ausführungsform kann der Wert s willkürlich von einer der Vorrichtungen 10, 12 erzeugt werden und daraufhin der anderen unter Verwendung eines sicheren Kommunikationskanals mitgeteilt werden, um bei einer Initialisierungstufe beiden Vorrichtungen den gemeinsamen Wert s bereitzustellen. Wenn die Vorrichtung 10 beispielsweise ein drahtloses Handgerät und die Vorrichtung 12 ein Unternehmensserver ist, kann der Wert des gemeinsamen Geheimwerts von dem Unternehmensserver erzeugt werden und daraufhin dem drahtlosen Handgerät mitgeteilt werden, wenn sich diese Vorrichtung in einer Ladestation befindet, die mittels einer sicheren Netzverbindung mit dem Unternehmensserver verbunden ist.
  • Nach der Ermittlung des Werts h besteht der nächste Schritt bei dem Authentisierungsverfahren der bevorzugten Ausführungsform darin, dass die Vorrichtung 10 einen willkürlichen Wert rD erzeugt, der mit einem Wert des öffentlichen Schlüssels P kombiniert wird. Dieser willkürliche Wert ist so definiert, dass er größer als 1 und kleiner als p – 1 ist. In diesem Beispiel ist p so definiert, dass er der Ordnung der Primuntergruppe von E(Fq) entspricht, die von dem Punkt P in der elliptischen Kurve E(Fq) erzeugt wird. Nachdem der willkürliche Wert rD erzielt wurde, wird der Wert RD berechnet, indem das Ergebnis der skalaren Multiplikation rDP genommen wird. Dieser randomisierte Wert des öffentlichen Schlüssels (RD) wird daraufhin mit dem Schlüssel-ID-Wert zur Vorrichtung 14 gesendet. Bei der Vorrichtung 14 wird an dem RD-Wert eine Fehlerprüfung durchgeführt. Wenn RD dem unendlich fernen Punkt entspricht, liegt ein Fehler im Wert des öffentlichen Schlüssels vor (wenn P ein gültiger öffentlicher Schlüssel ist, dann wird das Skalarprodukt nicht dem unendlich fernen Punkt entsprechen). Gemäß der bevorzugten Ausführungsform wird die Fehlerhandhabung durchgeführt, indem der Wert RD gleich dem willkürlichen Wert eingestellt wird (der durch den Pseudocode RD = rand() in Tabelle 1 spezifiziert ist). Der Wert RD und der Schlüssel-ID-Wert werden daraufhin von der Vorrichtung 14 zur Vorrichtung 12 weitergeleitet. Es wird darauf hingewiesen, dass die Vorrichtung 14 bei der bevorzugten Ausführungsform bestimmte Werte im Speicher behält, die sie empfängt und weiterleitet. Diese gespeicherten Werte werden, wie unten beschrieben, in einem letzten Autorisierungsschritt verwendet.
  • An der Vorrichtung 12 findet eine weitere Fehlerprüfung des RD-Werts statt (im Vergleich zu dem unendlich fernen Punkt) und, falls erforderlich, wird ein ähnlicher Fehlerbehandlungsschritt ausgeführt. Die Vorrichtung 12 erzeugt ebenfalls ihren eigenen willkürlichen Wert für die Kombination mit dem öffentlichen Schlüssel P. Der willkürliche Wert rB ist im Bereich von 1 bis p – 1 definiert und das Skalarprodukt rBP definiert den Wert RB. An der Vorrichtung 12 wird eine Fehlerprüfung durchgeführt, um sicherzustellen, das RB nicht gleich RD ist. Wenn diese Werte äquivalent sind, dann wird ein neuer willkürlicher Wert rB definiert und es wird ein neuer Wert RB berechnet. Dieser Schritt wird durchgeführt, da es, im Fall dass RBRD entspricht, für einen Angreifer möglich ist, den Wert von h zu ermitteln.
  • Ebenfalls wird bei diesem Schritt an der Vorrichtung 12 ein willkürlich definierter Herausforderungswert eD erzielt. Dieser Wert eD wird so erzeugt, dass er größer als 1 und kleiner als p – 1 ist. Sowohl der Wert eD als auch der Wert RB, die von der Vorrichtung 12 ermittelt werden, werden von der Vorrichtung 12 zur Vorrichtung 14 gesendet. Die Vorrichtung 14 kann mehrere ähnliche Transaktionen gleichzeitig mit einer Gruppe von Vorrichtungen ausführen, die die Vorrichtung 10 umfasst. Um der Vorrichtung 14 zu ermöglichen, zu bestimmen, welchem der Sätze von Vorrichtungen, die die Vorrichtung 10 umfassen, die Werte zuzusenden sind, wird der Schlüssel-ID-Wert zusammen mit dem eD-Wert und dem RB-Wert ebenfalls von der Vorrichtung 12 zur Vorrichtung 14 zurückgesendet.
  • An der Vorrichtung 14 wird eine Fehlerprüfung des RB-Werts durchgeführt. Der RB-Wert wird mit dem unendlich fernen Punkt verglichen und es wird potenziell ein Fehlerhandhabungsschritt durchgeführt. Der Vergleich und die Fehlerhandhabung werden in derselben Weise für den RB-Wert durchgeführt, in der in den vorangehenden Schritten, die oben ausgeführt sind, RD verglichen und ein Fehlerhandhabungsschritt durchgeführt wurde. Ebenso werden die Werte von RD und RB miteinander verglichen und wenn ermittelt wird, dass sie äquivalent sind, dann wird als Fehlerhandhabungsschritt RB als willkürlicher Wert definiert. Die Äquivalenz von RD und RB wird als Fehlerzustand erkannt, weil die Vorrichtung 12 RB in einer Weise erzeugt, die sicherstellt, dass er einen Wert aufweist, der von RD verschieden ist. Wenn die beiden Werte bei Empfang durch die Vorrichtung 14 identisch sind, dann muss ein Fehler bei der Übertragung vorgelegen haben oder ein Angreifer hat die Werte neu definiert.
  • Zu diesem Zeitpunkt wird an der Vorrichtung 14 eine weitere Prüfung durchgeführt, um sicherzustellen, dass eD nicht den Wert 0 aufweist. Wenn der Wert 0 ist, dann wird der Wert eD auf einen willkürlichen Wert eingestellt. Wenn eD auf einen Wert von 0 eingestellt wurde (potenziell durch einen Angreifer, der Informationen erhalten möchte, um eine falsche Authentisierung zu ermöglichen), dann wird der Wert von h möglicherweise bekannt. Um dies zu verhindern, wird eD ein willkürlicher Wert zugeordnet. Obwohl die Prüfung, die sicherstellt, dass RD nicht gleich RB ist und die Prüfung, die sicherstellt, dass eD nicht gleich 0 ist, als Fehlerprüfungen bezeichnet werden können, wird darauf hingewiesen, dass diese Prüfungen durchgeführt werden, um sicherzustellen, dass ein Angreifer nicht in der Lage ist, Informationen über den Wert von h zu erhalten.
  • Wenn die Prüfung, auf die oben Bezug genommen wurde, abgeschlossen ist, sendet die Vorrichtung 14 die Schlüssel-ID, RB und eD zur Vorrichtung 10.
  • Bei Empfang der Schlüssel-ID, und der Werte RB und eD führt die Vorrichtung 10 bei der bevorzugten Ausführungsform dieselben Prüfungen durch, die an der Vorrichtung 12 durchgeführt wurden, und führt dieselben Fehlerhandhabungsschritte durch (wobei nach Bedarf entweder RB oder eD auf 0 eingestellt wird). Wie im Fall der Übertragung der Werte zwischen der Vorrichtung 12 und der Vorrichtung 14, ist die Übertragung zwischen der Vorrichtung 14 und der Vorrichtung 10 ein potenzieller Punkt, an dem ein Angreifer versuchen kann, Werte zu andern, um durch eine inkorrekte Authentisierung einer Vorrichtung auf den Kommunikationskanal zugreifen zu können.
  • Nachdem die Prüfung der Werte RB und eD an der Vorrichtung 10 stattgefunden hat, wird, wie in Tabelle 1 gezeigt, ein yD-Wert berechnet. Die Definition des Werts lautet: yD = h – eDrD mod p
  • Wie weiter unten ausführlicher beschrieben, wird der Wert yD für Vergleiche verwendet, die die Vorrichtungen 10, 12 untereinander und für die Vorrichtung 14 authentisieren.
  • Ein anderer Schritt, der von der Vorrichtung 10 durchgeführt wird, besteht in der Erzeugung eines Herausforderungswerts. Dieser Herausforderungswert ist ein Wert eB, der willkürlich aus dem Bereich von größer als 1 und kleiner als p – 1 ausgewählt wird. Sowohl der Wert yD als auch der Wert eB werden zur Vorrichtung 14 gesendet.
  • An der Vorrichtung 14 wird der Wert eB mit 0 und eD verglichen. Wenn eB einen Wert aufweist, der einem von diesen entspricht, dann wird eB auf einen willkürlichen Wert eingestellt.
  • Die Vorrichtung 14 sendet den Wert eB zusammen mit dem Wert yD daraufhin zur Vorrichtung 12. An der Vorrichtung 12 wird der Wert eB wiederum geprüft (mit 0 und eD verglichen) und wenn die Prüfung nicht erfolgreich ist, wird eB auf einen willkürlichen Wert eingestellt. Daraufhin wird ein Wert yB berechnet: yB = h – eBrB mod p
  • Wie ersichtlich ist, wird der Wert yB in symmetrischer Weise zur Definition von yD definiert. Der Wert yB wird von der Vorrichtung 12, in der er berechnet wurde, zur Vorrichtung 14 und von dort zur Vorrichtung 10 gesendet.
  • An diesem Punkt bei dem Verfahren wurden die Werte yD und RD von der Vorrichtung 10 zur Vorrichtung 12 gesendet und die Werte yB und RB wurden von der Vorrichtung 12 zur Vorrichtung 10 gesendet. Des Weiteren wurden Kopien der Werte, die zur Vorrichtung 14 weitergeleitet und von dieser gesendet wurden, ebenfalls bei der Vorrichtung 14 gespeichert. Wie aus dem letzten Schritt von Tabelle 1 ersichtlich ist, werden die Authentisierungsschritte folglich ausgeführt, um zu verifizieren, dass sowohl die Vorrichtung 10 als auch die Vorrichtung 12 über denselben gemeinsamen Geheimwert s verfügen.
  • Insbesondere findet bei der Vorrichtung 14 eine Authentisierung der beiden Vorrichtungen statt, wenn und nur wenn yBP + eBRB = yDP + eDRD.
  • Bei der Vorrichtung 10 findet eine Authentisierung der Vorrichtung 12 statt, wenn und nur wenn yBP + eBRB = hP.
  • Bei der Vorrichtung 12 findet eine Authentisierung der Vorrichtung 10 statt, wenn und nur wenn yDP + eDRD = hP.
  • Wie Fachleuten ersichtlich ist, verwendet das oben erläuterte Authentisierungsverfahren bestimmte der mathematischen Operationen und Äquivalenzen, die in dem Identifikationsschema von Schnorr beschrieben und verwendet werden (siehe beispielsweise A. Menezes, P. van Oorschot und S.
  • Vanstone Handbook of Applied Cryptography, CRC Press, New York, 1997, Seite 414–415). Die bevorzugte Ausführungsform ermöglicht jedoch zwei Vorrichtungen, einander gegenseitig zu authentisieren und einer dritten Vorrichtung zu ermöglichen, beide Vorrichtungen zu authentisieren. Die Authentisierung wird von der dritten Vorrichtung (Vorrichtung 14 in dem Beispiel) trotz der Tatsache ausgeführt, dass die dritte Vorrichtung den Geheimwert s, der den beiden Vorrichtungen 10, 12 gemeinsam ist, nicht kennt. Es wird angemerkt, dass die gegenseitige Authentisierung zwischen den Vorrichtungen 10, 12 gleichzeitig als Folge davon ausgeführt wird, dass eine Reihe von einander überlappenden Schritten ausgeführt worden sind.
  • Das Authentisierungsverfahren der bevorzugten Ausführungsform ist für die Verwendung geeignet, wenn ein Kommunikationskanal zwischen zwei Vorrichtungen definiert wird und eine dritte Vorrichtung Informationen bereitstellt, um zu ermöglichen, dass der Kanal eingerichtet wird. Dies kann auftreten, wenn ein drahtloses Handgerät eine Routervorrichtung verwendet, um Zugriff auf einen Unternehmensserver zu erhalten. Die Routervorrichtung fungiert als dritte Vorrichtung, die eine Authentisierung des Servers und des drahtlosen Handgeräts verlangt. Das oben genannte Verfahren ermöglicht, dass eine derartige Authentisierung ausgeführt wird und dass die dritte Vorrichtung (zum Beispiel der Router) die Authentisierung vornimmt, ohne dass sie den Geheimwert kennt und mit einem verringerten Satz von Zustandsinformationen.
  • Die oben ausgeführte Beschreibung der bevorzugten Ausführungsform umfasst eine Fehlerprüfung, die auf den R-Wert angewendet wird. Dies wird ausgeführt, um zu bestimmen, ob R ein gültiger öffentlicher Schlüsselwert ist. Wie ersichtlich ist, kann diese Fehlerprüfung aus dem Verfahren der bevorzugten Ausführungsform ausgelassen werden, wenn sichergestellt werden kann, dass RD nicht gleich RB ist, obwohl im Allgemeinen bevorzugt wird, dass diese Prüfung durchgeführt wird, um sicherzustellen, dass das Verfahren korrekt ausgeführt wird. Des Weiteren beschreibt die bevorzugte Ausführungsform die Berechnung eines Hash-Wertes des Geheimwerts an der Vorrichtung 10 und an der Vorrichtung 12. Die Verwendung einer Hash-Funktion zur Codierung des Geheimwerts s als Wert h ist nicht erforderlich, obwohl sie ein bevorzugter Schritt ist, um die direkte Verwendung des Geheimwerts zu minimieren. Wenn keine Verwendung einer Hash-Funktion in dieser Weise vorliegt, wird der Geheimwert dafür verwendet, um die verschiedenen Authentisierungswerte direkt zu berechnen.
  • Wie oben erwähnt, kann das Authentisierungsverfahren verwendet werden, um einen Kommunikationskanal von einer Vorrichtung durch eine dritte Vorrichtung zu einer zweiten Vorrichtung einzurichten. In diesem Fall ist es vorteilhaft, ein Authentisierungsprotokoll zu verwenden, um den Kanal zwischen der dritten Vorrichtung und einer der anderen beiden Vorrichtungen zu schließen. Bei der bevorzugten Ausführungsform kann auf der Basis, dass die dritte Vorrichtung bestimmte Werte beibehält, ein derartiges authentisiertes Schließprotokoll verwendet werden. Insbesondere behält die dritte Vorrichtung (Vorrichtung 14 im Beispiel aus 1), nachdem die Authentisierung vor der Einrichtung des Kommunikationskanals stattgefunden hat, die Werte yDP + eDRD, RD, RB, eD, eB bei. Die Vorrichtung 12 behält die Werte RD, RB, eD, eB, h bei. In Tabelle 2 ist ein Authentisierungsverfahren aufgeführt, das verwendet wird, wenn die Vorrichtung 14 die Vorrichtung 12 authentisiert hat, wie oben ausgeführt, und die Vorrichtung 12 den Kommunikationskanal schließen will.
    Vorrichtung 14 Vorrichtung 12
    Vorrichtung 12 beginnt das Schließen der Verbindung mit Vorrichtung 14. Willkürliches rC wählen,
    1 < rC < p – 1
    RC = rCP berechnen
    Während RC == RB oder RC == RB, dann ein anderes RC wählen.
    RC zur Vorrichtung 14 senden.
    Während RC == unendlich ferner Punkt oder RC == RB oder RC == RD, dann RC = rand().
    Willkürliches eC erzeugen, 1 < eC < p – 1
    Während eC == eD oder eC == eB, dann ein anderes eC wählen.
    eC zur Vorrichtung 12 senden.
    Während eC == 0 oder eC == eD oder eC == eB, dann eC = rand().
    yC = h – eCrC mod p berechnen
    yC zur Vorrichtung 14 senden.
    Wenn yCP + eCRC ! = yDP + eDRD, dann ablehnen
  • Wie aus dem oben Genannten ersichtlich ist, ist die Authentisierung für das Schließprotokoll verfügbar, sogar obwohl die Vorrichtung 14 (die dritte Vorrichtung) den Sicherheitswert s oder den Hash-Wert h nicht besitzt oder direkt verwendet. In diesem Fall folgt die Authentisierung dem Schnorr-Identifikationsplan, basierend auf den von den Vorrichtungen (Vorrichtung 12, 14 in dem gegebenen Beispiel) behaltenen Werten, auf die oben Bezug genommen wird. Diese Werte stehen der dritten Vorrichtung als Folge der Verwendung des oben beschriebenen Authentisierungsverfahrens zur Verfügung.
  • Nachdem somit verschiedene Ausführungsformen der vorliegenden Erfindung ausführlich beispielhaft beschrieben worden sind, ist Fachleuten ersichtlich, dass Veränderungen und Modifikationen vorgenommen werden können, ohne von der Erfindung abzuweichen. Die Erfindung umfasst alle derartigen Veränderungen und Modifikationen, die in den Bereich der angehängten Ansprüche fallen.

Claims (21)

  1. Verfahren zur Authentisierung einer ersten und einer zweiten Vorrichtung durch eine dritte Vorrichtung, wobei die erste und die zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, jede der Vorrichtungen über einen öffentlichen Schlüssel P verfügt, der so ausgewählt ist, dass der Vorgang der Ableitung des Geheimschlüsselwerts h aus dem Produkt hP ein rechnerisch schwieriger Vorgang ist, wobei das Verfahren folgende Schritte umfasst: die erste und die zweite Vorrichtung tauscht unter Verwendung der dritten Vorrichtung entweder einen ersten Wertesatz oder einen unterschiedlichen zweiten Wertesatz untereinander aus, so dass die erste Vorrichtung einen Wertesatz sendet, der sich von dem Wertesatz unterscheidet, den sie empfangt, die erste Vorrichtung berechnet unter Verwendung einer ersten Auswahl von Werten von sowohl dem ersten als auch dem unterschiedlichen zweiten Wertesatz einen ersten Ausdruck, der einen Wert aufweist, der dem Produkt hP entspricht, und die zweite Vorrichtung berechnet unter Verwendung einer anderen Auswahl von Werten von sowohl dem ersten Satz als auch dem unterschiedlichen zweiten Wertesatz einen zweiten Ausdruck, der einen Wert aufweist, der dem Produkt hP entspricht, und die dritte Vorrichtung behält Kopien von dem ersten und zweiten Wertesatz, der zwischen der ersten und der zweiten Vorrichtung ausgetauscht wird, wobei das Verfahren des Weiteren den Schritt aufweist, dass die dritte Vorrichtung die Werte des ersten Ausdrucks und des zweiten Ausdrucks berechnet und vergleicht, um die erste und die zweite Vorrichtung zu authentisieren.
  2. Verfahren nach Anspruch 1, wobei die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, wobei der Schritt der Authentisierung der ersten und der zweiten Vorrichtung durch die dritte Vorrichtung den Schritt umfasst, dass zwischen der ersten und der zweiten Vorrichtung ein Kommunikationskanal eingerichtet wird.
  3. Verfahren nach Anspruch 2, wobei der eingerichtete Kommunikationskanal die dritte Vorrichtung als Teil des Kanals umfasst und die dritte Vorrichtung die Werte beibehalten hat, die zwischen der ersten Vorrichtung und der zweiten Vorrichtung übertragen worden sind, wobei das Verfahren des Weiteren den Schritt umfasst, den Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung zu schließen, wobei der Schritt des Schließens des Kanals folgende Schritte umfasst: die zweite Vorrichtung und die dritte Vorrichtung tauschen Sätze von Schließauthentisierungswerten aus, um der dritten Vorrichtung zu gestatten, auf der Grundlage der beibehaltenen Werte und der Schließauthentisierungswerte eine Berechnung eines Ausdrucks durchzuführen, um das Schließen des Kommunikationskanals zu authentisieren.
  4. Verfahren nach einem der Ansprüche 1 bis 3, wobei jede der Vorrichtungen so betrieben werden kann, dass sie an definierten Gruppen E(Fq) und Zp mathematische Operationen ausführt, wobei Fq ein finites Feld der Primordnung q ist, einschließlich skalarer Multiplikation, die unter Bezugsnahme auf die Gruppe definiert ist, und der öffentliche Schlüssel P, der jeder der Vorrichtungen zur Verfügung steht, eine Primuntergruppe der Gruppe E(Fq) der Ordnung p erzeugt, wobei das Verfahren folgende Schritte umfasst: die erste Vorrichtung erhält einen beliebigen Wert rD, so dass 1 < rD < p – 1, und ein Wert RD = rDP wird berechnet, die erste Vorrichtung teilt den Wert RD der dritten Vorrichtung mit, die dritte Vorrichtung behält eine Kopie des Werts RD und leitet den Wert RD zur zweiten Vorrichtung weiter, die zweite Vorrichtung erhält einen beliebigen Wert rB, so dass 1 < rB < p – 1, und ein Wert RB = rBP wird berechnet, wobei RB so bestimmt wird, dass er nicht gleich RD ist, die zweite Vorrichtung erhält einen beliebigen Wert eD, so dass 1 < eD < p – 1, die zweite Vorrichtung teilt die Werte eD und RB der dritten Vorrichtung mit, die dritte Vorrichtung behält Kopien der Werte RB und eD und leitet diese Werte zur ersten Vorrichtung weiter, die erste Vorrichtung berechnet einen Wert yD = h – eDrD mod p, die erste Vorrichtung erhält einen beliebigen Wert eB, so dass 1 < eB < p – 1, die erste Vorrichtung teilt die Werte yD und eB der dritten Vorrichtung mit, die dritte Vorrichtung behält Kopien der Werte yD und eB und leitet diese Werte zur zweiten Vorrichtung weiter, die zweite Vorrichtung berechnet einen Wert yB = h – eBrB mod p, die zweite Vorrichtung teilt den Wert yB der dritten Vorrichtung mit, und die dritte Vorrichtung authentisiert die erste und zweite Vorrichtung, wenn die Bedingung yBP + eBRB = yDP + eDRD erfüllt ist.
  5. Verfahren nach Anspruch 4, das des Weiteren den Schritt umfasst, dass die erste Vorrichtung die zweite Vorrichtung autenthisiert, wenn die Bedingung yBP + eBRB = hP erfüllt ist.
  6. Verfahren nach Anspruch 4 oder Anspruch 5, das des Weiteren den Schritt umfasst, dass die zweite Vorrichtung die erste Vorrichtung authentisiert, wenn die Bedingung yDP + eDRD = hP erfüllt ist.
  7. Verfahren nach einem der Ansprüche 4 bis 6, bei dem die erste Vorrichtung durch ein nicht authentisierendes Etikett identifiziert wird und bei dem die zweite Vorrichtung einen Satz von Schlüsselwerten beibehält, wobei der Satz einen Schlüsselwert umfasst, den er mit dem Geheimschlüsselwert der ersten Vorrichtung gemeinsam hat, wobei das Verfahren den Schritt umfasst, dass die erste Vorrichtung das nicht authentisierende Etikett der zweiten Vorrichtung mitteilt, sodass die zweite Vorrichtung den Schlüsselwert, den sie mit dem Geheimschlüsselwert der ersten Vorrichtung gemeinsam hat, aus dem Satz von Schlüsselwerten auswählen kann.
  8. Verfahren nach einem der Ansprüche 4 bis 7, das des Weiteren den Schritt umfasst, den Wert h von einem gemeinsamen Geheimwert s abzuleiten.
  9. Verfahren nach Anspruch 8, wobei der Schritt des Ableiten des Wertes h den Schritt des Ausführens einer Einweghashfunktion an dem gemeinsamen Geheimwert s umfasst.
  10. Verfahren nach einem der Ansprüche 4 bis 9, das des Weiteren die Schritte umfasst, dass eine oder mehrere der ersten, zweiten und dritten Vorrichtung prüfen, dass der Wert eD nicht null ist und/oder dass der Wert eB nicht null ist.
  11. Verfahren nach einem der Ansprüche 4 bis 10, das des Weiteren die Schritte umfasst, dass eine oder mehrere der ersten, zweiten und dritten Vorrichtung prüfen, dass der Wert RB nicht dem unendlich fernen Punkt entspricht und/oder dass der Wert RD nicht dem unendlich fernen Punkt entspricht und/oder dass der Wert RB nicht dem Wert RD entspricht.
  12. Verfahren nach einem der Ansprüche 2 bis 11, wobei der Kommunikationskanal dadurch definiert ist, dass der ersten Vorrichtung eine Internetprotokolladresse zugeordnet wird.
  13. Verfahren nach einem der Ansprüche 3 bis 12, wobei die dritte Vorrichtung die Werte yD, P, eD und RD beibehalten hat und wobei das Verfahren des Weiteren den Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung schließt, wobei der Schritt des Schließens des Kanals folgende Schritte umfasst: die zweite Vorrichtung erhält einen beliebigen Wert rC, so dass 1 < rC < p – 1, und ein Wert RC = rCP wird berechnet, wobei RC darauf beschränkt ist, einen anderen Wert als RB und RD aufzuweisen, die zweite Vorrichtung teilt den Wert RC der dritten Vorrichtung mit, die dritte Vorrichtung erhält einen beliebigen Wert eC, so dass 1 < eC < p – 1, die dritte Vorrichtung teilt den Wert eC der zweiten Vorrichtung mit, die zweite Vorrichtung authentisiert den Schließvorgang, wenn die Bedingung yCP + eCRC = yDP + eDRD erfüllt ist.
  14. Verfahren nach Anspruch 13, das des Weiteren die Schritte umfasst, dass die zweite Vorrichtung prüft, dass der Wert eC nicht null ist.
  15. Verfahren nach Anspruch 13 oder Anspruch 14, das des Weiteren die Schritte umfasst, dass die dritte Vorrichtung prüft, dass der Wert RC nicht dem unendlich fernen Punkt entspricht.
  16. Verfahren nach einem der Ansprüche 13 bis 15, das des Weiteren die Schritte umfasst, dass entweder die zweite oder die dritte Vorrichtung oder sowohl die zweite als auch die dritte Vorrichtung prüfen, dass der Wert RC nicht dem Wert RB entspricht und nicht dem Wert RD entspricht und/oder dass der Wert eC nicht dem Wert eD entspricht und nicht dem Wert eB entspricht.
  17. Programmprodukt, das ein Medium umfasst, das einen ausführbaren Programmcode aufweist, der in dem Medium verwirklicht ist, wobei der ausführbare Programmcode auf verschiedene Weise in einer ersten Vorrichtung, einer zweiten Vorrichtung und einer dritten Vorrichtung ausführbar ist, wobei der ausführbare Programmcode so betrieben werden kann, dass er veranlasst, dass das Verfahren nach einem der Ansprüche 1 bis 16 ausgeführt wird.
  18. System, das eine erste Vorrichtung, eine zweite Vorrichtung und eine dritte Vorrichtung umfasst, wobei die erste und zweite Vorrichtung jeweils einen gemeinsamen Geheimschlüsselwert h besitzen, jeder der Vorrichtungen ein öffentlicher Schlüssel P zur Verfügung steht, der so ausgewählt wird, dass der Vorgang der Ableitung des Geheimschlüsselwerts h aus dem Produkt hP ein rechnerisch schwieriger Vorgang ist, und die erste Vorrichtung, die zweite Vorrichtung und die dritte Vorrichtung jeweils Speichereinheiten und Prozessoren zum Speichern und Ausführen von Programmcode umfassen, wobei das System Mittel umfasst, die dafür ausgelegt sind, die Übertragung von entweder einem ersten Satz von Werten oder einem anderen, zweiten Satz von Werten zwischen der ersten Vorrichtung und der zweiten Vorrichtung unter Verwendung der dritten Vorrichtung zu veranlassen, so dass die erste Vorrichtung einen Satz von Werten überträgt, der anders ist als der Satz von Werten, den sie empfangt, das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung unter Verwendung einer Auswahl von Werten sowohl aus dem ersten Satz als auch dem anderen, zweiten Satz von Werten einen ersten Ausdruck mit einem Wert berechnet, der dem Produkt hP entspricht, und die zweite Vorrichtung unter Verwendung einer anderen Auswahl von Werten sowohl aus dem ersten Satz als auch dem anderen, zweiten Satz von Werten einen zweiten Ausdruck mit einem Wert berechnet, der dem Produkt hP entspricht, das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien des ersten und zweiten Satzes von Werten behält, die zwischen der ersten und zweiten Vorrichtung übertragen werden, und das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die Werte des ersten Ausdrucks und des zweiten Ausdrucks berechnet und vergleicht, um die erste und zweite Vorrichtung zu authentisieren.
  19. System nach Anspruch 18, wobei die erste Vorrichtung ein drahtloses Handgerät ist, die zweite Vorrichtung ein Unternehmensserver ist und die dritte Vorrichtung ein Router ist, wobei das Mittel, die dafür ausgelegt sind, die Authentisierung der ersten und zweiten Vorrichtung durch die dritte Vorrichtung zu verursachen, Mittel umfassen, die dafür ausgelegt sind, einen Kommunikationskanal zwischen der ersten und zweiten Vorrichtung einzurichten.
  20. System nach Anspruch 19, wobei der eingerichtete Kommunikationskanal die dritte Vorrichtung als Teil des Kanals umfasst und die dritte Vorrichtung einen Speicher umfasst, um die Werte beizubehalten, die zwischen der ersten Vorrichtung und der zweiten Vorrichtung übertragen worden sind, wobei das System des Weiteren Mittel umfasst, die dafür ausgelegt sind, den Kommunikationskanal zwischen der zweiten Vorrichtung und der dritten Vorrichtung zu schließen, wobei das System ein Mittel zum Austausch von Sätzen von Schließauthentisierungswerten zwischen der zweiten Vorrichtung und der dritten Vorrichtung umfasst, um der dritten Vorrichtung zu ermöglichen, basierend auf den beibehaltenen Werten und den Schließauthentisierungswerten eine Berechnung eines Ausdrucks auszuführen, um das Schließen des Kommunikationskanals zu authentisieren.
  21. System nach einem der Ansprüche 18 bis 20, wobei jede der Vorrichtungen dafür ausgelegt ist, an definierten Gruppen E(Fq) und Zp mathematische Operationen auszuführen, wobei Fq ein finites Feld der Primordnung q ist, einschließlich skalarer Multiplikation, die unter Bezugsnahme auf die Gruppe definiert ist, und der öffentliche Schlüssel P, der jeder der Vorrichtungen zur Verfügung steht, eine Primuntergruppe der Gruppe E(Fq) der Ordnung p erzeugt, wobei das System Mittel umfasst, die dafür ausgelegt sind, dass die erste Vorrichtung einen beliebigen Wert rD erhält, so dass 1 < rD < p – 1, und einen Wert RD = rDP berechnet, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung den Wert RD der dritten Vorrichtung mitteilt, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung eine Kopie des Werts RD behält und den Wert RD zur zweiten Vorrichtung weiterleitet, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die zweite Vorrichtung einen beliebigen Wert rB erhält, so dass 1 < rB < p – 1, und einen Wert RB = rBP berechnet, wobei RB so bestimmt wird, dass er nicht gleich RD ist, und zu verursachen, dass die zweite Vorrichtung einen beliebigen Wert eD erhält, so dass 1 < eD < p – 1, und die Werte eD und RB der dritten Vorrichtung mitteilt, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien der Werte RB und eD behält und diese Werte zur ersten Vorrichtung weiterleitet, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die erste Vorrichtung einen Wert yD = h – eDrD mod p berechnet, zu verursachen, dass die erste Vorrichtung einen beliebigen Wert eB erhält, so dass 1 < eB < p – 1, und zu verursachen, dass die erste Vorrichtung die Werte yD und eB der dritten Vorrichtung mitteilt, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung Kopien der Werte yD und eB behält und diese Werte zur zweiten Vorrichtung weiterleitet, wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die zweite Vorrichtung einen Wert yB = h – eBrB mod p berechnet, und zu verursachen, dass die zweite Vorrichtung den Wert yB der dritten Vorrichtung mitteilt, und wobei das System Mittel umfasst, die dafür ausgelegt sind, zu verursachen, dass die dritte Vorrichtung die erste und zweite Vorrichtung authentisiert, wenn die Bedingung yBP + eBRB = yDP + eDRD erfüllt ist.
DE602004010494T 2004-04-30 2004-04-30 Kryptographische Authentifizierung einer Vorrichtung Expired - Lifetime DE602004010494T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP04101879A EP1596529B1 (de) 2004-04-30 2004-04-30 Kryptographische Authentifizierung einer Vorrichtung

Publications (2)

Publication Number Publication Date
DE602004010494D1 DE602004010494D1 (de) 2008-01-17
DE602004010494T2 true DE602004010494T2 (de) 2008-11-27

Family

ID=34929049

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004010494T Expired - Lifetime DE602004010494T2 (de) 2004-04-30 2004-04-30 Kryptographische Authentifizierung einer Vorrichtung

Country Status (13)

Country Link
EP (1) EP1596529B1 (de)
JP (2) JP4324128B2 (de)
KR (1) KR100720910B1 (de)
CN (1) CN1694402B (de)
AT (1) ATE380420T1 (de)
AU (2) AU2005201782B2 (de)
BR (1) BRPI0501453B1 (de)
CA (1) CA2505460C (de)
DE (1) DE602004010494T2 (de)
ES (1) ES2297338T3 (de)
HK (1) HK1083958A1 (de)
SG (1) SG116650A1 (de)
TW (1) TWI298980B (de)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602004010494T2 (de) * 2004-04-30 2008-11-27 Research In Motion Ltd., Waterloo Kryptographische Authentifizierung einer Vorrichtung
GB2453383A (en) * 2007-10-05 2009-04-08 Iti Scotland Ltd Authentication method using a third party
KR101337877B1 (ko) * 2009-12-11 2013-12-06 한국전자통신연구원 인증된 무선 채널을 이용한 데이터 통신 장치 및 방법
CA2830283C (en) 2011-03-25 2016-11-01 Certicom Corp. Interrogating an authentication device
US9369290B2 (en) * 2012-11-30 2016-06-14 Certicom Corp. Challenge-response authentication using a masked response value
US9727720B2 (en) 2012-11-30 2017-08-08 Certicom Corp. Challenge-response authentication using a masked response value
WO2015126398A1 (en) * 2014-02-20 2015-08-27 Empire Technology Development, Llc Device authentication in ad-hoc networks
KR101934321B1 (ko) 2014-04-09 2019-01-02 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 센서 데이터 이상 검출기
JP6888673B2 (ja) 2016-10-27 2021-06-16 株式会社デンソー デバイスを認証および認可するためのシステムおよび方法
CN111698225B (zh) * 2020-05-28 2022-08-19 国家电网有限公司 一种适用于电力调度控制系统的应用服务认证加密方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3308561B2 (ja) * 1990-11-14 2002-07-29 株式会社東芝 電子メール通信方法および送信側端末
US5491750A (en) * 1993-12-30 1996-02-13 International Business Machines Corporation Method and apparatus for three-party entity authentication and key distribution using message authentication codes
CN1181641C (zh) * 2001-11-13 2004-12-22 杭州中正生物认证技术有限公司 使用随机数的通信安全认证方法
US7194765B2 (en) * 2002-06-12 2007-03-20 Telefonaktiebolaget Lm Ericsson (Publ) Challenge-response user authentication
AU2003252817A1 (en) * 2002-03-13 2003-09-22 Koninklijke Philips Electronics N.V. Polynomial-based multi-user key generation and authentication method and system
DE602004010494T2 (de) * 2004-04-30 2008-11-27 Research In Motion Ltd., Waterloo Kryptographische Authentifizierung einer Vorrichtung

Also Published As

Publication number Publication date
TW200610340A (en) 2006-03-16
AU2005201782B2 (en) 2008-06-19
ES2297338T3 (es) 2008-05-01
KR100720910B1 (ko) 2007-05-25
CA2505460C (en) 2010-11-02
TWI298980B (en) 2008-07-11
AU2008221589A1 (en) 2008-10-16
BRPI0501453B1 (pt) 2017-05-23
DE602004010494D1 (de) 2008-01-17
CA2505460A1 (en) 2005-10-30
EP1596529B1 (de) 2007-12-05
KR20060047665A (ko) 2006-05-18
HK1083958A1 (en) 2006-07-14
CN1694400A (zh) 2005-11-09
SG116650A1 (en) 2005-11-28
JP2005323371A (ja) 2005-11-17
EP1596529A1 (de) 2005-11-16
ATE380420T1 (de) 2007-12-15
JP2009165176A (ja) 2009-07-23
JP4324128B2 (ja) 2009-09-02
CN1694402B (zh) 2011-09-14
AU2005201782A1 (en) 2005-11-17
BRPI0501453A (pt) 2006-01-10
JP5139362B2 (ja) 2013-02-06
AU2008221589B2 (en) 2010-09-16

Similar Documents

Publication Publication Date Title
DE60036112T2 (de) Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis
DE60311036T2 (de) Verfahren zur Authentisierung potentieller Mitglieder eingeladen, eine Gruppe anzuschliessen
DE69637505T2 (de) Verfahren zur Authentifizierung eines Teilnehmers in einer verteilten Client/Server Netzwerkumgebung
DE10307403B4 (de) Verfahren zum Bilden und Verteilen kryptographischer Schlüssel in einem Mobilfunksystem und Mobilfunksystem
EP1889503B1 (de) Verfahren zur vereinbarung eines sicherheitsschlüssels zwischen mindestens einem ersten und einem zweiten kommunikationsteilnehmer zur sicherung einer kommunikationsverbindung
DE60017292T2 (de) Authentifizierungsverfahren zwischen einem Teilnehmer und einem Dienstleister, der durch einen Netzbetreiber erreichbar ist, mittels Bereitstellung eines gesicherten Kanals
DE60037593T2 (de) Gesichertes ad hoc netzwerk sowie verfahren zu dessen betreiben
DE60114986T2 (de) Verfahren zur herausgabe einer elektronischen identität
DE19514084C1 (de) Verfahren zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer Benutzercomputereinheit U und einer Netzcomputereinheit N
DE602004000695T2 (de) Erzeugung von asymmetrischen Schlüsseln in einem Telekommunicationssystem
EP0872076B1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
DE60302276T2 (de) Verfahren zur ferngesteuerten Änderung eines Kommunikationspasswortes
EP1080557B1 (de) Verfahren und anordnung zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
WO1991014980A1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE102016210786A1 (de) Komponente zur Anbindung an einen Datenbus und Verfahren zur Umsetzung einer kryptografischen Funktionalität in einer solchen Komponente
DE102012206341A1 (de) Gemeinsame Verschlüsselung von Daten
EP1368929B1 (de) Verfahren zur authentikation
DE602004010494T2 (de) Kryptographische Authentifizierung einer Vorrichtung
CH711133A2 (de) Protokoll zur Signaturerzeugung.
DE112012000971B4 (de) Datenverschlüsselung
DE10392788T5 (de) Nichtablehnung von Dienstvereinbarungen
DE10393847T5 (de) Verfahren und Vorrichtung zum Auffinden einer gemeinsam genutzten vertraulichen Information ohne Beeinträchtigung nicht-gemeinsam genutzter vertraulicher Informationen
DE60105449T2 (de) Verfahren zur Steigerung der Sicherheit eines Verschlüsselungsverfahrens mit öffentlichen Schlüsseln
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
DE602005004341T2 (de) Cookie-basiertes Verfahren zur Authentifizierung von MAC-Nachrichten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP, 80336 MUENCHEN