DE102010002241B4 - Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung - Google Patents

Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung Download PDF

Info

Publication number
DE102010002241B4
DE102010002241B4 DE201010002241 DE102010002241A DE102010002241B4 DE 102010002241 B4 DE102010002241 B4 DE 102010002241B4 DE 201010002241 DE201010002241 DE 201010002241 DE 102010002241 A DE102010002241 A DE 102010002241A DE 102010002241 B4 DE102010002241 B4 DE 102010002241B4
Authority
DE
Germany
Prior art keywords
authentication
variable
coordinate
point
authentication data
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 - Fee Related
Application number
DE201010002241
Other languages
English (en)
Other versions
DE102010002241A1 (de
Inventor
Johann Heyszl
Frederic Stumpf
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.)
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Original Assignee
Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
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 Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV filed Critical Fraunhofer Gesellschaft zur Forderung der Angewandten Forschung eV
Priority to DE201010002241 priority Critical patent/DE102010002241B4/de
Publication of DE102010002241A1 publication Critical patent/DE102010002241A1/de
Application granted granted Critical
Publication of DE102010002241B4 publication Critical patent/DE102010002241B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/3247Cryptographic 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 digital signatures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor

Abstract

Vorrichtung (100; 600) zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation, mit folgenden Merkmalen: einem Zufallszahlengenerator (110), der ausgelegt ist, um eine Zufallszahl (r) zu erzeugen; und einem Elliptische-Kurven-Prozessor (120), der ausgelegt ist, um eine x-Koordinate (xR) eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl (r) mit einem Basispunkt (P) der festgelegten elliptischen Kurve zu berechnen, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um eine Authentifikationsvariable (v) basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl (r), der x-Koordinate (xR) des Kurvenpunkts, eines geheimen Schlüssels (skey) und eines auf einer Laufvariablen (i) basierenden Faktors (i') zu berechnen. wobei der Divisor der Modulo-Funktion die Ordnung (n) des Basispunkts (P) der festgelegten elliptischen Kurve ist, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um die berechnete x-Koordinate (xR) des Kurvenpunkts und die Authentifikationsvariable (v) als Authentifikationsdaten für eine einseitige Authentifikation bereitzustellen, und wobei der Elliptische-Kurven-Prozessor...

Description

  • Ausführungsbeispiele gemäß der Erfindung beziehen sich auf Konzepte zur Geräteauthentifizierung und insbesondere auf eine Vorrichtung und ein Verfahren zum Bereitstellen von Authentifikationsdaten und auf eine Vorrichtung und ein Verfahren zum Verifizieren von Authentifikationsdaten sowie ein Authentifikationssystem.
  • Das sich authentifizierende Gerät ist in seinen Fähigkeiten im Allgemeinen sehr eingeschränkt. Dies bezieht sich sowohl auf die Rechenleistung, die Sende- und Empfangsmöglichkeiten und die Stromversorgung. Häufig ist ebenfalls die Möglichkeit des Empfangen von Nachrichten in vielen Fallen eingeschränkt oder nicht vorhanden. Sowohl der Rechenaufwand als auch die Länge der Nachrichten ist durch die Batteriekapazität und erwartete Lebensdauer stark begrenzt.
  • Trotz der Einschränkungen muss durch kryptographische Algorithmen und Protokolle ein hohes Sicherheitsniveau garantiert werden. Der Rechenaufwand auf Seite des eingeschränkten sich authentifizierenden Geräts muss minimiert werden. Die Anzahl der übertragenen Nachrichten und Länge der Nachrichten muss daher entsprechend minimiert werden. Im besten Fall wird nur eine einzige Nachricht übertragen, so dass das sich authentifizierende Gerät durch Wegfall der Empfangsbereitschaft und des Empfangen, ein Minimum an Energie benötigt.
  • Gerätauthentifizierung bezeichnet den Vorgang, bei dem eine Partei einer anderen Partei ausreichend Belege präsentiert, um diese ihrer Identität zu versichern. Gerätauthentifizierung wird bereits bei vielfältigen Anwendungen eingesetzt, und die Nachfrage nach Gerätauthentifizierung bei neuen Anwendungen nimmt ständig zu. Ein Fernzugriff auf Gebäude oder Garagen sind Beispiele für derartige Anwendungen. Ein Benutzer erlangt Zugang zu einem Gebäude nur dann, wenn er im Besitz des gültigen Authentifizierungstokens (Authentifizierungsgerätes) ist. Bei vielen Anwendungen, bei denen traditionell ein Schlüssel verwendet wurde, wird der Schlüssel durch eine elektronische Authentifizierungsvorrichtung ersetzt. Diese Vorrichtung ist bezüglich ihrer Energieversorgung und ihrer Rechenfähigkeit üblicherweise sehr eingeschränkt. Ein weiterer Anwendungsfall ist die Authentifizierung von Transaktionen unter Verwendung von Authentifizierungstoken.
  • Es gibt vielerlei Arten und Weisen, eine Gerätauthentifizierung auf einer eingeschränkten Vorrichtung zu implementieren. Sehr einfache Vorrichtungen für Anwendungen mit niedrigen Sicherheitsanforderungen übertragen zur Authentifizierung einfach eine Seriennummer. Komplexere Vorrichtungen integrieren kryptographische Schemata in die Authentifizierungsprozedur. Allgemein unterscheiden wir zwischen Schemata, die leichte, symmetrische oder asymmetrische kryptographische Algorithmen verwenden. Manche kryptographische Algorithmen sind urheberrechtlich geschützt, während andere in der akademischen Forschungsgemeinschaft hinreichend bekannt, intensiv erforscht und akzeptiert sind. Allgemein liegt ein Kompromiss zwischen dem bereitgestellten Sicherheitsniveau und der Rechenkomplexität vor.
  • Eine Gerätauthentifizierung kann beispielsweise anhand einer leichten Kryptographie erzielt werden. Leichte Kryptographie umfasst z. B. Schemata, die einfache Hash-Algorithmen zur Gerätauthentifizierung verwenden (S/KEY scheme, „L. Lamport, Password authentication with insecure communication. Commun ACM, 24 (11): 770–772, 1981”). Jedoch ist für viele Anwendungen die Verwendung von leichter Kryptographie zur Gerätauthentifizierung nicht geeignet, da sie keine ausreichende Sicherheit bietet. Es gibt bekannte Beispiele für fehlgeschlagene Versuche, sichere Authentifizierungstokens zu erzeugen, indem man leichte Algorithmen integriert. Diese umfassen den Mifare (eingetragenes Warenzeichen) Chip von NXP (eingetragenes Warenzeichen) mit dem Crypto-1-Algorithmus und Produkte, die den Keeloq-Algorithmus verwenden. In beiden Fällen erwiesen sich urheberrechtlich geschützte leichte symmetrische Algorithmen als unsicher (”N. T. Courtois, K. Nohl, and S. O'Neil. Algebraic attacks on the crypto-1 stream cipher in mifare classic and oyster cards. Cryptology ePrint Archive, Report 2008/166, 2008”, ”T. Eisenbarth, T. Kasper, A. Moradi, C. Paar, M. Salmasizadeh, and M. T. M. Shalmani. Physical cryptanalysis of keeloq code hopping applications. Cryptology ePrint Archive, Report 2008/058, 2008”).
  • Asymmetrische Algorithmen haben Schlüssel-Paare mit jeweils einem öffentlichen und einem privaten Schlüssel. Im Gegensatz zu symmetrischen Algorithmen, bei deren Implementierung ein einziger geheimer Schlüssel auf alle beteiligten Geräte verteilt werden muss, sind die geheimen, privaten Schlüssel bei asymmetrischen Algorithmen nur jeweils einmal auf einem einzelnen Gerät gespeichert. So ist es unmöglich, den geheimen Schlüssel eines Geräts durch Kompromittierung anderer Geräte zu erfahren.
  • Bisher wurde im Allgemeinen davon ausgegangen, dass hoch-sichere und vorteilhafte asymmetrische kryptographische Algorithmen nicht auf eingeschränkten Geräten implementierbar seien. Daher wurde das vorliegende Problem bisher vorwiegend mit Hilfe von symmetrischen Algorithmen gelöst.
  • Gerätauthentifizierung umfasst z. B. einen Aspekt von Aktualität bezüglich des Zeitpunkts, zu dem der Identitätsbeweis erstellt wurde. Ein Identitätsbeweis wird dann für einen bestimmten (aktuellen) zeitlichen Augenblick bereitgestellt (”A. J. Menezes, P. C. V. Oorschot, S. A. Vanstone, and R. L. Rives. Handbook of Applied Cryptography. CRC Press, Inc., Boca Raton, FL, USA, 2001”.).
  • Z. B. beinhaltet eine starke Authentifizierung Challenge-Response-Protokolle (Herausforderung-Antwort-Protokoll) auf der Basis symmetrischer oder asymmetrischer kryptographischer Algorithmen. Es wird eine Antwort (Response) auf eine zeitvariable Herausforderung (Challenge) geliefert, wobei die Antwort sowohl von dem geheimen Schlüssel des beweisenden Geräts als auch von der Challenge abhängt. Das Geheimnis wird nicht preisgegeben. Zeitvariable Parameter stellen den Bezug zum Ausführungszeitpunkt her und dienen dazu, mehrere Ausführungen eines Protokolls voneinander zu unterscheiden. Sie können z. B. entweder durch Zufallszahlen, Laufvariablen oder Zeitstempel verwirklicht werden (”A. J. Menezes, P. C. V. Oorschot, S. A. Vanstone, and R. L. Rives. Handbook of Applied Cryptography. CRC Press, Inc., Boca Raton, FL, USA, 2001”.).
  • Bei einer einseitigen Authentifizierung beweist lediglich einer der Teilnehmer seine Identität gegenüber dem anderen. Bei einer gegenseitigen Authentifizierung beweisen sich beide Teilnehmer gegenseitig ihre Identität. Ein Einzelnachricht-Protokoll (one-pass protocol) wird durch die Übertragung einer einzigen Nachricht bewerkstelligt. Bei einem Zwei-Nachrichten-Protokoll (two-pass protokol) sendet der Empfänger der ersten Nachricht eine Antwortnachricht zurück. Ein N-Fach-Durchlauf-Protokoll (n-pass protocol) umfasst n Nachrichten.
  • Bezüglich schon erwähnter Einschränkungen sind Protokolle, die nur eine übertragene Nachricht benötigen vorteilhaft. Das Keeloq Code Hopping Protokoll (”Microchip. An Introduction to KeeLoq Code Hopping. http://ww1.microchip.com/downloads/en/appnotes/91002a.pdf, 1996”.) benötigt zwar nur eine übertragene Nachricht, die Sicherheit des verwendeten proprietären Algorithmus ist jedoch unzureichend wie von Eisenbarth et al. gezeigt wurde („T. Eisenbarth, T. Kasper, A. Moradi, C. Paar, M. Salmasizadeh, and M. T. M. Shalmani. Physical cryptanalysis of keeloq code hopping applications. Cryptology ePrint Archive, Report 2008/058, 2008.”).
  • Außerdem gibt es Lösungen, die auf digitalen Signaturen beruhen, welche zwar nur eine übertragene Nachricht benötigen, deren Rechenaufwand auf Seiten des sich identifizierenden Geräts aber deutlich höher ist. Der Nachteil bei der Verwendung von Signaturen ist die zwingende Notwendigkeit der Berechnung eines Hash Wertes. Bei einer ECDSA (Elliptic Curve Digital Signature Algorithm) Signatur muss beispielsweise ein SHA-1 Hash Wert berechnet werden.
  • Vorrichtungen, die bei Anwendungen wie der Zugangskontrolle verwendet werden, müssen ein Mittel zur wiederholten einseitigen Gerätauthentifizierung liefern und dabei ein Minimum an Energie, Speicher und übertragenen Daten aufwenden. Kürzliche Entwicklungen zeigen, dass asymmetrische Kryptographie bei eingeschränkten Vorrichtungen in der Tat durchführbar ist (”M. Braun, E. Hess, and B. Meyer. Using elliptic curves on rfid tags. IJCSNS, 8 (2): 1–9, 2008”, ”Y. K. Lee, K. Sakiyama, L. Batina, and I. Verbauwhede. Elliptic curve based security processor for rfid. IEEE Trans. Computers, 57 (11): 1514–1527, 2008”). Jedoch werden effiziente Protokolle benötigt, um hocheffiziente Lösungen zu erhalten, bei denen die Berechnung, Datenspeicherung und der Datentransfer auf ein Minimum reduziert werden.
  • Z. B. gibt es drei Arten und Weisen, asymmetrische Kryptographie zur Gerätauthentifizierung zu verwenden.:
    So kann ein Beweisender, der eine Challenge, die unter seinem öffentlichen Schlüssel verschlüsselt ist, entschlüsseln. Ein Beweisender kann eine Signatur verwenden, um unter Verwendung seines geheimen Schlüssels eine Challenge zu signieren. Oder es können Identifikationsprotokolle wie die des Schnorr-, Okamoto- oder GPS-Protokolls verwendet werden.
  • Feldhofer et al. (”M. Feldhofer, S. Dominikus, and J. Wolkerstorfer. Strong Authentication for RFID systems using the AES algorithm. In M. Joye and J. Quisquater, editors, Workshop on Cryptographic Hardware and Embedded Systems – CHES 2004, volume 3156 of Lecture Notes in Computer Science, pages 357–370, Boston, Massachusetts, USA, August 2004. IACR, Springer-Verlag”, „M. Feldhofer, J. Wolkersdorfer, and V. Rijmen. AES implementation on a grain of sand. Information Security, IEEE Proceedings, 152 (1): 13–20, 2005”.) zeigten, dass die Gerätauthentifizierung unter Verwendung des symmetrischen kryptographischen Algorithmus AES auf effiziente Weise implementiert werden kann. Jedoch ist die asymmetrische Kryptographie aufgrund von Vorteilen bezüglich der Schlüsselverwaltung überlegen.
  • Lee et al. (”Y. K. Lee, K. Sakiyama, L. Batina, and I. Verbauwhede. Elliptic curve based security processor for rfid. IEEE Trans. Computers, 57 (11): 1514–1527, 2008”.) präsentieren eine Implementierung des Schnorr-Identifikationsprotokolls. Sie umfasst einen EK-Prozessor für Skalr-Punkt-Multiplikationen und eine Mikrosteuerung für die arithmetischen Operationen Modulo der Ordnung des Basispunktes.
  • Batina et al. (”L. Batina, J. Guajardo, T. Kerins, N. Mentens, P. Tuyls, and I. Verbauwhede. Public-key cryptography for rfid-tags. In PERCOMW '07: Proceedings of the Fifth IUEEE International Conference on Pervasive Computing and Communications Workshops, pages 217–222, Washington, Dc, US, 2007. IEEE Computer Society”.) stellen eine Implementierung des Okamoto-Identifikationsprotokolls vor.
  • Das Schnorr Protokoll (”C.-P. Schnorr, Efficient identification and signatures for smart cards. In CRYPTO '89: Proceedings of the 9th Annual International Cryptology Conference on Advances in Cryptology, pages 239–252, London, UK, 1190. Springer-Verlag” EP 0383985 , USP 4995082 ) ist ein sehr effizientes Protokoll zur Authentifizierung. Der Nachteil des Schnorr Protokolls sowie des Okamoto Protokolls (”T. Okamoto. Provably secure and practical identification scheme and corresponding signature schemes. In CRYPTO '92: Proceedings of the 12th Annual International Cryptology Conference on Advances in Cryptology, pages 31–53, London, UK, 1993. Springer-Verlag”.) ist jedoch, dass mehr als eine Nachricht übertragen werden muss.
  • McLoone und Robshaw (”M. McLoone and M. J. B. Robshaw. Public key cryptography and rfid tags. In CT-RSS, pages 372–9384, 2007”.) stellen eine Implementierung des EK-basierten GPS-Identifikationsschemas vor. Jedoch konzentrieren sie sich auf prozessentkoppelt vorab berechnete Coupons (Berechtigungsschein), wobei sie somit lediglich eine begrenzte Anzahl von Authentifizierungen ermöglichen.
  • Braun et al. (”M. Braun, E. Hess, and B. Meyer. Using elliptic curves on rfid tags. IJCSNS, 8 (2): 1–9, 2008”.) präsentierten ein neuartiges Zwei-Nachrichten-Protokoll zur einseitigen Authentifizierung für RFID Tags. Es ist ein effizientes Schema bezüglich einer Zwei-Nachrichten-Authentifizierung. Das bemerkenswerte Merkmal des von Braun et al. vorgeschlagenen Protokolls besteht darin, dass bei der Beweisvorrichtung modulare arithmetische Operationen modulo der Ordnung des Basispunkts vollständig vermieden werden. Die Effizienz des Schemas wurde von Bock et al. (”H. Bock, M. Braun, M. Dichtl, E. Hess, J. Heyszl, W. Kargl, H. Koroschetz, B. Meyer, and H. Seuschek. A milestone towards rfid products offering asymmetric authentication based on elliptic curve cryptography. 2008”.) demonstriert, die einen EK-Prozessor für EK-Skalar-Punkt-Multiplikationen implementierten. Jedoch kann der Lösungsansatz von Braun et al. nicht dazu verwendet werden, Einzelnachricht-Authentifizierungsprotokolle durchzüfhren.
  • Die Druckschrift US 2007/0279227A1 beschreibt Authentifikationsverfahren und Vorrichtungen, die Hash-Ketten verwenden. Dabei ist eine Vorrichtung zum Bereitstellen von authentifikationsdaten für eine wiederholbare, einseitige Authentifikation beschrieben, die einen Elliptische-Kurven-Prozessor verwendet. Dieser berechnet eine Authentifikationsvariable, die auf einem geheimen Schlüssel und einem Basispunkt basiert, welcher unter Anwendung einer invertierbaren Funktion auf eine Laufvariable bestimmt wird.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Konzept für eine wiederholbare, einseitige Authentifikation zu schaffen, die eine möglichst sichere Authentifikation mit geringem Aufwand ermöglicht.
  • Diese Aufgabe wird durch eine Vorrichtung gemäß Anspruch 1 oder 10, ein Authentifikationssystem gemäß Anspruch 15 oder ein Verfahren gemäß Anspruch 16 oder 17 gelöst.
  • Ein Ausführungsbeispiel gemäß der Erfindung schafft eine Vorrichtung zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation. Die Vorrichtung umfasst einen Zufallszahlengenerator und einen Elliptische-Kurven-Prozessor. Der Zufallszahlengenerator ist ausgelegt, um eine Zufallszahl zu erzeugen und der Elliptische-Kurven-Prozessor ist ausgelegt, um eine x-Koordinate eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl mit einem Basispunkt der festgelegten elliptischen Kurve zu berechnen. Des Weiteren ist der Elliptische-Kurven-Prozessor ausgelegt, um eine Authentifikationsvariable basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl, der x-Koordinate des Kurvenpunkts, eines geheimen Schlüssels und eines auf einer Laufvariablen basierenden Faktors zu berechnen, wobei der Divisor der Modulo-Funktion die Ordnung des Basispunkts der festgelegten elliptischen Kurve ist. Zusätzlich ist der Elliptische-Kurven-Prozessor ausgelegt, um die berechnete x-Koordinate des Kurvenpunkts und die Authentifikationsvariable als Authentifikationsdaten für eine einseitige Authentifikation bereitzustellen. Ferner ist der Elliptische-Kurven-Prozessor ausgelegt, um vor einer Berechnung einer neuen Authentifikationsvariable für eine wiederholte, einseitige Authentifikation die Laufvariable auf eine vorbestimmte deterministische Weise zu variieren.
  • Ausführungsbeispiele gemäß der Erfindung basieren auf dem Kerngedanken in Verwendung von elliptischer Kurven-Kryptographie Authentifikationsdaten bereitzustellen, die nicht wie bisher erst nach dem Empfang und als Antwort auf eine Challenge (Herausforderung) erzeugt werden, sondern ohne vorhergehende Interaktion vom Beweisenden erzeugt werden können. Anstelle einer empfangenen Nachricht wird eine Laufvariable verwendet, mit der z. B. nach einmaliger Synchronisation mit einer Laufvariable eines Verifizierungsgeräts (Gerät gegenüber dem die Authentifizierung stattfinden soll) eine Authentifikation durch das Senden von nur einer Nachricht, die die Authentifikationsdaten enthält, ermöglicht werden kann. Nach einer Initialisierung ist somit eine weitere Nachricht vom verifizierenden Gerät für eine wiederholte Authentifizierung nicht mehr notwendig. Durch dieses Konzept kann eine wiederholte Authentifikation durch Übertragung von nur einer Nachricht realisiert werden. Dadurch kann auch die Sicherheit der Authentifikation gegenüber Angriffen, Manipulationen oder Missbrauch deutlich erhöht werden. Gleichzeitig kann der Rechenaufwand gegenüber einem Verfahren basierend auf digitalen Signaturen (beispielsweise einem ECDSA-Verfahren, Elliptische-Kurven-Digitale-Signatur-Algorithmus-Verfahren) deutlich reduziert werden, da keine Hashfunktion berechnet werden muss.
  • Da für eine wiederholte Authentifikation nur eine Nachricht gesendet werden muss, kann auch der Energieverbrauch deutlich gesenkt werden, was vor allem für Energie-autarke oder allgemein eingeschränkte Geräte, wie z. B. kleine, batteriebetriebene Geräte, von großer Bedeutung ist. Zusätzlich kann durch die Reduktion des Rechenaufwands der Energiebedarf weiter reduziert und dadurch die Lebensdauer deutlich erhöht werden.
  • Ferner kann die Reduktion des Rechenaufwands auch eine Reduktion der Komplexität und somit des Hardwareaufwands der notwendigen Schaltung bedeuten, wodurch die Kosten gesenkt werden können.
  • Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine Vorrichtung zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation. Die Vorrichtung umfasst einen Empfänger und einen Elliptische-Kurven-Prozessor. Der Empfänger ist ausgelegt, um die Authentifikationsdaten zu empfangen. Die Authentifikationsdaten umfassen zumindest eine x-Koordinate eines Kurvenpunkts einer festgelegten elliptischen Kurve und eine Authentifikationsvariable. Der Elliptische-Kurven-Prozessor ist ausgelegt, um eine x-Koordinate eines Vergleichspunkts auf der festgelegten elliptischen Kurve basierend auf einer Addition eines Ergebnisses einer Skalarmultiplikation eines auf der Authentifikationsvariable basierenden Faktors mit einem Basispunkt der festgelegten elliptischen Kurve und eines Ergebnisses einer Skalarmultiplikation eines auf einer Laufvariable und der empfangenen x-Koordinate basierendenFaktors und eines öffentlichen Schlüssels zu berechnen. Des Weiteren ist der Elliptische-Kurven-Prozessor ausgelegt, um die empfangene x-Koordinate des Kurvenpunkts mit der x-Koordinate des Vergleichspunkts zu vergleichen, um die Authentifikationsdaten für eine einseitige Authentifikation zu verifizieren. Ferner ist der Elliptische-Kurven-Prozessor ausgelegt, um vor einer Berechnung einer x-Koordinate eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation die Laufvariable auf eine vorbestimmte deterministische Weise zu variieren.
  • Durch eine einmalige Synchronisation der Laufvariable mit einer Laufvariable eines zu authentifizierenden Geräts müssten von der Vorrichtung zum Verifizieren keine weiteren Daten für eine wiederholte, einseitige Authentifikation zur Verfügung gestellt werden. Dadurch ist für eine wiederholte, einseitige Authentifikation das Empfangen von Authentifikationsdaten ausreichend, um die Authentifikationsdaten zu verifizieren. Dadurch kann eine wiederholte Authentifikation durch einseitige Kommunikation ermöglicht werden, wodurch sowohl die Sicherheit der Authentifikation erhöht, als auch der Energiebedarf auf Seiten des zu authentifizierenden Geräts reduziert werden kann.
  • Einige weitere Ausführungsbeispiele gemäß der Erfindung beziehen sich auf ein Authentifikationssystem, das eine Vorrichtung zum Bereitstellen von Authentifikationsdaten und eine Vorrichtung zum Verifizieren der Authentifikationsdaten umfasst.
  • Ausführungsbeispiele gemäß der Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Figuren näher erläutert. Es zeigen:
  • 1 ein Blockdiagramm einer Vorrichtung zum Bereitstellen von Authentifikationsdaten;
  • 2 ein Blockdiagramm einer Vorrichtung zum Verifizieren von Authentifikationsdaten;
  • 3 ein Blockdiagramm eines Authentifikationssystems;
  • 4 eine schematische Darstellung eines Authentifikationssystems;
  • 5 eine schematische Darstellung eines Authentifikationssystems;
  • 6 ein Flussdiagramm eines Verfahrens zum Bereitstellen von Authentifikationsdaten; und
  • 7 ein Flussdiagramm eines Verfahrens zum Verifizieren von Authentifikationsdaten.
  • Die Elliptische-Kurven-Kryptographie (EKK, elliptic curve cryptography) ist bezüglich der gewährleisteten Sicherheit etabliert und standardisiert. Die EKK wird an einer Gruppenstruktur durchgeführt, die aus einer Menge von Punkten auf der Kurve und dem Vorgang des Addieren zweier Punkte gebildet ist. Eine wiederholte Addition wird als Skalar-Punkt-Multiplikation bezeichnet und ist der Hauptvorgang, auf dem kryptographische Protokolle aufbauen. Das ECDLP (Elliptic Curve Discrete Logarithm Problem, elliptische Kurven diskreter Logarithmus Problem) ist das Problem, die Ganzzahl d zu bestimmen, wenn eine elliptische Kurve (EK), der Ursprungspunkt P (Basispunkt) auf der Kurve und der resultierenden Punkt Q einer Skalar-Punkt-Multiplikation Q = d·P gegeben sind. Die besten Algorithmen zum Lösen des ECDLP weisen eine exponentielle Laufzeit auf. Deshalb ist das ECDLP schwieriger als das Faktorisieren von ganzen Zahlen, und es ist allgemein anerkannt, dass ein 160-Bit-ECC-Schlüssel dasselbe Sicherheitsniveau bietet wie ein 1024-Bit-RSA-Schlüssel (”D. Hankerson, A. J. Menezes, and S. Vanstone. Guide to Elliptic Curve Cryptography. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2003”). Das vorgestellte Protokoll beruht generell auf einem Diskreten-Logarithmus Problem. Einerseits ist die endliche zyklische Gruppe der Punkte auf einer elliptischen Kurve aufgrund der hohen Effizienz sehr geeignet für das vorgestellte Protokoll, andererseits kann das vorgestellte Protokoll aber auch auf andere endliche zyklische Gruppen angewendet werden.
  • Jedes Gerät oder jeder Benutzer von asymmetrischer Kryptographie besitzt ein Schlüsselpaar. Ein asymmetrisches Schlüsselpaar besteht aus einem öffentlichen Schlüssel und einem privaten Schlüssel. Dazu wird ein Skalar sKey Modulo der Punktordnung n des Basispunktes P gewählt und als privater Schlüssel gespeichert. Der Basispunkt P ist Teil der Parameter, die für die gemeinsame Nutzung der kryptographischen Algorithmen vereinbart und öffentlich zugänglich gemacht werden. Der öffentliche Schlüssel QKey wird aus dem privaten Schlüssel sKey berechnet, indem der private Schlüssel sKey als Skalar mit dem Basispunkt P multipliziert wird. Der resultierende Punkt QKey = sKey·P entspricht dem individuellen öffentlichen Schlüssel. Der öffentliche Schlüssel wird üblicherweise von einer gemeinhin vertrauensvollen Instanz mit Hilfe von asymmetrischen Verschlüsselungsverfahren zertifiziert.
  • Elliptische Kurven können über endliche Felder verschiedener Charakteristika definiert sein. Die häufigsten Arten von Feldern zur Verwendung bei EKKs sind Primfelder GF(p), wobei p eine große Primzahl ist, und binäre Felder GF(2m), wobei m eine Primzahl ist.
  • Binäre endliche Felder GF(2m) sind besonders für Hardware-Implementierungen geeignet, da der Additionsvorgang durch ein einfaches bitweises exklusives ODER implementiert werden kann. Eine nicht-supersinguläre EK über ein binäres Feld GF(2m) ist die Menge aller Punkte (x, y), die die Gleichung y2 + xy = x3 + ax2 + b erfüllen, zusammen mit dem Punkt bei Unendlich, der mit ∞ bezeichnet ist, wobei x, y, a, b ∈ GF(2m), b ≠ 0.
  • Die häufigste Darstellung für Elemente in GF(2m) ist die polynomiale (oder Standardbasis) Darstellung.
  • Punkte auf einer EK können durch verschiedene Koordinatensysteme dargestellt werden. Die Koordinaten sind Elemente der darunter liegenden endlichen Felder. Bei affinen Koordinaten sind Punkte durch ein Koordinatenpaar (x, y) dargestellt. Bei standardmäßigen projektiven Koordinaten ist ein Punkt durch die Koordinaten (X, Y, Z) dargestellt, was dem affinen Punkt (X/Z, Y/Z) entspricht. Eine Inversion in GF(2m) ist rechentechnisch sehr aufwendig, und deshalb ist die Verwendung von projektiven Koordinaten sehr beliebt, da die EK-Punktoperationsaddition und -verdoppelung bei projektiven Koordinaten nicht die Berechnung einer Inversen erfordern.
  • Einzelne EK-Punktoperationen wie eine Punktverdoppelung und -addition können z. B. effizient unter Verwendung von projektiven López-Dahab-Koordinaten für EK über binäre Felder berechnet werden (”J. López and R. Dahab. Improved algorithms for elliptic curve arithmetic in gf(2n). In SAC '98·Proceedings of the Selected Areas in Cryptography, pages 201–212, London, UK, 1999. Springer-Verlag”.) Eine EK-Skalar-Punkt-Multiplikation besteht aus einem nacheinander erfolgenden Addieren und Verdoppeln von Punkten. Ein effizienter Algorithmus wurde von López und Dahab präsentiert („J. López and R. Dahab. Fast multiplication on elliptic curves over gf(2m) without precomputation. In CHES '99: Proceedings of the First International Workshop on Cryptographic Hardware and Embedded Systems, pages 316–327, London, UK, 1999. Springer-Verlag”.). Dabei wird die Montgomery-Multiplikation sowie affine Koordinaten (x, y) für den Basispunkt verwendet. Während der Montgomery-Leiter arbeitet der Algorithmus lediglich auf den projektiven Koordinaten X und Z. Somit verwendet er in der gesamten Berechnung nie die projektive Y-Koordinate. Schließlich berechnet der Algorithmus eine affine x-Koordinate und optional (unter Verwendung der y-Koordinate des Eingangspunkts) auch die affine y-Koordinate des resultierenden Punktes.
  • Um EKK zu verwenden, müssen sich alle Parteien auf gemeinsame Domänenparameter einigen, die die EK definieren. Z. B. kann man Domänenparameter verwenden, die von Standardisierungskörperschaften veröffentlicht wurden. Insbesondere kann man Parameter verwenden, die von NIST (National Institute of Standards and Technology, US-Bundesbehörde für Standardisierungsprozesse) empfohlen werden (”National Institute of Standards and Technology. Recommended elliptic curves for federal government use, July 1999”.).
  • An die Parameter der verwendeten Kurve müssen außer den bekannten und von Standardisierungskörperschaften berücksichtigten Bedingungen keine weiteren gestellt werden, so dass standardisierte Kurvenparameter verwendet werden können. Im Gegensatz z. B. zur Lösung von SIEMENS (eingetragenes Warenzeichen) (”M. Braun, E. Hess, and B. Meyer. Using elliptic curves on 30 rfid tags. IJCSNS, 8 (2): 1–9, 2008”), bei der die Kurve weitere Eigenschaften erfüllen muss.
  • Im Folgenden werden teilweise für Objekte und Funktionseinheiten, die gleiche oder ähnliche funktionelle Eigenschaften aufweisen, gleiche Bezugszeichen verwendet. Des Weiteren können optionale Merkmale der verschiedenen Ausführungsbeispiele miteinander kombinierbar oder zueinander austauschbar sein.
  • 1 zeigt ein Blockdiagramm einer Vorrichtung 100 zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation entsprechend eines Ausführungsbeispiels gemäß der Erfindung. Die Vorrichtung 100 umfasst einen Zufallszahlengenerator 110 und einen Elliptische-Kurven-Prozessor 120, die miteinander verbunden sind. Der Zufallszahlengenerator 110 erzeugt eine Zufallszahl r und der Elliptische-Kurven-Prozessor 120 berechnet eine x-Koordinate xR eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl r mit einem Basispunkt P der festgelegten elliptischen Kurve. Zusätzlich berechnet der Elliptische-Kurven-Prozessor 120 eine Authentifikationsvariable v basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl r, der x-Koordinate xR des Kurvenpunkts. eines geheimen Schlüssels skey und eines auf einer Laufvariablen i basierenden Faktors i', wobei der Divisor der Modulo-Funktion die Ordnung n des Basispunkts P der festgelegten elliptischen Kurve ist. Danach stellt der Elliptische-Kurven-Prozessor 120 die berechnete x-Koordinate xR des Kurvenpunkts und die Authentifikationsvariable v als Authentifikationsdaten für eine einseitige Authentifikation bereit. Zusätzlich variiert der Elliptische-Kurven-Prozessor 120 die Laufvariable i vor einer Berechnung einer neuen Authentifikationsvariable v für eine wiederholte, einseitige Authentifikation auf eine vorbestimmte deterministische Weise.
  • Die Gleichung zur Berechnung der Authentifikationsvariablen v kann grundsätzlich viele Ausprägungen haben und ist eine invertierbare Funktion der Zufallszahl r, der berechneten Punktkoordinate xR (der x-Koordinate xR des Kurvenpunkts), des geheimen Schlüssels skey und eines auf der Laufvariablen i basierenden Faktors. v = Fkt(r, xR, skey, i')
  • Die invertierbare Funktion kann beispielsweise bezüglich der Laufvariable i invertierbar sein.
  • Der auf der Laufvariablen i basierende Faktor i' kann noch auf einem konstanten Faktor k basieren.
  • Die zu übertragende Datenmenge kann beispielsweise weiter reduziert werden, indem zur Berechnung der Authentifikationsvariable v die Modulo-Funktion auf die beschriebene Funktion angewendet wird. Dabei ist der Divisor der Modulo-Funktion die Ordnung n des Basispunkts P. v = Fkt(r, xR, skey, i') mod n
  • Die verschiedenen Ausprägungen der Gleichung können dem Schema der sogenannten Meta-ElGamal Signatur (P. Horster, H. Petersen, M. Michels. Meta-ElGamal signature schemes. Proceedings 2. ACM conference on Computer and Communications Security, Nov. 2–4, 1994 pp. 94–107) folgen.
  • Verschiedenen Ausprägungen der Gleichung zur Berechnung der Authentifikationsvariablen besitzen unterschiedliche Eigenschaften bezüglich der Effizienz der Berechnung. Bei der Verwendung solcherart Gleichungen in einem (bekannten) Signaturschema steht die Effizienz der Berechnung der Verifikationsgleichung im Vordergrund. Im Gegensatz dazu steht bei dem vorliegenden Konzept die Effizienz der Berechnung der Authentifikationsvariablen und damit die Berechnung der vorliegenden Gleichung im Vordergrund.
  • Die allgemeine Form der Gleichung zur Berechnung der Authentifikationsvariable lautet z. B.: ±A = (±B·sKey ± C·r) mod n
  • Wobei skey der private Schlüssel, r die zufällig gewählte Zahl Modulo der Punktordnung n des Basispunktes und A, B, C drei Ausdrücke sind, für z. B. die folgende Bedingungen gelten:
    A, B, C sind beispielsweise Funktionen e, f, g: Zn 3 → Zn mit Argumenten i', xR, v, wobei i' ein auf der Laufvariablen beruhender Faktor, xR die x-Koordinate des berechneten Punktes R = r·P ist und v die Authentifikationsvariable ist.
  • Als Grundbedingung für die Gleichung kann z. B. gelten, dass sich die Gleichung nach der Authentifikationsvariablen v lösen lassen muss. Sollte es dazu notwendig sein, eine der Funktionen e, f, g zu invertieren, muss an diese die Bedingung der Invertierbarkeit gestellt werden.
  • Des Weiteren müssen die Argumente i', xR, v z. B. mindestens einmal in einer der Funktionen e, f, g als Argument vorkommen. Verwenden beispielsweise zwei oder drei der Ausdrücke e, f, g dieselben Argumente aus i, xR, v, dann müssen die betreffenden Funktionen e, f, g selbst unterschiedlich sein.
  • Unsichere Varianten ”rv” und ”i'v” (P. Horster, H. Petersen, M. Michels. Meta-ElGamal signature schemes. Proceedings 2. ACM conference on Computer and Communications Security, Nov. 24, 1994 pp. 94–107) können ausgeschlossen werden, indem r und v (beziehungsweise i' und s) nicht beide Argument nur einer der Funktionen e, f, g sein dürfen wenn gleichzeitig r und v (beziehungsweise i' und v) nicht als Argument der übrigen beiden Funktionen aus e, f, g verwendet werden.
  • Zusätzlich darf beispielsweise keine der Funktionen gleich Null sein.
  • In bevorzugten Ausprägungsformen der Gleichung verstehen sich die mathematischen Operationen als Operationen Modulo der Punktordnung n des Basispunktes P.
  • Die für diese Anwendung effizientesten Ausprägungen der Gleichung benötigen z. B. keine Berechnung einer Inversion Modulo der Punktordung n auf Seite des Beweisenden um die Gleichung nach der Authentifikationsvariablen v zu lösen.
  • Weiters kann die Effizienz gesteigert werden, indem einer der Ausdrücke e, f, g gleich Eins gewählt wird. Weiters kann in einer effizienten Ausprägung der Gleichung nur eine modulare Multiplikation berechnet werden. Außerdem sind z. B. solche Schemata in der vorliegenden Anwendung effizient, die für die Funktionen e, f, g einfach zu berechnende Operationen verwenden wie zum Beispiel Bit-Operationen (Bit-weises exklusives OR) oder eine modulare Addition.
  • Eine bevorzugte mögliche Ausprägung des vorliegenden Konzeptes kann durch folgende Gleichung zur Berechnung der Authentifikationsvariablen v beschrieben werden. v = (i' + xR)·skey + r oder v = ((i' + xR)·skey + r) mod n
  • Wobei i' ein auf der Laufvariablen basierender Wert, xR die berechnete x-Koordinate des Punktes R = r·P, skey der private Schlüssel und r die zufällig gewählte Zahl Modulo der Punktordnung n des Basispunktes P ist.
  • Der öffentlich Schlüssel QKey ist gleich –sKey·P.
  • Die oben genannte Funktion zur Berechnung der Authentifikationsvariable v ähnelt in ihrer Form Funktionen, sowie sie bei ElGamal Signaturen verwendet werden. Jedoch wird an Stelle des Hash-Wertes der zu signierenden Nachricht in diesem Fall ein auf der Laufvariablen i basierender Wert i' verwendet, ohne einen Hash-Wert zu berechnen. Aufgrund der Tatsache, dass das vorliegende Konzept auf die Verwendung einer Hash Funktion verzichten kann, kann es für ein derartiges Protokoll eine Methode zu einer sogenannten existentiellen Fälschung geben. Das soll bedeuten, dass es grundsätzlich zwar möglich ist, ein gültiges Paar von Authentifikationsvariable und Punktkoordinate zu erzeugen, jedoch unmöglich, in geeigneter Weise Einfluss auf den resultierenden Wert zu nehmen, der einen gültigen Wert für die auf der Laufvariablen basierenden Variable darstellt. Werden z. B. 2 bestimmte Parameter zufällig gewählt, und daraus ein gültiges Paar von Punktkoordinate und Authentifikationsvariable erstellt, kann daraus der zugehörige Wert für die auf der Laufvariablen basierenden Variablen bestimmt werden. Gemäß dem dazu verwendeten Formelwerk ist es unmöglich (oder nur mit unrealistischem Aufwand), geeignet Einfluss auf diesen Wert zu nehmen, da hierzu das zugrunde liegende Diskrete Logarithmus Problem gelöst werden müsste. Es wird also für einen zufälligen, unbestimmten Wert der auf der Laufvariablen basierende Variable eine gültiges Paar von Punktkoordinate und Authentifikationsvariable ermittelt. Nachdem der auf der Laufvariablen basierende Wert Element eines genügend großen Zahlenraums ist, ist die Wahrscheinlichkeit, dass ein auf dieser Art resultierender Wert in der Anwendung gültig ist, vernachlässigbar klein.
  • Durch die Verwendung einer Laufvariable i kann eine wiederholte Berechnung der Authentifikationsdaten erfolgen, ohne zuvor Daten von einem Gerät empfangen zu müssen, gegenüber dem die Authentifikation erfolgen soll. Die Laufvariable kann dabei beispielsweise in einem anfänglichen Initialisierungsschritt mit einer Laufvariable des Verifizierers (Gerät gegenüber dem die Authentifikation erfolgen soll) abgeglichen werden. Dieser Schritt ist für eine wiederholte, einseitige Authentifikation danach nicht mehr notwendig. Dadurch kann die Vorrichtung 100 durch die Verwendung der Laufvariable, auch in Kombination mit der Zufallszahl, für jede Authentifikation neue Authentifikationsdaten erzeugen, die vom Verifizierer verifiziert werden können.
  • Die Authentifikationsdaten in Form der x-Koordinate xR (des Kurvenpunkts) und der Authentifikationsvariable v können z. B. als Bitstrom, als Bitstrom mit Redundanz zur Fehlerkorrektur oder als encodierter Bitstrom zum Versenden an ein Gerät, gegenüber dem die Authentifikation erfolgen soll, bereitgestellt werden.
  • Unter einer wiederholten Authentifikation ist jede Authentifikation zu verstehen, die nach einer initialisierenden Authentifikation und vor einer neuerlichen Initialisierung (die im Normalfall selten notwendig ist) erfolgt. Durch das beschriebene Konzept kann unter Verwendung eines kryptographisch starken, asymmetrischen Verschlüsselungsverfahrens (elliptische Kurven-Kryptographie) eine wiederholte Authentifizierung durch das Übertragen von nur einer Nachricht stattfinden. In anderen Worten, für eine Berechnung von Authentifikationsdaten für eine wiederholte, einseitige Authentifikation sind keine externen Daten (also keine externe Challenge), die z. B. von dem Verifizierer gesendet werden, erforderlich. Daher kann durch das beschriebene Konzept eine Vorrichtung zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation realisiert werden, die nicht auf das Empfangen von Challenge Werten angewiesen ist. Dies kann nicht nur die Sicherheit der Authentifikation erhöhen, sondern auch gleichzeitig den Energieaufwand für die Authentifikation durch Reduktion des Datenübertragungsaufwands deutlich reduzieren. Zusätzlich ist der Rechenaufwand für das beschriebene Konzept im Vergleich zu anderen Authentifizierungsverfahren deutlich geringer, wodurch die Komplexität der Hardware der Vorrichtung 100 deutlich reduziert werden kann. Dadurch kann der Energiebedarf weiter reduziert werden und/oder die Kosten gesenkt werden.
  • Durch die Zufallszahl r und auch die Laufvariable i kann gewährleistet werden, dass aus der Authentifikationsvariable v nicht auf den geheimen Schlüssel skey zurückgeschlossen werden kann.
  • Die Laufvariable wird vor jeder Berechnung einer neuen Authentifikationsvariable v für eine wiederholte Authentifikation variiert. Die vorbestimmte deterministische Weise, auf welche die Laufvariable variiert wird, kann sich auf eine Funktion beziehen, basierend auf der aus der alten Laufvariable eine neue Laufvariable bestimmt wird. Alternativ kann die Laufvariable z. B. ein ganzzahliger Wert sein, der einfach um 1 erhöht oder verringert wird, oder ein Zeitstempel sein.
  • Der auf der Laufvariable i basierende Faktor i' kann beispielsweise die Laufvariable i selbst oder eine davon abhängige Größe sein.
  • Die zu übertragende Datenmenge kann beispielsweise weiter reduziert werden, indem zur Berechnung der Authentifikationsvariable v die Modulo-Funktion auf die beschriebene Funktion angewendet wird. Dabei ist der Divisor der Modulo-Funktion die Ordnung n des Basispunkts P. Wie bereits dargelegt ist, kann die Funktion zur Berechnung des Authentifikationsparameters vielfältige Formen annehmen. Die Anwendung der Modulo Operation wird hier beispielhaft anhand einer möglichen Ausprägung dieser Funktion angezeigt.
  • Die allgemeine Form der Gleichung zur Berechnung der Authentifikationsvariable, wobei die Operationen modular Modulo der Punktordnung n des Basispunktes P zu berechnen sind, lautet beispielsweise: v = Fkt(r, xR, skey, i') mod n
  • Die modulare Version der bevorzugten möglichen Ausprägung des vorliegenden Konzepts kann durch folgende Gleichung zur Berechnung der Authentifikationsvariablen v beschrieben werden: v = ((i' + xR)·skey + r) mod n
  • Wobei i' ein auf der Laufvariablen i basierender Wert, xR die berechnete x-Koordinate des Punktes R = r·P, skey der private Schlüssel und r die zufällig gewählte Zahl Modulo der Punktordnung n des Basispunktes P ist.
  • In anderen Worten kann der Elliptische-Kurven-Prozessor 120 die Authentifizierungsvariable v als modulare Funktion der Zufallszahl r, der Punktkoordinate xR, des geheimen Schlüssels skey und eines auf der Laufvariablen i basierenden Faktors berechnen, wobei der Divisor der Modulo-Funktion die Ordnung n des Basispunkts P ist.
  • Durch die Verwendung der Modulo-Funktion kann die Größe der Authentifikationsvariable nach oben begrenzt werden, wodurch die maximal zu übertragende Datenmenge für eine Übertragung der Authentifikationsvariable begrenzt werden kann.
  • Diese Begrenzung des Wertebereichs ist für die Verifikation der Authentifikationsdaten vernachlässigbar, wenn die Authentifikationsvariable v in späterer Folge von einem Verifizierer zur Skalarmultiplikation mit dem Basispunkt P verwendet wird, da n·P = 0 ist.
  • Für die Berechnung der x-Koordinaten des Kurvenpunkts können beispielsweise projektive Koordinaten verwendet werden, da eine Berechnung in projektiven Koordinaten Hardware-effizient implementiert werden kann. Projektive Koordinaten stellen jedoch eine größere Datenmenge dar als affine Koordinaten. Um die Datenmenge der bereitzustellenden Authentifikationsdaten weiter zu reduzieren, kann beispielsweise die berechnete projektive Koordinate des Kurvenpunkts in eine affine Koordinatendarstellung transformiert werden und die berechnete affine Koordinate des Kurvenpunkts bereitgestellt werden. Dadurch kann die zu übertragende Datenmenge geringer gehalten werden.
  • Die beschriebene Vorrichtung zum Bereitstellen von Authentifikationsdaten kann beispielsweise in eingeschränkten Geräten zur einseitigen Authentifikation Verwendung finden. Solche eingeschränkten Geräte sind beispielsweise Autoschlüssel oder Schlüssel für Gebäude. Die Einschränkung bezieht sich dabei sowohl auf den Energiebedarf, als auch auf die Baugröße. Durch das beschriebene Konzept kann ein Gerät zur Verfügung gestellt werden, das durch seine geringe Komplexität eine geringe Baugröße erlaubt und dabei sowohl für die Berechnung der Authentifikationsdaten als auch für die Bereitstellung der Authentifikationsdaten wenig Energie verbraucht. Trotz dieser Eigenschaften kann durch die Verwendung eines asymmetrischen Verschlüsselungsverfahrens ein hoher Grad an Sicherheit erreicht werden.
  • Die Vorrichtung 100 kann beispielsweise in einem Autoschlüssel verwendet werden. Dabei können z. B. der Schlüssel und das Fahrzeug bereits fabriksmäßig in einer Initialisierung synchronisiert (Abgleich der Laufvariable) werden. Danach ist für das Auf- bzw. Zusperren des Fahrzeugs (oder andere Funktionen) nur mehr eine Übermittlung einer Nachricht mit den Authentifikationsdaten vom Schlüssel zum Auto notwendig.
  • Allgemein kann die Vorrichtung 100 für eine wiederholte Authentifizierung eines Geräts gegenüber einem anderen Gerät verwendet werden.
  • Bei einigen Ausführungsbeispielen gemäß der Erfindung umfasst die Vorrichtung zum Bereitstellen von Authentifikationsdaten einen Empfänger, der ausgelegt ist, um eine Initialisierungslaufzahl j zu empfangen. Der Elliptische-Kurven-Prozessor 120 kann dann nach dem Empfangen der Initialisierungslaufzahl j vor einer Berechnung der Authentifikationsvariable v einmalig die Laufvariable i mit der Initialisierungslaufzahl j gleichsetzen. Alternativ kann die Laufvariable auch auf einen Wert gesetzt werden, der in einem vordefinierten Verhältnis zu der Initialisierungslaufzahl j steht. Zusätzlich kann die Vorrichtung nach Empfang der Initialisierungslaufzahl j einmalig einen öffentlichen Schlüssel Qkey und das zugehörige Zertifikat als weitere Authentifizierungsdaten für eine einseitige Authentifizierung bereitstellen. So kann beispielsweise dem Verifizierer (Gerät gegenüber dem eine wiederholte Authentifizierung stattfinden soll) der öffentliche Schlüssel Qkey während der Initialisierung bereitgestellt werden, so dass dieser den öffentlichen Schlüssel mit Hilfe des Zertifikats auf seine Gültigkeit überprüfen kann. Ferner können zusätzlich elliptische Kurvenparameter zum Festlegen der festgelegten elliptischen Kurve und/oder ein Basispunkt der festgelegten elliptischen Kurve bereitgestellt oder empfangen werden.
  • Weiters kann zur Erhöhung der Sicherheit eine Konstante k verwendet werden sodass anstatt des Parameters i' ein auf der Laufvariable und der Konstante k basierender Faktor verwendet wird. Die beiden Zahlen k und i' können beispielsweise durch Konkatenation verbunden sein.
  • In anderen Worten, um die Sicherheit der Authentifizierung weiter zu erhöhen, kann der Elliptische-Kurven-Prozessor 120 die Authentifizierungsvariable v berechnen, wobei der auf der Laufvariable i basierende Faktor i' zusätzlich auf einem Sicherheitsparameter k basiert. Der auf der Laufvariable i basierende Faktor i' kann beispielsweise durch eine Addition, Multiplikation oder ein bitweises Aneinanderhängen des Sicherheitsparameters k und der Laufvariable i definiert sein.
  • Die allgemeine Form lautet z. B.: v = Fkt(r, xR, sKey, (k·i)) mod n
  • Z. B. ist (k·i) durch (k||i), ein bitweises Aneinanderhängen des Sicherheitsparameters k und der Laufvariable i definiert. Die Reihenfolge kann dabei auch umgekehrt sein. In einer bevorzugten Ausprägungsform lautet die Gleichung zur Berechnung der Authentifikationsvariablen somit: v = (((k||i) + xR)·skey + r) mod n
  • Der Sicherheitsparameter k weist z. B. bei der ersten Durchführung des Protokolls, das zum initialen Abgleich der Laufvariable durchgeführt werden kann, für die Berechnung der Authentifikationsvariable v einmalig einen ersten Wert k2 auf und für alle weiteren Berechnungen einer neuen Authentifikationsvariable v für jede weitere, wiederholte Authentifikation bis zu einem Empfang einer neuen Initialisierungslaufzahl j einen zweiten Wert k1 auf. Der Sicherheitsparameter k kann als weitere Authentifikationsdaten für die einseitige Authentifikation bereitgestellt werden.
  • In anderen Worten, der Sicherheitsparameter weist nach dem Empfang der Initialisierungslaufzahl i für die Berechnung der Authentifizierungsvariable v einmalig einen ersten Wert k2 auf und für alle weiteren Berechnungen einer neuen Authentifikationsvariable v für eine wiederholte, einseitige Authentifikation, bis zu einem Empfang einer neuen Initialisierungslaufzahl i, einen anderen Wert auf.
  • Der anderer Wert des Sicherheitsparameter kann beispielsweise abhängig von einem Authentifikationszweck (z. B. Öffnen oder Schließen einer Tür oder eines Fahrzeugs) gewählt werden und sich für unterschiedliche Authentifikationszwecke unterscheiden.
  • Der andere Wert unterscheidet sich somit vom Wert k2, wobei der Sicherheitsparameter k für alle weiteren Berechnung abgesehen vom initialen Durchlauf mehrere verschiedene Werte annehmen kann, die sich jedoch alle vom erstmalig verwendeten Wert k2 unterscheiden
  • So kann der andere Wert (z. B. k1), der in der wiederholten einseitigen Authentifikation verwendet wird, auch einen Command Code (Kommandocode) darstellen. D. h. es gibt beispielsweise 3 (mehrere) verschiedene Commands (Kommandos), somit 3 verschiedene k3, k4, k5. Je nachdem welcher Command ausgeführt werden soll (z. B. Öffnen, Schließen) wird eine bestimmte Konstante k gewählt und verwendet. (also einerseits in der Berechnung zu v verwendet und als Teil der Authentifikationsdaten übertragen). Die Werte k3, k4, k5 müssen sich jedenfalls vom Wert k2 unterscheiden, der im initialen Durchlauf verwendet wird.
  • Durch die beschriebene Verwendung zweier unterschiedlicher Sicherheitsparameter für die initiale Authentifizierung und für die wiederholten Authentifizierungen kann verhindert werden, dass die Daten aus der Initialisierungsphase für Angriffe oder Manipulationen während der wiederholten Authentifikation verwendet werden können.
  • Bei einigen Ausführungsbeispielen umfasst die Vorrichtung zum Bestimmen von Authentifikationsdaten einen Sender, der ein Signal drahtlos versenden kann, das die Authentifikationsdaten enthält. Da im Gegensatz zum Sender ein Empfänger nur während der Initialisierungsphase benötigt wird, kann beispielsweise als Empfänger ein drahtgebundener Empfänger verwendet werden oder ein drahtloser Empfänger an den jedoch deutlich geringere Anforderungen als an den Sender gestellt werden können. Beispielsweise kann der Empfänger ausgelegt sein, sodass die maximal empfangbare Bitrate kleiner als 1%, 10%, 20% oder 50% der maximal sendbaren Bitrate ist. Alternativ kann der Empfänger ausgelegt sein, sodass ein durchschnittliches Signal-zu-Rausch-Verhältnis eines zu sendenden Signals an einem Ausgang des Senders kleiner als 1%, 10%, 30%, 50%, 70% oder 90% eines durchschnittlichen Signal-zu-Rausch-Verhältnis eines zu empfangenden Signals an einem Eingang des Empfängers ist, damit das Signal von dem Empfänger noch fehlerfrei empfangen werden kann. Dadurch kann der Hardwareaufwand für den Empfänger sehr gering gehalten werden, wodurch die Kosten weiter reduziert werden können.
  • Der Zufallszahlengenerator, der Elliptische-Kurven-Prozessor, der Empfänger und der Sender können eigenständige Hardwareeinheiten oder Teil eines Prozessors eines Computers oder Microkontrollers sein, oder als Computerprogramme oder Computerprogrammprodukte zur Ausführung auf einem Computer oder Microkontroller realisiert werden.
  • 2 zeigt ein Blockschaltbild einer Vorrichtung 200 zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation entsprechend eines Ausführungsbeispiels gemäß der Erfindung. Die Vorrichtung 200 umfasst einen Empfänger 210 und einen Elliptische-Kurven-Prozessor 220, die miteinander verbunden sind. Der Empfänger empfängt die Authentifikationsdaten, wobei die Authentifikationsdaten eine x-Koordinate xR eines Kurvenpunkts einer festgelegten elliptischen Kurve und eine Authentifikationsvariable v umfassen. Der Elliptische-Kurven-Prozessor 220 berechnet eine x-Koordinate xR' eines Vergleichspunkts auf der festgelegten elliptischen Kurve basierend auf einer Addition eines Ergebnisses einer Skalarmultiplikation eines auf der Authentifikationsvariable v basierenden Faktors mit einem Basispunkt P der festgelegten elliptischen Kurve und eines Ergebnisses einer Skalarmultiplikation eines auf einer Laufvariable i und der empfangenen x-Koordinate basierenden Faktors und eines öffentlichen Schlüssels Qkey. Des Weiteren vergleicht der Elliptische-Kurven-Prozessor 220 die empfangene x-Koordinate xR des Kurvenpunkts mit der x-Koordinate xR' des Vergleichspunkts, um die Authentifikationsdaten für eine einseitige Authentifikation zu verifizieren. Zusätzlich variiert der Elliptische-Kurven-Prozessor 220 vor einer Berechnung einer x-Koordinate xR' eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation die Laufvariable i auf eine vorbestimmte deterministische Weise.
  • Eine Gleichung, die zur Verifikation der Authentifikationsdaten verwendet werden kann, lässt sich direkt aus einer der zuvor beschriebenen Gleichungen zur Berechnung der Authentifikationsvariablen v ableiten. Die allgemeine Form der Gleichung zur Verifikation der Authentifikationsdaten, der empfangenen x-Koordinate xR und der empfangenen Authentifikationsvariable v, lautet z. B.: ±C·R = ±A·P ± B·Qkey oder (xR') ← A(v)·P + B(i, xR)·Qkey
  • Wobei A (auf der Authentifikationsvariable v basierender Faktor), B (auf der Laufvariable i und der x-Koordinate xR basierender Faktor), C z. B. die durch die obige (für die Vorrichtung zum Bereitstellen von Authentifikationsdaten beschriebene) Gleichung bestimmten Funktionen sind, R (Vergleichspunkt, der dem der durch den Beweisenden berechnete Punkt entsprechen soll) der durch den Beweisenden berechnete Punkt r·P ist. der z. B. hier in diesem Protokoll durch die empfangene x-Koordinate xR (die x-Koordinate xR eines Kurvenpunkts) bestimmt ist. In diesem Fall wird beispielsweise kein Modulo verwendet, da es sich hier um EK Punkte handelt. Die Verifikation ist erfolgreich wenn sich die Punkte links und rechts des Gleichheitszeichens gleichen. Alternativ kann es auch ausreichend sein, wie oben beschrieben, nur die x-Koordinate des Vergleichspunkts zu berechnen. Der auf der Authentifikationsvariable v basierende Faktor A kann auch beispielsweise die Authentifikationsvariable selbst sein.
  • Eine bevorzugte mögliche Ausprägung des vorliegenden Konzeptes kann durch folgende Gleichung zur Verifikation der Authentifikationsdaten beschrieben werden: R = v·P + (i' + xR)·Qkey
  • Wobei R der durch den Beweisenden berechnete Punkt r·P ist, v die empfangene Authentifikationsvariable, P der Basispunkt, i' ein auf der Laufvariablen des Prüfenden basierender Faktor, xR die empfangene x-Koordinate und Qkey der öffentliche Schlüssel des Beweisenden ist.
  • Weiters kann zur Erhöhung der Sicherheit eine Konstante k verwendet werden, so dass der auf der Laufvariable i basierender Faktor i' zusätzlich von der Konstante k (Sicherheitsparameter k) abhängt. Die beiden Zahlen k und i können beispielsweise durch Konkatenation verbunden sein. R = v·P + ((k||i) + xR)·Qkey
  • Oder alternativ, falls nur eine x-Koordinate des Vergleichspunkts verwendet wird: (xR') ← v·P + ((k||i) + xR)·Qkey oder (xR', yR') ← v·P + ((k||i) + xR)·Qkey
  • Wie bereits erwähnt, lassen sich Punkte auf einer elliptischen Kurve z. B. sehr gut anhand ihrer x-Koordinate vergleichen, da es für die zugehörige y-Koordinate dann immer jeweils nur 2 Möglichkeiten gibt. Außerdem kann man die x-Koordinate eines Punktes, der Ergebnis einer skalaren Multiplikation ist, basierend auf dem Skalar und lediglich der x-Koordinate des Startpunktes berechnen. Daher können in diesem Protokoll zur Verifikation der Authentifikationsdaten die beiden Punkte, nämlich R, der durch den Beweisenden berechnet wurde (Vorrichtung zum Bereitstellen von Authentifikationsdaten), und R', der durch den Prüfenden (Vorrichtung zum Verifizieren von Authentifikationsdaten) berechnet wurde, anhand ihrer x-Koordinaten verglichen werden.
  • Durch die beschriebene Verifizierung von Authentifikationsdaten können sich Gerate wiederholt eindeutig identifizieren, ohne dazu in beide Richtungen zu kommunizieren. Es kann also eine Vorrichtung zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation realisiert werden, die nicht gemäß dem Challenge-Response Prinzip (Herausforderungs-Antwort-Prinzip) das Empfangen einer Challenge voraussetzt. In anderen Worten, ein Versenden einer Challenge an ein beweisendes Gerät für eine wiederholte Authentifikation ist nicht notwendig.
  • Die empfangene x-Koordinate xR wird der x-Koordinate xR' des Vergleichspunkts nur dann entsprechen, wenn die Authentifikationsdaten von einem Gerät stammen, dem der entsprechende private Schlüssel zu dem öffentlichen Schlüssel Qkey gehört und dessen Laufvariable mit der Laufvariable der Vorrichtung 200 zum Verifizieren von Authentifikationsdaten synchronisiert ist.
  • Die Laufvariable wird wieder zwischen jeder Berechnung einer x-Koordinate eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation auf eine vorbestimmte deterministische Weise variiert. Dies erfolgt im einfachsten Fall, z. B. wie bereits zuvor beschrieben, durch Erhöhen oder Reduzieren des Werts der Laufvariable um 1.
  • In anderen Worten, die Vorrichtung zum Verifizieren von Authentifikationsdaten kann ausgelegt sein, so dass sie für eine wiederholte, einseitige Authentifikation keine Daten (wie z. B. einen aktuellen Wert der Laufvariable) bereitstellen muss.
  • Nur während einer Initialisierung kann es notwendig sein, dass beispielsweise zur Synchronisation der Laufvariablen der Vorrichtung 200 zum Verifizieren von Authentifikationsdaten und einer Vorrichtungen zum Bereitstellen von Authentifikationsdaten ein aktueller Wert der Laufvariable als Initialisierungslaufzahl bereitgestellt werden muss. Dazu umfasst die Vorrichtung zum Verifizieren von Authentifikationsdaten beispielsweise einen Sender, der die Initialisierungslaufzahl bereitstellt. Zusätzlich können auch beispielsweise Kurvenparameter zum Festlegen einer elliptischen Kurve und/oder ein Basispunkt der elliptischen Kurve bereitgestellt werden.
  • Nachdem der Sender die Initialisierungslaufzahl bereitstellt, können beispielsweise der öffentliche Schlüssel und das zugehörige Zertifikat, die im initialen Protokolldurchlauf vom beweisenden Gerät zur Verfügung gestellt werden können, für eine wiederholte Authentifizierung gespeichert werden. Die Sicherheit der Authentifikation kann beispielsweise weiter erhöht werden, indem der auf der Laufvariable basierende Faktor, wie bereits zuvor für die Vorrichtung zum Bereitstellen von Authentifikationsdaten beschrieben, zusätzlich auf einem Sicherheitsparameter k basiert. Der Sicherheitsparameter k ist dabei Teil der empfangenen Authentifikationsdaten. Der Sicherheitsparameter k weist z. B. nach dem Bereitstellen einer Initialisierungslaufzahl einmalig einen ersten Wert k2 auf und für alle weiteren Berechnungen einer x-Koordinate eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation, bis zu einem Bereitstellen einer neuen Initialisierungslaufzahl, einen zweiten Wert k1 auf. Ausserdem kann der Sicherheitsparameter, der Teil der empfangenen Authentifikationsdaten ist weitere bestimmte Werte annehmen die einen bestimmten Befehl repräsentieren, der vom authentifizierenden Geräte an das verifizierende Gerät gesendet wird. Dadurch kann beispielsweise gewährleistet werden, dass der Befehl, der auch Teil der Authentifikationsdaten ist, nicht durch einen Mittelsmann gegen einen anderen Befehl ausgetauscht wird.
  • Manchmal kann es vorkommen, dass Authentifikationsdaten verloren gehen. Z. B. kann das zu authentifizierende Gerät beim Bereitstellen oder Senden der Authentifikationsdaten zu weit entfernt sein oder es können andere Störungen bei der Übertragung der Authentifikationsdaten auftreten. Dadurch würden die Laufvariablen nicht mehr synchronisiert sein. Dem kann beispielsweise entgegengewirkt werden, indem die Vorrichtung zum Verifizieren von Authentifikationsdaten mehrere aufeinanderfolgende Werte der Laufvariable zulässt. In anderen Worten, der Elliptische-Kurven-Prozessor 220 kann Koordinaten für eine Mehrzahl von Vergleichspunkten berechnen, wobei jede x-Koordinate eines Vergleichspunkts der Mehrzahl von Vergleichspunkten basierend auf einem unterschiedlichen Wert der Laufvariable berechnet wird. Dabei sind die unterschiedlichen Werte der Laufvariable entsprechend der vorbestimmten deterministischen Weise bestimmte, aufeinanderfolgende Werte der Laufvariable. Die x-Koordinaten der Mehrzahl von Vergleichspunkten können dann mit der empfangenen x-Koordinate des Kurvenpunkts verglichen werden. So können entweder so lange x-Koordinaten für neue Vergleichspunkte berechnet und verglichen werden, bis zueinander passende x-Koordinaten gefunden werden und die Verifizierung der Authentifikationsdaten somit erfolgreich ist oder bis eine vordefinierte maximal erlaubte Anzahl von aufeinanderfolgenden Werten der Laufvariable versucht worden sind, ohne eine Übereinstimmung der x-Koordinaten zu finden und somit die Authentifikationsdaten nicht verifiziert werden konnten. Ist die Authentifikation erfolgreich kann die Laufvariable entsprechend der Anzahl von verlorengegangenen Nachrichten angepasst werden, sodass die Laufvariable mit der Laufvariable des zu authentifizierenden Geräts wieder synchronisiert ist.
  • Der Empfänger 210, der Elliptische-Kurven-Prozessor 220 sowie der Sender können eigenständige Hardwareeinheiten sein oder Teil eines Prozessors eines Computer oder Microkontrollers sein oder als Computerprogramme oder Computerprogrammprodukte zur Ausführung auf einem Computer oder Microkontroller realisiert werden.
  • 3 zeigt ein Blockschaltbild eines Authentifikationssystems 300 für eine wiederholbare, einseitige Authentifikation entsprechend einem Ausführungsbeispiel gemäß der Erfindung. Das Authentifikationssystems 300 umfasst eine Vorrichtung 100 zum Bereitstellen von Authentifikationsdaten und eine Vorrichtung 200 zum Verifizieren von Authentifikationsdaten. Dabei stellt die Vorrichtung 100 zum Bereitstellen von Authentifikationsdaten die Authentifikationsdaten xR, v, z. B. drahtlos, der Vorrichtung 200 zum Verifizieren von Authentifikationsdaten bereit.
  • In weiterer Folge wird die Vorrichtung 100 zum Bereitstellen von Authentifikationsdaten auch zu authentifizierendes Gerät, beweisendes Gerät oder einfach Beweisender genannt und die Vorrichtung 200 zum Verifizieren von Authentifikationsdaten auch Verifizierer oder Gerät gegenüber dem eine Authentifikation stattfinden soll genannt.
  • Im Folgenden wird die Ausgestaltung eines Authentifikationssystems detaillierter beschrieben. Ausführungen bezüglich Eigenschaften und Merkmalen des Verifizierers oder des beweisenden Geräts sind nicht nur im Zusammenhang mit dem gesamten Authentifikationssystem zu sehen, sondern können auch unabhängig vom Gesamtsystem in einem einzelnen Verifizierer, wie er beispielsweise in 2 gezeigt ist, oder einem einzelnen beweisenden Gerät, wie es beispielsweise in 1 gezeigt ist, als unabhängige Einheiten integriert werden.
  • Durch das beschriebene Konzept kann beispielsweise ein effizientes Einzelnachricht-Protokoll zur Geräteauthentifizierung realisiert werden. Es ist sehr effizient, lediglich eine einzige Nachricht zu übertragen, um eine Gerätauthentifizierung zu erzielen. Das beschriebene Konzept zeigt beispielsweise für Anwendungen, bei denen sich ein Beweisender wiederholt gegenüber einem Überprüfenden authentifiziert, ein hocheffizientes Einzelnachricht-Protokoll zur einseitigen Authentifizierung, das auf dem ECDLP-Prinzip beruht.
  • Im Gegensatz zu der Annahme, dass Geräteauthentifizierung mit nur einer versendeten Nachricht nur über den Einsatz von digitalen Signaturen erzielt werden kann, verwendet das beschrieben Protokoll einen anderen Lösungsansatz und zeigt eine effizientere Lösung dieser Problemstellung.
  • Zur Erstellung einer ECDSA-Signatur müssten darüber hinausgehend noch ein SHA-1 Hash-Wert sowie eine modulare Inversion berechnet werden. Das erhöht den Rechenaufwand und reduziert somit die Effizienz der Lösung durch eine digitale Signatur. Somit ist das vorgestellte Konzept bezüglich der Effizienz der bisherigen Lösung überlegen.
  • Bei dem vorgeschlagenen Protokoll wird eine Laufvariable als zeitvariable Challenge (Herausforderung) statt einer Challenge, die durch den Überprüfenden ausgewählt wird, verwendet, um in der Lage zu sein, das Protokoll durch den Transfer von nur einer Nachricht auszuführen. Die Laufvariable wird z. B. von beiden Teilnehmern der Authentifizierung beibehalten und bei jeder Ausführung des Protokolls inkrementiert. Das Protokoll wurde dahin gehend entworfen, die Rechenlast des Beweisenden und übertragene Daten gering zu halten. Das beschriebene Konzept ist in Form eines Protokolls in 4 dargestellt. Es zeigt ein Einzelnachricht-Protokoll 400 für eine einseitige Authentifikation und stellt z. B. eine hocheffiziente Lösung des Problems der Gerätauthentifizierung eingeschränkter Vorrichtungen dar.
  • Beweisender und Überprüfender nutzen gemeinsam dieselben Elliptische-Kurven-Domänenparameter, einschließlich eines Basispunkts P und seiner Ordnung n. Diese Parameter sind z. B. teilweise in einem nicht-flüchtigen Speicher fest codiert oder gespeichert. Der Beweisende hält seinen geheimen Schlüssel skey, einen öffentlichen Schlüssel Qkey, ein Zertifikat seines öffentlichen Schlüssels
    Figure 00270001
    und eine Laufvariable i. Das Schlüsselpaar und das Zertifikat wird von einer gemeinhin vertrauenswürdigen Autorität ausgegeben, und es wird in diesem Beispiel von ihrer vorherigen Einspeisung in die Vorrichtung ausgegangen. Die Laufvariable kann z. B. bei einem anfänglich durchgeführten Zwei-Nachrichten-Aufbauprotokoll aus [0, 1]t ausgewählt werden (5). Die Laufvariable wird anschließend bei jeder Ausführung des Einzelnachricht-Protokolls beispielsweise Modulo 2–1 inkrementiert. Der Parameter t kann gewählt werden, um ein ausreichendes Sicherheitsniveau zu garantieren. Der Überprüfende halt den öffentlichen Schlüssel zur Signaturüberprüfung Qver-sig und die Laufvariable i, die bei der Ausführung des Zwei-Nachrichten-Aufbauprotokolls ermittelt wurde (5). Z. B. prüft der Überprüfende das Zertifikat des öffentlichen Schlüssels des Beweisenden bei dem authentifizierten Aufbauprotokoll.
  • Bei jeder Protokollausführung wählt der Beweisende eine Zufallszahl r in [1, n – 1] aus und führt eine EK-Skalar-Punkt-Multiplikation durch, um die x-Koordinate des resultierenden Punkts xR abzuleiten. Dann inkrementiert der Beweisende die Laufvariable i und führt die gezeigten modularen arithmetischen Operationen durch, um v abzuleiten (4). Der Beweisende überträgt xR, v und die Bitfolge k1 (Sicherheitsparameter) an den Überprüfenden.
  • Miller (”V. S. Miller. Use of elliptic curves in cryptography. In CRYPTO '85: Advances in Cryptology, pages 417–426, London, UK, 1986. Springer-Verlag”.) gab an, dass Protokolle unter Verwendung lediglich der x-Koordinaten der EK-Punkte betrieben werden können, da die x-Koordinate eines Vielfachen eines Punkts (Skalar-Punkt-Multiplikation) lediglich von der eingegebenen x-Koordinate abhängt. Diese Technik des Weglassens der y-Koordinate wurde auf der Seite des Beweisenden des Protokolls eingesetzt. Deshalb missen keine y-Koordinaten übertragen werden, und die Rechenkomplexität sowie die Menge an übertragenen Daten sind beträchtlich verringert. Alternativ können auch beide (x und y) Koordinaten verwendet werden.
  • Bei diesem Protokoll wird in einer bevorzugten Ausprägungsform die affine x-Koordinate des berechneten EK-Punkts statt der projektiven X- und Z-Koordinaten verwendet werden. Dies erhöht zwar den Rechenaufwand des Beweisenden, halbiert jedoch effektiv die Menge an übertragenen Daten. Dies ist ein vorteilhafter Aspekt der Implementierungseffizienz des Protokolls.
  • Der Überprüfende inkrementiert seine interne Laufvariable i und führt zwei EK-Skalar-Punkt-Multiplikationen und eine EK-Punktaddition durch, um die x-Koordinate eines EK-Punkts R' abzuleiten, die als xR' bezeichnet wird, wie in 4 gezeigt ist. Falls xR gleich xR' ist, akzeptiert er, und die Protokollausführung war erfolgreich.
  • Der verwendete fortlaufende Zählerwert kann auch durch eine andersartige deterministische Zahlenreihe mit genügend großem Zyklus ersetzt werden.
  • Die Anwendungen können z. B. auf eine Weise implementiert werden, bei der der Überprüfende ein bestimmtes Fenster von gütigen Laufvariablen akzeptiert. Dieses Fenster beginnt ab der letzten erfolgreich empfangenen Laufvariable, die um eins erhöht ist, und weist eine gewisse vorbestimmte Größe auf (z. B. 16, 64, 256 oder mehr Laufvariablen mehr als die zuletzt erfolgreich empfangene eine). Dieses Fenster von gültigen Zahlen ist nützlich dafür, das Protokoll bezüglich verloren gegangener Nachrichten auf eine fehlertolerante Weise zu implementieren.
  • In 4 ist die Montgomery-Multiplikation mit MontMultx bezeichnet. Eingaben in die Montgomery-Multiplikation sind die gewählte Zufallszahl r und die x-Koordinate des Basispunkts. Die Ausgabe ist die x-Koordinate des resultierenden Punkts der EK-Skalar-Punkt-Multiplikation.
  • Wie in 4 gezeigt ist, muss die beweisende Vorrichtung in diesem Beispiel in der Lage sein einen privaten Schlüssel, einen öffentlichen Schlüssel und ein entsprechendes Zertifikat und Domänenparameter b, Feldpolynom und x-Koordinate des Basispunkts zu speichern, Zufallszahlen Modulo der Ordnung des Basispunkts n zu erzeugen, eine EK-Skalar-Punkt-Multiplikation zu berechnen und modulare arithmetische Operationen Modulo der Ordnung des Basispunkts n durchzuführen.
  • Da in diesem Beispiel der anfängliche Wert der Laufvariable bei dem Zwei-Nachrichten-Aufbauprotokoll seitens des Überprüfenden gewählt wird, zählt er bei dem Einweg-Protokoll danach als Challenge. Dann ist der Beweisende an eine bestimmte Laufvariable (Challenge) bei jeder Ausführung des Einzelnachricht-Authentifizierungsprotokolls gebunden.
  • Die Übertragung von Nachrichten wendet eine beträchtliche Menge an Energie auf. Deshalb ist es äußerst vorteilhaft, die Menge an übertragenen Daten zu verringern und die Anzahl gesendeter Nachrichten zu reduzieren. Die Effizienz des beschriebenen Protokolls beruht unter anderem darauf, dass es lediglich eine übertragene Nachricht erfordert. Dies vereinfacht die Architektur und Implementierung der beweisenden Vorrichtung beträchtlich und verringert den Energieverbrauch. Im Vergleich zu anderen, Mehrfachdurchläufe umfassenden Protokollen wie Schnorr, Okamoto oder GPS ist das beschriebene Protokoll deshalb bezüglich der Effizienz deutlich überlegen.
  • Bei Konzepten, die auf digitalen Signaturen beruhen, werden ähnlich viel Daten in einer Nachricht übertragen. Jedoch sind die Berechnungen auf Seite des Beweisenden ausführlicher (deutlich aufwendiger).
  • Das beschriebene Konzept verwendet EKK, da dies der effizienteste und sicherste asymmetrische Algorithmus ist, der in der Kryptographie-Forschungsgemeinschaft sehr angesehen ist. Alternativ ist jedoch eine Anwendung des vorgestellten Protokolls auf andere endliche zyklische Gruppen möglich. So könnte eine denkbare Ausprägung der vorliegenden Erfindung auch auf einer endlichen zyklischen Gruppe modulo einer Primzahl p implementiert werden anstatt der hier genauer beschriebenen Ausprägung der Verwendung von Punkten auf einer elliptischen Kurve. Allgemein ausgedrückt, sollte die Gruppenoperationen einfach zu implementieren und effizient zu berechnen sein und das Diskrete-Logarithmus-Problem in der Gruppe muss schwer lösbar sein.
  • Das Einzelnachricht-Protokoll wurde unter anderem entworfen, um die Rechenlast für die beweisende Vorrichtung zu verringern. Auf diese Weise muss die beweisende Vorrichtung z. B. lediglich eine EK-Skalar-Punkt-Multiplikation, durchführen und die Funktion zur Berechnung der Authentifikationsvariablen berechnen, die wenige modulare arithmetische Operationen beinhaltet.
  • Anhand dieser Beobachtungen kann man feststellen, dass das beschriebene Einzelnachricht-Protokoll eine sehr effiziente Lösung für eine wiederholte einseitige Authentifizierung ist.
  • Um in der Lage zu sein, das zuvor beschriebene Einzelnachricht-Protokoll durchzuführen, kann die Laufvariable anfänglich durch den Überprüfenden ausgewählt werden.
  • 5 zeigt ein Beispiel für ein Zwei-Nachrichten-Protokoll 500 zum authentifizierten Setup (Initialisieren).
  • Bei dem in 5 gezeigten Protokoll 500 wählt der Überprüfende eine Laufvariable i ∈ [0, 1]t. Dann sendet er i in Form der Initialisierungslaufzahl j an den Beweisenden. Der Beweisende stellt seine interne Laufvariable i auf den empfangenen Wert ein und wählt eine Zufallszahl r in [1, n – 1]. Anschließend führt der Beweisende die EK-Skalar-Punkt-Multiplikation und die modularen arithmetischen Operationen durch, wie in 5 gezeigt ist. Dann sendet der Beweisende die resultierende x-Koordinate xR und v zusammen mit der feststehenden Bitfolge k2, seinem öffentlichen Schlüssel und dem entsprechenden Zertifikat an den Überprüfenden. Dabei ist in diesem Beispiel der Protokollablauf abgesehen von dem Übertragen der initialen Laufvariable, der Verwendung eines anderen Parameters k (k2) und dem Übertragen des öffentlichen Schlüssels sowie des zugehörigen Zertifikates ident zu dem Protokollablauf sowie er sich zur wiederholten Authentifizierung mit nur einer Nachricht ausgestaltet.
  • Der Überprüfende prüft das Zertifikat und führt anschließend zwei EK-Skalar-Punkt-Multiplikationen und eine EK-Punktaddition durch, um die x-Koordinate eines EK-Punkts R' (Vergleichspunkt), die mit xR' bezeichnet ist, abzuleiten, wie in 5 gezeigt ist. Falls xR gleich xR' ist, akzeptiert er, und die Protokollausführung war erfolgreich.
  • Allgemein stellt eine Verwendung eines asymmetrischen Schlüsselpaares bei zwei verschiedenen Protokollen eine Bedrohung der Gesamtsicherheit dar. Deshalb können Werte k1 und k2 verwendet werden, um die Sicherheit vor einer Beeinträchtigung dadurch, dass mehrere Protokolle dasselbe Schlüsselpaar verwenden, zu schützen. Dieser Lösungsansatz kann z. B. Interleaving-Angriffe (Verschachtelungsangriffe) auf ein Protokoll verhindern, die Informationen verwenden, die während der Ausführung des anderen Protokolls gesammelt wurden. Die Wahl der Bitlänge der feststehenden Werte k1 und k2 ist beliebig und kann z. B. 8, 16, 32 oder mehr Bit betragen.
  • Das vorgeschlagene Protokoll liefert in einigen Beispielen keine Anonymität für den Beweisenden. Anonymität ist von besonderem Interesse, wenn die Zielvorrichtung, die den beweisenden Teil des Protokolls betreibt, ohne jegliche Einschränkungen abgefragt werden kann. Dies ist beispielsweise bei RFID-Tags (Markierung zur Identifizierung mit Hilfe von elektromagnetischen Wellen) bekannt, die immer dann, wenn sie mit Leistung versorgt werden, abgefragt werden können, was bedeutet, dass jeder, der sich nahe bei der Vorrichtung befindet, Zugang zu derselben erlangen kann. Im Gegensatz dazu kann das vorgeschlagene Konzept realisiert werden, sodass. eine Ausführung des Einzelnachricht-Protokolls durch einen Überprüfenden niemals ohne Erlaubnis des Besitzers des Authentifizierungstokens (Authentifizierungszeichen) eingeleitet werden kann (z. B. durch Drücken einer Taste auf dem Authentifizierungstoken).
  • Bei dem Beschriebenen Konzept ist es unmöglich, einen Interleaving-Angriff (Verschachtelungsangriff) oder (Wiedergabeangriff) (”A. J. Menezes, P. C. V. Oorschot, S. A. Vanstone, and R. L. Rives. Handbook of Applied Cryptography. CRC Press, Inc., Boca Raton, FL, USA, 2001”.) auf das Einzelnachricht-Authentifizierungsprotokoll durchzuführen, indem man Informationen von einer vorherigen erfolgreichen Protokollausführung verwendet. Dies wird durch die Verwendung von Laufvariablen verhindert. Da die Challenge eine Laufvariable ist, kann ein Gewählter-Text-Angriff (chosen text attack) ebenfalls nicht durchgeführt werden. Der einzige Angriff, der im Zusammenhang mit Einzelnachricht-Authentifizierungsprotokollen nicht verhindert werden kann, ist ein Erzwungene-Verzögerung-Angriff (forced delay attack). Jedoch kann dieser Angriff durch den Verwendungsfall unbrauchbar gemacht werden. Bei einer Gebäudezugangskontroll-Anwendung bemerkt ein Benutzer beispielsweise eine erfolglose Protokollausführung (Nachricht wurde mitgehört), und leitet somit eine weitere Protokollausführung ein. Für die nächste Protokollausführung wird die Laufvariable erneut inkrementiert. Wenn der Überprüfende die zweite Nachricht empfängt, ist das Protokoll erfolgreich, und der Überprüfende inkrementiert seine Laufvariable auf die Empfangene. Deshalb ist die erste, mitgehörte Nachricht unbrauchbar.
  • Das beschriebene Einzelnachricht-Authentifizierungsprotokoll weist auch einen deutlichen Vorteil gegenüber anderen Mehrfachnachrichten-Authentifizierungsprotokollen auf, da es in Bezug auf Weiterleitungsangriffe resistenter ist. Weiterleitungsangriffe können auf RFID-Authentifizierungstokens angewendet werden, die Mehrfachnachrichten-Challenge-Response-Protokolle (Mehrfachnachrichten-Herausforderung-Antwort-Protokolle) implementieren (”G. P. Hancke. Practical attacks on proximity identification systems (short paper). In SP '06: Proceedings of the 2006 IEEE Symposium on Security and Privacy, pages 328–333, Washington, DC, USA, 2006. IEEE Computer Society”.) Ein RFID-Authentifizierungstoken kann ohne die Zustimmung des Besitzers abgefragt werden, und die Nachrichten können dazu verwendet werden, eine erfolgreiche Authentifizierung durchzuführen. Dies ist bei einem Authentifizierungstoken, das das vorgeschlagene Einzelnachricht-Protokoll implementiert, unmöglich, da der Besitzer eine Protokollausführung erlauben muss (z. B. indem er eine Taste drückt). Außerdem vermeidet das Protokoll aus denselben Gründen Geheimhaltungsprobleme, da keine Daten ohne die Zustimmung des Besitzers transferiert werden. Aus diesen Gründen könnte das vorgeschlagene Einzelnachricht-Protokoll bei bestimmten sicherheitssensiblen Anwendungen besser geeignet sein als andere, Mehrfachdurchläufe umfassende Protokolle.
  • Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine Hardwareimplementierung eines beweisenden Geräts.
  • Dabei enthält die beweisende Vorrichtung z. B. eine Mikrosteuerung, die der Architektur von Intel 8051 (eingetragenes Warenzeichen) oder AVR ATmega128 ähnelt. Jedoch kann eine EK-Skalar-Punkt-Multiplikation an einer Mikrosteuerung nicht innerhalb eines sinnvollen Zeitraums in Software durchgeführt werden. Nils Gura et al. (”N. Gura, A. Patel, A. Wander, H. Eberle, and S. C. Shantz. Comparino elliptic curve cryptography and rsa on 8-bit cpus. In Cryptographic Hardware and Embedded Systems – CHES 2004: 6th International Workshop. Proceedings. Pages 119–132, 2004”.) stellen die beste relevante Software-Implentierung von EKK auf 160-Bit-Kurven über GF(p) an einer Atmel (eingetragenes Warenzeichen) ATmega128 dar, die eine Skalar-Punkt-Multiplikation in 0,81 Sekunden bei 8 MHz durchführt. Diese Leistungsfähigkeit ist für Anwendungen wie z. B. Gebäudezugangskontrolle und andere normalerweise unzureichend (kann jedoch für Anwendungen mit geringeren Anforderungen auf diese Weise realisiert werden). Deshalb wird in einer bevorzugten Ausprägungsform ein EK-Prozessor verwendet, der die rechentechnisch aufwendige Skalar-Punkt-Multiplikation effektiv in Hardware durchführt.
  • Um das vorgeschlagene Protokoll auszuführen, muss eine eingeschränkte beweisende Vorrichtung zur Berechnung der Authentifikationsvariablen auch modulare arithmetische Operationen mit mehrfacher Genauigkeit berechnen. Diese modularen arithmetischen Operationen können an einer Mikrosteuerung parallel (gleichzeitig) zu der EK-Skalar-Punkt-Multiplikation an dem EK-Prozessor durchgeführt werden. Beispielsweise können der modulare Comba-Multiplikationsalgorithmus (”P. Comba. Exponentiation on the ibm pc. IBM Systems Journal, 29 (4): 526–538, 1990”.) und Barrett-Reduktionsalgorithmus (”P. Barrett. Implementing the rives shamir and adleman public key encryption algorithm on a standard digital signal processor. In Proceedings on Advances in cryptology-CRYPTO '86. pages 311–323, London, UK, 1987, Springer-Verlag”.) zur effizienten modularen Multiplikation an z. B. einer 8-Bit-Mikrosteuerung verwendet werden. Der Aufwand einer modularen Addition ist vernachlässigbar.
  • Wie die meisten Protokolle (z. B. ECDSA, Schnorr, Okamoto) verwendet das beschriebene Protokoll Zufallszahlen. Offensichtlich müssen die Zufallszahlen modernen statistischen Anforderungen bezüglich ihrer Verteilung und Entropie erfüllen. Der Entwurf von Zufallszahlengeneratoren (RNGs – random number generators) wurde bereits in vielen Veröffentlichungen erörtert.
  • Eine mögliche Implementierung kann nicht ohne Weiteres für eine auf der Vorrichtung erfolgende Erzeugung von Schlüsselpaaren verwendet werden. Um ein Schlüsselpaar zu erzeugen, müsste der EK-Prozessor zusätzliche Hardware umfassen, um auch die y-Koordinate des Ausgangspunkts zu berechnen („J. López and R. Dahab. Fast multiplication on elliptic curves over gf(2m) without precomputation. In CHES '99· Proceedings of the First International Workshop on Cryptographic Hardware and Embedded Systems, pages 316–327, London, UK, 1999. Springer-Verlag”.). Selbst wenn die Vorrichtung ihr eigenes Schlüsselpaar erzeugen könnte, müsste der öffentliche Schlüssel (je nach Anwendung) trotzdem noch extern zertifiziert werden. Diese Zertifizierung muss generell in einer sicheren Umgebung ausgeführt werden. Für die meisten Anwendungen kann es vorteilhaft sein, das Schlüsselpaar und das entsprechende Zertifikat prozessentkoppelt bzw. außerhalb der Vorrichtung zu erzeugen und es in einer sicheren Umgebung einzuspeisen, statt das Schlüsselpaar an der Vorrichtung selbst zu erzeugen.
  • Ausführungsbeispiele gemäß der Erfindung beziehen sich auf eine Verwendung von asymmetrischer Kryptographie. Die Verwendung symmetrischer Kryptographie bei Authentifizierungsprotokollen geht immer mit inhärenten Nachteilen bezüglich der Schlüsselverteilung und -verwaltung einher. Falls ein Schlüssel, der von mehreren Vorrichtungen gemeinsam genutzt wird, gefährdet wird, sind alle Vorrichtungen davon betroffen. Um diesem Nachteil entgegenzuwirken, kann die Anzahl von Schlüsseln erhöht werden, so dass jede Vorrichtung ihren eigenen Schlüssel enthält. In diesem Fall muss jedoch ein Überprüfender bei einem Authentifizierungsschema Zugang zu allen geheimen Schlüsseln der Vorrichtungen, die authentifiziert sind, haben. Im Vergleich zu einer Verwendung asymmetrischer Kryptographie erhöht dieser Lösungsansatz die notwendige Sicherheitskomplexität des Überprüfenden beträchtlich. Wenn also symmetrische Kryptographie eingesetzt wird, muss ein weit größerer Aufwand zum Schutz geheimer Schlüssel werden. Beispiele umfassen Schutz vor Seitenkanalangriffen (SCA – side channel attack) sowie physischen Schutz des nicht-flüchtigen Schlüsselspeicherelements.
  • Obwohl es auch bei der asymmetrischen Kryptographie wichtig ist, Schlüssel zu schützen, ist die Auswirkung einer Gefährdung eines geheimen Schlüssels vergleichsweise niedrig. Eine Gefährdung eines Schlüssels gibt keine Informationen über einen anderen Schlüssel preis. Die Schlüsselverwaltung ist deshalb viel einfacher, und eine einzelne Schwachstelle wird vermieden, da keine geheimen sogenannten Masterschlüssel (Hauptschlüssel) verwendet werden. Außerdem muss die überprüfende Vorrichtung keine geheimen Informationen speichern und schützen. Sie könnte beispielsweise lediglich den öffentlichen Schlüssel sowie das zugehörige öffentliche Zertifikat speichern. Deshalb ist die Verwendung von asymmetrischen Algorithmen vorteilhaft.
  • Das Protokoll beruht auf der elliptischen Kurven Kryptographie, also einem besonders starken asymmetrischen Algorithmus. Der vollständige Durchlauf der initialen Authentifizierung benötigt die Übertragung zweier Nachrichten. Danach wird bei jeder weiteren Authentifizierung jeweils nur eine Nachricht übertragen. Herauszuheben ist, dass die vorliegende Erfindung einen besonders starken asymmetrischen Algorithmus (Elliptische-Kurven-Kryptographie) verwendet, der Rechenaufwand auf dem eingeschränkten sich authentifizierenden Gerät aber trotzdem gering ist.
  • Im Gegensatz zu dem von Lee et al. verwendeten Schnorr-Protokoll vermeidet unser Protokoll ein Transferieren der Challenge (Herausforderung) in einer ersten Nachricht und verwendet somit lediglich eine einzige Nachricht, was ein beträchtlicher Vorteil ist.
  • Im Gegensatz zu McLoone und Robshaw unterstützt der beschriebene Lösungsansatz eine praktisch endlose Anzahl von Protokollausführungen. Ein inhärenter Nachteil des GPS-Schemas besteht darin, dass Ganzzahlen einer größeren (nicht festgelegten) Bitgröße verarbeitet werden müssen und dass mehr Bits transferiert werden müssen.
  • Zusammenfassend lässt sich ableiten, dass das beschriebene Konzept, das auf asymmetrischen Algorithmen beruht, dessen Rechenaufwand auf Seiten eines z. B. eingeschränkten, sich identifizierenden Geräts trotzdem gering ist, und die auf nur einer übertragenen Nachricht beruht, zahlreiche Vorteile gegenüber bekannten Konzepten hat.
  • 6 zeigt ein Flussdiagramm eines Verfahrens 800 zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation entsprechend eines Ausführungsbeispiels gemäß der Erfindung. Das Verfahren umfasst ein Erzeugen 810 einer Zufallszahl r und ein Berechnen 820 einer x-Koordinate xR eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl r mit einem Basispunkt P der festgelegten elliptischen Kurve. Des Weiteren umfasst das Verfahren 800 ein Berechnen 830 einer Authentifikationsvariable v basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl r, der x-Koordinate xR des Kurvenpunkts R, eines geheimen Schlüssels skey und eines auf einer Laufvariablen i basierenden Faktors i' zu berechnen, wobei der Divisor der Modulo-Funktion die Ordnung n des Basispunkts P der festgelegten elliptischen Kurve ist. Danach erfolgt ein Bereitstellen 840 der berechneten x-Koordinate xR des Kurvenpunkts und der Authentifikationsvariable v als Authentifikationsdaten für eine einseitige Authentifikation. Zusätzlich umfasst das Verfahren 800 vor einer Berechnung 830 einer neuen Authentifikationsvariable v für eine wiederholte, einseitige Authentifikation ein Variieren 850 der Laufvariable i auf eine vorbestimmte deterministische Weise.
  • Zusätzlich kann das Verfahren um Verfahrensschritte erweitert werden, die durch optionale zusätzliche oder alternative Merkmale der zuvor beschriebenen Vorrichtungen zur Bereitstellung von Authentifikationsdaten beschrieben wurden.
  • 7 zeigt ein Flussdiagramm eines Verfahrens 900 zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation entsprechend eines Ausführungsbeispiels gemäß der Erfindung. Das Verfahren 900 umfasst ein Empfangen 910 von Authentifikationsdaten, die eine x-Koordinate xR eines Kurvenpunkts einer festgelegten elliptischen Kurve und eine Authentifikationsvariable v umfassen, und ein Berechnen 920 einer x-Koordinate xR' eines Vergleichspunkts auf der festgelegten elliptischen Kurve basierend auf einer Punkt-Addition eines Ergebnisses einer Skalarmultiplikation eines auf der Authentifikationsvariable v basierenden Faktors mit einem Basispunkt P der festgelegten elliptischen Kurve und eines Ergebnisses einer Skalarmultiplikation eines auf einer Laufvariable i und der empfangenen x-Koordinate basierenden Faktors und eines öffentlichen Schlüssels Qkey. Des Weiteren umfasst das Verfahren ein Vergleichen 930 der empfangenen x-Koordinate xR des Kurvenpunkts mit der x-Koordinate xR' des Vergleichspunkts, um die Authentifikationsdaten für eine einseitige Authentifikation zu verifizieren. Zusätzlich umfasst das Verfahren 900 vor einer Berechnung 920 einer x-Koordinate xR' eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation ein Variieren 940 der Laufvariable i auf eine vorbestimmte deterministische Weise.
  • Das Verfahren kann weitere Verfahrensschritte umfassen, die durch Merkmale realisiert werden, wie sie zuvor für eine Vorrichtung zum Verifizieren von Authentifikationsdaten beschrieben wurden.
  • Einige Ausführungsbeispiele gemäß der Erfindung beziehen sich auf ein Verfahren für eine wiederholbare, einseitige Authentifikation, die die Schritte des Verfahrens zum Bereitstellen von Authentifikationsdaten gefolgt von den Schritten für das Verfahren zum Verifizieren von Authentifikationsdaten umfasst.
  • Obwohl manche Aspekte im Zusammenhang mit einer Vorrichtung beschrieben wurden, versteht es sich, dass diese Aspekte auch eine Beschreibung des entsprechenden Verfahrens darstellen, sodass ein Block oder ein Bauelement einer Vorrichtung auch als ein entsprechender Verfahrensschritt oder als ein Merkmal eines Verfahrensschrittes zu verstehen ist. Analog dazu stellen Aspekte, die im Zusammenhang mit einem oder als ein Verfahrensschritt beschrieben wurden, auch eine Beschreibung eines entsprechenden Blocks oder Details oder Merkmals einer entsprechenden Vorrichtung dar.
  • Je nach bestimmten Implementierungsanforderungen können Ausführungsbeispiele der Erfindung in Hardware oder in Software implementiert sein. Die Implementierung kann unter Verwendung eines digitalen Speichermediums, beispielsweise einer Floppy-Disk, einer DVD, einer Blu-ray (eingetragenes Warenzeichen) Disc, einer CD, eines ROM, eines PROM, eines EPROM, eines EEPROM oder eines FLASH-Speichers, einer Festplatte oder eines anderen magnetischen oder optischen Speichers durchgeführt werden, auf dem elektronisch lesbare Steuersignale gespeichert sind, die mit einem programmierbaren Computersystem derart zusammenwirken können oder zusammenwirken, dass das jeweilige Verfahren durchgeführt wird. Deshalb kann das digitale Speichermedium computerlesbar sein. Manche Ausführungsbeispiele gemäß der Erfindung umfassen also einen Datenträger, der elektronisch lesbare Steuersignale aufweist, die in der Lage sind, mit einem programmierbaren Computersystem derart zusammenzuwirken, dass eines der hierin beschriebenen Verfahren durchgeführt wird.
  • Allgemein können Ausführungsbeispiele der vorliegenden Erfindung als Computerprogrammprodukt mit einem Programmcode implementiert sein, wobei der Programmcode dahin gehend wirksam ist, eines der Verfahren durchzuführen, wenn das Computerprogrammprodukt auf einem Computer abläuft. Der Programmcode kann beispielsweise auch auf einem maschinenlesbaren Träger gespeichert sein.
  • Andere Ausführungsbeispiele umfassen das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren, wobei das Computerprogramm auf einem maschinenlesbaren Träger gespeichert ist.
  • Mit anderen Worten ist ein Ausführungsbeispiel des erfindungsgemäßen Verfahrens somit ein Computerprogramm, das einen Programmcode zum Durchführen eines der hierin beschriebenen Verfahren aufweist, wenn das Computerprogramm auf einem Computer abläuft. Ein weiteres Ausführungsbeispiel der erfindungsgemäßen Verfahren ist somit ein Datenträger (oder ein digitales Speichermedium oder ein computerlesbares Medium), auf dem das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren aufgezeichnet ist.
  • Ein weiteres Ausführungsbeispiel des erfindungsgemäßen Verfahrens ist somit ein Datenstrom oder eine Sequenz von Signalen, der bzw. die das Computerprogramm zum Durchführen eines der hierin beschriebenen Verfahren darstellt bzw. darstellen. Der Datenstrom oder die Sequenz von Signalen kann bzw. können beispielsweise dahin gehend konfiguriert sein, über eine Datenkommunikationsverbindung, beispielsweise über das Internet, transferiert zu werden.
  • Ein weiteres Ausführungsbeispiel umfasst eine Verarbeitungseinrichtung, beispielsweise einen Computer oder ein programmierbares Logikbauelement, die dahin gehend konfiguriert oder angepasst ist, eines der hierin beschriebenen Verfahren durchzuführen.
  • Ein weiteres Ausführungsbeispiel umfasst einen Computer, auf dem das Computerprogramm zum Durchfahren eines der hierin beschriebenen Verfahren installiert ist.
  • Bei manchen Ausführungsbeispielen kann ein programmierbares Logikbauelement (beispielsweise ein feldprogrammierbares Gatterarray, ein FPGA) dazu verwendet werden, manche oder alle Funktionalitäten der hierin beschriebenen Verfahren durchzuführen. Bei manchen Ausführungsbeispielen kann ein feldprogrammierbares Gatterarray mit einem Mikroprozessor zusammenwirken, um eines der hierin beschriebenen Verfahren durchzuführen. Allgemein werden die Verfahren bei einigen Ausführungsbeispielen seitens einer beliebigen Hardwarevorrichtung durchgeführt. Diese kann eine universell einsetzbare Hardware wie ein Computerprozessor (CPU) sein oder für das Verfahren spezifische Hardware, wie beispielsweise ein ASIC.
  • Die oben beschriebenen Ausführungsbeispiele stellen lediglich eine Veranschaulichung der Prinzipien der vorliegenden Erfindung dar. Es versteht sich, dass Modifikationen und Variationen der hierin beschriebenen Anordnungen und Einzelheiten anderen Fachleuten einleuchten werden. Deshalb ist beabsichtigt, dass die Erfindung lediglich durch den Schutzumfang der nachstehenden Patentansprüche und nicht durch die spezifischen Einzelheiten, die anhand der Beschreibung und der Erläuterung der Ausführungsbeispiele hierin präsentiert wurden, beschränkt sei.

Claims (19)

  1. Vorrichtung (100; 600) zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation, mit folgenden Merkmalen: einem Zufallszahlengenerator (110), der ausgelegt ist, um eine Zufallszahl (r) zu erzeugen; und einem Elliptische-Kurven-Prozessor (120), der ausgelegt ist, um eine x-Koordinate (xR) eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl (r) mit einem Basispunkt (P) der festgelegten elliptischen Kurve zu berechnen, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um eine Authentifikationsvariable (v) basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl (r), der x-Koordinate (xR) des Kurvenpunkts, eines geheimen Schlüssels (skey) und eines auf einer Laufvariablen (i) basierenden Faktors (i') zu berechnen. wobei der Divisor der Modulo-Funktion die Ordnung (n) des Basispunkts (P) der festgelegten elliptischen Kurve ist, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um die berechnete x-Koordinate (xR) des Kurvenpunkts und die Authentifikationsvariable (v) als Authentifikationsdaten für eine einseitige Authentifikation bereitzustellen, und wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um vor einer Berechnung einer neuen Authentifikationsvariable (v) für eine wiederholte, einseitige Authentifikation die Laufvariable (i) auf eine vorbestimmte deterministische Weise zu variieren.
  2. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 1, wobei die invertierbare Funktion bezüglich der Laufvariable (i) invertierbar ist.
  3. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 1 oder 2, die einen Empfänger umfasst, der ausgelegt ist, um eine Initialisierungslaufzahl (i) zu empfangen, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um nach dem Empfang der Initialisierungslaufzahl (i) vor einer Berechnung der Authentifikationsvariable (v) einmalig die Laufvariable (i) mit der Initialisierungslaufzahl (i) gleichzusetzen.
  4. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 3, wobei die Vorrichtung ausgelegt ist, um nach dem Empfang der Initialisierungslaufzahl (i) einmalig einen öffentlichen Schlüssel (Qkey) als weitere Authentifikationsdaten für eine einseitige Authentifikation bereitzustellen.
  5. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 3 oder 4, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um die Authentifikationsvariable (v) zu berechnen, wobei der auf der Laufvariable (i) basierende Faktor zusätzlich auf einem Sicherheitsparameter (k) basiert, wobei die Vorrichtung ausgelegt ist, um den Sicherheitsparameter als weitere Authentifikationsdaten für eine einseitige Authentifikation bereitzustellen, wobei der Sicherheitsparameter nach dem Empfang der Initialisierungslaufzahl (i) für die Berechnung der Authentifizierungsvariable (v) einmalig einen ersten Wert (k2) aufweist und für alle weiteren Berechnungen einer neuen Authentifikationsvariable (v) für eine wiederholte, einseitige Authentifikation, bis zu einem Empfang einer neuen Initialisierungslaufzahl (i), einen anderen Wert aufweist.
  6. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 5, wobei der andere Wert des Sicherheitsparameters abhängig von einem Authentifikationszweck gewählt wird und sich für unterschiedliche Authentifikationszwecke unterscheidet.
  7. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß einem der Ansprüche 3 bis 6, die einen Sender aufweist, wobei der Sender ausgelegt ist, um ein Signal, das die Authentifikationsdaten enthält, drahtlos zu versenden, wobei der Empfänger ein drahtgebundener Empfänger ist oder wobei der Empfänger ein drahtloser Empfänger ist, wobei der drahtlose Empfänger ausgelegt ist, sodass eine maximal empfangbare Bitrate kleiner als 10% einer maximal sendbaren Bitrate des Senders ist, oder der drahtlose Empfänger ausgelegt ist, sodass ein durchschnittliches Signal-zu-Rausch-Verhältnis eines zu sendenden Signals an einem Ausgang des Senders kleiner als 50% eines durchschnittlichen Signal-zu-Rausch-Verhältnis eines zu empfangenden Signals an einem Eingang des Empfängers ist, damit das Signal von dem Empfänger noch fehlerfrei empfangen wird.
  8. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß einem der Ansprüche 1 bis 7, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um für die Berechnung der x-Koordinate des Kurvenpunkts projektive Koordinaten zu verwenden, die berechnete projektive Koordinate des Kurvenpunkts in eine affine Koordinatendarstellung zu transformieren und die berechnete affine Koordinate des Kurvenpunkts bereitzustellen.
  9. Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß einem der Ansprüche 1 bis 8, wobei der Elliptische-Kurven-Prozessor (120) ausgelegt ist, um die Authentifikationsvariable (v) basierend auf folgender Formel zu berechnen: v = (((k||i) + xR)·skey + r) mod n wobei v die Authentifikationsvariable, skey, der geheime Schlüssel, k der Sicherheitsparameter, i die Laufvariable, xR die x-Koordinate des Kurvenpunkts, r die Zufallszahl und n die Ordnung des Basispunkts P ist.
  10. Vorrichtung (200) zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation, mit folgenden Merkmalen: einem Empfänger (210), der ausgelegt ist, die Authentifikationsdaten zu empfangen, wobei die Authentifikationsdaten eine x-Koordinate (xR) eines Kurvenpunkts einer festgelegten elliptischen Kurve und eine Authentifikationsvariable (v) umfassen; und einem Elliptische-Kurven-Prozessor (220), der ausgelegt ist, um eine x-Koordinate (xR') eines Vergleichspunkts auf der festgelegten elliptischen Kurve basierend auf einer Addition eines Ergebnisses einer Skalarmultiplikation eines auf der Authentifikationsvariable (v) basierenden Faktors mit einem Basispunkt (P) der festgelegten elliptischen Kurve und eines Ergebnisses einer Skalarmultiplikation eines auf einer Laufvariable (i) und der empfangenen x-Koordinate basierenden Faktors und eines öffentlichen Schlüssels (QKey) zu berechnen, wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um die empfangene x-Koordinate (xR) des Kurvenpunkts mit der x-Koordinate (xR') des Vergleichspunkts zu vergleichen, um die Authentifikationsdaten für eine einseitige Authentifikation zu verifizieren, und wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um vor einer Berechnung einer x-Koordinate (xR') eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation die Laufvariable (i) auf eine vorbestimmte deterministische Weise zu variieren.
  11. Vorrichtung zum Verifizieren von Authentifikationsdaten gemäß Anspruch 10, die einen Sender aufweist, der ausgelegt ist, um eine Initialisierungslaufzahl bereitzustellen, wobei die Initialisierungslaufzahl einem aktuellen Wert der Laufvariable (i) entspricht, wobei die empfangenen Authentifikationsdaten nach dem Bereitstellen der Initialisierungslaufzahl einmalig den öffentlichen Schlüssel (Qkey) umfassen, und wobei die Vorrichtung ausgelegt ist, den öffentlichen Schlüssel (Qkey) für eine wiederholte Authentifizierung zu speichern.
  12. Vorrichtung zum Verifizieren von Authentifikationsdaten gemäß Anspruch 11, wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um die x-Koordinate (xR') des Vergleichsparameters zu berechnen, wobei der auf der Laufvariable (i) basierende Faktor zusätzlich auf einem Sicherheitsparameter (k) basiert, wobei der Sicherheitsparameter (k) Teil der empfangenen Authentifikationsdaten ist, wobei der Sicherheitsparameter (k) nach dem Bereitstellen einer Initialisierungslaufzahl einmalig einen ersten Wert (k2) aufweist und für alle weiteren Berechnungen einer x-Koordinate eines neuen Vergleichspunkts für eine wiederholte, einseitige Authentifikation, bis zu einer Bereitstellung einer neuen Initialisierungslaufzahl, Werte (kx) aufweist, die sich vom ersten Wert (k2) unterscheiden.
  13. Vorrichtung zum Verifizieren von Authentifikationsdaten gemäß einem der Ansprüche 10 bis 12, wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um x-Koordinaten für eine Mehrzahl von Vergleichspunkten zu berechnen, wobei jede x-Koordinate eines Vergleichspunkts der Mehrzahl von Vergleichspunkten basierend auf einem unterschiedlichen Wert der Laufvariable (i) berechnet wird, wobei die unterschiedlichen Werte der Laufvariable (i) entsprechend der vorbestimmten deterministischen Weise bestimmte, aufeinanderfolgende Werte der Laufvariable (i) sind, wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um die x-Koordinaten der Mehrzahl von Vergleichspunkten mit der empfangenen x-Koordinate (xR) des Kurvenpunkts zu vergleichen.
  14. Vorrichtung zum Verifizieren von Authentifikationsdaten gemäß einem der Ansprüche 10 bis 13, wobei der Elliptische-Kurven-Prozessor (220) ausgelegt ist, um die x-Koordinate des Vergleichspunkts basierend auf der folgenden Formel zu berechnen: (xR') ← v·P + ((k||i) + xR)·Qkey wobei xR eine x-Koordinate des Vergleichspunkts, v die Authentifikationsvariable, P der Basispunkt, k der Sicherheitsparameter, xR die x-Koordinate des Kurvenpunkts, i die Laufvariable und Qkey der öffentliche Schlüssel ist.
  15. Authentifikationssystem (300) für eine wiederholbare, einseitige Authentifikation, mit folgenden Merkmalen: einer Vorrichtung zum Bereitstellen von Authentifikationsdaten gemäß einem der Ansprüche 1 bis 9; und einer Vorrichtung zum Verifizieren von Authentifikationsdaten gemäß einem der Ansprüche 10 bis 14, wobei die Vorrichtung zum Bereitstellen von Authentifikationsdaten die Authentifikationsdaten der Vorrichtung zum Verifizieren von Authentifikationsdaten bereitstellt.
  16. Verfahren (800) zum Bereitstellen von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation, mit folgenden Schritten: Erzeugen (810) einer Zufallszahl (r); Berechnen (820) einer x-Koordinate (xR) eines Kurvenpunkts einer festgelegten elliptischen Kurve basierend auf einer Skalarmultiplikation der Zufallszahl (r) mit einem Basispunkt (P) der festgelegten elliptischen Kurve; Berechnen (830) einer Authentifikationsvariable (v) basierend auf dem Modulo einer invertierbaren Funktion der Zufallszahl (r), der x-Koordinate (xR) des Kurvenpunkts. eines geheimen Schlüssels (skey) und eines auf einer Laufvariablen (i) basierenden Faktors (i'), wobei der Divisor der Modulo-Funktion die Ordnung (n) des Basispunkts (P) der festgelegten elliptischen Kurve ist; Bereitstellen (840) der berechneten x-Koordinate (xR) des Kurvenpunkts und der Authentifikationsvariable (v) als Authentifikationsdaten für eine einseitige Authentifikation; und Variieren (850) der Laufvariable auf eine vorbestimmte deterministische Weise vor einer Berechnung einer neuen Authentifikationsvariable (v) für eine wiederholte, einseitige Authentifikation.
  17. Verfahren (900) zum Verifizieren von Authentifikationsdaten für eine wiederholbare, einseitige Authentifikation, mit folgenden Schritten: Empfangen (910) der Authentifikationsdaten, wobei die Authentifikationsdaten eine x-Koordinate (xR) eines Kurvenpunkts einer festgelegten elliptischen Kurve und eine Authentifikationsvariable (v) umfassen; Berechnen (920) einer x-Koordinate (xR') eines Vergleichspunkts auf der festgelegten elliptischen Kurve basierend auf einer Addition eines Ergebnisses einer Skalarmultiplikation eines auf der Authentifikationsvariable (v) basierenden Faktors mit einem Basispunkt (P) der festgelegten elliptischen Kurve und eines Ergebnisses einer Skalarmultiplikation eines auf einer Laufvariable (i) und der empfangenen x-Koordinate basierenden Faktors und eines öffentlichen Schlüssels (Qkey); Vergleichen (930) der empfangenen x-Koordinate (xR) des Kurvenpunkts mit der x-Koordinate (xR') des Vergleichspunkts, um die Authentifikationsdaten für eine einseitige Authentifikation zu verifizieren; und Variieren (940) der Laufvariable (i) auf eine vorbestimmte deterministische Weise vor einer Berechnung einer x-Koordinate (xR') eines neuen Vergleichsparameters für eine wiederholte, einseitige Authentifikation.
  18. Verfahren für eine wiederholbare, einseitige Authentifikation, die die Schritte des Verfahrens zum Bereitstellen von Authentifikationsdaten gemäß Anspruch 16 gefolgt von den Schritten des Verfahrens zum Verifizieren von Authentifikationsdaten gemäß Anspruch 17 umfasst.
  19. Computerprogramm mit einem Programmcode zur Durchführung eines Verfahrens gemäß einem der Ansprüche 16 bis 18, wenn das Computerprogramm auf einem Computer oder Mikrocontroller abläuft.
DE201010002241 2010-02-23 2010-02-23 Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung Expired - Fee Related DE102010002241B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201010002241 DE102010002241B4 (de) 2010-02-23 2010-02-23 Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201010002241 DE102010002241B4 (de) 2010-02-23 2010-02-23 Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung

Publications (2)

Publication Number Publication Date
DE102010002241A1 DE102010002241A1 (de) 2011-08-25
DE102010002241B4 true DE102010002241B4 (de) 2012-03-22

Family

ID=44356507

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201010002241 Expired - Fee Related DE102010002241B4 (de) 2010-02-23 2010-02-23 Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung

Country Status (1)

Country Link
DE (1) DE102010002241B4 (de)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652014B2 (en) 2016-02-23 2020-05-12 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US10659223B2 (en) 2016-02-23 2020-05-19 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10715336B2 (en) 2016-02-23 2020-07-14 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11126976B2 (en) 2016-02-23 2021-09-21 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
US11727501B2 (en) 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070279227A1 (en) * 2006-02-03 2007-12-06 Ari Juels Authentication Methods and Apparatus Utilizing Hash Chains

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0383985A1 (de) 1989-02-24 1990-08-29 Claus Peter Prof. Dr. Schnorr Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070279227A1 (en) * 2006-02-03 2007-12-06 Ari Juels Authentication Methods and Apparatus Utilizing Hash Chains

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10652014B2 (en) 2016-02-23 2020-05-12 nChain Holdings Limited Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US10659223B2 (en) 2016-02-23 2020-05-19 nChain Holdings Limited Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US10715336B2 (en) 2016-02-23 2020-07-14 nChain Holdings Limited Personal device security using elliptic curve cryptography for secret sharing
US11120437B2 (en) 2016-02-23 2021-09-14 nChain Holdings Limited Registry and automated management method for blockchain-enforced smart contracts
US11126976B2 (en) 2016-02-23 2021-09-21 nChain Holdings Limited Method and system for efficient transfer of cryptocurrency associated with a payroll on a blockchain that leads to an automated payroll method and system based on smart contracts
US11182782B2 (en) 2016-02-23 2021-11-23 nChain Holdings Limited Tokenisation method and system for implementing exchanges on a blockchain
US11194898B2 (en) 2016-02-23 2021-12-07 nChain Holdings Limited Agent-based turing complete transactions integrating feedback within a blockchain system
US11308486B2 (en) 2016-02-23 2022-04-19 nChain Holdings Limited Method and system for the secure transfer of entities on a blockchain
US11349645B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
US11347838B2 (en) 2016-02-23 2022-05-31 Nchain Holdings Ltd. Blockchain implemented counting system and method for use in secure voting and distribution
US11356280B2 (en) 2016-02-23 2022-06-07 Nchain Holdings Ltd Personal device security using cryptocurrency wallets
US11373152B2 (en) 2016-02-23 2022-06-28 nChain Holdings Limited Universal tokenisation system for blockchain-based cryptocurrencies
US11410145B2 (en) 2016-02-23 2022-08-09 nChain Holdings Limited Blockchain-implemented method for control and distribution of digital content
US11455378B2 (en) 2016-02-23 2022-09-27 nChain Holdings Limited Method and system for securing computer software using a distributed hash table and a blockchain
US11606219B2 (en) 2016-02-23 2023-03-14 Nchain Licensing Ag System and method for controlling asset-related actions via a block chain
US11621833B2 (en) 2016-02-23 2023-04-04 Nchain Licensing Ag Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
US11625694B2 (en) 2016-02-23 2023-04-11 Nchain Licensing Ag Blockchain-based exchange with tokenisation
US11727501B2 (en) 2016-02-23 2023-08-15 Nchain Licensing Ag Cryptographic method and system for secure extraction of data from a blockchain
US11755718B2 (en) 2016-02-23 2023-09-12 Nchain Licensing Ag Blockchain implemented counting system and method for use in secure voting and distribution
US11936774B2 (en) 2016-02-23 2024-03-19 Nchain Licensing Ag Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys

Also Published As

Publication number Publication date
DE102010002241A1 (de) 2011-08-25

Similar Documents

Publication Publication Date Title
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
DE69918818T2 (de) Verfahren zur Erzeugung eines öffentlichen Schlüssels in einem sicheren digitalen Kommunikationssystem und implizites Zertifikat
EP2484047B1 (de) Verfahren zum manipulationsschutz von sensordaten und sensor hierzu
DE102011120968B4 (de) Erzeugen von sicheren Schlüsseln auf Anforderung
DE69133502T2 (de) Geheimübertragungsverfahren und -gerät
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
CH711133A2 (de) Protokoll zur Signaturerzeugung.
CH708239B1 (de) Schlüsseleinigungsprotokoll.
WO1996032791A1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer benutzercomputereinheit u und einer netzcomputereinheit n
EP1368929B1 (de) Verfahren zur authentikation
DE102012206341A1 (de) Gemeinsame Verschlüsselung von Daten
DE102013109513A1 (de) Verfahren zur Zertifikaterzeugung und zum Zertifikatwiderruf mit Privatsphärenschutz
EP3304802B1 (de) Verfahren zur sicherstellung der informationssicherheit von über einen datenbus übertragenen daten sowie datenbussystem
DE112012000971B4 (de) Datenverschlüsselung
EP3182318A1 (de) Signaturgenerierung durch ein sicherheitstoken
López-García et al. A pairing-based blind signature e-voting scheme
He et al. On the Security of a RSA-based Certificateless Signature Scheme.
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
CH711134A2 (de) Schlüsselzustimmungsprotokoll.
EP3206154B1 (de) Verfahren und vorrichtungen zum sicheren übermitteln von nutzdaten
WO2007107450A1 (de) Kryptographisches verfahren mit elliptischen kurven
DE10216396A1 (de) Verfahren zur Authentisierung
WO2013189909A1 (de) Verfahren zur zumindest einseitig authentisierten, sicheren kommunikation zwischen zwei kommunikationspartnern
DE10159690C2 (de) Verfahren zur Vereinbarung eines symmetrischen Schlüssels über einen unsicheren Kanal und zur digitalen Signatur

Legal Events

Date Code Title Description
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final

Effective date: 20120623

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee