DE69827410T2 - Datenkommunikation - Google Patents

Datenkommunikation Download PDF

Info

Publication number
DE69827410T2
DE69827410T2 DE69827410T DE69827410T DE69827410T2 DE 69827410 T2 DE69827410 T2 DE 69827410T2 DE 69827410 T DE69827410 T DE 69827410T DE 69827410 T DE69827410 T DE 69827410T DE 69827410 T2 DE69827410 T2 DE 69827410T2
Authority
DE
Germany
Prior art keywords
data
control
frames
key
keys
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
DE69827410T
Other languages
English (en)
Other versions
DE69827410D1 (de
Inventor
Ralph Ian Ipswich FAIRMAN
John Robert Woodbridge BRISCOE
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GBGB9726934.4A external-priority patent/GB9726934D0/en
Priority claimed from GBGB9812060.3A external-priority patent/GB9812060D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE69827410D1 publication Critical patent/DE69827410D1/de
Publication of DE69827410T2 publication Critical patent/DE69827410T2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Datenkommunikationssystem und insbesondere die Steuerung des Zugriffs durch Benutzer auf Kopien digital codierter Daten. Sie kann zum Beispiel auf die Steuerung von Daten angewendet werden, die über das Internet per Multicast-Verfahren verteilt werden.
  • Multicast-Routing-Techniken wurden entwickelt, damit mehrere Kopien eines Datenelements effektiv an eine große Anzahl von Endbenutzern verteilt werden können. Damit derartige Techniken jedoch kommerziell verwertet werden können, ist es erforderlich, einen Zugriff von Benutzern auf die Daten selektiv zu steuern. Zum Beispiel in einer Anwendung, in der ausgewählte Börsenkurse über das Internet an Teilnehmer verteilt werden, ist es notwendig, sicherzustellen, dass nur Benutzern auf die Daten zugreifen, welche die relevante Teilnahmegebühr bezahlt haben. Dies kann erreicht werden durch Verschlüsseln der Daten und Freigabe des relevanten Schlüssels für den Benutzer nur als Gegenleistung für die Zahlung der Teilnahmegebühr. Wenn jedoch das Abonnement eines Benutzers nach einer festgelegten Zeitdauer oder nach Erhalt einer vorgegebenen Quantität von Daten abläuft, wäre es erforderlich, den Schlüssel für alle Benutzer zu ändern, um diesen einen Benutzer auszuschließen. In einer derartigen Situation wird der zu einer Schlüsselverteilung gehörende Verkehr zu einem signifikanten Betriebs-Overhead und kann sogar den Verkehr der Daten selbst übersteigen.
  • WO 97 26611 A offenbart ein Bereitstellungssystem für elektronische Daten zum Broadcast von Daten von einem zentralen Server an eine Vielzahl von Endbenutzern. Daten von dem Server werden während des Broadcasts verschlüsselt gesendet und können an einem Benutzer-Terminal nur entschlüsselt werden, wenn der richtige Schlüssel von einem Sicherheitsmechanismus freigeben wird. Vor dem Broadcast wird an die Benutzer ein Katalog versendet, so dass sie bestimmen können, welche Broadcast-Übertragungen sie zu erhalten wünschen. Zusätzlich wird regelmäßig (z.B. monatlich) die Konten-Information für den Benutzer (einschließlich Kreditbegrenzungen, usw.) an den Sicherheitsmechanismus gesendet. Bei Beginn einer Broadcast-Übertragung umfasst eine Ankündigungsmeldung einen Ursprung für einen Schlüssel, der an den Sicherheitsmechanismus geleitet wird. Der Sicherheitsmechanismus erzeugt und gibt den zur Entschlüsselung des Broadcasts erforderlichen Schlüssel nur frei, wenn er zuerst aus der Konten-Information ermittelt hat, dass der Benutzer einen ausreichenden Kredit und eine Berechtigung hat, um die Broadcast-Übertragung zu empfangen. Eine Entschlüsselung der erhaltenen Daten während der Broadcast-Übertragung kann daraufhin vonstatten gehen.
  • Das Dokument EP-A-0 528 730 betrifft die Übertragung einer Vielzahl von Datenelementen, die von einer Steuermeldung begleitet werden. Vor der Übertragung wird eine Vielzahl unterschiedlicher Steuerungswörter erzeugt, die jeweils für einen Benutzer spezifisch sind und jeweils verwendet werden, um ein anderes Datenelement zu verwürfeln, so dass bei Erhalt nur der relevante Benutzer das Datenelement korrekt wiederherstellen kann, das für ihn gedacht ist. Während der Übertragung ist die mit den Daten versendete Steuermeldung ein gemeinsames (root) Steuerungswort, mit dem jeder Benutzer sein eigenes spezifisches Steuerungswort erzeugen kann, um auf die Daten zuzugreifen.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung ist vorgesehen ein Verfahren zum Verteilen digital codierter Daten, mit:
    • a) einem Aufteilen der Daten in eine Vielzahl von Frames (Rahmen);
    • b) einem Verschlüsseln der Frames;
    • c) einem Verteilen mehrerer Kopien der Frames an eine Vielzahl von Benutzern, wobei jeder Frame mit einem Steuerfeld verteilt wird; gekennzeichnet durch
    • d) ein Übertragen eines Ursprungswerts zur Schlüsselerzeugung an jeweilige gesicherte Module, die sich bei jedem der Vielzahl von Benutzern befinden;
    • e) ein Entschlüsseln der Frames bei jeweiligen Benutzern unter Verwendung von Schlüsseln, die von dem an die gesicherten Module übertragenen Ursprungswert abgeleitet sind, wobei die gesicherten Module eine Entschlüsselung eines jeweiligen Frames nur dann ermöglichen, wenn das Steuerfeld an die gesicherten Module geleitet wurde;
    • f) ein Weiterleiten einer Steuermeldung in dem Steuerfeld an die gesicherten Module bei einem ausgewählten Benutzer oder mehreren ausgewählten Benutzern; und
    • g) als Antwort auf die Steuermeldung bei dem oder jedem ausgewählten Benutzer, Steuern der Verfügbarkeit von aus dem Ursprungswert erzeugten Schlüsseln, dadurch Steuern eines Zugriffs auf die Daten durch die Benutzer.
  • Der in diesem Dokument verwendete Begriff „Frame" (Rahmen) bezeichnet ein Objekt der Anwendungsschicht, das manchmal als eine Anwendungsdateneinheit (ADU – Application Data Unit) bezeichnet wird, und muss beispielsweise von herkömmlichen Video-„Frames" unterschieden werden. Die Begriffe Anwendungsdateneinheit und Frame werden in diesem Dokument äquivalent verwendet.
  • Das Verfahren der vorliegenden Erfindung liefert eine vollständige und wirksame Steuerung eines Zugriffs von Benutzern auf Daten, ohne zu großen Kommunikations-Overheads zu führen. Dies wird erreicht durch Aufteilen der Datenelemente in Frames, individuellem Verschlüsseln der Frames mit einer Reihe von Schlüsseln und Ver wendung eines gesteuerten gesicherten Moduls an dem Kundenstandort, um die entsprechende Reihe von Schlüsseln zu erzeugen, die zur Entschlüsselung der empfangenen Daten erforderlich ist. Das gesicherte Modul wird gesteuert, um die Verfügbarkeit der Schlüssel zu begrenzen. Zum Beispiel kann eine anfängliche Aufbau-Meldung an das gesicherte Modul dieses anweisen, nur eine begrenzte Anzahl von Schlüsseln zu erzeugen, beispielsweise einhundert. Wenn der Benutzer später eine Verlängerung seines Abonnements bezahlt, kann eine weitere Steuermeldung an das gesicherte Modul gesendet werden, damit aus dem existierenden Ursprungswert weitere Schlüssel erzeugt werden können.
  • Die Erfindung umfasst, ist aber nicht darauf begrenzt, Datenkommunikationssysteme, in denen die Frames oder „ADUs" z.B. über ein öffentliches Verbund-Datennetz, wie dem Internet, kommuniziert werden. Sie umfasst auch Systeme, in den der Schritt des Kommunizierens von ADUs z.B. durch ein physikalisches Verteilen eines Datenträgers, wie einer die ADUs enthaltenden CD-ROM, ausgeführt wird. Die Daten auf dem Verteilermedium können in Frames aufgeteilt sein, jeweils mit einer Sequenznummer und jeweils mit einem unterschiedlichen Schlüssel verschlüsselt. Während des Lesens der Daten von dem Datenträger erzeugt das gesicherte Modul Schlüssel, wobei dies offline geschehen kann. Eine Online-Verbindung kann trotzdem erforderlich sein, um z.B. eine Bestätigung anzufordern und zur Übertragung einer Antwort, wie einer Bestätigung.
  • Obwohl die Erfindung zur Verwendung in einem Multicast-Datenkommunikationsnetz geeignet ist, kann sie auch in einem weiten Bereich anderer Kontexte angewendet werden, wo immer es erforderlich ist, einen Zugriff auf weit verteilte Datenelemente zu steuern. Mögliche Anwendungen umfassen Multicast-Audio/Video-Ströme für Video auf Bestellung, Netz-Radio oder -Überwachung; Steuern des Zugriffs auf die Inhalte von CD-ROMs oder anderer Speichermedien, die Software oder Multimedia-Daten enthalten; Steuern des Zugriffs auf einen Satz von Gutscheinen, die Zugriff auf andere Dienste ermöglichen; einen Multicast-Strom von Meldungen, wie Aktienkurse, Preise von Kommunikationsnetzen, Elektrizitätspreise, Netzverwaltungsmeldungen, Nachrichtenelemente, Portfolio-Information, Gruppenbesprechungen, Standard-Dokumente, akademische Veröffentlichungen, Magazine, Produktübersichten, „schwarze Listen", Strafverfolgungsintelligenz, Rechtsfälle, Eigenschaftsprofile, pharmazeutische Testergebnisse, usw.; eine Sequenz von Multicast-Meldungen in einem Netzwerk-Spiel, einer virtuellen Welt oder Simulations-Szenarium (z.B. eine Eignungsprüfung), möglicherweise nur die Meldungen, die einen Zugriff steuern, aber möglicherweise auch alle Datenmeldungen, für die eine Empfangsbestätigung entscheidend ist für die Gerechtigkeit des Ergebnisses der Simulation.
  • Steuermeldungen werden vorzugsweise, aber nicht notwendigerweise online verteilt. Sie können über alle geeigneten Mittel (z.B. auf Plastikkarten, Barcodes, punktförmige Wiedergabe (microdots), Disketten, usw.) verteilt werden.
  • Ein Steuerfeld wird an jeden der Vielzahl von Benutzern verteilt und das gesicherte Modul ist ausgebildet, eine Entschlüsselung eines jeweiligen Frames nur zu ermöglichen, wenn das Steuerfeld an das gesicherte Modul geleitet wurde. Vorzugsweise wird die Steuermeldung zum Modifizieren der Verfügbarkeit von Schlüsseln in dem Steuerfeld an das gesicherte Modul kommuniziert.
  • Diese Merkmale der Erfindung erschweren es dem Benutzer, die durch das Schlüsselerzeugungssystem ausgeübte Kontrolle zu umgehen. Indem mit jedem Frame ein Steuerfeld an das gesicherte Modul übermittelt wird und nur eine Entschlüsselung ermöglicht wird, wenn das Steuerfeld empfangen wird, schützen sie vor einer Unterbrechung des Steuerkanals zu dem gesicherten Modul.
  • Vorzugsweise umfasst jeder Daten-Frame ein Frame-Identitätsfeld und jeder von dem gesicherten Modul erzeugte Schlüssel ist spezifisch für einen von dem Feld identifizierten Frame.
  • Wie im Folgenden weiter diskutiert wird, wird die Sicherheit des Systems weiter verbessert, indem ein Frame-Identitätsfeld aufgenommen und der Vorgang der Entschlüsselung abhängig von der Frame-Identität gemacht wird.
  • Das Verfahren kann umfassen ein Erzeugen und Speichern einer Empfangsbestätigung für jeden von dem Benutzer entschlüsselten Frame.
  • Der Benutzer kann die Daten-Frames empfangen und verarbeiten unter Verwendung eines geeigneten Terminals, wie einem Personalcomputer oder jede andere geeignete Vorrichtung, wie zum Beispiel ein Java-fähiges Mobiltelefon. Das gesicherte Modul stellt einen Bereich in dem Kundenterminal bereit, der sich effektiv unter der Steuerung des Daten-Anbieters befindet und auf den der Kunde nicht ohne weiteres einen Zugriff hat. Das gesicherte Modul kann einfach ein Software-Modul sein, das einen Verschlüsselungsalgorithmus ausführt. Es kann zum Beispiel als ein Java-Programm implementiert werden, das von dem Betreiber der entfernten Datenquelle als Teil des Vorgangs des Aufbaus einer Sitzung verteilt wird. Für noch höhere Stufen von Sicherheit ist es vorzuziehen, dass das gesicherte Modul einen dedizierten Prozessor und Speicher aufweist, die sich, optional, aber nicht notwendigerweise, innerhalb eines physikalisch gesicherten Gehäuses befinden. Beispiele derartiger gesicherter Module umfassen Smartcard-Strukturen und kryptographische PC-Karten.
  • Wenn das gesicherte Modul nur eine relativ geringe Verarbeitungsleistung aufweist, wie es zum Beispiel bei einer Smartcard der Fall sein kann, muss dieses Modul einfach die unterschiedlichen jeweiligen Schlüssel ausgeben. Andere, in dem Hauptteil des Kunden-Terminals ablaufende Prozesse sind dann für die Entschlüsselung der Daten-Frames verantwortlich. Alternativ, wenn das gesicherte Modul mehr Verarbeitungsleistung aufweist, wenn zum Beispiel eine kryptographische Co-Prozessor-Karte verwendet wird, werden die verschlüsselten Daten-Frames vorzugsweise an das gesicherte Modul übermittelt und das Modul erzeugt die jeweiligen Schlüssel, entschlüsselt die Frames und gibt die entschlüsselten Frames zum Beispiel an ein Anwendungsprogramm aus, das auf dem Kundenterminal läuft.
  • Die Steuermeldung wird mit einem Daten-Frame an die Vielzahl der Benutzer verteilt. Vorzugsweise ist ein Benutzer-Identitätsfeld, das einen ausgewählten Benutzer oder eine Gruppe von Benutzern identifiziert, in der Steuermeldung enthalten, und wobei auf die Steuermeldung nur von dem von dem Benutzer-Identitätsfeld identifizierten Benutzer oder von der Gruppe von Benutzern reagiert wird. Die Steuermeldung kann ein Stopp-Flag und ein Kontaktiere-Sender-Flag umfassen. Zum Beispiel kann das Kontaktiere-Sender-Flag verwendet werden, um einen entfernten Prozeduraufruf (remote procedure call) von dem Kundenterminal an die Datenquelle zu starten, wodurch eine neue Richtlinie zur Schlüsselerzeugung an das Terminal kommuniziert werden kann.
  • Das Verfahren kann ein Anwenden digitaler Wasserzeichen umfassen, d.h. unterschiedliche charakteristische Variationen von Daten, die an unterschiedlichen jeweiligen Kundenterminals entschlüsselt werden. Dies dient dazu, die Erfassung von Täuschung durch Schwindel zu ermöglichen, zum Beispiel wenn ein Kunde Schlüsselwerte oder entschlüsselte Daten an einen anderen Kunden weitergibt.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung ist vorgesehen ein Datenkommunikationssystem, mit
    • a) einer entfernten Datenquelle, die ausgebildet ist, eine Vielzahl von Frames auszugeben;
    • b) Verschlüsselungsmitteln zum Verschlüsseln der Vielzahl von Frames mit verschiedenen jeweiligen Schlüsseln;
    • c) einem Kommunikationskanal, der ausgebildet ist, mehrere Kopien der verschlüsselten Daten-Frames, jeweils mit einem Steuerfeld, zu verteilen;
    • d) einer Vielzahl von Kunden-Endgeräten, die ausgebildet sind, von dem Kommunikationskanal jeweilige Kopien der verschlüsselten Daten-Frames mit den Steuerfeldern zu empfangen; gekennzeichnet durch
    • e) eine Schlüssel-Erzeugungsvorrichtung, die sich in einem Kunden-Endgerät befindet und programmiert ist, aus einem Ursprungswert Schlüssel zur Verwendung bei der Entschlüsselung von Daten-Frames zu erzeugen;
    • f) mit der Schlüssel-Erzeugungsvorrichtung verbundene Schlüssel-Steuermittel, wobei die Schlüssel-Steuermittel aufweisen: eine Schnittstelle zum Empfangen des Steuerfelds; Steuermittel, die ausgebildet sind, nur Schlüssel zur Entschlüsselung der jeweiligen Frames freizugeben, für die ein Steuerfeld empfangen wird; Steuermittel, die ausgebildet sind, als Antwort auf Steuermeldungen in dem Steuerfeld, die Verfügbarkeit von aus dem Ursprungswert erzeugten Schlüsseln für Benutzer zu steuern; und
    • g) Entschlüsselungsmittel, die mit der Schlüssel-Erzeugungsvorrichtung verbunden und ausgebildet sind, die an dem Kunden-Endgerät von dem Kommunikationskanal empfangenen Daten-Frames zu entschlüsseln.
  • Es ist ebenfalls ein Verfahren zum Betreiben eines Kunden-Endgeräts gemäß Anspruch 9 und ein Kunden-Endgerät gemäß Anspruch 12 vorgesehen.
  • Die Erfindung umfasst auch Kunden-Endgeräte und Daten-Server, die ausgebildet sind, die Erfindung in allen ihren Aspekten zu implementieren. Sie umfasst auch Verfahren und Systeme, in denen Daten ihren Ursprung aus einer Vielzahl von unterschiedlichen Datenquellen haben.
  • Die vorliegende Erfindung darstellende Systeme werden im Folgenden auf beispielhafte Weise unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 eine schematische Darstellung eines Datenkommunikationssystems ist, das das Netz verwirklicht;
  • 2 eine schematische Darstellung ist, welche die funktionalen Komponenten des Kunden-Terminals in dem System von 1 detaillierter zeigt;
  • 3 ein Ablaufdiagramm ist, das die hauptsächlichen Betriebsphasen des Systems von 1 zeigt;
  • 4 ein Ablaufdiagramm ist, das die Verifizierungsphase detaillierter zeigt;
  • 5 ein Ablaufdiagramm ist, das die Initialisierungsphase detaillierter zeigt;
  • 6 ein Ablaufdiagramm ist, das die Phase „Empfangen/Entschlüsseln" detaillierter zeigt;
  • 7 ein Ablaufdiagramm ist, das die Empfangsphase detaillierter zeigt;
  • 8 die Software-Architektur des Kunden-Terminals zeigt;
  • 9 die Software-Architektur des Daten-Servers zeigt;
  • 10a und 10b die Struktur eines Daten-Frames zeigt;
  • 11 Meldungsflüsse in dem Datenkommunikationssystem zeigt;
  • 12 das Netzwerk eines alternativen Ausführungsbeispiels zeigt.
  • Wie in 1 gezeigt, umfasst ein Datenkommunikationssystem einen Daten-Server 1 („Rechner des Senders"), der mit mehreren Kunden-Terminals 2 über ein Datenkommunikationsnetz 3 verbunden ist. Obwohl zur einfacheren Darstellung nur einige Kunden-Terminals gezeigt sind, kann der Daten-Server 1 in der Praxis mit vielen Terminals gleichzeitig kommunizieren. In dem vorliegenden Beispiel ist das Datenkommunikationsnetz 3 das öffentliche Internet. Die Teilnetze und die zugehörigen Router, die den Daten-Server mit den Kunden-Terminals verbinden, unterstützen IP (Internet Protokoll)-Multicasting.
  • In dem vorliegenden Beispiel ist der Daten-Server 1 ein Video-Server. Der Daten-Server liest einen Videodatenstrom aus einer Massenspeichervorrichtung und komprimiert die Daten unter Verwendung eines geeigneten Komprimierungsalgorithmus, wie MPEG 2. Ein Verschlüs selungsmodul in dem Daten-Server 1 teilt dann den komprimierten Videodatenstrom in Frames. Zum Beispiel kann jedes Frame Daten aufweisen, die einer Minute des Videosignals entsprechen. Ein Verschlüsselungsalgorithmus, wie der im Folgenden detaillierter beschriebene, verschlüsselt dann die Frames der Daten. Ein gemeinsamer Verschlüsselungsalgorithmus wird für alle Frames in einer Sitzung verwendet. Jedoch wird eine Sequenz von Schlüsseln verwendet, mit einem anderen Schlüssel für jeden aufeinander folgenden Frame.
  • An jedem Kunden-Terminal werden ankommende Daten-Frames unter Verwendung eines gesicherten Moduls 4 verarbeitet. Wie im Folgenden detaillierter beschrieben wird, erzeugt das gesicherte Modul 4 eine Sequenz von Schlüsseln, die den ursprünglich zum Verschlüsseln der Daten-Frames verwendeten Schlüsseln entsprechen. Die Anzahl der zu erzeugenden Schlüssel in einer bestimmten Sitzung wird durch einen Vertrag zwischen dem Benutzer und dem Betreiber des Daten-Servers bestimmt. Zum Beispiel in dem Fall von Video auf Bestellung kann der Benutzer ein Programmmaterial auswählen, als Antwort darauf identifiziert der Server die Anzahl der zum Entschlüsseln aller Frames in dem Programm erforderlichen Schlüssel und die Kosten des Programms. Als Gegenleistung für die Zahlung von dem Benutzer sendet der Server den Ursprungswert für den Schlüssel zusammen mit einer Steuerungsanweisung für das gesicherte Modul, die erforderliche Anzahl der Schlüssel, z.B. einhundert, zu erzeugen. Die Schlüssel können an den Hauptprozessor des Kunden-Terminals ausgegeben werden, damit die Daten entschlüsselt werden können. Alternativ kann das gesicherte Modul selbst den Schritt der Entschlüsselung durchführen. In jedem Fall speichert das gesicherte Modul ein Verzeichnis der erzeugten Schlüssel. Dieses Verzeichnis kann zum Beispiel die gesamte Anzahl der während einer Sitzung ausgegebenen Schlüssel zusammen mit einer Sitzungs-ID und einer Aufzeichnung der Zeit der Sitzung aufweisen.
  • Während der Sitzung können Steuerungssignale gesendet werden, um die Zugriffsrechte des Kunden zu modifizieren. Zum Beispiel kann der Kunde wählen, das Programm zu einem frühen Zeitpunkt zu beenden, und eine Rückvergütung bekommen. Dies wird bewirkt durch eine Übertragung eines Daten-Frames von dem Daten-Server, der zusätzlich zu den Daten selbst eine Steuermeldung enthält, welche die Identität des bestimmten Kunden oder der Gruppe von Kunden aufweist, dessen/deren Zugriffsrechte modifiziert werden sollen. Die Steuermeldung kann ein einfaches „Stopp"-Flag umfassen, das, wenn es gesetzt ist, veranlasst, dass das gesicherte Modul keine Schlüssel mehr freigibt. Mögliche Formate für die Kommunikation von Steuerungssignalen werden im Folgenden unter Bezugnahme auf die 10A und 10B detaillierter diskutiert. Umgekehrt kann der Benutzer wählen, zusätzliches Programmmaterial anzusehen, in diesem Fall kann eine Steuermeldung an das gesicherte Modul gesendet werden, um die Anzahl der zu erzeugenden Schlüssel zu erhöhen, z.B. von 100 auf 200. Andere Änderungen des Status sind ebenfalls möglich. Die Frames können ein Meta-Datenfeld umfassen, das verwendet wird, um zum Beispiel zwischen zwei unterschiedlichen Klassen von Teilnehmern zu unterscheiden. Zum Beispiel können Teilnehmer in die Klassen Gold, Silber und Bronze unterteilt werden, wobei Gold-Benutzer Zugriff auf Daten-Frames mit Meta-Datenwerten m 1, m2 oder m3 haben, Silber-Benutzer Zugriff auf m1 oder m2 haben und Bronze-Benutzer nur Zugriff auf m1haben. Als Gegenleistung für eine Zahlung während der Sitzung kann der Benutzer sein Abonnement aufwerten, z.B. von Bronze zu Silber, und dadurch Zugriff auf Programmmaterial erhalten, das in Frames mit m2 Meta-Datenwerten übertragen wird, zusätzlich zu Material, das in Frames mit m 1 Meta-Datenwerten übertragen wird. Die Änderung wird von dem Daten-Server bewirkt, der eine Steuermeldung an das gesicherte Modul überträgt und eine Schlüsselerzeugung für m2-Frames zusätzlich zu m1-Frames anfordert.
  • Jeder Daten-Frame oder ADU kann mit einem Frame-Typ gesendet werden, durch den die Frames auf unterschiedliche Arten erhalten oder gesteuert werden können. Zum Beispiel kann ein Benutzer für eine Stunde eines Videostroms bezahlen, wobei aber Werbung und Vor-/Abspann nicht zu dieser Stunde zählen. In diesem Fall umfasst jeder Frame einen Typ, der signiert oder verschlüsselt sein kann, mit einer weiteren Schlüsselsequenz, die den Frame als sich auf gebührenpflichtige oder nicht gebührenpflichtige Daten beziehend identifiziert. Ein Anbieter von Werbung kann für die Kosten der Netzübertragung von z.B. Werbung zahlen unter der Bedingung, dass der Benutzer seine Empfangsbestätigung zurückgibt. Dieser Mechanismus kann auch in Systemen des Typs benutzt werden, in denen ein Benutzer dafür bezahlt wird, Werbung zu erhalten.
  • Vor dem Beginn einer Sitzung kann ein Kunden-Terminal 2 mit dem Betreiber des Datennetzes 3 einen Vertrag über eine Dienstqualität (QoS – Quality of Service) abgeschlossen haben, was erfordert, dass eine bestimmte minimale Anzahl von Frames pro Zeiteinheit geliefert werden muss. Wenn daraufhin durch eine Überlastung in dem Netzwerk 2 die Rate der Frame-Lieferung unter die in dem Vertrag spezifizierte Rate fällt, fordert das Kunden-Terminal 2 von dem Daten-Server 1 eine Rückerstattung der Gebühren für diese Sitzung. Um diese Anforderung zu validieren, fordert der Daten-Server 1 von dem gesicherten Modul 4 eine „Empfangsbestätigung". Diese Bestätigung umfasst die in dem Datenspeicher gespeicherten Daten und liefert so eine fälschungssichere Anzeige der Anzahl der Frames, die entschlüsselt und dem Kunden im Verlauf einer bestimmten Sitzung zur Verfügung gestellt wurden.
  • 2 zeigt die hauptsächlichen funktionalen Komponenten des Kunden-Terminals, die für die vorliegende Erfindung relevant sind. Eine Netz-Schnittstelle 22 kommuniziert Daten-Frames an das und von dem Datennetz. Die Daten-Frames gehen von der Schnittstelle 22 an ein gesichertes Modul 23. Das gesicherte Modul 23 weist Teilmodule auf, die ein Entschlüsselungs-Modul D, ein Schlüssel-Erzeugungs-Modul K und einen gesicherten Speicher S aufweisen. Das Schlüssel-Erzeugungs-Modul leitet eine Reihe von Schlüsseln an das Entschlüsselungs-Modul, das eine Reihe von Daten-Frames entschlüsselt, die es von der Schnittstelle 22 erhalten hat, und leitet sie an ein Anwendungsschicht-Modul 24. Dieses führt eine weitere Verarbeitung durch und übermittelt die entstehenden Daten an eine Ausgabe-Vorrichtung, die in diesem Beispiel eine Videoanzeigeeinheit VDU 25 ist. In einer bevorzugten Implementierung kann die Schnittstelle 22 in Hardware durch ein ISDN-Modem und in Software durch einen TCP/IP-Stack ausgeführt werden. Das gesicherte Modul 23 kann zum Beispiel eine Smartcard sein, die an das Kunden-Terminal über ein PCMCIA-Socket angeschlossen ist. Die Smartcard kann eine einer Anzahl von standardmäßigen Datenschnittstellen verwenden, wie die Java-Card-API (Application Programmer's Interface) von Sun Microsystems oder die Smartcard-Architektur von Microsoft. Alternativ kann das gesicherte Modul von einer PCI kryptographischen Co-Prozessor-Karte dargestellt werden, wie sie kommerziell von IBM erhältlich ist.
  • 8 zeigt eine Software-Architektur für das Kunden-Terminal. Die Anwendungsschicht an dem Terminal wird von einem Entschlüsselungs-Datenkanal unterstützt, der wiederum über einer Datenkanalschicht liegt, die z.B. mit einem Netzwerk verbunden ist. Der Entschlüsselungs-Datenkanal steht in Verbindung mit einem Entschlüsselungs-Modul. Dieses Entschlüsselungs-Modul ruft Res sourcen in einem gesicherten Modul (innerhalb des gestrichelten Kastens gezeigt), das eine Empfangs-Schlüssel-Erzeugungsvorrichtung, eine Schlüssel-Erzeugungsvorrichtung und einen Bestätigungs-Speicher aufweist. Es ist offensichtlich, dass diese Architektur nur ein Beispiel ist und dass Alternativen innerhalb des Umfangs der Erfindung möglich sind. Zum Beispiel kann sich der Bestätigungs-Speicher außerhalb des gesicherten Moduls befinden.
  • 9 zeigt eine entsprechende Architektur für einen Datenserver. Sie weist den Sender, den Verschlüsselungs-Datenkanal, die Verschlüsselungsvorrichtung und die Schlüssel-Erzeugungsvorrichtung auf.
  • 3 zeigt die Hauptphasen in dem Betrieb des oben beschriebenen Systems. In der Phase P1 verifiziert der Server, ob das gesicherte Modul in dem Kunden-Terminal vertrauenswürdig ist und eine bekannte Identität besitzt. In der Phase P2 wird das gesicherte Modul initialisiert, um Daten für eine bestimmte Sitzung zu entschlüsseln. In der Phase P3 werden die Daten übertragen und eine Entschlüsselung durchgeführt. Während dieser Phase kann eine Steuermeldung an das Steuerungsmodul gesendet werden, um zum Beispiel die Anzahl der Frames zu modifizieren, auf die der Benutzer zugreifen darf. In der Phase P4, die optional ist, wird eine Bestätigung erzeugt. Diese Phasen werden nun detaillierter erläutert.
  • Wenn das gesicherte Modul beispielsweise eine Smartcard ist, dann wird diese Smartcard von dem Hersteller mit einem eindeutigen öffentlichen/privaten Schlüsselpaar ausgegeben. Dieses Schlüsselpaar kann von einer vertrauenswürdigen dritten Partei zertifiziert werden. In der Phase P1 führt der Server Schritte aus, um zu bestätigen, dass die Smartcard tatsächlich von einem vertrauenswürdigen Lieferanten stammt. Die Schritte der Phase P1 werden in 4 gezeigt. In Schritt S 1 erzeugt der Server einen Zufalls-String. In Schritt S2 sendet der Server den Zufalls-String über das Datennetz an das Kunden-Terminal. In Schritt S3 wird der Zufalls-String an das gesicherte Modul übermittelt (z.B. die Smartcard). In Schritt S4 signiert die Smartcard den Zufalls-String. In Schritt S5 sendet die Smartcard den signierten String zusammen mit dem relevanten öffentlichen Schlüssel zurück an die auf dem Kunden-Terminal laufende Anwendung. In Schritt S6 sendet diese Client-Anwendung den signierten String und den öffentlichen Schlüssel über das Datenkommunikationsnetz an den Server zurück. In Schritt S7 verifiziert der Server den signierten Zufalls-String.
  • Wie in 5 gezeigt, erzeugt (s51) der Server, um das gesicherte Modul zur Entschlüsselung von Daten in einer bestimmten Sitzung einzurichten, zuerst einen Ursprungswert zur Verwendung mit einer geeigneten pseudo-zufälligen oder chaotischen Funktion, um eine Reihe von Schlüsseln zu erzeugen. Er erzeugt auch einen Sitzungs-Schlüssel (s52). Der Server verschlüsselt den Ursprungswert und eine maximale Anzahl von zu erzeugenden Schlüsseln unter Verwendung des öffentlichen Schlüssels des gesicherten Moduls (s53). Dann überträgt er den verschlüsselten Ursprungswert und die maximale Anzahl der zu erzeugenden Schlüssel und den Sitzungs-Schlüssel an das Kunden-Terminal (s54). Die Client-Anwendung übermittelt den Ursprungswert und den Sitzungs-Schlüssel an das gesicherte Modul (s55). Das gesicherte Modul setzt einen Paket-Zähler auf Null (s56) und initialisiert eine Sequenz-Erzeugungsvorrichtung mit dem Ursprungswert (s57). Das Kunden-Terminal ist dann bereit, Daten-Frames zu empfangen und zu entschlüsseln.
  • Der Server sendet daraufhin eine Reihe von Frames an den Client. Jeder Frame besitzt eine Frame-Nummer (hier auch als Paketnummer bezeichnet). Mit jedem Frame kann auch ein Sitzungs-Schlüssel übertragen werden. Die Folge der Schritte für den n-ten Frame wird in 6 dargestellt. In Schritt s61 sendet der Server den verschlüsselten n-ten Frame an den Client. Der Client fordert den Schlüssel x für den Frame n von dem gesicherten Modul an (s62). Das gesicherte Modul zeichnet die Anforderung auf (s63). Die Smartcard sendet dann den Schlüssel x an den Client zurück (s64). Der Client entschlüsselt den Frame unter Verwendung von x (s65). Der Client prüft, um festzustellen, ob der Frame der letzte der Sitzung ist (s66).
  • Wenn nicht, werden die Schritte für den n+1sten und nachfolgende Frames wiederholt.
  • Zum Aufbau der Sitzung hat der Kunde vorher eine Übereinkunft mit dem Diensteanbieter bezüglich dem Grad der Dienstqualität für die Sitzung verhandelt. Für eine Anwendung wie Video auf Bestellung kann dieser Grad streng sein: zum Beispiel kann der Kunde verlangen, dass kein Frame der Anwendungsschicht während der Übertragung verloren geht. Wenn dann dieser Grad der Dienstqualität nicht erreicht wird, fordert der Kunde eine Rückerstattung von dem Diensteanbieter. Die Anforderung für eine Rückerstattung kann zum Beispiel spezifizieren, dass es einen Frame-Verlust zu einer bestimmten Zeit während der Video-Übertragung gab. Bei der Verarbeitung einer derartigen Anforderung fordert der Server von dem Kunden eine Bestätigung an. Wie in 7 gezeigt, fordert in Schritt s71 der Client eine Bestätigung für eine bestimmte Sitzung s von dem gesicherten Modul an. Das gesicherte Modul liest die Daten, die es für diese Sitzung gespeichert hat, und erzeugt eine Bestätigung mit diesen Daten (s72). Das gesicherte Modul signiert die Bestätigung mit dem privaten Schlüssel des gesicherten Moduls (s73). Das gesicherte Modul sendet die signierte Bestätigung an den Client zurück (s74). Der Client wiederum überträgt die signierte Bestätigung an den Server (s75). Der Server überprüft die Signatur auf der Bestätigung unter Verwendung des öffentlichen Schlüssels des gesicherten Moduls (s76). Der öffent liche Schlüssel kann aus einer an dem Server gespeicherten Datenbank gelesen werden. Nach der Verifizierung der Signatur kann der Server den Anspruch des Kunden für eine Rückerstattung unter Verwendung der in der Bestätigung enthaltenen Daten überprüfen. Diese Daten können zum Beispiel eine Diskrepanz zwischen der Anzahl von in einer Sitzung entschlüsselten Frames und der von dem Server übertragenen Anzahl zeigen, wodurch der Anspruch des Kunden, dass ein Frame verloren ging, bestätigt wird.
  • Unter Verwendung der folgenden Notation
    sign(k, d) – d signiert mit Schlüssel k (d.h. d und die Signatur von d mit k)
    enca(k, d) – d asymmetrisch verschlüsselt mit Schlüssel k
    encs (k, d) – d symmetrisch verschlüsselt mit Schlüssel k
    können die oben beschriebenen Schritte wie folgt zusammengefasst werden:
  • 1. Bestätigen der gesicherten Raum-ID
  • Die Aufgabe besteht hier darin, zu bestätigen, dass der gesicherte Raum ein Raum ist, dem der Sender vertrauen kann.
    • 1. Sender erzeugt einen Zufalls-String r (Ad-hoc)
    • 2. Sender sendet r an Empfänger
    • 3. Empfänger sendet r an gesicherten Raum
    • 4. Gesicherter Raum signiert r mit privatem Schlüssel s, um sign(s, r) zu erzeugen
    • 5. Gesicherter Raum sendet sign(s, r) und öffentlichen Schlüssel p, der von TTP mit seinem privatem Schlüssel t signiert wurde (wodurch sign(t, p) erzeugt wird), an Empfänger zurück
    • 6. Client sendet [sign(s, r), sign(t, p)] an Sender zurück
    • 7. Sender überprüft sign(t, p) mit TTP (entweder durch Aufrufen TTP-Server oder unter Verwendung des öffentlichen Schlüssels TTPs im Cache)
    • 8. Sender überprüft sign(r, s) mit p
  • 2. Einrichten des Ver-/Entschlüsselungs-Systems zum Entschlüsseln von Daten
  • Der Sender muss das Schlüssel-System derart einrichten, dass er eine Sequenz von Nummern zum Entschlüsseln jedes Pakets erzeugen kann. Diese Sequenz wird eine chaotische/pseudo-zufällige Sequenz sein.
    • 1. Sender erzeugt einen Ursprungswert v
    • 2. Sender erzeugt einen Sitzungs-Schlüssel k
    • 3. Sender verschlüsselt v unter Verwendung des öffentlichen Schlüssels P des gesicherten Raums und erzeugt enca(p, v)
    • 4. Sender sendet [k, enca(p, v)] an Client
    • 5. Client sendet [k, enca(p, v)] an Karte
    • 6. Ver-/Entschlüsselungs-System setzt Paket-Zähler auf Null
    • 7. Ver-/Entschlüsselungs-System entschlüsselt enca(p, v) unter Verwendung geheimen Schlüssels s
    • 8. Ver-/Entschlüsselungs-System initialisiert Sequenz-Erzeugungsvorrichtung mit v
  • Die Sitzungsinformation kann aufweisen:
    im Klartext gesendet:
    Sitzungsschlüssel
    Verschlüsselt gesendet:
    Ursprungswert
    Typ der Sequenz-Erzeugungsvorrichtung
    Bestätigungstyp (für Nicht-Zurückweisung)
    Maximale Anzahl der zu erzeugenden Schlüssel (für Multicast-Schlüssel-Management)
  • In diesem Szenario befinden sich eine begrenzte Anzahl von Sequenz-Erzeugungsvorrichtungen und Bestätigungen, die als Identifizierer verwendet werden können, die als Teil der Sitzungsinformation gesendet werden. Alternativ kann ein gesicherter Klassenlader implementiert werden, wodurch neue Sequenz-Erzeugungsvorrichtungen und Bestätigungen in das Verschlüsselungssystem hochgeladen werden können. Ein weiterer Aspekt des Aufbaus einer Sitzung ist eine Sitzungsänderung. Der Benutzer kann für den Erhalt einer bestimmten Menge von Daten zahlen und später für mehr Daten zahlen. Dies kann durch ein Aktualisieren der Sitzungsinformation (z.B. durch Erhöhen der maximalen Anzahl von zu erzeugenden Schlüsseln) gehandhabt werden, während die Sitzung aktiv ist.
  • 3. Empfangen und Entschlüsseln von Daten
  • Der Sender sendet eine Sequenz von Frames an dem Empfänger, jeweils mit einer Frame-Nummer und einem Sitzungs-Schlüssel.
    • 1. Sender verschlüsselt Frame fn, k mit Frame-Schlüssel xn, k, um encs(xn, k, fn, k) für Frame n in Sitzung k zu erzeugen
    • 2. Sender sendet encs(xn, k, fn, k) an Empfänger
    • 3. Empfänger fordert Schlüssel xn, k für Frame n in Sitzung k von Ver-/Entschlüsselungs-System an
    • 4. Ver-/Entschlüsselungs-System speichert Anforderung mit erhaltenem Objekt (für Nicht-Zurückweisung )
    • 5. Ver-/Entschlüsselungs-System sendet Schlüssel xn, k an Empfänger zurück
    • 6. Empfänger entschlüsselt encs(xn, k, fn, k) unter Verwendung von xn, k, um fn, k zu erhalten
  • 4. Erzeugung einer Bestätigung (für Nicht-Zurückweisung)
    • 1. Empfänger fordert Bestätigung für Sitzungs-Schlüssel s von Ver-/Entschlüsselungs-System an
    • 2. Ver-/Entschlüsselungs-System erzeugt Bestätigung für Sitzungs-Schlüssel k, ck
    • 3. Ver-/Entschlüsselungs-System signiert ck mit privatem Schlüssel s und liefert sign(s, ck)
    • 4. Ver-/Entschlüsselungs-System sendet sign(s, ck) an Empfänger zurück
    • 5. Empfänger sendet sign(s, ck) an Sender
    • 6. Sender vergleicht sign(s, ck) mit öffentlichem Schlüssel p des Ver-/Entschlüsselungs-Systems, von dem bekannt ist, dass es von dem Client benutzt wird (nachschlagen in Datenbank)
    • 7. Sender gibt Rückerstattung, wenn erforderlich
  • Die zum Erzeugen von Schlüsseln in den obigen Beispielen verwendete Sequenz kann an Kunden-Terminals unter Verwendung von HTTP (Hyper Text Transport Protocol) als Java-Code verteilt werden. Eine geeignete chaotische Funktion ist: xn+1 = 4rxn(1 – xn)
  • Wenn r = 1, nimmt und berechnet diese Funktion Zahlen in dem Bereich 0 bis 1. Eine derartige chaotische Funktion hat die Eigenschaft, dass alle Fehler in dem Wert von xn exponentiell ansteigen, wenn die Funktion wiederholt wird. In Betrieb verwendet das gesicherte Modul intern eine höhere Genauigkeit als die Genauigkeit der für den Client verfügbaren Schlüsselwerte. Zum Beispiel kann das gesicherte Modul intern 128-Bit Zahlen verwenden und dann an den Client nur die signifikantesten 32 Bits zurücksenden. Beim Erzeugen der Schlüs selwerte wird die chaotische Funktion wiederholt, bis der Fehler in dem an den Client zurückgesendeten Wert größer wird als der Bereich. Dies verhindert, dass der Benutzer die Sequenz aus den von dem gesicherten Modul zurückgesendeten Werten erraten kann.
  • Als eine alternative oder zusätzliche Sicherheitsmassnahme kann eine andere Funktion für jede Sitzung verwendet werden. Dies dient dazu, die Möglichkeit, dass der Kunde Schlüsselwerte vorhersagen kann, weiter zu reduzieren.
  • 10A zeigt das Format eines in einer ersten Implementierung des oben beschriebenen Systems übertragenen Frames. Das Format des Frames ist wie folgt:
    • 1. Signatur von Hash (2)
    • 2. Hash von 3, 4, 5, 6
    • 3. Schlüssel-ID
    • 4. Stopp-Flag (j/n) (verschlüsselt)
    • 5. Kontaktiere-Sender-Flag (j/n) (verschlüsselt)
    • 6. Karten-IDs (verschlüsselt)
    • 7. Frame-Daten
  • Der Frame wird an der Netzschnittstelle eines Kunden-Terminals erhalten und die Felder 1 bis 6 werden an das gesicherte Modul übertragen. Diese weisen einen verschlüsselten Block auf, der sowohl Steuerfelder als auch eine Schlüssel-Identität enthält. Dieser Block wird in dem gesicherten Modul entschlüsselt. Wenn die Karten-ID die des fraglichen gesicherten Moduls ist, überprüft das gesicherte Modul die Felder 4 und 5, das Stopp-Flag und das Kontaktiere-Sender-Flag. Wenn das Stopp-Flag gesetzt ist, werden keine weiteren Schlüssel mehr ausgegeben. Wenn das Kontaktiere-Sender-Flag gesetzt ist, führt die Karte einen entfernten Prozeduraufruf (remote procedure call) an den Sender (oder den Repräsentanten des Senders) durch und erhält eine neue Richtlinie zur Erzeugung von Schlüsseln. Das gesicherte Modul gibt dann, wenn es nicht anderweitig von den Steuerfeldern angewiesen wird, einen Schlüssel aus zur Verwendung bei der Entschlüsselung der in Feld 7 enthaltenen Frame-Daten. Die gesamte Länge der an das gesicherte Modul übermittelten Steuerfelder und insbesondere die Anzahl der Karten-IDs (Feld 6) kann variabel sein, wobei in diesem Fall zusätzlich zu den gezeigten Feldern ein weiteres nicht verschlüsseltes Feld vor den Steuerfeldern aufgenommen wird, um die Gesamtlänge der Steuermeldung anzuzeigen. Wenn das gesicherte Modul kein Steuerfeld empfängt, hört es auf, Schlüssel auszugeben. Auf diese Weise kann weder ein unbeabsichtigter Verlust einer Steuermeldung noch eine absichtliche Entfernung einer derartigen Meldung dazu führen, dass der Kunde einen nicht autorisierten Zugriff auf Daten erhält.
  • 10B zeigt das Format eines in einer zweiten Implementierung des oben beschriebenen Systems übertragenen Frames. Das Format des Frames ist wie folgt:
    • 1. Signatur von Hash (2) (signiert mit dem öffentlichen Schlüssel des Senders)
    • 2. Hash von 3, 4 und 5
    • 3. Schlüssel-ID
    • 4. Steuermeldung (verschlüsselt)
    • 5. Karten-ID(s) (verschlüsselt)
    • 6. Frame-Daten
  • Der Stack übermittelt die Felder 1, 2, 3, 4 und 5 in das gesicherte Modul, um den Schlüssel für 6 zu erhalten. Die Verwendung dieses Frame-Formats beruht auf einem Wahrscheinlichkeitsverfahren zum Steuern des Zugriffs. Jedes Mal, wenn ein Frame gesendet wird, enthält er eine verschlüsselte Steuermeldung und eine Karten-ID, die zusammen mit der Schlüssel-ID in den gesicherten Raum übermittelt werden müssen, um den Schlüssel zu erhalten. Die Steuermeldung kann ein Code sein, der den Befehl „Gib keine weiteren Schlüssel mehr aus" darstellt. Wenn die Karte dies erhält und die Karten-ID(s) sich darauf beziehen, führt sie den Befehl aus. Wenn mehrere Benutzer aus einer Sitzung ausgeschlossen werden sollen, werden ihre Karten-ID(s) durch unterschiedliche Pakete rotiert. In diesen Beispielen stellt die Karten-ID das „Benutzer-Identitätsfeld" dar, auf das sich die folgenden Claims beziehen.
  • Die 11 zeigt die mit dem Aufbau einer Sitzung verbundenen Meldungsflüsse. Meldung 1 ist eine Anforderung von einer Anwendung an dem Kunden-Terminal für einen Zugriff auf beispielsweise 100 Daten-Frames. Auf diese Meldung können andere Transaktionen (nicht gezeigt) folgen, in Folge derer der Kunde für die angeforderten Daten bezahlt, zum Beispiel unter Verwendung einer Kreditkartennummer. Daraufhin überträgt der Sender eine Aufbau-Meldung, Meldung 2, an ein gesichertes Modul-Proxy auf dem Rechner des Kunden. Das Steuerfeld dieser Aufbau-Meldung wird an das gesicherte Modul selbst weitergeleitet (Meldung 3). Das Feld kann zum Beispiel die Anzahl der zu erzeugenden Schlüssel und für welche Frame-Nummern spezifizieren. Es kann auch den Ursprungswert zur Schlüsselerzeugung enthalten. Eine Rückmeldung wird dann von dem gesicherten Modul an den Proxy (Meldung 4), von dem Proxy an den Sender (Meldung 5) und von dem Sender an die Anwendung, welche die ursprüngliche Anforderung erzeugt hat (Meldung 6), zurückgesendet. Die Schnittstelle zwischen dem Sender und dem Proxy, die durch die gestrichelte Ellipse dargestellt wird, kann zum Beispiel unter Verwendung von Java-RMI (Remote Method Invocation) oder, wie in diesem Fall, einer CORBA-Schnittstelle implementiert werden.
  • Um die Sicherheit des Systems durch Verringern der Möglichkeit, dass Schlüsselwerte von dem Benutzer vorhergesagt werden können, zu erhöhen, können Daten-Frames unter Verwendung zweier Schlüssel-Sequenzen statt einer verschlüsselt werden. Die erste ist für den Schlüssel zur Frame-Verschlüsselung, wie oben beschrieben. Die zweite Sequenz ist für einen Frame-Identifizierungs-Schlüssel. Jedes Paket innerhalb eines Frames enthält zumindest eine Frame-Sequenz-Nummer n, die von Null inkrementiert werden kann, und einen Frame-Identifizierungs-Schlüssel in, der aus der zweiten Sequenz erzeugt wird, und die Daten, die mit einem Schlüssel en verschlüsselt werden, der aus der ersten Sequenz erzeugt wurde. Zur Entschlüsselung der Daten ist der Schlüssel en aus dem Entschlüsselungs-System erforderlich. Der Schlüssel wird identifiziert, indem n geliefert wird, und bewiesen wird, dass es einen Frame gibt, der mit diesem Schlüssel verschlüsselt wurde, indem in geliefert wird. Um die Sequenz zu knacken, kann ein Angreifer nur eine begrenzte Anzahl von Schlüsseln verwenden, außer er/sie kann die Identifizierungs-Sequenz aus derselben begrenzten Anzahl von Schlüsseln knacken. Zusätzlicher Schutz kann vorgesehen werden, indem die Sequenz-Erzeugungsvorrichtung sich weigert, mehr Schlüssel zu liefern, wenn die Anwendung einen falschen Frame-Identifizierungs-Schlüssel liefert, und es optional der Anwendung verweigert wird, die Sitzung nochmals neu zu starten.
  • 12 zeigt ein weiteres alternatives Ausführungsbeispiel, in dem mehrere Daten-Quellen 1, 1a Daten an die Kunden-Terminals kommunizieren. Obwohl zur einfacheren Darstellung nur zwei Daten-Quellen gezeigt sind, kann das System in der Praxis viel mehr Quellen umfassen. Wo mehrere Quellen Daten erzeugen, ist es möglich, die Erfindung auf einer pro-Quelle-Grundlage zu verwenden, wobei jeder Empfänger in die Aufbau-Phase mit jeder Quelle eintritt. Für eine große Anzahl von Quellen wird dies jedoch nicht-skalierbar und zeitraubend. Stattdessen besteht in einer bevorzugten Implementierung eine an einem Empfänger ankommende Sequenz-ID einer ADU aus zwei Teilen, der Sender-ID und der pro-Sender-Sequenz-ID. Die Sender-ID kann seine IP-Adresse und Port-Nummer sein, in dem Fall würden diese sich bereits in dem Header jedes Pakets befinden. Die Sender-ID wirkt als ein Offset zu dem primären Ursprungswert, um einen sekundären Ursprungswert zu erzeugen (z.B. durch eine XOR-Verknüpfung mit dem Ursprungswert). Somit betreibt jede Smartcard so viele Schlüssel-Sequenzen, wie sie Sender hört, wobei jede Sequenz tatsächlich von demselben primären Ursprungswert abstammt, dann aber auf einen sekundären Ursprungswert versetzt wird, bevor jede Sequenz auf ähnliche Weise wie die unten beschriebenen pseudo-zufälligen oder chaotischen Sequenzen gestartet wird.
  • Wenn eine ADU ankommt, wird die Sender-ID untersucht, um die korrekte Sequenz zu finden, dann ermöglicht die Sequenz-ID die Erzeugung des korrekten Schlüssels. Dadurch muss jeder Empfänger für alle Sender in einer Sitzung mit vielen Sendern nur einmal durch den Aufbau gehen.
  • Der Sitzungs-Initiator erzeugt den primären Ursprungswert und übermittelt ihn unter Verwendung einer herkömmlichen kryptographischen Verschlüsselung (z.B. mit dem öffentlichen Schlüssel jedes Senders) an jeden Sender. Jeder Sender versetzt den primären Ursprungswert mit seiner eigenen ID, um den sekundären Ursprungswert zu erzeugen, den er zum Start der Schlüssel-Sequenz für gesendete ADUs verwendet.
  • Jeder Sender kann jeden Empfänger durch die Aufbau-Phase führen, indem er ihm den primären Ursprungswert übermittelt, unter der Annahme, dass es einen Weg für jeden Sender gibt, festzustellen, wer ein autorisierter Empfänger ist (z.B. ein von dem Sitzungs-Initiator geliefertes und signiertes Verzeichnis oder ein Token, den der Initia tor jedem Empfänger als Gegenleistung für eine Zahlung gibt, den jeder Empfänger jedem Sender zeigen muss).
  • Die oben beschriebenen Beispiele können verwendet werden im Zusammenhang eines Netzes einer Interessengemeinschaft (COIN) oder eines virtuellen privaten Netzes (VPN). In diesem Fall unterteilt jede Quelle von Information ihre Daten in ADUs und überträgt jede mit unterschiedlichen Schlüsseln verschlüsselte ADU über das COIN. Dieselbe ADU wird immer mit demselben Schlüssel übertragen, unabhängig davon, wie oft sie an unterschiedliche Parteien innerhalb des COIN übertragen wird. Informationsquellen können direkt, wie die an dem COIN beteiligten Parteien, oder indirekt sein, wie Web-Server oder Cache-Speicher, die allen Parteien innerhalb des COIN gemeinsam zugänglich sind. In dem indirekten Fall wird die Information an den Web-Server oder Cache mit der Sequenznummer im Klartext, aber mit verschlüsselten Daten gesendet. Sie wird in derselben verschlüsselten Form gespeichert, wie sie zuerst übertragen wird. Erst wenn der letzte Empfänger auf den Web-Server oder Cache zugreift, erzeugt die Smartcard den Schlüssel für die Entschlüsselung und speichert den Erhalt der Information. Die oben beschriebenen Wasserzeichen-Techniken können verwendet werden, wenn eine Zurückverfolgung bezüglich wer entschlüsselte Daten weitergeleitet hat, erforderlich ist.
  • Unten folgende Tabelle 1 listet einen Java-Code zur Implementierung einer chaotischen Funktion auf. Sie liefert die nächste Zahl in einer Sequenz oder die n-te Zahl in einer Sequenz.
  • Die Schlüsselwerte müssen nicht notwendigerweise von einer Sequenz erzeugt werden. Stattdessen können andere Funktionen der Form k = f(Ursprung, Frame-ID) verwendet werden, wobei k ein Schlüsselwert ist. Zum Beispiel können die binären Werte der Frame- Identität verwendet werden, um aus dem Paar von Funktionen eine auszuwählen, die zum Betrieb mit dem Ursprungswert verwendet wird. Vorzugsweise wird ein Paar rechnerisch symmetrischer Funktionen verwendet. Zum Beispiel können rechts- oder links-verschobene X-ODER-Verknüpfungen (exklusive ODER) abhängig davon ausgewählt werden, ob ein binärer Wert 1 oder 0 ist. Wenn man diese Funktionen jeweils A und B bezeichnet, dann hat beispielsweise Frame Nummer sechs, d.h. 110, einen Schlüssel, der durch aufeinander folgende Abläufe AAB mit dem Ursprungswert erzeugt wurde.
  • Figure 00280001
  • Figure 00290001
  • Figure 00300001
  • Figure 00310001

Claims (12)

  1. Verfahren zum Verteilen digital codierter Daten, mit: a) einem Aufteilen der Daten in eine Vielzahl von Frames; b) einem Verschlüsseln der Frames; c) einem Verteilen (S61) mehrerer Kopien der Frames an eine Vielzahl von Benutzer (2), wobei jeder Frame mit einem Steuerfeld verteilt wird; gekennzeichnet durch d) ein Übertragen (S54) eines Ursprungswerts zur Schlüsselerzeugung an jeweilige gesicherte Module (S23), die sich bei jedem der Vielzahl von Benutzern befinden; e) ein Entschlüsseln (S65) der Frames bei jeweiligen Benutzern unter Verwendung von Schlüsseln, die von dem an die gesicherten Module übertragenen Ursprungswert abgeleitet sind, wobei die gesicherten Module eine Entschlüsselung eines jeweiligen Frames nur dann ermöglichen, wenn das Steuerfeld an die gesicherten Module geleitet wurde; f) ein Weiterleiten einer Steuermeldung in dem Steuerfeld an die gesicherten Module bei einem ausgewählten Benutzer oder mehreren ausgewählten Benutzern; und g) als Antwort auf die Steuermeldung bei dem oder jedem ausgewählten Benutzer, Steuern der Verfügbarkeit von aus dem Ursprungswert erzeugten Schlüsseln, dadurch Steuern eines Zugriffs auf die Daten durch die Benutzer.
  2. Verfahren gemäß Anspruch 1, wobei jeder Daten-Frame ein Frame-Identitätsfeld umfasst und jeder von den gesicherten Mo dulen erzeugte Schlüssel spezifisch für einen von dem Feld identifizierten Frame ist.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei der Schritt des Verteilens mehrerer Kopien der Frames ein Multicasting von Daten-Paketen über ein Kommunikationsnetz an die Vielzahl von Benutzern aufweist.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Steuermeldung mit einem Frame an die Vielzahl von Benutzern verteilt wird, wobei ein Benutzer-Identitätsfeld, das einen ausgewählten Benutzer oder eine Gruppe von Benutzern identifiziert, in der Steuermeldung enthalten ist, und wobei auf die Steuermeldung nur von dem von dem Benutzer-Identitätsfeld identifizierten Benutzer oder von der Gruppe von Benutzern reagiert wird.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei die Steuermeldung ein Stopp-Flag umfasst und als Antwort auf das Stopp-Flag die Erzeugung von Schlüsseln bei dem oder jedem ausgewählten Benutzer beendet wird.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, mit einem Zurücksenden eines Antwortsignals von den gesicherten Modulen an den Ursprung der Steuermeldungen.
  7. Verfahren gemäß Anspruch 6, wobei die Steuermeldung ein Kontaktiere-Sender-Flag umfasst und der Schritt des Zurücksendens eines Antwortsignals von den gesicherten Modulen durchgeführt wird, wenn das Kontaktiere-Sender-Flag gesetzt ist.
  8. Verfahren gemäß Anspruch 6 oder 7, mit einem Übertragen einer weiteren Steuermeldung an den Benutzer bei Erhalt des Antwortsignals.
  9. Verfahren zum Betreiben eines Kunden-Endgeräts (2) in einem Datenkommunikationssystem, wobei das Verfahren aufweist: a) ein Empfangen einer Vielzahl von verschlüsselten Daten-Frames, jedes mit einem Steuerfeld, an dem Kunden-Endgerät, gekennzeichnet durch b) ein Empfangen eines Ursprungswertes zur Schlüssel-Erzeugung an dem Kunden-Endgerät; c) ein Weiterleiten (S55) des Ursprungswertes zur Schlüssel-Erzeugung an ein gesichertes Modul, das sich in dem Kunden-Endgerät befindet; d) ein Erzeugen (S57), unter Verwendung der Ursprungswertes, von Schlüsseln in dem gesicherten Modul zur Entschlüsselung von Daten-Frames; e) ein Entschlüsseln (S65), unter Verwendung der Schlüssel, nur der jeweiligen Daten-Frames, für die ein Steuerfeld empfangen wurde; f) ein Weiterleiten einer in dem Steuerfeld erhaltenen Steuermeldung an das gesicherte Modul; und g) als Antwort auf die Steuermeldung, ein Steuern der Verfügbarkeit von unter Verwendung des Ursprungswertes erzeugten Schlüsseln und dadurch Steuern des Zugriffs des Benutzers des Kunden-Endgeräts auf in dem Kunden-Endgerät empfangene Daten.
  10. Datenkommunikationssystem, mit a) einer entfernten Datenquelle (1), die ausgebildet ist, eine Vielzahl von Daten-Frames auszugeben; b) Verschlüsselungsmitteln zum Verschlüsseln der Vielzahl von Daten-Frames mit verschiedenen jeweiligen Schlüsseln; c) einem Kommunikationskanal, der ausgebildet ist, mehrere Kopien der verschlüsselten Daten-Frames, jeweils mit einem Steuerfeld, zu verteilen (S61); d) einer Vielzahl von Kunden-Endgeräten (2), die ausgebildet sind, von dem Kommunikationskanal jeweilige Kopien der verschlüsselten Daten-Frames mit Steuerfeld zu empfangen; gekennzeichnet durch e) eine Schlüssel-Erzeugungsvorrichtung (K), die sich in einem Kunden-Endgerät befindet und programmiert ist, aus einem Ursprungswert Schlüssel zur Verwendung bei der Entschlüsselung von Daten-Frames zu erzeugen; f) mit der Schlüssel-Erzeugungsvorrichtung verbundene Schlüssel-Steuermittel, wobei die Schlüssel-Steuermittel aufweisen: eine Schnittstelle zum Empfangen des Steuerfelds; Steuermittel, die ausgebildet sind, nur Schlüssel zur Entschlüsselung der jeweiligen Frames freizugeben, für die ein Steuerfeld empfangen wird; Steuermittel, die ausgebildet sind, als Antwort auf Steuermeldungen in dem Steuerfeld, die Verfügbarkeit von aus dem Ursprungswert erzeugten Schlüsseln für Benutzer zu steuern; und g) Entschlüsselungsmittel (D), die mit der Schlüssel-Erzeugungsvorrichtung verbunden und ausgebildet sind, die an dem Kunden-Endgerät von dem Kommunikationskanal empfangenen Daten-Frames zu entschlüsseln (S65).
  11. Datenkommunikationssystem gemäß Anspruch 10, wobei der Kommunikationskanal ein Paketvermittlungsnetz ist.
  12. Kunden-Endgerät (2) zur Verwendung in einem Verfahren gemäß einem der Ansprüche 1 bis 11, wobei das Kunden-Endgerät aufweist: a) eine Daten-Schnittstelle (22) zur Verbindung mit einem Datenkommunikationskanal; gekennzeichnet durch b) eine Schlüssel-Erzeugungsvorrichtung (K), die programmiert ist, aus einem Ursprungswert Schlüssel zur Verwendung bei der Entschlüsselung von Daten-Frames zu erzeugen; c) Entschlüsselungsmittel (D), die mit der Daten-Schnittstelle und der Schlüssel-Erzeugungsvorrichtung verbunden und ausgebildet sind, die über die Daten-Schnittstelle empfangenen Daten-Frames zu entschlüsseln; d) mit der Schlüssel-Erzeugungsvorrichtung verbundene Schlüssel-Steuermittel, wobei die Schlüssel-Steuermittel aufweisen: eine Schnittstelle zum Empfangen eines Steuerfelds; Steuermittel, die ausgebildet sind, nur Schlüssel zur Entschlüsselung der jeweiligen Frames freizugeben, für die ein Steuerfeld empfangen wird; Steuermittel, die ausgebildet sind, als Antwort auf Steuermeldungen in dem Steuerfeld, die Verfügbarkeit von aus dem Ursprungswert erzeugten Schlüsseln für Benutzer zu steuern.
DE69827410T 1997-12-19 1998-12-15 Datenkommunikation Expired - Lifetime DE69827410T2 (de)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
EP97310358 1997-12-19
GB9726934 1997-12-19
EP97310358 1997-12-19
GBGB9726934.4A GB9726934D0 (en) 1997-12-19 1997-12-19 Data communications
GB9812060 1998-06-04
EP98304429 1998-06-04
GBGB9812060.3A GB9812060D0 (en) 1998-06-04 1998-06-04 Data communications
EP98304429 1998-06-04
PCT/GB1998/003753 WO1999033242A1 (en) 1997-12-19 1998-12-15 Data communications

Publications (2)

Publication Number Publication Date
DE69827410D1 DE69827410D1 (de) 2004-12-09
DE69827410T2 true DE69827410T2 (de) 2005-10-27

Family

ID=27443574

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69825479T Expired - Lifetime DE69825479T2 (de) 1997-12-19 1998-12-15 Verfahren zum Betrieb eines Datenkommunikationssystems, Datenkommunikationssystem und Kundenendgerät
DE69827410T Expired - Lifetime DE69827410T2 (de) 1997-12-19 1998-12-15 Datenkommunikation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
DE69825479T Expired - Lifetime DE69825479T2 (de) 1997-12-19 1998-12-15 Verfahren zum Betrieb eines Datenkommunikationssystems, Datenkommunikationssystem und Kundenendgerät

Country Status (8)

Country Link
US (2) US7209560B1 (de)
EP (2) EP1040630B1 (de)
JP (2) JP2001527333A (de)
CN (1) CN1200534C (de)
AU (2) AU759581B2 (de)
CA (2) CA2313242C (de)
DE (2) DE69825479T2 (de)
WO (2) WO1999033224A1 (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2313242C (en) * 1997-12-19 2008-10-14 British Telecommunications Public Limited Company Data communications
US7512664B1 (en) * 1999-01-28 2009-03-31 Texas Instruments Incorporated System and method for loading resolved java class files to a client device
US6697489B1 (en) * 1999-03-30 2004-02-24 Sony Corporation Method and apparatus for securing control words
EP1075108A1 (de) 1999-07-23 2001-02-07 BRITISH TELECOMMUNICATIONS public limited company Kryptographische Datenverteilung
FR2799078A1 (fr) * 1999-09-27 2001-03-30 Jacky Montiel Ensemble de protocoles permettant l'authentification rapide pour des systemes transactionnels de commerce d'informations et de services sur internet
US7039614B1 (en) 1999-11-09 2006-05-02 Sony Corporation Method for simulcrypting scrambled data to a plurality of conditional access devices
WO2001082033A1 (de) * 2000-04-19 2001-11-01 Syntion Ag Verfahren zur abrechnungsfähigen erfassung der nutzung eines computerprogramms
US7366690B1 (en) 2000-06-23 2008-04-29 Ebs Group Limited Architecture for anonymous trading system
US6983259B1 (en) 2000-06-23 2006-01-03 Ebs Group Limited Anonymous trading system
US7333952B1 (en) 2000-06-23 2008-02-19 Ebs Group Limited Compound order handling in an anonymous trading system
US7827085B1 (en) 2000-06-23 2010-11-02 Ebs Group Limited Conversational dealing in an anonymous trading system
US7184982B1 (en) 2000-06-23 2007-02-27 Ebs Group Limited Architecture for anonymous trading system
SE517116C2 (sv) * 2000-08-11 2002-04-16 Ericsson Telefon Ab L M Metod och anordning för säkra kommunikationstjänster
EP2278429B1 (de) 2000-09-21 2014-03-12 BlackBerry Limited System und Verfahren zum unterschreiben eines Software-Kodes
AU2002236718A1 (en) * 2001-01-02 2002-07-16 Tranz-Send Broadcasting Network, Inc. System and method for providing load balanced secure media content and data delivery in a distributed computed environment
US8701170B1 (en) * 2001-05-11 2014-04-15 Kount Inc. System for secure enrollment and secure verification of network users by a centralized identification service
US7983419B2 (en) * 2001-08-09 2011-07-19 Trimble Navigation Limited Wireless device to network server encryption
WO2003019899A2 (fr) * 2001-08-24 2003-03-06 Thomson Licensing S.A. Reseau numerique local, procedes d'installation de nouveaux dispositifs et procedes de diffusion et de reception de donnees dans un tel reseau
GB0124686D0 (en) * 2001-10-15 2001-12-05 Hewlett Packard Co A scheme for splitting trusted authorities based on the shamir's secret sharing
JP2003216037A (ja) 2001-11-16 2003-07-30 Yazaki Corp 暗号キー、暗号化装置、暗号化復号化装置、暗号キー管理装置及び復号化装置
US20030165240A1 (en) * 2002-03-04 2003-09-04 Bantz David F. Decryption system for encrypted display
US7383582B1 (en) * 2002-08-02 2008-06-03 Federal Network Systems, Llc Systems and methods for performing electronic surveillance
AU2003287811A1 (en) * 2002-12-04 2004-06-23 Certicom Corp. Method and apparatus for encoding security status information
US7890758B2 (en) * 2003-03-27 2011-02-15 International Business Machines Corporation Apparatus and method for generating keys in a network computing environment
KR20040104778A (ko) * 2003-06-04 2004-12-13 삼성전자주식회사 스마트카드를 이용한 장치 인증을 통해 홈 도메인을구성하는 방법, 및 홈 도메인 구성을 위한 스마트카드
US20070172066A1 (en) * 2003-09-12 2007-07-26 Secured Email Goteborg Ab Message security
SE0400238D0 (sv) * 2003-09-12 2004-02-04 Secured Email Ab Message security
US8060745B2 (en) 2003-12-16 2011-11-15 Seiko Epson Corporation Security for wireless transmission
US20050143085A1 (en) * 2003-12-30 2005-06-30 Hao Bi Broadcast/multicast services in wireless communications networks and methods
US7548620B2 (en) * 2004-02-23 2009-06-16 Verisign, Inc. Token provisioning
US7386825B2 (en) * 2004-07-29 2008-06-10 International Business Machines Corporation Method, system and program product supporting presentation of a simulated or hardware system including configuration entities
US7389490B2 (en) * 2004-07-29 2008-06-17 International Business Machines Corporation Method, system and program product for providing a configuration specification language supporting selective presentation of configuration entities
US20060072748A1 (en) * 2004-10-01 2006-04-06 Mark Buer CMOS-based stateless hardware security module
US8160244B2 (en) * 2004-10-01 2012-04-17 Broadcom Corporation Stateless hardware security module
US8774860B2 (en) * 2005-04-05 2014-07-08 Nokia Corporation Method and device for low-power FM transmission of audio data to RDS capable FM radio receiver
US8775792B2 (en) * 2005-06-10 2014-07-08 Strue, Inc. Method of and system for encryption and authentication
US8340289B2 (en) 2005-09-29 2012-12-25 Research In Motion Limited System and method for providing an indication of randomness quality of random number data generated by a random data service
DE102006002892A1 (de) * 2006-01-20 2007-08-02 Siemens Ag Verfahren, System, Computerprogramm, Datenträger und Computerprogramm-Produkt zum Übertragen von Mediendaten eines Multicast-Dienstes
US9137012B2 (en) 2006-02-03 2015-09-15 Emc Corporation Wireless authentication methods and apparatus
US8712883B1 (en) * 2006-06-12 2014-04-29 Roxbeam Media Network Corporation System and method for dynamic quality-of-service-based billing in a peer-to-peer network
JP5060081B2 (ja) * 2006-08-09 2012-10-31 富士通株式会社 フレームを暗号化して中継する中継装置
US20080046731A1 (en) * 2006-08-11 2008-02-21 Chung-Ping Wu Content protection system
EP2074826A4 (de) * 2006-10-11 2011-11-09 Nokia Corp Dienst-discovery in broadcast-netzen
JP2008104040A (ja) * 2006-10-20 2008-05-01 Fujitsu Ltd 共通鍵生成装置および共通鍵生成方法
CN101543123B (zh) * 2006-11-23 2014-12-24 诺基亚公司 用于维持无线电传输连续性的方法和设备
KR100848642B1 (ko) * 2007-02-22 2008-07-28 고려대학교 산학협력단 영상 프레임을 암호화하는 방법과 복원하는 방법
US20080250251A1 (en) * 2007-04-04 2008-10-09 Cyberlink Corp. Systems and Methods for Hardware Driven Program Execution
US9209982B2 (en) * 2007-05-18 2015-12-08 Cisco Technology, Inc. Charging for network services based on delivered quality of service
CN101321209B (zh) * 2008-06-19 2011-11-16 上海软中信息技术有限公司 基于pstn的安全通信分布式数据提取方法及实现***
US8084308B2 (en) * 2009-05-21 2011-12-27 International Business Machines Corporation Single gate inverter nanowire mesh
US20120014374A1 (en) * 2010-07-13 2012-01-19 Yaniro Jr Daniel J Method, Device, and Computer Program Product for Adaptive Routing of Communications Across One or More Networks
US9639825B1 (en) 2011-06-14 2017-05-02 Amazon Technologies, Inc. Securing multifactor authentication
US9628875B1 (en) 2011-06-14 2017-04-18 Amazon Technologies, Inc. Provisioning a device to be an authentication device
WO2014087381A1 (en) 2012-12-07 2014-06-12 Visa International Service Association A token generating component
CN103220280A (zh) * 2013-04-03 2013-07-24 天地融科技股份有限公司 动态口令牌、动态口令牌数据传输方法及***
US9999924B2 (en) 2014-08-22 2018-06-19 Sigma Labs, Inc. Method and system for monitoring additive manufacturing processes
WO2016081651A1 (en) 2014-11-18 2016-05-26 Sigma Labs, Inc. Multi-sensor quality inference and control for additive manufacturing processes
CN104796397B (zh) * 2015-01-08 2017-09-19 北京思普崚技术有限公司 一种数据加密发送的方法
CN107428081B (zh) 2015-01-13 2020-07-07 西格马实验室公司 材料鉴定***和方法
US10452642B1 (en) * 2015-03-20 2019-10-22 Tintri By Ddn, Inc. Detecting and pinpointing data corruption
CN105262583A (zh) * 2015-09-07 2016-01-20 安徽问天量子科技股份有限公司 基于pstn公网的量子数据终端组网***及多方会话的实现方法
US10207489B2 (en) 2015-09-30 2019-02-19 Sigma Labs, Inc. Systems and methods for additive manufacturing operations
US9887771B2 (en) * 2015-10-23 2018-02-06 International Business Machines Corporation Bandwidth throttling
US9882807B2 (en) 2015-11-11 2018-01-30 International Business Machines Corporation Network traffic classification
US9853741B2 (en) * 2015-11-30 2017-12-26 International Business Machines Corporation Fiber optic encryption
US10127399B1 (en) * 2015-12-29 2018-11-13 EMC IP Holding Company LLC Secrets as a service
US10615970B1 (en) 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Secure key exchange electronic transactions
US10615969B1 (en) * 2017-02-10 2020-04-07 Wells Fargo Bank, N.A. Database encryption key management
CN110557244B (zh) * 2019-09-06 2021-12-28 江苏省水文水资源勘测局 一种水利工业控制***中应用数据单元加密方法
US20230318982A1 (en) * 2022-03-29 2023-10-05 Qualcomm Incorporated Application data unit architecture and signaling

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5148485A (en) 1990-07-20 1992-09-15 Ericsson Ge Mobile Communications Holding, Inc. Encrypton system for digital cellular communications
FR2680589A1 (fr) 1991-08-19 1993-02-26 France Telecom Procede d'emission et de reception de programmes personnalises.
US5200999A (en) * 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
CA2123199A1 (en) 1991-11-08 1993-05-13 Ernest Stewart Lee Cryptographic apparatus and method for a data communication network
US5467134A (en) 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
JPH06216897A (ja) * 1993-01-20 1994-08-05 Nippon Signal Co Ltd:The データ送受信装置
US5483598A (en) * 1993-07-01 1996-01-09 Digital Equipment Corp., Patent Law Group Message encryption using a hash function
US5748763A (en) * 1993-11-18 1998-05-05 Digimarc Corporation Image steganography system featuring perceptually adaptive and globally scalable signal embedding
US5584023A (en) * 1993-12-27 1996-12-10 Hsu; Mike S. C. Computer system including a transparent and secure file transform mechanism
JPH088853A (ja) * 1994-06-24 1996-01-12 Sony Corp スクランブル装置およびデスクランブル装置
JP3498268B2 (ja) * 1994-09-14 2004-02-16 日本電信電話株式会社 文書通信管理方法
US5652868A (en) 1994-09-27 1997-07-29 International Business Machines Corporation Data processor having BIOS decryption of emulated media images
US5544161A (en) 1995-03-28 1996-08-06 Bell Atlantic Network Services, Inc. ATM packet demultiplexer for use in full service network having distributed architecture
US5710815A (en) 1995-06-07 1998-01-20 Vtech Communications, Ltd. Encoder apparatus and decoder apparatus for a television signal having embedded viewer access control data
JPH09261217A (ja) * 1996-03-27 1997-10-03 Nippon Telegr & Teleph Corp <Ntt> 通信装置及びその方法
US5852664A (en) * 1995-07-10 1998-12-22 Intel Corporation Decode access control for encoded multimedia signals
JPH09162859A (ja) * 1995-12-07 1997-06-20 Fujitsu Ltd スクランブル方法及び装置、デスクランブル方法及び装置、並びに、データ伝達方法及びシステム
US5991279A (en) * 1995-12-07 1999-11-23 Vistar Telecommunications Inc. Wireless packet data distributed communications system
WO1997026611A1 (en) * 1996-01-16 1997-07-24 Hughes Aircraft Company Deferred billing, broadcast, electronic document distribution system and method
FI100563B (fi) * 1996-01-30 1997-12-31 Nokia Oy Ab Digitaalisten esitysobjektien salaus lähetyksessä ja tallennuksessa
US6075863A (en) 1996-02-28 2000-06-13 Encanto Networks Intelligent communication device
US6055314A (en) 1996-03-22 2000-04-25 Microsoft Corporation System and method for secure purchase and delivery of video content programs
US5937067A (en) 1996-11-12 1999-08-10 Scientific-Atlanta, Inc. Apparatus and method for local encryption control of a global transport data stream
US5960081A (en) * 1997-06-05 1999-09-28 Cray Research, Inc. Embedding a digital signature in a video sequence
JPH1141245A (ja) * 1997-07-22 1999-02-12 Fujitsu Ltd 秘匿通信システム
GB9717868D0 (en) * 1997-08-23 1997-10-29 Philips Electronics Nv Wireless network
US6580906B2 (en) 1997-12-10 2003-06-17 Intel Corporation Authentication and security in wireless communication system
CA2313242C (en) * 1997-12-19 2008-10-14 British Telecommunications Public Limited Company Data communications
US6285774B1 (en) * 1998-06-08 2001-09-04 Digital Video Express, L.P. System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies
US6351538B1 (en) 1998-10-06 2002-02-26 Lsi Logic Corporation Conditional access and copy protection scheme for MPEG encoded video data
KR100331863B1 (ko) * 1998-11-03 2002-05-09 서평원 네트워크암호화장치및방법
US6570990B1 (en) * 1998-11-13 2003-05-27 Lsi Logic Corporation Method of protecting high definition video signal
US6882729B2 (en) * 2002-12-12 2005-04-19 Universal Electronics Inc. System and method for limiting access to data

Also Published As

Publication number Publication date
JP2001527333A (ja) 2001-12-25
CA2313242A1 (en) 1999-07-01
CN1282475A (zh) 2001-01-31
WO1999033242A1 (en) 1999-07-01
JP2001527326A (ja) 2001-12-25
CA2313242C (en) 2008-10-14
EP1040621A1 (de) 2000-10-04
EP1040630B1 (de) 2004-11-03
EP1040621B1 (de) 2004-08-04
WO1999033224A1 (en) 1999-07-01
AU1570499A (en) 1999-07-12
EP1040630A1 (de) 2000-10-04
DE69827410D1 (de) 2004-12-09
AU760045B2 (en) 2003-05-08
US7209560B1 (en) 2007-04-24
US6996722B1 (en) 2006-02-07
CA2313407A1 (en) 1999-07-01
DE69825479T2 (de) 2005-07-28
AU1570599A (en) 1999-07-12
AU759581B2 (en) 2003-04-17
DE69825479D1 (de) 2004-09-09
CA2313407C (en) 2007-10-02
CN1200534C (zh) 2005-05-04

Similar Documents

Publication Publication Date Title
DE69827410T2 (de) Datenkommunikation
DE69802540T2 (de) System mit bedingtem zugang
DE69716221T2 (de) Verfahren und vorrichtung zum betrieb eines transaktionsservers in einer privaten datenbankumgebung
DE69809757T2 (de) Datenverschlüsselungsgerät für systeme mit bedingtem zugriff
DE60213650T2 (de) Zugriff auf verschlüsselten rundsendeinhalt
DE60214836T2 (de) Verfahren und netzwerk zum abliefern von streaming-daten
DE69719803T3 (de) Verhinderung von wiedergabeangriffen auf durch netzwerkdiensteanbieter verteilte digitale informationen
DE69504823T2 (de) Kryptographisches schlüsselverteilungssystem in einem rechnernetz
DE60114986T2 (de) Verfahren zur herausgabe einer elektronischen identität
DE69629857T2 (de) Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel
DE60124765T2 (de) Verfahren und vorrichtung zur verwaltung von sicherheitssensiblen kollaborativen transaktionen
DE69230429T2 (de) Sicherung/Rückgewinnung der Umgebung einer Geheimübertragungseinrichtung und Vervielfältigung in einem Kryptosystem mit öffentlichem Schlüssel
DE69807221T2 (de) Bedingtes zugangssystem für set top boxen
DE60217576T2 (de) Vorrichtungen und Verfahren zur Übertragung und Implementierung von Steuerungsanweisungen zum Zugriff auf Empfängerfunktionalitäten
DE60209809T2 (de) Verfahren zur digitalen unterschrift
DE19622630C1 (de) Verfahren zum gruppenbasierten kryptographischen Schlüsselmanagement zwischen einer ersten Computereinheit und Gruppencomputereinheiten
DE69733234T2 (de) Gesichertes Datenverwaltungssystem
DE69808113T2 (de) Quellenauthentifizierung von datenfernladungsinformation in einem system mit bedingtem zugang
WO2020108847A1 (de) Verfahren und vorrichtung zum übertragen von daten in einem publish-subscribe-system
EP1588295A2 (de) Verfahren zum erbringen von diensten in einem datenübertragungsnetz und zugehörige komponenten
AT504634B1 (de) Verfahren zum transferieren von verschlüsselten nachrichten
DE10124427A1 (de) System und Verfahren für einen sicheren Vergleich eines gemeinsamen Geheimnisses von Kommunikationsgeräten
DE60026472T2 (de) System und Verfahren zur Authentifizierung von an einen Netzwerkserver gesendeten elektronischen Nachrichten
DE60216056T2 (de) Verfahren und anordnung in einem kommunikationssystem
EP3591925B1 (de) Verschlüsselungssystem für vertrauensunwürdige umgebungen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition