DE60303018T2 - Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System - Google Patents

Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System Download PDF

Info

Publication number
DE60303018T2
DE60303018T2 DE60303018T DE60303018T DE60303018T2 DE 60303018 T2 DE60303018 T2 DE 60303018T2 DE 60303018 T DE60303018 T DE 60303018T DE 60303018 T DE60303018 T DE 60303018T DE 60303018 T2 DE60303018 T2 DE 60303018T2
Authority
DE
Germany
Prior art keywords
batch
value
polynomial
secret
argument
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60303018T
Other languages
English (en)
Other versions
DE60303018D1 (de
Inventor
T. Pim TUYLS
A. Thomas KEVENAAR
J. Geert SCHRIJEN
E. Marten VAN DIJK
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Application granted granted Critical
Publication of DE60303018D1 publication Critical patent/DE60303018D1/de
Publication of DE60303018T2 publication Critical patent/DE60303018T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2805Home Audio Video Interoperability [HAVI] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Mobile Radio Communication Systems (AREA)

Description

  • Die vorliegende Erfindung bezieht sich auf ein Verfahren zum Erzeugen eines gemeinsamen Geheimnisses zwischen einer ersten Partie und einer zweiten Partie, wobei die erste Partie einen Wert p1 hat und ein symmetrisches Polynom P(x,y), fest in dem ersten Argument durch den Wert p1, und die erste Partie die nachfolgenden Schritte durchführt: das Senden des Wertes p1 zu der zweiten Partie, das Empfangen eines Wertes p2 von der zweiten Partie und das Berechnen des Geheimnisses S1 durch Bewertung des Polynoms P(p1,y) in p2.
  • Die vorliegende Erfindung bezieht sich weiterhin auf ein System mit einer ersten Partie, einer zweiten Partie und einer vertrauten dritten Partie, vorgesehen zum Durchführen eines derartigen Verfahren, auf Anordnungen, vorgesehen zum Funktionieren als erste Partie oder als zweite Partie in diesem System und auf ein Computerprogrammprodukt.
  • Eine Ausführungsform des Verfahren der eingangs beschriebenen Art ist aus dem Artikel von R. Blom: "Non-public distribution, Advances in Cryptology-Proceedings of Crypto 82" Seiten 231–236, 1983, bekannt.
  • Authentisierung spielt eine wichtig Rolle in digitalen Kommunikationsnetzwerken und in Contentschutzsystemen. Anordnungen, die mit jeder anderen kommunizieren, sollen von der Vertrauenswürdigkeit der anderen überzeugt sein. Sie sollen keine vertrauliche Information an eine nicht vertraute Partie geben. Authentisierungsprozeduren basieren oft auf öffentliche Schlüsseltechniken, die viel Verarbeitungsleistung erfordern. In vielen Applikationen ist diese (Verarbeitungs)Leistung nicht verfügbar, wodurch diese öffentlichen Schlüsseltechniken nicht ehrlich angewandt werden können.
  • Eine Lösung die manchmal vorgeschlagen wird, basiert auf der Verwendung symmetrischer Geheimcodes, die viel weniger Leistung erfordern. Diese weisen aber den Nachteil auf, dass sie ein allgemeines Systemgeheimnis in jeder Anordnung erfordern, was nicht erwünscht ist für Produkte, die in großen Anzahlen hergestellt werden.
  • Digitale Kommunikationsnetzwerke werden immer allgemeiner, auch in Kollektor-Elektrode-Applikationen und steigern das Bedürfnis nach preisgünstigen und energiesparenden Authentisierungsprotokollen. Obschon diese Leistungsbegrenzung im Allgemeinen für tragbare CE-Anordnungen und Chipkarten usw. gilt, ist es besonders wichtig bei Produkten von dem Typ "Chip-in-Disc" (CID), wie diese in der internationalen Patentanmeldung WO 02/017316 (Aktenzeichen der Anmelderin: PHNL010233) derselben Anmelderin der vorliegenden Patentanmeldung beschrieben worden sind.
  • Die Basisannäherung hinter CID ist, dass ein Träger, wie eine CD oder eine DVD mit einem Chip versehen wird, der dann für Contentschutzzwecke verwendet wird. Der Chip wird dafür sorgen, dass der Spieler den Content abspielt (erteilt Zugriff auf die vorhandenen Entschlüsselungsschlüssel), sobald er davon überzeugt ist, dass der Spieler vertraut ist. Andererseits wird der Spieler keinen Content auf einer nicht vertrauten Disk abspielen. Deswegen brauchen beides, der Spieler und der CID Mittel zur Authentifizierung.
  • Es ist wichtig, zu bemerken, dass der Chip eine nur begrenzte Leistung hat (etwa 0,5 mW) an der Anordnung und deswegen können sie keine sehr komplizierten Berechnungen durchführen. Das bedeutet, dass öffentliche Schlüsseltechniken (wie RSA oder ElGamal) nicht sofort angewandt werden können. Das CID Authentifizierungsproblem ist ein typisches Beispiel eines Authentifizierungsproblems in der CE Welt.
  • Der oben genannte Artikel von Blom beschreibt ein Verfahren zum Erzeugen eines gemeinsamen Schlüssels oder Konferenzschlüssels unter Anwendung eines geheimen Teilungsprotokolls auf Basis eines symmetrischen Polynoms in zwei Variablen. Dieses Protokoll ist in 1 dargestellt. Im Grunde versucht die eine Partie, hier bezeichnet als "prover" (abgekürzt P) eine andere Partie in dem System, hier bezeichnet als "verifier" (abgekürzt V) zu überzeugen, dass sie ein Geheimnis kennt, dass der Verifier auch kennt. Wenn der Verifier überzeugt ist, ist der Prover authentifiziert.
  • In dem System wählt eine "Trusted Third Party" (TTP) (vertraute dritte Partie) eine symmetrische (n + 1) × (n + 1) Matrix T, deren Eingaben tij betreffende Koeffizienten eines Polynoms P n. Grades in zwei Variablen darstellen, was wie folgt definiert ist:
    Figure 00020001
  • Es dürfte einleuchten, dass P(x,y) = P(y,x) ist für alle x und y in der Domäne des Polynoms. Das Polynom P kann auf den Raum der Polynomen n. Grades in einer Variablen projiziert werden durch Festlegung des Argumentes x auf einen bestimmten Wert, sagen wird p: Pp(y) = P(p,y). Aus der Definition des Polynoms P, der Symmetrie der Matrix T und der resultierenden Symmetrie von P(x,y) folgt dann, dass Pp(q) = Pq(p) für alle p und q ist.
  • Nach Blom empfängt jede Anordnung, die imstande sein soll, ein gemeinsames Geheimnis mit einer anderen Anordnung zu erzeugen, ein Paar (Pp(y), p), d.h. das Polynom P befestigt in p und den Wert p, der Pp(y) aus P(x,y) zu erzeugen gewohnt war. Das gemeinsame Geheimnis zwischen den Anordnungen (Pp, p) und (Pq, q) wird gegeben durch Pp(q) = Pq(p), das durch Vertauschung von p und q und durch Bewertung der Polynome zum Erhalten eines Geheimnisses S1 für P und S2 für V erzeugt wird.
  • In dieser Annäherung besteht das allgemeine Geheimnis aus der Matrix T, die ½(n + 1)(n + 2) unabhängige Eingaben hat, weil sie symmetrisch ist. Ein Teil dieses Geheimnisses wird jeder Partie gegeben, und zwar in Form eines betreffenden Wertes p und des Polynoms Pp(y) mit n + 1 Koeffizienten der nachstehenden Form
    Figure 00030001
  • Dies gibt jeder Partie n + 1 lineare Gleichungen in den ½(n + 1)(n + 2) Unbekannten tij, was deutlich macht, dass die eine Partie das globale Geheimnis T nicht abrufen kann. Nur wenn n + 1 Partien. Nur wenn n + 1 Partien, alle mit einem anderen Wert p zusammenarbeiten, wird es möglich sein, die Matrix T abzurufen.
  • Dies ist ein großer Nachteil des bekannten Protokolls: wenn eine ausreichende Anzahl Partien zusammenarbeiten, kann das globale Geheimnis T abgerufen werden, es sei denn, dass die Anzahl verschiedener Werte von pi kleiner ist als n + 1. Dies bedeutet aber, dass die Anzahl verschiedener Anteile begrenzt ist auf den Grad des Polynoms um eine Enthüllung des globalen Systemgeheimnisses T zu vermeiden. Weiterhin werden, wenn zwei Partien kommunizieren, diese Partien immer dasselbe gemeinsame Geheimnis erzeugen.
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung, ein Verfahren der eingangs beschriebenen Art zu schaffen, das immer eine größere Anzahl verschiedener Anteile des unter die Partien zu verteilenden globalen Geheimnisses erlaubt, ohne dass die Ordnung des Polynoms P gesteigert werden muss.
  • Diese Aufgabe wird nach der vorliegenden Erfindung bei einem Verfahren erfüllt, das das Kennzeichen aufweist, dass die erste Partie außerdem einen Wert q1 hat und ein symmetrisches Polynom Q(x,z), fest in dem ersten Argument durch den Wert q1, und weiterhin die nachfolgenden Verfahrensschritte durchführt: das Senden von q1 zu der zweiten Partie, das Empfangen eines Wertes q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, g2)·P(p1, p2).
  • Während die Anzahl Werte für pi dennoch auf n begrenzt ist, kann nun eine größere Anzahl verschiedener Anteile unter die Partien verteilt werden. Die Anzahl Werte für qi in dem gesamten System ist nicht auf den Grad des Polynoms P begrenzt, wie in dem Fall des Blom Systems, sondern nur durch die Anzahl möglicher Elemente qi in der Domäne von Q. Dies ermöglicht es, dass eine ausreichende Anzahl qi's mit einem einzigartigen Anteil des globalen Geheimnisses versehen wird.
  • In einer Ausführungsform führt die erste Partie die folgenden Schritte durch: das Erhalten einer beliebigen Zahl r1, das Berechnen von r1·q1, das Senden von r1·q1 zu der zweiten Partie, das Empfangen von r2·q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, g2)·P(p1, p2). Die beliebigen Zahlen r1 und r2 verstecken die Werte von q1 und q2, was es sehr schwer macht für einen Horcher oder für eine nicht übereinstimmende Anordnung, etwas über q1 und q2 zu lernen. Zweitens enden die Werte von r1 und r2 multiplikativ zu den Ergebnissen der Bewertung der Polynome P und Q, und folglich haben die berechneten Geheimnisse S1 und S2 auch einen beliebigen Charakter. Dies bedeutet, dass es, wenn S1 und S2 später als Schlüssel in einem symmetrischen Geheimcode verwendet wird, schwer sein wird für einen Horcher, die Verschlüsselung zu brechen. Außerdem kann nun bei jeder neuen Session zwischen zwei Anordnungen ein anderes gemeinsames Geheimnis erzeugt werden.
  • Bei einer weiteren Ausführungsform hält die erste Partie den Wert q1 multipliziert mit einem beliebig gewählten Wert r, und das Produkt Q(q1,z)P(p1,y) statt der einzelnen Polynome P(p1,y) und Q(q1,z), und die erste Partie führt die nachfolgenden Verfahrensschritte durch: das Berechnen von r1·r·q1, das Senden von r1·r·q1 zu der zweiten Partie, das Empfangen von r2·r·q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, r1·r2·r·q2)·P(p1, p2). Auf diese Weise werden die Werte q1 und q2 für einen Gegner, der auf eine Anordnung zugreifen möchte und versucht das globale Geheimnis T und/oder die Werte q1 oder q2 zu lernen, versteckt.
  • Bei einer weiteren Ausführungsform benutzen die erste Partie und die zweite Partie eine nicht lineare Funktion an dem erzeugten Geheimnis S1 bzw. S2, bevor dieses als geheimer Schlüssel bei weiterer Kommunikation verwendet wird. Die nicht lineare Funkti on wird vorzugsweise als eine Einweg-Hash-Funktion implementiert, kann aber auch die Form eines Polynoms annehmen. Die Anwendung einer nicht linearen Funktion macht das Schema vorwärts und rückwärts sicher. Mit anderen Worten, sogar wenn ein Angreifer manipuliert zum Erhalten eines Schlüssels, kann er aus diesem erhaltenen Schlüssel keine vorhergehenden oder nachfolgenden Schlüssel herleiten.
  • Vorzugsweise bestätigt die erste Partie daraufhin, dass die zweite Partie das Geheimnis S1 kennt. Die erste Partie könnte ein Null-Kenntniss Protokoll anwenden um zu bestätigen, dass die zweite Partie das Geheimnis S1 kennt. Vorzugsweise ist dieses Protokoll das Guilou-Quisqauter Protokoll mit öffentlichen Werten e und m. Dies bietet den Vorteil, dass in der vorliegenden Erfindung das Guilou-Quisqauter Protokoll sehr sicher sein kann für niedrige Werte von e, weil es für einen Angreifer unmöglich macht, einer Aufforderung vorwegzunehmen. Weiterhin ist es in Termen von Kommunikation und Speicherverwendung effizient.
  • Auf alternative Weise kann die erste Partie ein auf Verbindlichkeit basiertes Protokoll anwenden um zu bestätigen, dass die zweite Partie das Geheimnis S1 kennt. Die Anwendung eines auf Verbindlichkeit basierten Protokolls auf einen symmetrischen Geheimcode, wie DES, Lombok oder AES ist sehr effizient in Termen von Energieverbrauch in einer Anordnung, die das Verfahren durchführt. Vorzugsweise benutzt die erste Partie daraufhin denselben symmetrischen Geheimcode als eine Übergabefunktion um sich selbst an eine Entschlüsselung der verschlüsselten beliebigen Aufforderung zu übergeben. Dies bietet den zusätzlichen Vorteil, dass die Komplexität der Implementierung nun reduziert wird, da die Hardware und/oder die Software zum Verschlüsseln der Aufforderung zum Durchführen der Übergabefunktion abermals verwendet werden kann.
  • Andere vorteilhafte Ausführungsformen sind in den Unteransprüchen erläutert.
  • Ausführungsbeispiele der Erfindung sind in der Zeichnung dargestellt und werden im Folgenden näher beschrieben. Es zeigen:
  • 1 ein Geheimnisteilungsprotokoll auf Basis eines symmetrischen Polynoms in zwei Variablen entsprechend Blom,
  • 2 eine schematische Darstellung eines Systems mit Anordnungen, die über ein Netzwerk miteinander verbunden sind, wobei die Anordnungen derart gegliedert sind, dass sie nach der vorliegenden Erfindung funktionieren,
  • 3 eine schematische Darstellung einer Verallgemeinerung des Systems nach 2, mit einem "Prover", einem "Verifier" und einer vertrauten Partie,
  • 4 eine Darstellung eines Geheimnisteilungsprotokolls zwischen dem Prover und dem Verifier, und zwar auf Basis von zwei Polynomen, je in zwei Variablen,
  • 5 eine Darstellung einer Variation des Protokolls aus 4, wobei die zwei Polynome nur in einer begrenzten Anzahl Punkte symmetrisch sind,
  • 6 eine Darstellung des Guillou-Quisquater Protokolls, und
  • 7 eine Darstellung eines auf Übergabe basierten Protokolls.
  • In den Figuren werden entsprechende Elemente durch dieselben Bezugszeichen angegeben. Einige der in der Zeichnung angegebenen Elemente sind typischerweise in Software implementiert, und stellen als solche Software-Entitäten dar, wie Software-Module oder -Objekte.
  • 2 zeigt schematisch ein System 100 mit Anordnungen 101105, die über ein Netzwerk 110 miteinander verbunden sind. In dieser Ausführungsform ist das System ein Heimnetzwerk. Ein typisches digitales Heimnetzwerkumfasst eine Anzahl Anordnungen, beispielsweise ein Rundfunkgerät, einen Tuner/Decoder, einen CD-Spieler, ein Paar Lautsprecher, einen Fernseher, einen Videorecorder, ein Bandlaufwerk, usw. Diese Anordnungen werden üblicherweise miteinander verbunden, damit die eine Anordnung, beispielsweise der Fernseher, eine andere Anordnung, beispielsweise den Videorecorder steuert. Die eine Anordnung, wie beispielsweise der Tuner/Decoder oder die Set-Top-Box (STB) ist meisten die zentrale Anordnung, die eine zentrale Steuerung über die anderen schafft.
  • Contentmaterial, das typischerweise Sachen wie Musik, Film, Fernsehprogramme, Bilder und dergleichen enthält, wird über ein Heimtor oder eine Set-Top-Box 101 empfangen. Die Quelle könnte eine Verbindung mit einem Breitbandkabelnetzwerk, eine Internetverbindung, eine Satelliten-Downlinkverbindung, usw. sein. Das Contentmaterial kann dann über das Netzwerk 110 zur Aufbereitung zu einer Datensenke geführt werden. Eine Datensenke kann beispielsweise die Fernseh-Wiedergabeanordnung 102, die tragbare Wiedergabeanordnung 103, das Handy 104 und/oder die Audio-Wiedergabeanordnung 105 sein.
  • Die genaue Art und Weise, wie ein Content-Item aufbereitet wird, ist von dem Typ der Anordnung und dem Typ des Contentmaterials abhängig. So umfasst bei spielsweise in einem Rundfunkempfänger die Aufbereitung das Erzeugen von Audiosignalen und das Zuführen derselben zu den Lautsprechern. Für einen Fernsehempfänger umfasst die Aufbereitung im Allgemeinen das Erzeugen von Video- und Audiosignalen und das Zuführen derselben zu einem Wiedergabeschirm bzw. den Lautsprechern. Für andere Typen von Contentmaterial muss eine ähnliche geeignete Aktion durchgeführt werden. Das Aufbereiten kann auch Vorgänge wie Entschlüsselung oder Entschachtelung eines empfangenen Signals, Synchronisation von Audio- und Videosignalen usw. umfassen.
  • Die Set-Top-Box 101 oder jede andere beliebige Anordnung in dem System 100 kann ein Speichermedium S1, wie eine geeignet große Festplatte, enthalten, wobei dieses Medium die Aufzeichnung und spätere Wiedergabe empfangenen Contentmaterials ermöglicht. Der Speicher S1 könnte eine Art von persönlichem digitalem Recorder (PDR) sein, beispielsweise ein DVD-RW Recorder, mit dem die Set-Top-Box 101 verbunden ist. Dem System 100 kann auch Contentmaterial zugeführt werden, das auf einem Träger 120, wie einer CD oder einer DVD gespeichert ist.
  • Die tragbare Wiedergabeanordnung 103 und das Handy 104 sind drahtlos mit dem Netzwerk 110 verbunden, und zwar unter Verwendung einer Basisstation 111, beispielsweise unter Anwendung von Bluetooth oder IEEE802.11b. Die anderen Anordnungen sind durch herkömmliche Verdrahtung verbunden. Damit die Anordnungen 101105 miteinander interaktiv sein können, sind verschiedene Zusammenarbeitsfähigkeitsstandards verfügbar, die es ermöglichen, dass verschiedene Anordnungen Nachrichten und Information austauschen und einander steuern. Ein durchaus bekannter Standard ist der "Home Audio/Video Interoperability Standard" (HAVi), wobei die Version 1.0 davon im Januar 2000 veröffentlicht wurde, und der im Internet auf http://www.havi.org/ verfügbar ist. Andere durchaus bekannte Standards sind der "domestic digital bus" (D2B) Standard, ein kommerzielles Protokoll, beschrieben in IEC 1030 und "Universal Plug and Play" (http://www.upnp.org).
  • Es ist oft wichtig sicher zu stellen, dass die Anordnungen 101105 in dem Heimnetzwerk keine unautorisierten Kopien des Contentmaterials machen. Um dies zu tun ist ein Sicherheitsframework, typischerweise ein "Digital Rights Management" System (DRM) notwendig.
  • In einem derartigen Framework wird das Heimnetzwerk strukturiert in eine Domäne bedingten Zugriffs (CA) und eine Copierschutzdomäne (CP) aufgeteilt. Typi scherweise befindet sich die Datensenke in der CP Domäne. Dies gewährleistet, dass wenn Contentmaterial der Datensenke zugeführt wird, keine unerlaubten Kopien des Contentmaterials hergestellt werden können, und zwar wegen des Kopierschutzschemas in der CP Domäne. Anordnungen in der CP Domäne können ein Speichermedium enthalten zum Herstellen einstweiliger Kopien, aber derartige Kopien dürfen nicht aus der CP Domäne ausgeliefert werden. Dieses Framework ist in der internationalen Patentanmeldung PCT/IB02/04803 (Aktenzeichen der Anmelderin PHNL010880) der Anmelderin der vorliegenden Patentanmeldung beschrieben worden.
  • Ungeachtet der gewählten spezifischen Annäherung machen alle Anordnungen in dem Heimnetzwerk, die das Sicherheitsframework implementieren, dies entsprechend den Implementierungsanforderungen. Unter Verwendung dieses Frameworks können diese Anordnungen einander authentisieren und Contentmaterial auf sichere Art und Weise verteilen. Zugriff auf das Contentmaterial wird von dem Sicherheitssystem aus verwaltet. Dies vermeidet, dass das nicht geschützte Contentmaterial zu nicht authentisierten Anordnungen wegleckt und dass Daten, die von nicht vertrauten Anordnungen herrühren, in das System eintreten.
  • Es ist wichtig, dass Anordnungen nur Contentmaterial zu anderen Anordnungen verteilen, das sie vorher erfolgreich authentisiert haben. Dies gewährleistet, dass ein Gegner unter Verwendung einer böswilligen Anordnung keine nicht authentisierten Kopien machen kann. Eine Anordnung wird nur dann imstande sein, erfolgreich sich selbst zu authentisieren, wenn sie von einem authentisierten Hersteller gebaut worden ist, beispielsweise weil nur authentisierte Hersteller ein spezielles Geheimnis kennen, das zur erfolgreichen Authentisierung erforderlich ist, oder deren Anordnungen mit einem Zertifikat versehen sind, ausgegeben von einer vertrauten dritten Partie.
  • GEHEIMNISTEILUNG
  • In jedem Authentifizierungsschema muss ein globales Geheimnis oder eine gemeinsame Information vorhanden sein und jede Partie, die sich gegenüber einer anderen Partie authentisieren möchte, muss über gewisse mit der anderen Partie gemeinsame Information verfügen. Obschon es theoretisch möglich ist, jeder Anordnung das globale Geheimnis zu erteilen, wird dies in der Praxis nicht empfohlen: wenn das globale Geheimnis bekannt wird (beispielsweise durch Hacking einer Anordnung) können Gegner die Rolle der vertrauten dritte Partie (TTP) übernehmen, die das globale Geheimnis an erster Stelle unter vertrauten Partien verteilte. Auf diese Weise treten nicht übereinstimmende Anordnungen in das System ein und die Sicherheit des Ausgangssystems wird verletzt, wodurch die Authentifizierung nutzlos gemacht wird. Es wird unmöglich sein, die nicht übereinstimmenden Anordnungen zu detektieren, weil das globale Geheimnis bekannt ist.
  • Eine Möglichkeit dies zu lösen ist Geheimnisteilung: jede vertraute Partie erhält einen Anteil des globalen Geheimnisses. Dieser Anteil reicht um imstande zu sein, sich gegenüber einer anderen Partie zu authentifizieren, aber eine Vielzahl der Anteile ist erforderlich um das globale Geheimnis zu rekonstruieren (wenn überhaupt). Wenn eine einzige Anordnung verletzt wird, wird nur ein Anteil des globalen Geheimnisses bekannt und es können Maßnahmen getroffen werden um diese Anordnung zu annullieren.
  • Die vorliegende Erfindung wendet ein Geheimnisteilungsprotokoll an, damit die Partien ein gemeinsames Geheimnis bestimmen. Meistens werden die Partien dann bestätigen, dass die andere das Geheimnis kennt, siehe unten den Abschnitt: "GEHEIMNISBESTÄTIGUNG". Die Partien können aber auch ohne explizite Überprüfung fortfahren. So könnte beispielsweise das Geheimnis als ein Verschlüsselungsschlüssel verwendet werden um bestimmte Information, die der anderen Partie zugesendet wird, zu verschlüsseln. Wenn die andere Partie nicht dasselbe Geheimnis hat, kann sie die Information nicht entschlüsseln. Dies bevollmächtigt die andere Partie implizit.
  • 3 zeigt schematisch eine Verallgemeinerung des Systems nach 2, mit einem Prover P, einem Verifier V und einer vertrauten dritten Partie TTP. Nach der vorliegenden Erfindung möchte der Verifier V den Prover P authentisieren um Information zu verwenden, die er von einer vertrauten dritten Partie TTP empfangen hat. Vorzugsweise ist die Authentifizierung gegenseitig, so dass der Prover P auch weiß, dass der Verifier V authentisch ist.
  • Es wird vorausgesetzt, dass die Information, die zum Authentifizieren des Verfiers V gegenüber dem Prover P notwendig ist, vorher von der TTP unter den Partien P und V verteilt worden ist. Dies kann über einen Kommunikationskanal zwischen den Partien P und V und TTP erfolgen. Dies macht das Protokoll dynamisch und ermöglicht eine einfache Aktualisierung der Information, falls ein Gegner versucht, einen unerlaubten Zugriff auf das vorher verteilte Geheimnis zu bekommen.
  • Der Prover P und der Verifier V können Anordnungen sein, wie der Träger 120, ausgerüstet mit einem Chip, der die erforderliche Funktionalität liefert, und die Audio-Wiedergabeanordnung 105. In einem derartigen Fall wird es höchstwahrscheinlich keinen Kommunikationskanal von der TTP zu dem Prover und dem Verifier geben. Verteilung der Geheimnisse soll dann zuvor gemacht werden, beispielsweise in der Fabrik, wo der Träger 120 der die Anordnung 105 hergestellt wird.
  • Der Prover P umfasst ein Netzwerkmodul 301, einen kryptographischen Prozessor 302 und ein Speichermedium 303. Unter Verwendung des Netzwerkmoduls 301 kann der Prover P Daten zu dem Verifier V senden und von diesem Empfangen. Das Netzwerkmodul 301 könnte mit dem Netzwerk 110 verbunden werden, oder eine direkte Verbindung (beispielsweise einen drahtlosen Kanal) mit dem Verifier V bilden.
  • Der kryptographische Prozessor 302 ist dazu vorgesehen, das Verfahren nach der vorliegenden Erfindung durchzuführen. Üblicherweise wird dieser Prozessor 302 als eine Kombination aus Hardware und Software verwirklicht, er könnte aber auch völlig in Hardware oder völlig in Software verwirklicht werden, beispielsweise als eine Sammlung von Software-Modulen oder Objekten.
  • Der Prover P kann beispielsweise die Koeffizienten der Polynome P und Q in dem Speichermedium 303 speichern, er kann aber diesen Speicher auch verwenden zum Festhalten von Contentmaterial, das er dem Verifier V nach einer erfolgreichen Authentifizierung zusenden möchte. Das Speichermedium 303 kann weiterhin dazu verwendet werden, die von Drain-Elektrode, TTP empfangene Information zu speichern. Zur Verbesserung der Sicherheit des Systems soll statt Speicherung der einzelnen Polynome P und Q das Produkt Qq(z)Pp(y) gespeichert werden.
  • Auf gleiche Weise umfasst der Verifier V ein Netzwerkmodul 311, einen kryptographischen Prozessor 312 und einen Speicher 313 mit einer Funktionalität, die der des Provers P entspricht. Wenn der Verifier V als ein Träger 120 mit CIP ausgebildet ist, kann der Speicher 313 dem Speicher entsprechen, der jeder (optischen) Platte zur Verfügung steht, wird aber vorzugsweise in dem ROM auf dem CIP gespeichert.
  • Außerdem können der Prover P und der Verifier V mit einem pseudobeliebigen Nummergenerator 304, 314 versehen sein (in Hardware und/oder Software), der kryptographisch starke pseudobeliebige Nummern liefert. Diese Nummern werden in bevorzugten Ausführungsformen des Verfahrens nach der vorliegenden Erfindung verwendet.
  • Viele Ausführungsformen zum Authentifizieren des Provers P gegenüber dem Verifier V werden nachstehend anhand der 4 und 5 beschrieben.
  • ERZEUGUNG EINES GEMEINSAMEN GEHEIMNISSES UNTER VERWENDUNG ZWEIER SYMMETRISCHER POLYNOME
  • 4 zeigt ein Geheimnisteilungsprotokoll auf Basis zweier symmetrischer Polynome, je in zwei Variablen nach einer bevorzugten Ausführungsform der vorliegenden Erfindung. Teile der Aufstellung und der Schritte, die von den Partien durchgeführt werden, sind bereits oben anhand der 1 erläutert worden und werden an dieser Stelle nicht wiederholt.
  • Das symmetrische Polynom P wird mit einem symmetrischen Polynom Q(x, z), beispielsweise Q(x, z) = x·z multipliziert. Nebst der Festlegung des Polynoms P in p1 wird nun auch das Polynom Q in q, festgelegt. Der Prover empfängt nun von der TTP statt des in p1 festgelegten Polynoms P das Produkt aus den reduzierten Polynomen: Q(q1, z)P(p1, y) = Qq1(z)Pp1(y)sowie die Werte p1 und q1. Auf gleiche Weise empfängt der Verifier statt des in p2 festgelegten Polynoms P das Produkt aus den reduzierten Polynomen: Q(q2, z)P(p2, y) = Qq2(z)Pp2(y)sowie die Werte p2 und q2. Vorzugsweise speichern der Prover und der Verifier die Polynome in Form derer Koeffizienten:
    Figure 00110001
  • Vorzugsweise werden die Werte q1 und q2 zunächst mit einem beliebigen Faktor r von der TTP multipliziert. Auf diese Weise werden die Werte q1 und q2 für einen Gegner versteckt, der nicht erlaubten Zugriff auf die Anordnung erzielen möchte, die den Prover und/oder den Verifier bildet, wodurch vermieden wird, dass dieser Gegner als eine bevollmächtigte Anordnung weiter geht.
  • Aus dem Obenstehenden folgt, dass
    Figure 00110002
    was zeigt, dass der Prover und der Verifier imstande sind, ein gemeinsames Geheimnis als das Produkt aus den Polynomen P und Q zu erzeugen, und zwar unter Verwendung der Elemente pi und qi, die sie haben und der Elemente pi und qi die sie von der anderen Partie empfangen, sogar wenn der Versteckfaktor r verwendet wird zum Verstecken der wirklichen Werte von qi.
  • Wenn wir nun die Anzahl Werte für pi auf n oder weniger begrenzen, können die Koeffizienten der Polynome P und Q nicht abgerufen werden. Die Anzahl Werte für qi in dem gesamten System wird nicht durch den Grad des Polynoms P begrenzt, wie in dem Fall des Blom Systems, sondern nur durch die Anzahl möglicher Elemente qi in der Domäne von Q. Dies ermöglicht es für eine ausreichende Anzahl Werte qi, dass jede Partie mit einem einzigartigen Anteil des globalen Geheimnisses versehen werden kann.
  • Wenn die Partien P und V das Produkt der Polynome P und Q und die Werte pi und qi (oder r·qi) empfangen haben, versuchen die Partien P und V nun ein gemeinsames Geheimnis zu erzeugen, wie in 4 dargestellt. Die beiden Partien tauschen ihre Werte von pi und qi (oder r·qi) aus und berechnen ihre betreffenden Geheimnisse S1 und S2. Vorzugsweise erzeugen die Partien P und V zunächst betreffende beliebige Zahlen r1 und r2. Danach berechnen sie r1·q1 bzw. r2·q2 und tauschen diese Produkte aus, statt der Werte q1 und q2 selber. Dies hat mehrere Vorteile, worunter die Tatsache, dass die beliebigen Zahlen r1 und r2 die Werte von q1 und q2 verstecken, was es für einen Horcher oder für eine nicht Übereinstimmende Anordnung sehr schwer macht, etwas über q1 und q2 zu lernen. Außerdem wird es dadurch möglich, dass andere Partien (sagen wird der Prover P) das Geheimnis S1 berechnen als: S1 = Q(q1, r1·r2·q2)·P(p1, p2)
  • Eine weitere Verbesserung des Systems kann dadurch erreicht werden, dass beide Partien dem berechneten Geheimnis S1 und S2 eine nicht lineare Funktion zuführen, bevor sie als geheimer Schlüssel verwendet wird. Die nicht lineare Funktion wird vorzugsweise als eine Einweg Hash Funktion implementiert, kann aber auch die Form eines Polynoms annehmen.
  • ERZEUGUNG EINES GEMEINSAMEN GEHEIMNISSES UNTER VERWENDUNG BEGRENZTER SYMMETRISCHER POLYNOME
  • 5 zeigt eine Variation zu dem Protokoll nach 4, wobei das Polynom nur in einer begrenzten Anzahl Punkte symmetrisch ist. Das Polynom P basiert auf einer symmetrischen Matrix T und es lässt sich anzeigen, dass das Polynom P(x,y) für alle Werte von x und y in der Domäne von P symmetrisch ist. Wenn aber mehr als n verschiedene Werte p1 verwendet werden, kann ein Gegner theoretisch die Matrix T rekonstruieren, Deswegen braucht das Polynom P nur in m Werten p1, ..., pm wobei m ≤ n ist, symmetrisch zu sein. Um zu erläutern, die Polynome gebaut werden müssen, die nur in einer begrenzten Anzahl Punkte symmetrisch zu sein brauchen, werden zunächst einige Definitionen angeboten.
  • Das innere Produkt aus zwei n-dimensionalen Vektoren x → = (x1, ..., xn) und y → = (y1, ..., yn) wird gegeben durch
    Figure 00130001
    Das Tensorprodukt x → ⊗ y → von x → und y wird gegeben durch x → ⊗ y → = (x1y →, ..., xny →).
  • Der Vandermonde Vektor
    Figure 00130002
    mit der Länge n + 1 ist mit p assoziiert, gegeben durch
    Figure 00130003
    Insofern nicht anderweitig erwähnt, werden alle Vandermonde Vektoren die Länge n + 1 haben und der Bequemlichkeit der Notation wegen werden wird das tief gestellte Zeichen fallen lassen. Wenn ein Subsatz {p1, ..., pm} von m < ½(n + 2) unterschiedlichen Werten gegeben ist, bilden wir die Vandermonde Vektoren
    Figure 00130004
    Diese m Vektoren sind linear unabhängig. Auf diese Weise sind diese Vektoren die Basisvektoren eines Subraums A.
  • Danach betrachten wird alle möglichen Tensorprodukte
    Figure 00130005
    für i, j = 1, ..., m. Aus der Berechnung des Tensors ist es bekannt, dass diese m2 Produkte die Basis des Tensorraums A = A ⊗ A bilden. Für alle Vektoren γ → ∊ A gilt dann, dass:
    Figure 00130006
  • Unter Anwendung der oben stehenden Definitionen wird das Polynom P(x, y) als ein inneres Produkt neu geschrieben:
    Figure 00140001
    wobei t → den Vektor (t00, ..., t0n, t10, ..., tnn) bezeichnet. Das heißt, er enthält die Eingaben der Matrix T. In der neu geschriebenen Form ist P dennoch symmetrisch.
  • Danach wählen wir m unterschiedliche Elemente p1, ..., pm. Mit diesen Elementen bauen wird Vandermonde Vektoren
    Figure 00140002
    und Tensorprodukte
    Figure 00140003
    aus den Vandermone Vektoren. Danach wählen wir einen Vektor γ → aus dem senkrechten Raum A des Raums A, wie oben erläutert. Die neu geschriebene Form des Polynoms P kann danach in Punkten bewerten werden, gewählt aus dem bevorzugten Satz {p1, ..., pm}. Der Vektor γ → kann zu dem Vektor t → hinzugefügt werden und weil γ → ∊ A ist, haben wir:
    Figure 00140004
  • Mit anderen Worten, wenn wird von dem Vektor
    Figure 00140005
    eine Matrix
  • Figure 00140006
  • Herleiten und diese Matrix T zu der Matrix T hinzufügen, haben wir dennoch P(pi, pj) = P(pj, pi) für alle pi und pj in dem bevorzugten Satz.
  • Die oben genannten Beobachtungen werden von der TTP benutzt zum Aufstellen des Systems, indem die nachfolgenden Vorgänge durchgeführt werden:
    • 1. die TTP wählt eine beliebige symmetrische (n + 1) × (n + 1) Matrix T und vorzugsweise einen beliebigen Wert r.
    • 2. Die TTP wählt m unterschiedliche beliebige Elemente p1, ..., pm mit m < ½(n + 2).
    • 3. Aus den Tensorprodukten
      Figure 00140007
      berechnet die TTP den Raum A.
    • 4. Aus den m Elementen p1, ..., pm wählt die TTP vorzugsweise die ersten m' < m Elemente.
  • Auf diese Weise wird das System erneuerbar (wird nachstehend in dem Abschnitt "ERNEUERBARKEIT" näher erläutert).
  • Die TTP kann dann Anordnungen ausliefern, d.h. Anordnungen mit einem Anteil des globalen Geheimnisses versehen, damit diese Anordnungen sich selber gegen über anderen Anordnungen mit einem Anteil des globalen Geheimnisses (gegenseitig) authentifizieren. Derartige Anordnungen werden oft als beglaubigte Anordnungen oder autorisierte Anordnungen bezeichnet. Nach der gegenseitigen Authentifizierung gegenüber anderen beglaubigten Anordnungen kann eine beglaubigte Anordnung auch eine nicht authentifizierte Anordnung detektieren, meistens weil Authentifizierung gegenüber dieser Anordnung fehlt.
  • Um eine Anordnung auszuliefern führt die TTP die nachfolgenden Schritte durch:
    • 1. Für eine Anordnung i wählt die TTP beliebig γ →i ∊ A und pi beliebig aus dem Satz mit m Elementen p1, ..., pm, vorzugsweise aus dem gewählten Subsatz mit m' Elementen.
    • 2. Die TTP erzeugt eine Matrix Γi aus γ →i und bildet die Matrix
      Figure 00150001
    • 3. Aus
      Figure 00150002
      bildet die TTP das bivariate Polynom P(x, y) und berechnet die Koeffizienten des univariate Polynoms P(pi, y), was wie folgt ausgedruckt werden kann:
      Figure 00150003
    • 4. Die TTP verteilt die Werte
      Figure 00150004
      und den Vektor
      Figure 00150005
      zu der Anordnung i.
  • Wenn die Partien P und V ihre betreffende Information empfangen haben, wie in 5 angegeben, tauschen sie ihre Werte pi und ri·r·qi aus und erzeugen ihre betreffenden Geheimnisse S1 und S2 wie folgt:
    Figure 00150006
  • Wenn S1 = S2 ist, dann haben die Partien ein gemeinsames Geheimnis erzeugt. Die Partien können implizit folgern, dass die andere Partie auch das Geheimnis kennt, oder explizit bestätigen, dass die andere Partie dasselbe Geheimnis kennt. Dies wird nachstehend in "GEHEIMNISBESTÄTIGUNG" beschrieben.
  • ERNEUERBARKEIT
  • Ein wichtiger Aspekt eines Authentifizierungsschemas oder eines gemeinsamen Schlüsselerzeugungsschemas für ein System wie das System 100 ist Erneuerbarkeit. Für die TTP kann es erwünscht sein, die in den Anordnungen 101105 installierten Geheimnisse periodisch zu ersetzen um Gegner zunichte zu machen, die manipuliert haben um unautorisierten Zugriff auf die ursprünglichen Geheimnisse zu erlangen.
  • Die in 5 dargestellten Ausführungsformen können verwendet werden zum Einführen von Erneuerbarkeit in das System 100, durch Ausnutzung der Eigenschaften, erläutert in den vorhergehenden Abschnitten. Zunächst liefert die TTP Anordnungen, und zwar unter Verwendung nur der Elemente p1, ..., pm, mit m' < m ≤ n so dass
    Figure 00160001
    mit i, j ∊ {1, ..., m'} einen Raum A' umfasst. Die Matrizes TΓ = T + Γ benutzen Γ's hergeleitet von γ → ∊ A. Wenn wir das in einer Anordnung i gespeicherte Polynom durch
    Figure 00160002
    bezeichnen, dann enthält diese Anordnung das Paar
    Figure 00160003
  • Nun wird vorausgesetzt, dass irgendwie ein Gegner imstande gewesen ist, die m' Elemente pi abzurufen und auch ein Anordnungspolynom
    Figure 00160004
    beispielsweise dadurch, dass eine Anordnung aufgebrochen wurde. Der Gegner kann nun einen neuen Vektor γ → ∊ A' erzeugen und Anordnungen mit
    Figure 00160005
    ausliefern. Diese Anordnungen werden mit allen übereinstimmenden Anordnungen mit einem der Werte p1, ..., pm arbeiten: die Anordnung des Gegners empfängt pj ∊ {p1, ..., pm'} von einer übereinstimmenden Anordnung und bewertet
    Figure 00160006
  • Und die zweite Partie bewertet
    Figure 00160007
    was zeigt, dass die beiden Bewertungen einander gleich sind.
  • Wenn die TTP bemerkt, dass derartige Anordnungen von einem Gegner ausgeliefert werden, kann die TTP damit starten, Anordnungen auszuliefern, und zwar unter Verwendung von
    Figure 00160008
    mit m' < m'' ≤ m, so dass Tensorprodukte von
    Figure 00160009
    einen Raum A'' umfassen. Es sei bemerkt, dass A'' ⊂ A'. Deswegen werden diese neuen Anordnungen mit der Anordnung des Gegners arbeiten, wenn der Gegner y →' ∊ A'' gewählt hätte. Wenn y →' beliebig in A' gewählt wird, wird die Wahrscheinlichkeit, dass dies auch in A'' ist, sehr klein sein.
  • Dies versieht das System mit einem bestimmten Betrag an Erneuerbarkeit:
    die neuen übereinstimmenden Anordnungen, ausgeliefert von der TTP arbeiten mit einer sehr großen Wahrscheinlichkeit nicht mit den Anordnungen des Gegners. Die maximale Anzahl Male, dass das System erneuert werden kann, ist m – 1 < n, wobei n der Grad des Polynoms P ist. Dies geschieht, wenn bei jeder Erneuerung ein einziger Wert von pi ∊ {p1, ..., pm} hinzugefügt wird.
  • GEHEIMNISBESTÄTIGUNG
  • Nachdem die Partien je unabhängig voneinander das Geheimnis erzeugt haben, ist der nächste Schritt des Protokolls das Bestätigen, dass die andere Partie das Geheimnis kennt. Wenn eine der Partien die andere Partie überzeugen kann, dass sie das Geheimnis kennt, ist diese Partie gegenüber der anderen Partie authentisiert. Außerdem kann die andere Partie auf gleiche Weise sich selber gegenüber der ersten Partie authentisieren um eine gegenseitige Authentifizierung zu erzielen.
  • Nachdem bestätigt worden ist, dass der Prover das Geheimnis kennt, kann der Verifier das Geheimnis S1 verwenden um auf sichere Art und Weise dem Prover ein Stück Information zuzuführen. So kann beispielsweise ein Verschlüsselungsschlüssel, erforderlich zu Zugreifen auf verschlüsseltes Contentmaterial, mit S1 verschlüsselt sein. Das Ergebnis kann dem Prover zugeführt werden, der seinerseits unter Verwendung von S2 das S1 entspricht wie durch die erfolgreiche Bestätigung überzeugt) Verschlüsselungsschlüssel wiederherstellen und danach das verschlüsselte Contentmaterial entschlüsseln und darauf zugreifen kann.
  • Es gibt mehrere Möglichkeiten zu bestätigen, dass eine Partie das erzeugte Geheimnis kennt. Zwei bevorzugte Ausführungsformen basieren auf Null-Kenntnis Protokollen und auf Verbindlichkeit basierten Protokollen.
  • NULL-KENNTNIS BASIERTE BESTÄTIGUNG
  • Erstens wird Bestätigung auf Basis von Null-Kenntnis (ZK) Protokollen beschrieben. ZK-Protokolle sind beschrieben in "Handbook of Applied Cryptography" von A. Menezes, P. van Oorschot und S. van Stone, CRC Press 1996, Seiten 405–416. In einer bevorzugten Ausführungsform wird das Guillou-Quisquater (GQ) Null-Kenntnis Protokoll verwendet, weil es in Termen von Speicheranforderungen und Kommunikation effizient ist. Das GQ-Protokoll ist bekannt aus US 5.140.634 (Aktenzeichen der Anmelderin PHQ 87030) der Anmelderin der vorliegenden Patentanmeldung.
  • Wie oben anhand der 4 und 5 erläutert, haben die beiden Partien P und V ihre Polynome und die auf diese Art und Weise erhaltenen Werte S1 bzw. S2 bewertet. Jede Partie muss nun die andere Partie in ZK davon überzeugen, dass sie Si kennt. Da das GQ Protokoll auf öffentliche Schlüsselkryprographie basiert ist, brauchen wird eine zusammengesetzte Zahl m = pq, die das Produkt zweier Primzahlen p und q ist und eine Zahl e > 1, so dass gcd(e, (p – 1)(q – 1)) = 1.
  • P wird V davon überzeugen, dass er die e. Wurzel aus S e / 2 mod m kennt. Das GQ Protokoll ist in 6 dargestellt, wobei die Werte e und m öffentlich sind. Das Protokoll verfährt entsprechend den nachfolgenden Schritten:
    • 1. V berechnet v = S e / 2,
    • 2. P wählt eine beliebige Zahl r ∊ {2, ..., m – 1} und sendet re zu V,
    • 3. V wählt eine beliebige Aufforderung c ∊ {1, ..., e – 1} und sendet c zu P
    • 4. P antwortet mit y = rS c / 1,
    • 5. V berechnet ye und folgert, dass P dasselbe Geheimnis kennt wie V, wenn, und nur wenn ye = (rS c / 1)e mod m = revc mod m = re(S e / 2)c mod m = (rS c / 2)e mod m, da dies bedeutet, dass S1 = S2.
  • Wegen der ZK Eigenschaften des Protokolls wird weder V noch ein Horcher etwas über das Geheimnis S1 von P lernen. Bei Akzeptanz von P durch V werden die Rollen von P und V umgekehrt und V wird P zeigen, dass er die e. Wurzel aus S e / 1 mod m kennt. Auf diese Weise werden P und V gegenseitig authentisiert.
  • Die Aufstellung des Protokolls weicht etwas ab von demjenigen, was in der Literatur gefunden wurde: normalerweise wird v = S e / 2 veröffentlicht und wenn P eine Aufforderung c* vorwegnimmt, kann er als erste Nachricht
    Figure 00180001
    senden und dennoch von V akzeptiert werden, ohne Kenntnisse von S2. Die Wahrscheinlichkeit, dass dieselbe Aufforderung gewählt wird, ist e–1. In der vorliegenden Aufstellung ist es nicht notwendig, v = S e / 2 zu veröffentlichen und dies macht es unmöglich, dass P aus einer antizipierten Aufforderung
    Figure 00180002
    berechnet und dies reduziert die Wahrscheinlichkeit einer ungerechten Akzeptanz auf m–1. Deswegen kann e so niedrig wie 2 gewählt werden, wodurch GQ effektiv in ein Fiat-Shamir Protokoll transformiert wird, aber mit einer Fehlerwahrscheinlichkeit m–1 in einer einzigen Runde. Dies bedeutet, dass die Anordnungen nur modulare Exponentiationen mit kleinen Exponenten durchzuführen brauchen, dies im Gegensatz zu beispielsweise RSA.
  • Um es noch effizienter zu machen kann man eine Implementierung erwägen, und zwar unter Anwendung einer Montgomery- Darstellung (siehe P. L. Montgomery, "Modular multiplication without trial division", "Mathematics of Computation", Heft. 44, Nr. 170, April 1985, Seiten 519–521).
  • AUF VERBINDLICHKEIT BASIERTE BESTÄTIGUNG
  • Als eine Alternative für ZK Protokolle kann ein auf Verbindlichkeit basiertes Protokoll verwendet werden um einer Partie die Möglichkeit zu bieten, nachzuprüfen, ob die andere Partie das Geheimnis kennt. Ein Vorteil dieser Annäherung ist, dass symmetrische Schlüsselkryptographie angewandt werden kann, die sehr effizient implementiert werden kann.
  • Im Gegensatz zu der vorhergehenden Situation spielen beide Partien gleichzeitig die Rolle von Verifier und Prover, was das Protokoll in Termen von Kommunikation effizient macht. Wie oben berechnete P den S1 und V berechnete den Wert S2. Das Protokoll (siehe 7) geht durch die nachfolgenden Schritte:
    • 1. V wählt eine beliebige Zahl r, deren Länge der Blocklänge des symmetrischen Geheimcodes entspricht.
    • 2. V verschlüsselt r unter Anwendung eines symmetrischen Geheimcodes mit S2 als Schlüssel, und sendet die Verschlüsselung ES2(r) zu P.
    • 3. P entschlüsselt die Nachricht unter Anwendung von S1. Das Ergebnis ist
      Figure 00190001
      Figure 00190002
    • 4. P wählt eine beliebige Zahl R und sendet eine Verbindlichkeit an r' zu V. Die Verbindlichkeit wird als eine Funktion commit(R, r'), nachstehend beschrieben, empfangen.
    • 5. V sendet r zu P und P überprüft, ob r' = r ist und beendet eine weitere Kommunikation mit V, wenn dies nicht der Fall ist.
    • 6. P sendet r' und R zu V. V öffnet die Verbindlichkeit und überprüft, ob r' = r ist und beendet eine weitere Kommunikation mit P, wenn diese Überprüfung nicht befriedigend ist.
  • Die commit Funktion soll die Binde- und Versteckeigenschaften der Verbindlichkeitimplementieren. Bindung bezieht sich auf die Fähigkeit von P, den Wert r' in der Verbindlichkeit zu ändern. Es muss schwierig sein oder unmöglich für P, einen Wert R' zu finden, so dass commit(R, r') = commit(R', r) ist. Die Versteckeigenschaft bezieht sich auf die Fähigkeit von V, Information auf r' zu erhalten, nachdem commit(R, r') empfangen worden ist. In der Praxis werden oft kryptographische Hash Funktionen oder Einweg Funktionen als Commit-Funktionen verwendet.
  • In dieser Aufstellung kann der symmetrische Geheimcode, der zum Verschlüsseln von r verwendet wurde, auch als Commit-Funktion verwendet werden. Die Versteckeigenschaft wird unbedeutend erfüllt, weil ohne Kenntnisse des beliebig gewählten R, V keine Information über r' erhalten kann, unabhängig von dem Betrag an Rechenleistung von V. Folglich ist die Verbindlichkeit unbedingt versteckt. Die Bindeeigenschaft folgt aus der Tatsache, dass es bekannt ist, dass für einen symmetrischen Geheimcode, EK(x) = z eine Einwegfunktion in K sein soll wobei x und z bekannt sind: wenn ER(r') und r gegeben sind, ist es nicht bekannt, wie ein Wert R' in weniger als 255 Vorgängen gefunden werden soll, so dass ER'(r) = ER(r') ist. Die Verpflichtung ist auf diese Weise rechnerisch Bindung.
  • Daraufhin betrachten wird die Vollständigkeit und die Gediegenheit des Protokolls. Vollständigkeit bezieht sich auf den Fall, dass die beiden Partien das Protokoll einwandfrei durchführen und S1 = S2 ist. Durch Untersuchung und die symmetrischen Eigenschaften des symmetrischen Geheimcodes folgt dann, dass wenn S1 = S2 ist, gefunden wird, dass r = r' ist.
  • Gediegenheit bezieht sich auf die Situation der gegenseitigen Akzeptanz, wenn P den Wert S1 nicht kenn oder wenn V den Wert S2 unbekannt ist. Um unrechtmäßig akzeptiert zu werden kann P jeden beliebigen Wert z als Verbindlichkeit zu V senden. Nachdem P von V den Wert r empfangen hat, muss P einen Wert R' finden, so dass commit(R', r) = ER'(r) = z. Wie oben erläutert, ist EK(x) = z eine Einwegfunktion in K für x und z, was das Finden von R' zu einem großen Problem macht.
  • Auf gleiche Weise kann V, wenn er S2 nicht kennt, jeden beliebigen Wert z wählen, der mit ER(DS2(z)) antworten wird. Um akzeptiert zu werden, soll V DS2(z) erhalten, was sehr schwierig ist, weil die Verbindlichkeit unbedingt versteckt, und zwar wegen des beliebigen Wertes R. Sollte S1 zufällig ein schwacher DES Verschlüsselungsschlüssel sein, wird V akzeptiert, wenn er z derart wählt, dass DS1(z) = z ist. Für einen schwachen Schlüssel gibt es 232 derartige fester Punkte und die Wahrscheinlichkeit einer unrechtmäßigen Akzeptanz durch P ist 232/264 = 2–32.
  • EINIGE VORTEILE DER ERFINDUNG
  • Das Verfahren nach der vorliegenden Erfindung erzielt eine wesentliche Einsparung in Termen erforderlicher Energie (Speisung) in den Anordnungen, in denen sie angewandt wird, sowie eine wesentliche Einsparung in Termen von Verarbeitungszeit gegenüber einer Authentifizierung auf Basis von RSA.
  • Im Allgemeinen ist der Energieverbrauch abhängig von der Architektur der Implementierung. So kann man beispielsweise durch Variation der Arehitektur Energieverbrauch gegen Taktgeschwindigkeit eintauschen. Ein zweiter wichtiger Faktor ist die Technologie, die angewandt wird: moderne Technologien geringster Abmessungen der Elemente und mit niedrigen Speisespannungen werden im Allgemeinen weniger Energie erfordern als ältere Technologien.
  • Die nachstehende Tabelle gibt eine Schätzung erforderlichen Aufwands für die jeweiligen Teil der Protokolle in Termen von n (dem Grad des Polynoms), k (der Länge in Bits eines Wertes), 1 (der Länge in Bits des GQ Moduls) und h (der Länge in Bits des RSA Moduls). Der geschätzte Aufwand wird in Termen von "single precision multiplications (sp-mults)" ausgedrückt, d.h. die Multiplikation von zwei Bits in dem Kontext der Multiplikation von zwei k-bit Zahlen.
  • Figure 00210001
  • Die nachstehende Tabelle zeigt Schätzungen für die erforderliche Energie für die Subprotokolle in Joule für eine Anzahl Werte für n, k, l und h und den Betrag an Verarbeitungszeit, wenn die vorliegende Erfindung in einer CID Applikation mit einer verfügbaren Speisung von 0,5 mW angewandt wird.
  • Figure 00220001
  • Es sei bemerkt, dass die oben stehenden Werte auf einer Schätzung für die erforderliche Energie je "sp-mult" basiert sind. Die wirkliche Energie ist abhängig von der gewählten Architektur, dem Layout, dem optimierten Ziel in dem Entwurfsprozess (beispielsweise Leistung oder Geschwindigkeit), usw. Dennoch geben die Daten in der oben stehenden Tabelle Einsicht in die Verhältnisse der für die jeweiligen Protokolle erforderlichen Energien. In der letzten Spalte ist es ersichtlich, dass sogar für Polynome des Grades 2048 und 64 Bitwerte die neuen Protokolle um einen Faktor 30 bis 100 effizienter sind als RSA.
  • In dem Spezialfall von CID, wobei maximal 0,5 mW Energie verfügbar ist, wird hergeleitet, dass ein RSA Protokoll etwa 1 Sekunde brauchen würde, während die Protokoll auf Basis von symmetrischen Polynomen höchstens 52 ms brauchen.
  • Es sei bemerkt, dass die oben genannten Ausführungsformen die vorliegende Erfindung erläutern statt begrenzen, und dass der Fachmann imstande sein wird, im Rahmen der beiliegenden Patentansprüche viele alternative Ausführungsformen zu entwerfen. Während im Obenstehenden das Authentifizierungsverfahren in dem Kontext von Contentschutz und Verwaltung digitaler Rechte beschrieben worden ist, beschränkt sich die vorliegende Erfindung nicht auf diesen Kontext.
  • Die vorliegende Erfindung kann als ein universeller Baublock zur Authentifizierung an Schnittstellen zwischen jedem beliebigen Paar Komponenten und/oder Anord nungen betrachtet werden, insbesondere wenn geringer Energieverbrauch wichtig ist. An sich kann die vorliegende Erfindung auch in CD2, in Set-Top-Boxen, in drahtlosen Chipkarten, in verdrahteten oder drahtlosen Netzwerken usw. angewandt werden. Die vorliegende Erfindung ist auch nützlich, wenn ein menschlicher Verifier einen menschlichen Prover authentifizieren soll, und zwar unter Verwendung zweier betreffender miteinander verbundener Anordnungen.
  • Es dürfte einleuchten, dass dort, wo in dem Obenstehenden der Term "beliebige Zahl" oder "beliebig gewählte Zahl" verwendet wird, dies auch Zahlen umfasst, die unter Verwendung eines pseudobeliebigen Nummergenerators gewählt worden sind, der in Hardware und/oder Software implementiert ist, mit oder ohne Samenwerte, hergeleitet aus wirklich beliebigen Ereignissen. Die Sicherheit des Verfahrens ist zu einem großen Teil von der Qualität des pseudobeliebigen Nummergenerators abhängig.
  • In den Patentansprüchen sollen eingeklammerte Bezugszeichen nicht als den Anspruch begrenzend betrachtet werden. Das Wort " enthalten" schließt das Vorhandensein von Elementen oder Schritten anders als die in einem Anspruch genannten nicht aus. Das Wort "ein" vor einem Element schließt das Vorhandensein einer Anzahl derartiger Elemente nicht aus. Die vorliegende Erfindung kann mit Hilfe von Hardware mit vielen einzelnen Elementen und mit Hilfe eines auf geeignete Art und Weise programmierten Computers implementiert werden.
  • In dem Anordnungsanspruch, in dem mehrere Mittel aufgelistet sind, können viele dieser Mittel in ein und demselben Hardware-Item ausgebildet sein. Die Tatsache, dass bestimmte Maßnahmen in untereinander verschiedenen Patentansprüchen genannt sind, bedeutet nicht, dass eine Kombination derselben nicht mit Vorteil angewandt werden kann.
  • Text in der Zeichnung
  • 6
    • R beliebig
    • C beliebig
    • Prüfe
  • 7
    • R beliebig
    • R beliebig
    • Offene Verbindlichkeit
    • Prüfe

Claims (19)

  1. Verfahren zum Erzeugen eines gemeinsamen Geheimnisses zwischen einer ersten Partie und einer zweiten Partie, wobei die erste Partie einen Wert p1 hat und ein symmetrisches Polynom P(x,y), fest in dem ersten Argument durch den Wert p1, und die erste Partie die nachfolgenden Schritte durchführt: das Senden des Wertes p1 zu der zweiten Partie, das Empfangen eines Wertes p2 von der zweiten Partie und das Bewerten des Polynoms P(p1, y) in p2, dadurch gekennzeichnet, dass die erste Partie außerdem einen Wert q1 hat und ein symmetrisches Polynom Q(x,z), fest in dem ersten Argument durch den Wert q1, und weiterhin die nachfolgenden Verfahrensschritte durchführt: das Senden von q1 zu der zweiten Partie, das Empfangen eines Wertes q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, q2)·P(p1, p2).
  2. Verfahren nach Anspruch 1, wobei die erste Partie weiterhin die nachfolgenden Verfahrensschritte durchführt: das Erhalten einer beliebigen Zahl r1, das Berechnen von r1·q1, das Senden von r1–q1 zu der zweiten Partie, das Empfangen von r2·q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, r1·r2·q2)·P(p1, p2).
  3. Verfahren nach Anspruch 2, wobei die erste Partie den Wert q1 multipliziert mit einem beliebig gewählten Wert r, und das Produkt Q(q1, z)P(p1, y) statt der einzelnen Polynome P(p1, y) und Q(q1, z) hat, und die erste Partie die nachfolgenden Verfahrensschritte durchführt: das Berechnen von r1·r·q1, das Senden von r1·r·q1 zu der zweiten Partie, das Empfangen von r2·r·q2 von der zweiten Partie und das Berechnen des Geheimnisses S1 als S1 = Q(q1, r1·r2·r·q2)·P(p1, p2).
  4. Verfahren nach Anspruch 1, wobei die zweite Partie einen Wert p2 und einen Wert q2 hat, wobei das symmetrische Polynom P(x,y) in dem ersten Argument durch den Wert p2 fest ist, wobei das symmetrische Polynom Q(x,z) in dem ersten Argument durch den Wert q2 fest ist, und wobei die zweite Partie die nachfolgenden Verfahrensschritte durchführt: ds Senden von q2 zu der ersten Partie, das Empfangen von q1 von der ersten Partie und das Berechnen eines Geheimnisses S2 als S2 = Q(q2, q1)·P(p2, p1), wobei das gemeinsame Geheimnis erzeugt worden ist, wenn das Geheimnis S2 dem Geheimnis S1 entspricht.
  5. Verfahren nach Anspruch 1, wobei eine vertraute dritte Partie die nachfolgenden Verfahrensschritte durchführt: das Wählen einer symmetrischen (n + 1) × (n – 1) Matrix, das Konstruieren des Polynoms P unter Verwendung von Eingaben von der Matrix T als betreffende Koeffizienten des Polynoms P, das Konstruieren des Polynoms Q(x,y), das Wählen des Wertes p1, des Wertes p2, des Wertes q1 und des Wertes q2, das Senden des Wertes p1, des Wertes q1, des Polynoms P(x,y) in dem ersten Argument durch den Wert p1 befestigt und des Polynoms Q(x,z) in dem ersten Argument durch den Wert q1 befestigt, zu der ersten Partie, und das Senden des Wertes p2, des Wertes q2, des Polynoms P(x,y) in dem ersten Argument durch den Wert p2 befestigt und des Polynoms Q(x,z) in dem ersten Argument durch den Wert q2 befestigt, zu der zweiten Partie.
  6. Verfahren nach Anspruch 5, wobei die vertraute dritte Partie weiterhin beliebig einen Wert r wählt, den Wert r·q1 statt des Wertes q1 und das Produkt Q(q1, z)P(p1, y) statt der einzelnen Polynome P(p1, y) und Q(q1, z) zu der ersten Partie sendet und den Wert r·q2 statt des Wertes q2 und das Polynom Q(q2, z)P(p2, y) statt der einzelnen Polynome P(p2,y) und Q(q2, z) zu der zweiten Partie sendet.
  7. Verfahren nach Anspruch 5, wobei die vertraute dritte Partie weiterhin die nachfolgenden Verfahrensschritte durchführt: – das Wählen eines Satzes mit m Werten pi, einschließlich der Werte p1 und p2, – das Berechnen eines Raumes A aus den Tensorprodukten
    Figure 00250001
    der Vandermonde Vektoren
    Figure 00250002
    die aus dem Satz von Werten pi gebaut wurden, – das Wählen eines Vektors γ →1 und eines Vektors γ →2 aus dem senkrechten Raum A das Raums A, das Konstruieren einer Matrix
    Figure 00250003
    aus dem Vektor γ →1 und einer Matrix
    Figure 00250004
    aus dem Vektor γ →2, wobei γ →1 und γ →2 Vektoren von dem Typ
    Figure 00250005
    sind und Γ1 und Γ2 Matrices von dem Typ
    Figure 00260001
    sind, das Konstruieren eines Polynoms
    Figure 00260002
    unter Verwendung von Eingaben von der Matrix
    Figure 00260003
    und das Senden des Polynoms
    Figure 00260004
    durch den Wert p1 in dem ersten Argument befestigt, zu der ersten Partie, und – das Konstruieren eines Polynoms
    Figure 00260005
    unter Verwendung von Eingaben von der Matrix
    Figure 00260006
    und das Senden des Polynoms
    Figure 00260007
    durch den Wert p2 in dem ersten Argument befestigt, zu der zweiten Partie.
  8. Verfahren nach Anspruch 5, wobei eine Anzahl m' von Werten pi und m' < m, zu zusätzlichen Partien verteilt werden.
  9. Verfahren nach Anspruch 1, wobei die erste Partie und die zweite Partie eine nicht lineare Funktion an dem erzeugten Geheimnis S1 bzw. S2 verwenden, bevor dieses als geheimer Schlüssel bei weiterer Kommunikation verwendet wird.
  10. Verfahren nach Anspruch 9, wobei eine Einweg-Hash-Funktion auf die erzeugten Geheimnisse S1 und S2 angewandt wird.
  11. Verfahren nach Anspruch 9, wobei eine nicht lineare Funktion in Form eines Polynoms auf die erzeugen Geheimnisse S1 und S2 angewandt wird.
  12. Verfahren nach Anspruch 1, wobei dieses Verfahren weiterhin den nachfolgenden Verfahrensschritt umfasst: das Überprüfen, ob die zweite Partie das Geheimnis S1 kennt.
  13. Verfahren nach Anspruch 12, wobei die erste Partie daraufhin ein Null-Kenntnis-Protokoll anwendet um zu überprüfen, ob die zweite Partie das Geheimnis S1 kennt.
  14. Verfahren nach Anspruch 12, wobei die erste Partie daraufhin ein auf Verbindlichkeit basiertes Protokoll anwendet um zu überprüfen, ob die zweite Partie das Geheimnis S1 kennt.
  15. Verfahren nach Anspruch 14, wobei die zweite Partie einen symmetrischen Geheimcode verwendet um eine beliebige Aufforderung zu verschlüsseln, und die verschlüsselte beliebige Aufforderung der ersten Partie zusendet und die erste Partie daraufhin denselben symmetrischen Geheimcode als verpflichtete Funktion verwendet um sich zu einer Entschlüsselung der verschlüsselten beliebigen Aufforderung zu verpflichten.
  16. System (100) mit einer ersten Partie (P), einer zweiten Partie (V) und einer vertrauten Partie (TTP), vorgesehen zum Durchführen des Verfahrens nach einem der oben stehenden Patentansprüche.
  17. Anordnung (P) vorgesehen zum Arbeiten als erste Partie und/oder als zweite Partie in dem System nach Anspruch 16.
  18. Anordnung nach Anspruch 17, mit Speichermitteln (303) zum Speichern des Polynoms P und des Polynoms Q in Form der betreffenden Koeffizienten.
  19. Computerprogrammprodukt um dafür zu sorgen, dass ein oder mehrere Prozessoren das Verfahren nach einem der oben stehenden Ansprüche 1–15 durchführen.
DE60303018T 2002-03-13 2003-02-14 Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System Expired - Lifetime DE60303018T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP02075983 2002-03-13
EP02075983 2002-03-13
PCT/IB2003/000655 WO2003077470A1 (en) 2002-03-13 2003-02-14 Polynomial-based multi-user key generation and authentication method and system

Publications (2)

Publication Number Publication Date
DE60303018D1 DE60303018D1 (de) 2006-02-02
DE60303018T2 true DE60303018T2 (de) 2006-08-24

Family

ID=27798863

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60303018T Expired - Lifetime DE60303018T2 (de) 2002-03-13 2003-02-14 Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System

Country Status (9)

Country Link
US (1) US20050265550A1 (de)
EP (1) EP1486027B1 (de)
JP (1) JP2005520395A (de)
KR (1) KR20040093128A (de)
CN (1) CN1643840A (de)
AT (1) ATE314763T1 (de)
AU (1) AU2003252817A1 (de)
DE (1) DE60303018T2 (de)
WO (1) WO2003077470A1 (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7840806B2 (en) * 2002-10-16 2010-11-23 Enterprise Information Management, Inc. System and method of non-centralized zero knowledge authentication for a computer network
US8239917B2 (en) * 2002-10-16 2012-08-07 Enterprise Information Management, Inc. Systems and methods for enterprise security with collaborative peer to peer architecture
WO2005043808A1 (en) * 2003-11-03 2005-05-12 Koninklijke Philips Electronics N.V. Method and device for efficient multiparty multiplication
EP1596529B1 (de) * 2004-04-30 2007-12-05 Research In Motion Limited Kryptographische Authentifizierung einer Vorrichtung
US7647498B2 (en) 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
EP1766849A1 (de) * 2004-07-08 2007-03-28 Koninklijke Philips Electronics N.V. Verfahren zur bereitstellung von digitalen zertifikatsfunktionen
WO2006024042A2 (en) * 2004-08-27 2006-03-02 Ntt Docomo, Inc. Provisional signature schemes
EP1797668B1 (de) * 2004-09-30 2016-08-03 Koninklijke Philips N.V. Polynombasiertes authentifizierungsverfahren
US20080253558A1 (en) * 2004-09-30 2008-10-16 Koninklijke Philips Electronics, N.V. Polynomial-Based Key Distribution System and Method
KR20070086052A (ko) 2004-11-12 2007-08-27 코닌클리케 필립스 일렉트로닉스 엔.브이. 헤드폰 세트를 통해 콘텐트들을 공유하는 장치 및 방법
KR101078915B1 (ko) * 2005-12-01 2011-11-01 텔레폰악티에볼라겟엘엠에릭슨(펍) 키 관리
CN101331705B (zh) * 2005-12-14 2011-06-08 皇家飞利浦电子股份有限公司 用于鉴定低资源示证者的方法和系统
JP4630826B2 (ja) * 2006-01-27 2011-02-09 株式会社東芝 復号鍵生成方法、コンテンツ提供側システム、ユーザ側システム、追跡システム、コンテンツ提供方法、暗号化コンテンツ復号方法、プログラム、暗号化装置及び復号装置
BRPI0711042B1 (pt) 2006-05-02 2019-01-29 Koninklijke Philips Eletronics N V sistema, método para possibilitar um emissor de direitos criar dados de autenticação relacionados à um objeto e/ou criptografar o objeto usando uma chave diversificada e dispositivo
US20080120558A1 (en) 2006-11-16 2008-05-22 Paco Xander Nathan Systems and methods for managing a persistent virtual avatar with migrational ability
US9253183B2 (en) * 2006-11-16 2016-02-02 Mark Stephen Meadows Systems and methods for authenticating an avatar
CN100579007C (zh) * 2007-08-07 2010-01-06 上海交通大学 生成密钥的方法、通信系统、通信设备和服务器
US9398046B2 (en) 2008-03-06 2016-07-19 Qualcomm Incorporated Image-based man-in-the-middle protection in numeric comparison association models
US9176393B2 (en) 2008-05-28 2015-11-03 Asml Netherlands B.V. Lithographic apparatus and a method of operating the apparatus
US8245308B2 (en) * 2008-06-04 2012-08-14 Microsoft Corporation Using trusted third parties to perform DRM operations
CN101299752B (zh) * 2008-06-26 2010-12-22 上海交通大学 基于信任的新鲜性建立密码协议安全性的方法
US20100046740A1 (en) * 2008-08-22 2010-02-25 Schneider James P Embedding a secret in a larger polynomial
US8345861B2 (en) * 2008-08-22 2013-01-01 Red Hat, Inc. Sharing a secret using polynomial division over GF(Q)
US7915637B2 (en) * 2008-11-19 2011-03-29 Nantero, Inc. Switching materials comprising mixed nanoscopic particles and carbon nanotubes and method of making and using the same
CN101499908B (zh) * 2009-03-20 2011-06-22 四川长虹电器股份有限公司 一种身份认证及共享密钥产生方法
US9106414B2 (en) * 2009-09-09 2015-08-11 Edward W. Laves Method and apparatus for wirelessly transmitting high volume content to an electronic device
JP5594034B2 (ja) * 2010-07-30 2014-09-24 ソニー株式会社 認証装置、認証方法、及びプログラム
JP5790290B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、情報処理方法、プログラム、及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5790288B2 (ja) * 2011-08-12 2015-10-07 ソニー株式会社 情報処理装置、及び情報処理方法
EP2853058A1 (de) * 2012-05-21 2015-04-01 Koninklijke Philips N.V. Bestimmung kryptografischer schlüssel
CN106685980B (zh) * 2017-01-13 2019-12-20 桂林电子科技大学 一种大文件的加密方法
CN118449685A (zh) * 2017-12-13 2024-08-06 区块链控股有限公司 安全共享加密材料的系统和方法
US11003777B2 (en) * 2018-04-16 2021-05-11 International Business Machines Corporation Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code
FR3085815B1 (fr) 2018-07-11 2022-07-15 Ledger Gouvernance de securite du traitement d'une requete numerique
US11683168B2 (en) * 2018-08-03 2023-06-20 Istanbul Teknik Universites! Systems and methods for generating shared keys, identity authentication and data transmission based on simultaneous transmission on wireless multiple-access channels

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4996711A (en) * 1989-06-21 1991-02-26 Chaum David L Selected-exponent signature systems
US5202921A (en) * 1991-04-01 1993-04-13 International Business Machines Corporation Method and apparatus for authenticating users of a communication system to each other
CA2169449A1 (en) * 1993-08-13 1995-02-23 Frank Thomson Leighton Secret key exchange
US5539826A (en) * 1993-12-29 1996-07-23 International Business Machines Corporation Method for message authentication from non-malleable crypto systems
US5953420A (en) * 1996-10-25 1999-09-14 International Business Machines Corporation Method and apparatus for establishing an authenticated shared secret value between a pair of users
US6076163A (en) * 1997-10-20 2000-06-13 Rsa Security Inc. Secure user identification based on constrained polynomials
US6298153B1 (en) * 1998-01-16 2001-10-02 Canon Kabushiki Kaisha Digital signature method and information communication system and apparatus using such method

Also Published As

Publication number Publication date
ATE314763T1 (de) 2006-01-15
EP1486027B1 (de) 2005-12-28
AU2003252817A1 (en) 2003-09-22
EP1486027A1 (de) 2004-12-15
JP2005520395A (ja) 2005-07-07
CN1643840A (zh) 2005-07-20
KR20040093128A (ko) 2004-11-04
WO2003077470A1 (en) 2003-09-18
DE60303018D1 (de) 2006-02-02
US20050265550A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
DE60303018T2 (de) Mehrbenutzerschlüsselerzeugung auf polynombasis und Authentisierungsverfahren uns System
EP1793525B1 (de) Verfahren zum Ändern eines Gruppenschlüssels in einer Gruppe von Netzelementen in einem Netz
DE60311036T2 (de) Verfahren zur Authentisierung potentieller Mitglieder eingeladen, eine Gruppe anzuschliessen
DE60028645T2 (de) Vorrichtung und Verfahren zur Verteilung von Dokumenten
DE69534192T2 (de) Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens
DE69902414T2 (de) Effiziente sichere Mehrfachübertragung mit minimaler Kenntnis
DE69433771T2 (de) Verfahren und Vorrichtung zur Geheimhaltung und Authentifizierung in einem mobilen drahtlosen Netz
DE60215332T2 (de) System und Verfahren zum Verabreiten eines gemeinsamen Geheimnisses
DE69806821T2 (de) Verfahren zum schutz von bild-/tondaten über eine nrss-schnittstelle
DE60001630T2 (de) Sichere gegenseitige Netzwerkauthenifizierung und Schlüselaustauschprotokoll
DE60027046T2 (de) Synchronisierung von sitzungsschlüsseln
DE69416809T2 (de) Verbesserungen der Sicherheit in Datenverarbeitungssystemen
DE60312659T2 (de) Leichtgewicht identifizierung von informationen
DE69935469T2 (de) Verfahren zur schnellen Ausführung einer Entschlüsselung oder einer Authentifizierung
EP0872076B1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
EP1125395B1 (de) Verfahren und anordnung zur authentifikation von einer ersten instanz und einer zweiten instanz
US20120213364A1 (en) Combination-based broadcast encryption method
EP1080557B1 (de) Verfahren und anordnung zum rechnergestützten austausch kryptographischer schlüssel zwischen einer ersten computereinheit und einer zweiten computereinheit
CH694603A5 (de) Identifizierungsverfahren.
WO1991014980A1 (de) Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders
DE60025401T2 (de) Erzeugung eines mathematischen eingeschränkten schlüssels unter verwendung einer einwegfunktion
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE60109805T2 (de) Verfahren und system zur benützung eines ungesicherten krypto-beschleunigers
DE112012000971B4 (de) Datenverschlüsselung
DE60202149T2 (de) Verfahren zur kryptographischen authentifizierung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition