DE112008002768T5 - Übermitteln von kryptografischer Information in Netzwerkübertragungen - Google Patents

Übermitteln von kryptografischer Information in Netzwerkübertragungen Download PDF

Info

Publication number
DE112008002768T5
DE112008002768T5 DE112008002768T DE112008002768T DE112008002768T5 DE 112008002768 T5 DE112008002768 T5 DE 112008002768T5 DE 112008002768 T DE112008002768 T DE 112008002768T DE 112008002768 T DE112008002768 T DE 112008002768T DE 112008002768 T5 DE112008002768 T5 DE 112008002768T5
Authority
DE
Germany
Prior art keywords
network communication
client
computer
random data
cryptographic information
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.)
Ceased
Application number
DE112008002768T
Other languages
English (en)
Inventor
Asa San Francisco Whillock
Edward Fremont Chan
Srinivas Fremont Manapragada
Matthew Bonny Doon Kaufman
Pritham Los Altos Shetty
Michael Santa Cruz Thornburgh
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.)
Adobe Inc
Original Assignee
Adobe Systems Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=40534209&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE112008002768(T5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE112008002768T5 publication Critical patent/DE112008002768T5/de
Ceased 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/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Abstract

Verfahren, umfassend:
Empfangen von kryptografischer Information, welche in einen vordefinierten Abschnitt einer Netzwerkkommunikation in einer Client-Server-Umgebung eingefügt ist, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist;
Identifizieren eines Ortes der kryptografischen Information in dem vordefinierten Abschnitt der Netzwerkkommunikation;
Verarbeiten der kryptografischen Information; und
Modifizieren von Interaktionen in der Client-Server-Umgebung wenigstens teilweise basierend auf einem Ergebnis des Verarbeitens der kryptografischen Information.

Description

  • Hintergrund
  • Die vorliegende Offenbarung betrifft das Übermitteln von kryptografischer Information in Netzwerkkommunikationen.
  • Ein Computernetzwerk ist eine Sammlung von Verarbeitungsknoten, die untereinander mittels verdrahteter und/oder drahtloser Übertragungslinks gekoppelt sind. Ein Computernetzwerk kann ein einzelnes Netzwerk oder auch eine Sammlung von Netzwerken (beispielsweise ein Internetnetzwerk (internetwork)) sein und kann mehrere Netzwerkprotokolle verwenden, darunter Internetnetzwerkprotokolle (beispielsweise das Internetprotokoll (IP)). Diese Protokolle definieren die Art, auf die Information zur Übertragung durch das Netzwerk aufbereitet wird, und beinhalten zur Übertragung üblicherweise das Aufteilen von Daten in Segmente, die gemeinhin als Pakete (beispielsweise IP-Pakete, ATM-Zellen (Asynchronous Transfer Mode ATM, Asynchroner Transfermodus)) bekannt sind. Diese Netzwerkprotokolle sind üblicherweise in einer Netzwerkarchitektur mit mehreren Schichten organisiert, wobei jede Schicht Übertragungsdienste für die darüber liegende Schicht bereitstellt. Beinhalten können die Protokolle Protokolle mit gemeinsam genutzter Leitung (shared-line protocols) wie Ethernet-Netzwerke, verbindungsorientierte Schaltprotokolle (switch protocols) wie ATM-Netzwerke und/oder verbindungslose paketgeschaltete Protokolle wie beim IP.
  • Viele Computernetzwerke bedienen sich verbindungsloser paketgeschalteter Protokolle (beispielsweise IP). Pakete werden separat geroutet und können daher auf verschiedenen Wegen durch das Netzwerk gelangen. Es sind verschiedene Protokolle auf die verbindungslosen paketgeschalteten Protokolle, so beispielsweise IP, aufgesetzt worden, um verbindungsbasierte Übertragungen über dem darunter liegenden verbindungslosen Protokoll bereitzustellen. So hat beispielsweise Adobe Systems Incorporated ein Übertragungsprotokoll für den Flash®-Media-Server eingeführt, bei dem eine Übertragungssitzung durch Handschlagübertragungen (handshake communications) zwischen dem Server und dem Client eingerichtet wird. Als Teil dieses Handschlages beinhaltet das RTMP (Real Time Messaging Protocol RTMP, Echtzeitnachrichtenprotokoll) einen Zufallsbyteabschnitt in den Übertragungen zur Verwendung bei der Abschätzung der verfügbaren Bandbreite für die Sitzung zwischen dem Client und dem Server.
  • Zusammenfassung
  • Die vorliegende Druckschrift beschreibt Technologien im Zusammenhang mit dem Übermitteln von kryptografischer Information in Netzwerkkommunikationen. Im Allgemeinen kann ein Aspekt des in dieser Druckschrift beschriebenen Erfindungsgegenstandes in einem Verfahren verkörpert sein, das beinhaltet: Identifizieren eines Ortes bzw. Speicherortes in einem vordefinierten Abschnitt einer Netzwerkkommunikation zur Sendung in einer bzw. eine Client-Server-Umgebung, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist, Einfügen kryptografischer Information in den vordefinierten Abschnitt der Netzwerkkommunikation an dem Ort und Senden der Netzwerkkommunikation in der bzw. die Client-Server-Umgebung zur Erleichterung eines Modifizierens von Interaktionen in der Client-Server-Umgebung wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens der kryptografischen Information. Darüber hinaus kann ein weiterer Aspekt des beschriebenen Erfindungsgegenstandes in einem Verfahren verkörpert sein, das beinhaltet: Empfangen kryptografischer Information, welche in einen vordefinierten Abschnitt einer Netzwerkkommunikation in einer Client-Server-Umgebung eingefügt ist, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist, Identifizieren eines Ortes bzw. Speicherortes der kryptografischen Information in dem vordefinierten Abschnitt der Netzwerkkommunikation, Verarbeiten der kryptografischen Information und Modifizieren von Interaktionen in der Client-Server-Umgebung wenigstens teilweise basierend auf einem Ergebnis des Verarbeitens der kryptografischen Information. Andere Ausführungsbeispiele dieser Aspekte beinhalten entsprechende Systeme, Vorrichtungen und Computerprogrammprodukte.
  • Diese und weitere Ausführungsbeispiele können optional ein oder mehrere der nachfolgenden Merkmale beinhalten. Das Identifizieren des Ortes bzw. Speicherortes kann ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes beinhalten. Der vordefinierte Abschnitt kann die Zufallsdaten beinhalten, und das Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes kann ein Abrufen eines Abschnittes der Zufallsdaten und ein Bestimmen eines Indexes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten beinhalten. Beinhalten kann das Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes darüber hinaus ein Abrufen von mehreren verschiedenen Abschnitten der Zufallsdaten und ein Bestimmen von mehreren verschiedenen Indizes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage der verschiedenen Abschnitte der Zufallsdaten.
  • Das Verarbeiten der kryptografischen Information kann ein Erstellen eines kryptografischen Schlüssels beinhalten, und das Modifizieren von Interaktionen in der Client-Server-Umgebung kann ein Initiieren einer verschlüsselten Sitzung unter Verwendung des kryptografischen Schlüssels beinhalten. Darüber hinaus kann das Verarbeiten der kryptografischen Information ein Authentisieren der Netzwerkkommunikation beinhalten, und das Modifizieren von Interaktionen in der Client-Server-Umgebung kann ein An- oder Abstellen eines Merkmals eines in der Client-Server-Umgebung laufenden bzw. operierenden Programms beinhalten.
  • Beinhalten kann ein System entsprechend einem weiteren Aspekt einen Servercomputer programmiert zum Erstellen nicht verschlüsselter Sitzungen und verschlüsselter Sitzungen über ein Netzwerk mit Clientcomputern unter Verwendung eines Sitzungsanfangshandschlages (session start-up handshake), der eine Netzwerkkommunikation beinhaltet, die einen vordefinierten Abschnitt beinhaltet, der für Zufallsdaten reserviert ist; einen ersten der Clientcomputer programmiert zum Erstellen nicht verschlüsselter Sitzungen mit dem Servercomputer unter Verwendung des Sitzungsanfangshandschlages; und einen zweiten der Clientcomputer programmiert zum Erstellen verschlüsselter Sitzungen mit dem Servercomputer unter Verwendung des Sitzungsanfangshandschlages, der kryptografische Information beinhaltet, die in den vordefinierten Abschnitt der Netzwerkkommunikation eingefügt ist, wobei der Servercomputer und der zweite Clientcomputer eine Programmierung zum Durchführen von Operationen aufweisen, die beinhalten: Identifizieren eines Ortes bzw. Speicherortes der kryptografischen Information in den vordefinierten Abschnitt der Netzwerkkommunikation, Verarbeiten der kryptografischen Information und Modifizieren von Interaktionen zwischen dem Servercomputer und dem zweiten Clientcomputer wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens der kryptografischen Information.
  • Beinhalten können die Clientcomputer mobile Vorrichtungen (so beispielsweise Mobiltelefone, Spielgeräte, persönliche digitale Assistenten (personal digital assisstants) und Laptop-Computer) wie auch stationäre Vorrichtungen (so beispielsweise Workstations, Desktopcomputer und Supercomputer). Die Operationen können die verschiedenen Operationen des beschriebenen Verfahrens beziehungsweise der beschriebenen Verfahren beinhalten. Beinhalten kann das Verarbeiten der kryptografischen Information ein Authentisieren der Netzwerkkommunikation und ein Erstellen eines kryptografischen Schlüssels. Beinhalten kann das Modifizieren von Interaktionen zwischen dem Servercomputer und dem zweiten Clientcomputer ein An- oder Abstellen eines Merkmals eines in dem Servercomputer oder dem zweiten Clientcomputer laufenden bzw. operierenden Programms und ein Initiieren einer verschlüsselten Sitzung zwischen dem Servercomputer und dem zweiten Clientcomputer unter Verwendung des kryptografischen Schlüssels. Darüber hinaus können der Servercomputer und der zweite Clientcomputer zur Durchführung von Operationen programmiert werden, die umfassen: Einfügen eines Nachrichtenauthentisierungscodes und von Verschlüsselungsschlüsselerstellungsinformation in die Netzwerkkommunikation.
  • Bestimmte Ausführungsbeispiele des in dieser Druckschrift beschriebenen Erfindungsgegenstandes können implementiert werden, um einen oder mehrere der nachfolgenden Vorteile zu bringen. Verschlüsselte Sitzungen können unter Verwendung eines Verfahrens eingerichtet werden, das das Risiko einer Zurückentwicklung (reverse engineering) verringert und zudem rückwärtskompatibel zu einem bestehenden nicht verschlüsselten bzw. unverschlüsselten Sitzungenerstellungsprotokoll ist. Verschlüsselungsberechtigungsnachweise (encryption credentials) können unter Verwendung des Verfahrens eingerichtet werden, wobei die Berechtigungsnachweise verwendet werden können, um eine verschlüsselte Sitzung zu beginnen oder um verschiedene andere Informationselemente zu verifizieren. Das Verfahren kann einem Zurückentwickeln entgegenwirken, da die Berechtigungsnachweise im Wesentlichen beim direkten Hinsehen in Daten verborgen sind, die zur Bandbreitenerfassung verwendet werden. Darüber hinaus können die Daten (mit darin verborgener kryptografischer Information) weiterhin für andere Zwecke verwendet werden, so beispielsweise zur Bandbreitenerfassung oder zum Tragen anderer Information.
  • Einzelheiten eines oder mehrerer Ausführungsbeispiele der Erfindung sind in der begleitenden Zeichnung und in der nachfolgenden Beschreibung niedergelegt. Weitere Merkmale, Aspekte und Vorteile der Erfindung erschließen sich aus der Beschreibung, der Zeichnung und den Ansprüchen.
  • Kurzbeschreibung der Zeichnung
  • 1 zeigt ein Beispiel für eine Client-Server-Umgebung, in der kryptografische Information in Netzwerkkommunikationen übermittelt wird.
  • 2 zeigt ein Beispiel für einen Prozess des Übermittelns von kryptografischer Information in Netzwerkkommunikationen.
  • 3 zeigt ein Beispiel für eine Netzwerkkommunikation.
  • 4 zeigt ein weiteres Beispiel für eine Client-Server-Umgebung, in der kryptografische Information in Netzwerkkommunikationen zur Verwendung beim Abspielen von Medieninhalt übermittelt wird.
  • 5 zeigt ein Beispiel für einen Prozess des Übermittelns von kryptografischer Information in Netzwerkkommunikationen zur Verwendung beim Erstellen von verschlüsselten Sitzungen und Aktivieren/Deaktivieren von Merkmalen in einem Media Player/Serversystem.
  • Gleiche Bezugszeichen und Symbole in verschiedenen Figuren bezeichnen gleiche Elemente.
  • Detailbeschreibung
  • 1 zeigt ein Beispiel für eine Client-Server-Umgebung 100, in der kryptografische Information in Netzwerkkommunikationen übermittelt wird. Die Client-Server-Umgebung 100 kann sowohl verschlüsselte wie auch unverschlüsselte Sitzungen unterstützen, die beide die Verwendung eines Handschlages 150 beinhalten können, der eine Authentisierung oder andere Übertragungsprotokolle beinhaltet. Kryptografische Information kann in einem vorher bestehenden Abschnitt des Handschlages 150 beinhaltet sein, von dem bekannt ist, dass er Zufallsbytes beinhaltet, wodurch ermöglicht wird, dass die kryptografische Information beim direkten Hinsehen verborgen bleibt, da die kryptografische Information selbst (aufgrund des Wesens der kryptografischen Information) zufällig erscheint. Die auf diese Weise erfolgende Neuverwendung des Zufallsbyteabschnittes kann Versuche der Zurückentwicklung hemmen und eine Interoperabilität mit vorher geschriebener Software ermöglichen.
  • Die Client-Server-Umgebung 100 beinhaltet einen Servercomputer 110. Der Servercomputer 110 kann beispielsweise ein Flash® Media-Server sein, der von der Firma Adobe Systems Incorporated aus San José, Kalifornien vertrieben wird. Der Servercomputer 110 kann ein Netzwerk 120 (beispielsweise das Internet) zur Übertragung an einen oder mehrere erste Clientcomputer 130 und einen oder mehrere zweite Clientcomputer 140 einsetzen. Die Handschläge 150a und 150b gehen Sitzungen 135 und 145 voraus und können kryptografische Information von dem Server 110 beinhalten, von deren Vorhandensein der Client 130 beziehungsweise die Clients 130 gegebenenfalls nichts weiß beziehungsweise wissen.
  • Die Sitzungsanfangshandschläge 150a und 150b können ein oder mehrere Bytes beinhalten, die die Version des Protokolls (beispielsweise des RTMP-Protokolls) bezeichnen, sowie weitere Informationen, die zum Öffnen eines Sockels (socket) und zum Einrichten einer Sitzung verwendet wird. Die Handschläge 150a und 150b können zudem weitere Information beinhalten, so beispielsweise die aktuelle Zeit, die vom Betriebssystem mitgeteilt wird (beispielsweise die Anzahl der Millisekunden seit dem Starten des Systems). Die Handschläge 150a und 150b beinhalten einen Block von Bytes, der Zufallsdaten beinhaltet, wobei der Block von Bytes zudem Information beinhalten kann, die verwendet werden kann, um die Netzwerkkommunikationen zwischen Server und Client zu authentisieren, sowie Information zum Erstellen einer verschlüsselten Sitzung. Derartige kryptografische Information kann von dem Servercomputer 110 und dem Clientcomputer beziehungsweise den Clientcomputern 140 gesendet werden, wobei der Clientcomputer beziehungsweise die Clientcomputer 130 nicht zwangsläufig wissen muss beziehungsweise müssen, dass derartige Information vorhanden ist, oder in der Lage sein muss beziehungsweise müssen, derartige Information zu senden.
  • Der erste Clientcomputer 130 kann ein Computer mit einer Programmierung zum Einrichten von unverschlüsselten Sitzungen mit dem Servercomputer 110 unter Verwendung des Sitzungsanfangshandschlages 150a sein. Der erste Clientcomputer 130 kann beispielsweise eine ältere Version des Flash® Player-Programms beinhalten, das eine Sitzung mit dem Servercomputer (beispielsweise dem Flash® Media-Server) beginnt. Der Server 110 kann kryptografische Information in dem Block von Zufallsdaten in einer Netzwerkkommunikation zur Bildung eines Teiles des Handschlages 150a beinhalten. Versagt der erste Clientcomputer 130 beim Erkennen dieser kryptografischen Information und sendet daher keine angemessene kryptografische Rückgabeinformation, so ist die Sitzung 135, die mit dem Server 110 eingerichtet worden ist, eine unverschlüsselte Sitzung. Man beachte hierbei, dass andere Aspekte der Interaktionen zwischen dem Server 110 und dem Client 130 ebenfalls von diesem Versagen seitens des Computers 130 betroffen sein können, da der Server 110 nach dem Handschlag 150a Wissen dahingehend hat, dass auf dem Computer 130 ein Altprogramm läuft, das den kryptografische Information enthaltenden neuen Abschnitt des Übertragungsprotokolls nicht erkennt.
  • Im Gegensatz hierzu kann der zweite Clientcomputer 140 ein Computer mit einer Programmierung zum Erstellen von verschlüsselten Sitzungen mit dem Servercomputer 110 unter Verwendung des Sitzungsanfangshandschlages 150b sein. Der zweite Clientcomputer 140 kann beispielsweise eine neuere Version des Flash® Player-Programms beinhalten, das eine verschlüsselte Sitzung mit dem Servercomputer (beispielsweise dem Flash® Media-Server) beginnt. Der Server 110 kann kryptografische Information in dem Block von Zufallsdaten in einer Netzwerkkommunikation zur Bildung eines Teiles des Handschlages 150b beinhalten. Der zweite Clientcomputer 140 kann diese kryptografische Information erkennen und geeignete kryptografische Rückgabeinformation senden. Dies ermöglicht dann, dass die Sitzung 145, die mit dem Server 110 eingerichtet worden ist, eine verschlüsselte Sitzung ist. Man beachte, dass andere Aspekte der Interaktionen zwischen dem Server 110 und dem Client 140 ebenfalls von dem Handschlag 150b betroffen sein können, da der Server 110 nach dem Handschlag 150b Wissen dahingehend besitzt, dass auf dem Computer 140 ein neueres Programm läuft, das den kryptografische Information enthaltenden neuen Abschnitt des Übertragungsprotokolls erkennt. Daher kann die kryptografische Information, die zum Einrichten von verschlüsselten Sitzungen mit neuen Clientprogrammen verwendet wird, zu einem bestehenden Übertragungsprotokoll hinzugefügt werden, das zum Einrichten von unverschlüsselten Sitzungen mit alten Clientprogrammen verwendet wird, ohne dass die alten Clientprogramme die neu hinzugefügte kryptografische Information erkennen.
  • 3 zeigt ein Beispiel für eine Netzwerkkommunikation 300. Die Netzwerkkommunikation 300 kann beispielsweise als Teil der Handschläge 150a und 150b verwendet werden, die den Sitzungen 135 und 145 vorhergehen. Die Netzwerkkommunikation 300 beinhaltet einen vordefinierten Abschnitt 310, der Zufallsdaten beinhaltet. Zusätzlich beinhaltet der vordefinierte Abschnitt 310 eingebettete kryptografische Information an einem Ort bzw. Speicherort 320. Auf diese Weise kann die kryptografische Information beim direkten Hinsehen verborgen bleiben. Die Verwendung dieser Technik kann die Wahrscheinlichkeit verringern, dass eine Zurückentwicklung möglich wird, um die Einzelheiten des Übertragungsprotokolls auszuforschen.
  • Der Ort bzw. Speicherort 320 der kryptografischen Information innerhalb des vordefinierten Abschnittes 310 kann mit der Implementierung oder innerhalb einer gegebenen Implementierung variieren. So kann die kryptografische Information beispielsweise an einem vorbestimmten Bytespeicherort befindlich sein, oder es kann ein vorbestimmter Bytespeicherort einen Wert enthalten, aus dem der Ort 320 der kryptografischen Information bestimmt werden kann. Bei einigen Implementierungen kann die Verwendung der kryptografischen Information die Verwendung eines Verschlüsselungsschlüsselerstellungsprotokolls (encryption key establishment protocol) beinhalten, so beispielsweise eines Diffie-Hellmann-Schlüsselaustausches (Diffie Hellmann key exchange), oder einer anderen geeigneten Technik zum Einrichten eines oder mehrerer symmetrischer oder asymmetrischer Verschlüsselungsschlüssel. Bei einigen Implementierungen kann die Verwendung von kryptografischer Information die Verwendung eines verschlüsselten Hash-Verfahrens zum Authentisieren einer Übermittlung oder eines Inhaltes beinhalten, so beispielsweise einen HMAC (Hash Message Authentication CODE HMAC, Hash-Nachrichten-Authentisierungscode).
  • Obwohl der Ort 320 der kryptografischen Information in 3 derart dargestellt ist, dass er gänzlich in dem vordefinierten Abschnitt 310 enthalten ist, sollte einsichtig sein, dass entweder der Beginn oder das Ende der kryptografischen Information am Beginn oder am Ende des vordefinierten Abschnittes 310 sein kann, so beispielsweise benachbart entweder zu einem Header 330 oder einer Nutzlast (payload) 340. Der Header 330 und die Nutzlast 340 können beispielsweise Teil des Übertragungsprotokolls sein, das keiner Verschlüsselung bedarf, um beispielsweise die Version des verwendeten RTMP-Protokolls zu identifizieren. Derartige Information kann bei Handschlagübertragungen in beiden Richtungen zwischen dem Servercomputer 110 und den Clientcomputern 130 und 140 verwendet werden.
  • Der Header 330 kann mehrere vorbestimmte Bytepositionen beinhalten, die selbst Sitzungsinformation beinhalten, oder kann Bytespeicherorte mit anderer Information identifizieren. So kann beispielsweise das Flash® Player-Programm ein einzelnes Byte verwenden, um die Version des RTMP-Protokolls zu bezeichnen. Derartige Bytespeicherorte können beispielsweise von der Version des Flash® Player-Programms abhängen, die ein Anwender auf einer Clientvorrichtung hat. Andere spezifische Bytepositionen können verwendet werden, um die Position eines HMAC und von Diffie-Hellmann-Information zu identifizieren. Die Nutzlast 340 kann weitere Information der Netzwerkkommunikation 300 beinhalten, so beispielsweise Parameter, die zum Einrichten der Sitzung auf der Clientvorrichtung des Anwenders verwendet werden können. So kann die Nutzlast 340 beispielsweise Information über die Sitzung beinhalten. Bei einigen Implementierungen kann die Nutzlast 340 Prüfsummeninformation beinhalten, die zum Testen der Unversehrtheit der Nutzlast 340 und/oder der gesamten Netzwerkkommunikation 300 verwendet werden kann.
  • 2 zeigt ein Beispiel für einen Prozess 200 des Übermittelns von kryptografischer Information in Netzwerkkommunikationen. Ein vordefinierter Abschnitt einer Netzwerkkommunikation, der Zufallsdaten beinhaltet, wird empfangen, siehe 210. Der Abschnitt 310 kann beispielsweise von dem Computer 140 empfangen werden. Der Ort der kryptografischen Information in dem vorbestimmten Abschnitt der Netzwerkkommunikation kann identifiziert werden, siehe 220. So kann der Computer 140 beispielsweise wenigstens einen Teil der Netzwerkkommunikation 300 zur Bestimmung des Ortes verwenden. Dieser Teil der Netzwerkkommunikation 300 kann aus dem Abschnitt 310, aus dem Header 330, aus der Nutzlast 340 oder aus Kombinationen hieraus stammen. Bei einigen Implementierungen können ein oder mehrere Teile der Netzwerkkommunikation 300 als codierte ganze Zahl verwendet werden, aus der ein tatsächlicher Byteort berechnet werden kann (beispielsweise unter Verwendung von Modulo-Berechnungen oder ähnlichen Berechnungen). Bei einigen Implementierungen können Berechnungen auf vorbestimmten Modulo-Divisoren berühren, oder es können die Bytelängen von bestimmten Blöcken der Netzwerkkommunikation als Divisor in einer Modulo-Berechnung verwendet werden.
  • Die kryptografische Information kann verarbeitet werden, siehe 230. Dies kann ein Einrichten eines kryptografischen Schlüssels beinhalten, so beispielsweise durch einen Diffie-Hellmann-Schlüsselaustausch. Dies kann zusätzlich ein Authentisieren der Netzwerkkommunikation beinhalten, so beispielsweise durch Verwendung eines HMAC. Interaktionen in der Client-Server-Umgebung können wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens der kryptografischen Information modifiziert werden, siehe 240. Das Modifizieren der Interaktionen kann ein An- oder Abstellen von verschiedenen Merkmalen beinhalten, so beispielsweise ein Verarbeiten, framebasierte Zeitachsen, Animationsfähigkeiten, Formgrundelemente, Entwicklungs- und/oder Sprachwerkzeuge (beispielsweise JavaScript, ActionScript und dergleichen mehr), ausgefeilte Videowerkzeuge, Audiounterstützung, Integrationswerkzeuge, Umwandlungswerkzeuge und vielfältige Zeichenfähigkeiten, um nur einige wenige Beispiele zu nennen. Das Modifizieren der Interaktionen kann ein Initiieren einer verschlüsselten Sitzung unter Verwendung eines kryptografischen Schlüssels beinhalten. Man beachte, dass die Interaktionen in der Client-Server-Umgebung ebenfalls auf identifizierten Fähigkeiten des Clientcomputers basieren können, da einige Merkmale hardwareabhängig sein können.
  • 4 zeigt ein weiteres Beispiel für eine Client-Server-Umgebung 400, in der kryptografische Information in Netzwerkkommunikationen zur Verwendung beim Abspielen von Medieninhalt übermittelt wird. Die Client-Server-Umgebung 400 beinhaltet einen Clientcomputer 402 und einen Medienserver (media server) 404. Der Medienserver 404 kann Medieninhalt 406 für den Clientcomputer 402 bereitstellen. So kann der Medienserver 404 beispielsweise ein Flash® Media-Serverprogramm beinhalten. Der Medieninhalt 406 kann Netzanwendungen, Spiele und Filme wie auch Multimediainhalt für Clientcomputer beinhalten (beispielsweise für Heim-PCs, Mobiltelefone, persönliche digitale Assistenten, Smartphones oder verschiedene eingebettete Vorrichtungen).
  • Der Clientcomputer 402 kann Software, Firmware und Hardware beinhalten. Die Hardware kann ein computerlesbares Medium 412, einen Prozessor 414 und ein oder mehrere Schnittstellenvorrichtungen 416 beinhalten. Das computerlesbare Medium 412 kann einen oder mehrere Festplattenlaufwerke, externe Laufwerke, magnetische Platten, optische Platten, Bandlaufwerke, Speichervorrichtungen und dergleichen mehr beinhalten. Der Prozessor 414 kann ein oder mehrere zentrale Verarbeitungseinheiten beinhalten, die zum Interpretieren von Computerprogrammanweisungen und zum Verarbeiten von Daten in der Lage sind, wobei jede Verarbeitungseinheit einen oder mehrere Prozessorkerne beinhalten kann. Die Schnittstellenvorrichtungen 416 können ein oder mehrere Anzeige- und Audiovorrichtungen beinhalten (beispielsweise Bildschirme, Computermonitore, digitale Anzeigen, Flüssigkristallanzeigen (LCDs), lichtemittierende Dioden (LEDs) und dergleichen mehr) sowie audiofähige Komponenten (beispielsweise Mikrofone, Lautsprecher und dergleichen mehr). Die Schnittstellenvorrichtungen 416 können eine grafische Anwenderschnittstelle (GUI) unterstützen, durch die der Anwender die Ausgabe einer Media Player-Anwendung 408 sieht, hört oder auf andere Weise wahrnimmt.
  • Die Software/Firmware kann die Media Player-Anwendung 408 und eine Anwendungsausführungsumgebung 410 beinhalten. Die Media Player-Anwendung 408 kann beispielsweise ein Flash® Player-Programm sein, das auf einem Heim-PC oder einer anderen elektronischen Vorrichtung installiert ist. Die Media Player-Anwendung 408 kann in der Anwendungsausführungsumgebung 410 laufen, die ein Betriebssystem (OS) für den Computer 402 ist, oder eine Cross-OS-Laufzeitumgebung, die auf dem Computer 402 installiert ist, so beispielsweise die Adobe®-Integrated-Runtime-Umgebung (AIRTM) die bei der Firma Adobe System Incorporated aus San José, Kalifornien erhältlich ist.
  • Der Zufallsbyteabschnitt, der die kryptografische Information einbettet, kann in den Netzwerkkommunikationen zwischen dem Clientcomputer 402 und dem Medienserver 404 beinhaltet sein. Der Zufallsbyteabschnitt kann durch ein anwenderseitiges Flash® Player-Programm und durch das Flash® Media-Serverprogramm erzeugt werden. Wie vorstehend ausgeführt worden ist, kann die kryptografische Information (beispielsweise beinhaltend einen Diffie-Hellmann-Schlüsselaustausch und HMAC-Information) in den Zufallsbyteabschnitt an vorbestimmten oder programmseitig bestimmten Orten eingefügt sein. Bei einigen Implementierungen können die Orte durch verschiedenartige Algorithmen bestimmt werden, die Teile der Zufallsinformation zur Indizierung der Orte der kryptografischen Information verwenden können. Das Empfangsende der Kommunikation kann bei Kenntnis des neuen Protokolls die kryptografische Information in dem Zufallsbyteabschnitt ausfindig machen und daraus entfernen. Kann die kryptografische Information verifiziert werden, so weiß die Empfangsseite, dass das neue Protokoll verwendet wird. Kann die kryptografische Information nicht verifiziert werden, so können ein oder mehrere Rückfallpositionen geprüft werden, bevor bestimmt wird, dass das neue Protokoll nicht verwendet wird (da die erwartete kryptografische Information nicht in dem Zufallsbyteabschnitt vorgefunden wird), weshalb die Kommunikation einem Alttyp entspricht. Man beachte, dass aus der Perspektive eines außen stehenden Lauschers die kryptografische Information nicht mehr zu sein scheint als die vorher beinhalteten Zufallsdaten, die zur Bandbreitenerfassung verwendet werden können.
  • 5 zeigt ein Beispiel für einen Prozess 500 des Übermittelns von kryptografischer Information in Netzwerkkommunikationen zur Verwendung beim Erstellen von verschlüsselten Sitzungen und Aktivieren/Deaktivieren von Merkmalen in einem Media® Player/Serversystem, so beispielsweise der Server-Client-Umgebung 400. Der Prozess 500 beinhaltet Operationen zum Authentisieren, Bestimmen von Verschlüsselungsparametern und An- oder Abstellen von Merkmalen im Zusammenhang mit der Netzwerkkommunikation. So kann die Netzwerkkommunikation beispielsweise einen Anwender beinhalten, der ein Flash® Player-Programm zum Abspielen von Medien beinhaltet, die aus dem Flash® Media-Serverprogramm verfügbar sind. Bei einigen Implementierungen können Merkmale auf Grundlage einer Versionsinformation aktiviert oder deaktiviert werden, die von der kryptografischen Information getrennt sind. So kann beispielsweise die Merkmalsverfügbarkeit (beispielsweise Audio- oder Videofähigkeiten) von der Version des Flash® Player-Programms abhängen, das auf dem Clientcomputer des Anwenders installiert ist.
  • Ein erster Abschnitt der Zufallsdaten kann abgerufen werden, siehe 502. So kann bei der Netzwerkkommunikation 300, die von dem Clientcomputer gesendet wird, der Server beispielsweise an einer vorbestimmten Byteposition innerhalb des vorbestimmten Abschnittes 310 nachschauen. Ein erster Index in den vorbestimmten Abschnitt kann auf Grundlage des abgerufenen ersten Abschnittes bestimmt werden, siehe 504. So können beispielsweise ein oder mehrere Bytes der Zufallsdaten als Dividend in einer Modulo-Operation verwendet werden, wobei der Divisor die Länge des Bereiches des vordefinierten Abschnittes 310, der für einen Nachrichtenauthentisierungscode (beispielsweise HMAC) vorgehalten wird, ist, vermindert um die Länge des Nachrichtenauthentisierungscodes. Der erste Index kann gleich dem Rest der Modulo-Operation plus einem vordefinierten Versatz (der gleich Null sein kann) gesetzt werden.
  • Man beachte, dass verschiedene Kombinationen der Zufallsdaten verwendet werden können, um den Dividend zu erzeugen. x Byte der Zufallsdaten können als eine einzige Binärzahl zur Bildung des Dividenden mit einem Abfall in dem Bereich von 0 bis 2(8x) – 1 behandelt werden; alternativ können dieselben x Byte der Zufallsdaten als x Binärzahlen behandelt werden, die addiert werden, um den Dividend mit einem Abfall in dem Bereich von 0 bis x(28 – 1) zu bilden. Verschiedene andere Kombinationen der Zufallsdaten sind zudem möglich. Bestimmt werden kann der erste Index darüber hinaus aus der ersten Position der Zufallsdaten allein oder aus dem ersten Abschnitt in Kombination mit anderer Information, die aus der Netzwerkkommunikation abgerufen wird. So kann beispielsweise derartige andere Information aus dem Header 330 oder der Nutzlast 340 stammen.
  • In jedem Fall entspricht, sobald der Index bestimmt ist, dieser Index der Anfangsposition der kryptografischen Information, die zur Nachrichtenauthentisierung (beispielsweise der Startpunkt des HMAC) in dem Block von ansonsten zufälligen Daten verwendet wird. Die Netzwerkkommunikation wird unter Verwendung dieser kryptografischen Information authentisiert, siehe 506. Die Authentisierung kann beispielsweise das Verwenden des ersten Indexes für einen Zugriff auf den HMAC in der Netzwerkkommunikation 300 beinhalten. Wird der Nachrichtenauthentisierungscode nicht bestätigt, siehe 508, so kann der Prozess 500 prüfen, siehe 510, ob eine erste Rückfallposition verfügbar ist. Dies erfolgt dann, wenn der erste bestimmte Index, siehe 504, beim Ausfindigmachen eines Nachrichtenauthentisierungscodes, der zur Authentisierung 506 der Netzwerkkommunikation verwendbar ist, versagt.
  • In diesem Fall können ein oder mehrere Rückfallalgorithmen zum Abrufen 502 des ersten Abschnittes und Bestimmen 504 des ersten Indexes bereitstehen. Jeder Rückfallalgorithmus kann sich einer anderen Technik zum Abrufen 502 des ersten Abschnittes und/oder Bestimmen 504 des ersten Indexes bedienen (Bestimmen 504 des ersten Indexes). Diese Rückfallalgorithmen können zusätzliche Sicherheit für den Authentisierungsprozess bieten und versetzen ein Serversystem in die Lage, die Indexiertechnik zu wechseln, wenn eine aktuell verwendete Technik entdeckt worden ist, wobei die Clientcomputer dann automatisch auf die neue Indexiertechnik zurückgreifen können. Sobald sämtliche verfügbaren Rückfallalgorithmen durchprobiert sind, endet der Prozess 500, ohne dass die Netzwerkkommunikation authentisiert worden wäre.
  • Wird der Nachrichtenauthentisierungscode bestätigt, siehe 508, so wird ein zweiter Abschnitt der Zufallsdaten abgerufen, siehe 512. So kann bei der von dem Clientcomputer gesendeten Netzwerkkommunikation 300 der Server an einer weiteren vorbestimmten Byteposition innerhalb des vorbestimmten Abschnittes 310 nachschauen. Ein zweiter Index in den vordefinierten Abschnitt kann auf Grundlage des abgerufenen zweiten Abschnittes bestimmt werden, siehe 514. So können beispielsweise ein oder mehrere Bytes der Zufallsdaten als Dividend in einer weiteren Modulo-Operation verwendet werden, wobei der Divisor die Länge des Bereiches des vordefinierten Abschnittes 310, der für Verschlüsselungsparameter (beispielsweise Diffie-Hellmann-Information) vorgehalten wird, ist, vermindert um die Länge der Verschlüsselungsparameter. Der zweite Index kann anschließend gleich dem Rest dieser Modulo-Operation plus einem vorbestimmten Versatz (der gleich Null sein kann) gesetzt werden.
  • Mit Blick auf den Nachrichtenauthentisierungscode können verschiedene Kombinationen der Zufallsdaten zur Erzeugung des Dividenden verwendet werden. So können beispielsweise x Byte der Zufallsdaten als eine einzige Binärzahl zur Bildung des Dividenden mit einem Abfall in dem Bereich von 0 bis 2(8x) – 1 behandelt werden; alternativ können dieselben x Byte der Zufallsdaten als x binäre Zahlen behandelt werden, die addiert werden, um den Dividend mit einem Abfall in dem Bereich von 0 bis x(28 – 1) zu bilden. Verschiedene andere Kombinationen der Zufallsdaten sind ebenfalls möglich. Bestimmt werden kann der zweite Index darüber hinaus aus dem zweiten Abschnitt der Zufallsdaten allein oder auch aus dem zweiten Abschnitt in Kombination mit anderer Information, die von der Netzwerkkommunikation abgerufen wird. Eine derartige andere Information kann beispielsweise aus dem Header 330 oder der Nutzlast 340 stammen. Darüber hinaus sollte einsichtig sein, dass der Zufallsdatenabschnitt zwangsläufig größer als die Gesamtlänge des Nachrichtenauthentisierungscodes und der Verschlüsselungsparameter sein muss, das heißt beispielsweise größer als 160 Byte, wenn ein HMAC mit 32 Byte und eine Diffie-Hellmann-Information mit 128 Byte verwendet werden.
  • In jedem Fall entspricht, sobald der Index bestimmt ist, dieser Index der Anfangsposition der Verschlüsselungsparameter, die zum Einrichten eines kryptografischen Schlüssels (beispielsweise dem Anfangspunkt der Diffie-Hellmann-Information) in dem Block der ansonsten zufälligen Daten verwendet wird. Diese kryptografische Information in der Netzwerkkommunikation wird bestätigt, siehe 516. Diese Bestätigung kann das Verwenden des zweiten Indexes für einen Zugriff und eine Bestätigung von Verschlüsselungsparametern in der Netzwerkkommunikation 300 beinhalten. Werden die Verschlüsselungsparameter nicht bestätigt, siehe 518, so kann der Prozess 500 prüfen, siehe 520, ob ein zweiter Rückfallabschnitt verfügbar ist. Dies erfolgt dann, wenn der bestimmte zweite Index, siehe 514, beim Ausfindigmachen von Verschlüsselungsparametern versagt, die zum Initiieren von verschlüsselten Kommunikationen in der Client-Server-Umgebung verwendbar sind.
  • In diesem Fall können ein oder mehrere Rückfallalgorithmen zum Abfragen 512 des zweiten Abschnittes und Bestimmen 514 des zweiten Indexes vorgesehen sein. Jeder Rückfallalgorithmus kann sich einer anderen Technik zum Abrufen 512 des ersten Abschnittes und/oder Bestimmen 514 des zweiten Indexes bedienen. Man beachte, dass diese Algorithmen im Vergleich zu denjenigen, die für den ersten Index verwendet werden, andere sein können. Die Rückfallalgorithmen können zusätzliche Sicherheit für den Einrichtungsprozess der verschlüsselten Sitzung bieten, wodurch ermöglicht wird, dass ein Serversystem die Indexiertechnik wechselt, wenn eine aktuell verwendete Technik entdeckt worden ist, wobei die Clientcomputer anschließend automatisch auf die neue Indexiertechnik zurückgreifen können. Sobald sämtliche verfügbaren Rückfallalgorithmen durchprobiert sind, endet der Prozess 500, ohne dass die Verschlüsselungsparameter bestätigt worden wären.
  • Werden die Verschlüsselungsparameter bestätigt, siehe 518, so kann eine Bestimmung 522 dahingehend erfolgen, ob eine verschlüsselte Sitzung erwünscht ist. Die Verschlüsselungsparameter können beispielsweise Information dahingehend beinhalten, dass die Sitzung (beispielsweise die Sitzung 145) eine verschlüsselte Sitzung sein soll. Ist dem so, so wird die verschlüsselte Sitzung initiiert, siehe 524. Andernfalls kann eine unverschlüsselte bzw. nicht verschlüsselte Sitzung initiiert werden. Jedwede Sitzung (beispielsweise eine verschlüsselte oder auch eine unverschlüsselte) kann zwischen dem Clientcomputer 402 (beispielsweise unter Ausführung des Flash® Player-Programms) und dem Medienserver 404 (beispielsweise dem Flash® Media-Server) erfolgen.
  • Wird bestimmt, siehe 526, dass ein oder mehrere Merkmale aktiviert oder deaktiviert werden sollen, so werden ein oder mehrere Merkmale des Media Players, des Media Servers oder von beiden an- oder abgestellt, siehe 528. So kann beispielsweise ein Satz von Merkmalen entsprechend der Versionsnummer des Client-Media-Players an- oder abgestellt werden. Die Versionsnummer kann von dem Client-Media-Player (bei dem Handschlag 150 beispielsweise in unverschlüsselter und unversteckter Form) bereitgestellt werden, und es kann der Server über den Umstand, ob er der bereitgestellten Versionsnummer vertraut, auf Grundlage der Tatsache entschieden, ob der Client kryptografische Information innerhalb des Zufallsbyteabschnittes einer Netzwerkkommunikation richtig eingebaut hat (So ist der Client-Media-Player beispielsweise kein alter Player, der modifiziert worden ist, um sich selbst unrichtigerweise als neuere Version zu identifizieren).
  • Ausführungsbeispiele des Erfindungsgegenstandes und der funktionellen Operationen, die in dieser Druckschrift beschrieben werden, können in digitalen elektronischen Schaltkreisen oder in Computersoftware, Firmware oder Hardware implementiert sein, darunter den Strukturen, die in dieser Druckschrift offenbart sind, sowie in deren strukturellen Äquivalenten oder auch in Kombinationen aus einem oder mehreren hieraus. Ausführungsbeispiele des in dieser Druckschrift beschriebenen Erfindungsgegenstandes können als ein oder mehrere Computerprogrammprodukte implementiert werden, das heißt als ein oder mehrere Module von Computerprogrammanwendungen, die auf einem computerlesbaren Medium implementiert sind, um von einer Datenverarbeitungsvorrichtung ausgeführt zu werden oder den Betrieb hiervon zu steuern bzw. zu regeln. Das computerlesbare Medium kann eine maschinenlesbare Speichervorrichtung, ein maschinenlesbares Speichersubstrat, eine Speichervorrichtung, ein Ensemble von Materie, das ein maschinenlesbares sich ausbreitendes Signal erzeugt, oder auch eine Kombination aus einem oder mehreren hiervon sein. Der Begriff „Datenverarbeitungsvorrichtung” umfasst sämtliche Vorrichtungen, Geräte und Maschinen zur Verarbeitung von Daten, darunter beispielsweise einen programmierbaren Prozessor, einen Computer, oder auch mehrere Prozessoren oder Computer. Die Vorrichtung kann zusätzlich zur Hardware auch Code beinhalten, der eine Ausführungsumgebung für das in Rede stehende Computerprogramm erzeugt, so beispielsweise Code, der Prozessorfirmware bildet, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem oder eine Kombination aus einem oder mehreren hieraus. Ein sich ausbreitendes Signal ist ein künstlich erzeugtes Signal, so beispielsweise ein maschinenerzeugtes elektrisches, optisches oder elektromagnetisches Signal, das zur Codierung von Information zur Übertragung an geeignete Empfängervorrichtungen erzeugt wird.
  • Ein Computerprogramm (auch als Programm, Software, Softwareanwendung, Script oder Code) bekannt) kann in einer Programmiersprache beliebiger Art geschrieben sein, darunter kompilierende oder interpretierende Sprachen, und kann in einer beliebigen Form eingesetzt werden, darunter als für sich stehendes Programm (stand-alone) oder auch als Modul, Komponente, Subroutine oder andere geeignete Einheit, die zur Verwendung in einer Rechenumgebung geeignet ist. Ein Computerprogramm entspricht nicht notwendigerweise einer Datei in einem Dateisystem. Ein Programm kann in einem Abschnitt einer Datei gespeichert sein, die andere Programme oder Daten (beispielsweise ein oder mehrere Scripte, die in einem Markupsprachendokument gespeichert sind) vorhält, wie auch in einer Einzeldatei, die eigens für das in Rede stehende Programm vorgehalten wird, oder in mehreren zusammenhängenden Dateien (beispielsweise Dateien, die ein oder mehrere Module, Unterprogramme oder Abschnitte von Code speichern). Es kann ein Computerprogramm verwendet werden, das auf einem Computer oder mehreren Computern läuft, die an einem Ort befindlich oder auch über mehrere Orte verteilt und über ein Kommunikationsnetzwerk miteinander verbunden sind.
  • Die Prozesse und logischen Abläufe, die in dieser Druckschrift beschrieben werden, können von einem oder mehreren programmierbaren Prozessoren ausgeführt werden, die einen oder mehrere Computerprogramme ausführen, um Funktionen durch Verarbeiten von Eingabedaten und Erzeugen einer Ausgabe wahrzunehmen. Die Prozesse und logischen Abläufe können auch als Spezialzwecklogikschaltungen implementiert sein, so beispielsweise als FPGA (Field Programmable Gate Array FPGA, feldprogrammierbares Gate-Array) oder als ASIC (Application-Specific Integrated Circuit ASIC, anwendungsspezifische integrierte Schaltung). Auch die Vorrichtungen können derart implementiert sein.
  • Prozessoren, die zur Ausführung eines Computerprogramms fähig sind, beinhalten beispielsweise sowohl Allzweck- wie auch Spezialzweckmikroprozessoren sowie einen beliebigen oder mehrere beliebige Prozessoren eines Digitalcomputers. Im Allgemeinen empfängt ein Prozessor Anweisungen und Daten aus einem Nurlesespeicher oder einem Speicher mit wahlfreiem Zugriff oder beidem. Die wesentlichen Elemente eines Computers sind ein Prozessor zum Ausführen von Anweisungen und ein oder mehrere Speichervorrichtungen zum Speichern von Anweisungen oder Daten. Im Allgemeinen beinhaltet ein Computer zudem eine oder mehrere Massenspeichervorrichtungen zum Speichern von Daten, so beispielsweise magnetische, magneto-optische Platten oder optische Platten, oder ist operativ derart angekoppelt, dass er Daten von diesen empfangen oder an diese übertragen kann. Ein Computer muss derartige Vorrichtungen jedoch nicht zwangsweise aufweisen. Darüber hinaus kann ein Computer in eine andere Vorrichtung eingebettet sein, so beispielsweise in ein Mobiltelefon, einen persönlichen digitalen Assistenten (PDA), ein mobiles Audioabspielgerät oder einen GPS-Empfänger, um nur einige wenige Beispiele zu nennen. Computerlesbare Medien, die zum Speichern von Computerprogrammanweisungen und Daten geeignet sind, beinhalten alle Arten von nichtflüchtigem Speicher, Medium und Speichervorrichtung, darunter beispielsweise Halbleiterspeichervorrichtungen, so beispielsweise EPROM, EEPROM oder Flash-Speichervorrichtungen; magnetische Platten, so beispielsweise interne Festplatten oder herausnehmbare Platten; magneto-optische Platten; und CD-ROM- und DVD-ROM-Platten. Der Prozessor und der Speicher können durch Spezialzwecklogikschaltungen ergänzt oder in diese eingebaut sein.
  • Zur Bereitstellung einer Interaktion mit einem Anwender können Ausführungsbeispiele des in dieser Druckschrift beschriebenen Erfindungsgegenstandes auf einem Computer implementiert sein, der eine Anzeigevorrichtung aufweist, so beispielsweise eine Kathodenstrahlröhre (CRT) oder einen LCD-Monitor (Flüssigkristallanzeige), um Information für einen Anwender anzuzeigen, sowie eine Tastatur und eine Zeigevorrichtung, so beispielsweise eine Maus oder einen Trackball, durch den der Anwender eine Eingabe für den Computer bereitstellen kann. Andere Arten von Vorrichtungen können verwendet werden, um eine Interaktion mit einem Anwender möglich zu machen. So kann beispielsweise eine für den Anwender bereitgestellte Rückkoppelung in beliebiger Form einer sensorischen Rückkoppelung gegeben sein, so beispielsweise als optische Rückkopplung, akustische Rückkopplung, oder berührtechnische Rückkoppelung; und es kann die Eingabe von dem Anwender in beliebiger Form empfangen werden, darunter eine akustische, eine sprachliche oder eine berührtechnische Eingabe.
  • Ausführungsbeispiele des in dieser Druckschrift beschriebenen Erfindungsgegenstandes können in einem Rechnersystem implementiert sein, das eine Back-End-Komponente beinhaltet, so beispielsweise als Datenserver, oder das eine Middleware-Komponente beinhaltet, so beispielsweise als Anwendungsserver, oder das eine Front-End-Komponente beinhaltet, so beispielsweise als Clientcomputer mit grafischer Anwenderschnittstelle oder Web-Browser, durch den ein Anwender mit einer Implementierung des in dieser Druckschrift beschriebenen Erfindungsgegenstandes interagieren kann, oder auch als Kombination von einer oder mehreren Back-End-, Middleware- oder Front-End-Komponenten. Die Komponenten des Systems können durch eine beliebiges Medium der digitalen Datenkommunikation, so beispielsweise durch ein Kommunikatiosnetzwerk, wechselseitig verbunden sein. Beispiele für Kommunikationsnetzwerke beinhalten ein Ortsbereichsnetzwerk (Local Area Network LAN) oder ein Großbereichsnetzwerk (Wide Area Network WAN), so beispielsweise das Internet.
  • Das Rechnersystem kann Clients und Server beinhalten. Client und Server sind im Allgemeinen voneinander entfernt und interagieren üblicherweise über ein Kommunikationsnetzwerk. Die Beziehung zwischen Client und Server ergibt sich durch Computerprogramme, die auf den jeweiligen Computern laufen und zueinander in Client- Server-Beziehung stehen.
  • Obwohl die vorliegende Druckschrift viele Spezifika enthält, sollen diese nicht als Beschränkungen des Umfanges der Erfindung oder des beanspruchten Gegenstandes, sondern als Beschreibungen von Merkmalen verstanden werden, die für bestimmte Ausführungsbeispiele der Erfindung spezifisch sind. Bestimmte Merkmale, die in dieser Druckschrift im Kontext getrennter Ausführungsbeispiele beschrieben sind, können auch bei einem einzigen Ausführungsbeispiel in Kombination implementiert sein. Umgekehrt können verschiedene Merkmale, die hier im Kontext eines einzigen Ausführungsbeispieles beschrieben sind, auch in mehreren Ausführungsbeispielen getrennt oder in einer beliebigen geeigneten Unterkombination implementiert sein. Obwohl Merkmale als in verschiedenen Kombinationen zusammenwirkend beschrieben und auch als solche beansprucht sein können, können ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen auch aus der Kombination ausgeschlossen werden, und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.
  • Obwohl Operationen in den Figuren in einer spezifischen Reihenfolge dargestellt sind, soll dies nicht derart verstanden werden, dass eine Ausführung der Operationen in dieser bestimmten gezeigten Reihenfolge oder in einer sequenziellen Reihenfolge immer notwendig ist oder dass sämtliche dargestellten Operationen ausgeführt werden müssen, um die erwünschten Ergebnisse zu erhalten. Unter bestimmten Umständen kann ein Multitasking oder eine Parallelverarbeitung von Vorteil sein. Darüber hinaus soll die Trennung von verschiedenen Systemkomponenten bei den vorstehend beschriebenen Ausführungsbeispielen nicht derart verstanden werden, dass eine derartige Trennung bei sämtlichen Ausführungsbeispielen von Nöten ist. Zusätzlich sollte einsichtig sein, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zu einem einzigen Softwareerzeugnis integriert werden oder auch in mehrere Softwareerzeugnisse gepackt sein können.
  • Es sind bestimmte Ausführungsbeispiele der Erfindung beschrieben worden. Weitere Ausführungsbeispiele sind im Umfang der nachfolgenden Ansprüche enthalten. Die in den Ansprüchen dargelegten Aktionen können beispielsweise auch in einer anderen Reihenfolge ausgeführt werden, und man erhält weiterhin die erwünschten Ergebnisse.
  • Die Zufallsdaten müssen nicht echte Zufallsdaten sein, sondern können auch Pseudozufallsdaten sein. Darüber hinaus muss der vordefinierte Abschnitt der Netzwerkkommunikation nur für Zufallsdaten reserviert sein und nicht bei allen Implementierungen auch tatsächlich Zufallsdaten enthalten.
  • Zusammenfassung
  • Die vorliegende Druckschrift beschreibt Technologien im Zusammenhang mit dem Übermitteln von kryptografischer Information in Netzwerkkommunikationen. Im Allgemeinen können Aspekte des in dieser Druckschrift beschriebenen Erfindungsgegenstandes in Verfahren verkörpert sein, die umfassen: Identifizieren eines Ortes bzw. Speicherortes in einem vorbestimmten Abschnitt einer Netzwerkkommunikation zur Sendung in einer bzw. eine Client-Server-Umgebung, wobei der vordefinierte Abschnitt für Zufallsdaten reserviert ist, Einfügen von kryptografischer Information in den vordefinierten Abschnitt der Netzwerkkommunikation an dem Ort und Senden der Netzwerkkommunikation in der bzw. die Client-Server-Umgebung zur Erleichterung eines Modifizierens von Interaktionen in der Client-Server-Umgebung wenigstens teilweise auf Grundlage eines Ergebnisses eines Verarbeitens der kryptografischen Information; und auf einer Empfängerseite, Empfangen von kryptografischer Information aus der Einfügung in den vorbestimmten Abschnitt der Netzwerkkommunikation in der Client-Server-Umgebung, Identifizieren des Ortes; Verarbeiten der kryptografischen Information und Modifizieren von Interaktionen in der Client-Server-Umgebung wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens.

Claims (23)

  1. Verfahren, umfassend: Empfangen von kryptografischer Information, welche in einen vordefinierten Abschnitt einer Netzwerkkommunikation in einer Client-Server-Umgebung eingefügt ist, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist; Identifizieren eines Ortes der kryptografischen Information in dem vordefinierten Abschnitt der Netzwerkkommunikation; Verarbeiten der kryptografischen Information; und Modifizieren von Interaktionen in der Client-Server-Umgebung wenigstens teilweise basierend auf einem Ergebnis des Verarbeitens der kryptografischen Information.
  2. Verfahren nach Anspruch 1, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
  3. Verfahren nach Anspruch 2, wobei der vordefinierte Abschnitt die Zufallsdaten beinhaltet und das Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen eines Abschnittes der Zufallsdaten; und Bestimmen eines Indexes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten.
  4. Verfahren nach Anspruch 3, wobei Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen von mehreren verschiedenen Abschnitten der Zufallsdaten; und Bestimmen von mehreren verschiedenen Indizes in den vordefinierten Abschnitt der Netzwerkkommunikation basierend auf verschiedenen Abschnitten der Zufallsdaten.
  5. Verfahren nach Anspruch 1, wobei Verarbeiten der kryptografischen Information ein Erstellen eines kryptografischen Schlüssels umfasst und wobei Modifizieren von Interaktionen in der Client-Server-Umgebung ein Initiieren einer verschlüsselten Sitzung unter Verwendung des kryptografischen Schlüssels umfasst.
  6. Verfahren nach Anspruch 1, wobei Verarbeiten der kryptografischen Information ein Authentisieren der Netzwerkkommunikation umfasst und wobei Modifizieren von Interaktionen in der Client-Server-Umgebung ein An- oder Abstellen eines Merkmals eines in der Client-Server-Umgebung laufenden bzw. operierenden Programms umfasst.
  7. Computerlesbares Medium mit einem darauf codierten Computerprogrammprodukt, wobei das Computerprogrammprodukt derart betreibbar ist, dass es (eine) Datenverarbeitungsvorrichtung(en) veranlasst, Operationen durchzuführen, die umfassen: Empfangen von kryptografischer Information, welche in einen vordefinierten Abschnitt einer Netzwerkkommunikation in einer Client-Server-Umgebung eingefügt ist, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist; Identifizieren eines Ortes der kryptografischen Information in dem vordefinierten Abschnitt der Netzwerkkommunikation; Verarbeiten der kryptografischen Information; und Modifizieren von Interaktionen in der Client-Server-Umgebung wenigstens teilweise basierend auf einem Ergebnis des Verarbeitens der kryptografischen Information.
  8. Computerlesbares Medium nach Anspruch 7, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
  9. Computerlesbares Medium nach Anspruch 8, wobei der vordefinierte Abschnitt die Zufallsdaten beinhaltet und das Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen eines Abschnittes der Zufallsdaten; und Bestimmen eines Indexes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten.
  10. Computerlesbares Medium nach Anspruch 9, wobei Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen von mehreren verschiedenen Abschnitten der Zufallsdaten; und Bestimmen von mehreren verschiedenen Indizes in den vordefinierten Abschnitt der Netzwerkkommunikation basierend auf verschiedenen Abschnitten der Zufallsdaten.
  11. Computerlesbares Medium nach Anspruch 7, wobei Verarbeiten der kryptografischen Information ein Erstellen eines kryptografischen Schlüssels umfasst und wobei Modifizieren von Interaktionen in der Client-Server-Umgebung ein Initiieren einer verschlüsselten Sitzung unter Verwendung des kryptografischen Schlüssels umfasst.
  12. Computerlesbares Medium nach Anspruch 7, wobei Verarbeiten der kryptografischen Information ein Authentisieren der Netzwerkkommunikation umfasst und wobei Modifizieren von Interaktionen in der Client-Server-Umgebung ein An- oder Abstellen eines Merkmals eines in der Client-Server-Umgebung laufenden bzw. operierenden Programms umfasst.
  13. System, umfassend: einen Servercomputer programmiert zum Erstellen nicht verschlüsselter Sitzungen und verschlüsselter Sitzungen über ein Netzwerk mit Clientcomputern unter Verwendung eines Sitzungsanfangshandschlages, beinhaltend eine Netzwerkkommunikation, beinhaltend einen vordefinierten Abschnitt, der für Zufallsdaten reserviert ist; einen ersten der Clientcomputer programmiert zum Erstellen nicht verschlüsselter Sitzungen mit dem Servercomputer unter Verwendung des Sitzungsanfangshandschlages; und einen zweiten der Clientcomputer programmiert zum Erstellen verschlüsselter Sitzungen mit dem Servercomputer unter Verwendung des Sitzungsanfangshandschlages, beinhaltend kryptografische Information eingefügt in den vordefinierten Abschnitt der Netzwerkkommunikation; wobei der Servercomputer und der zweite Clientcomputer programmiert sind, Operationen durchzuführen, die umfassen: Identifizieren eines Ortes der kryptografischen Information in dem vordefinierten Abschnitt der Netzwerkkommunikation, Verarbeiten der kryptografischen Information und Modifizieren von Interaktionen zwischen dem Servercomputer und dem zweiten Clientcomputer wenigstens teilweise basierend auf einem Ergebnis des Verarbeitens der kryptografischen Information.
  14. System nach Anspruch 13, wobei die Clientcomputer mobile Vorrichtungen umfassen.
  15. System nach Anspruch 13, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
  16. System nach Anspruch 15, wobei der vordefinierte Abschnitt die Zufallsdaten beinhaltet und das Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen eines Abschnittes der Zufallsdaten; und Bestimmen eines Indexes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten.
  17. System nach Anspruch 16, wobei Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst: Abrufen von mehreren verschiedenen Abschnitten der Zufallsdaten; und Bestimmen von mehreren verschiedenen Indizes in den vordefinierten Abschnitt der Netzwerkkommunikation basierend auf verschiedenen Abschnitten der Zufallsdaten.
  18. System nach Anspruch 13, wobei Verarbeiten der kryptografischen Information umfasst: Authentisieren der Netzwerkkommunikation und Erstellen eines kryptografischen Schlüssels; und wobei Modifizieren von Interaktionen zwischen dem Servercomputer und dem zweiten Clientcomputer umfasst: An- oder Abstellen eines Merkmals eines in dem Servercomputer oder dem zweiten Clientcomputer laufenden bzw. operierenden Programms; und Initiieren einer verschlüsselten Sitzung zwischen dem Servercomputer und dem zweiten Clientcomputer unter Verwendung des kryptografischen Schlüssels.
  19. System nach Anspruch 13, wobei der Servercomputer und der zweite Clientcomputer programmiert sind, Operationen durchzuführen, umfassend: Einfügen eines Nachrichtenauthentisierungscodes und von Verschlüsselungsschlüsselerstellungsinformation in die Netzwerkkommunikation.
  20. Verfahren, umfassend: Identifizieren eines Ortes in einem vordefinierten Abschnitt einer Netzwerkkommunikation zur Sendung in einer bzw. eine Client-Server-Umgebung, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist; Einfügen von kryptografischer Information in den vordefinierten Abschnitt der Netzwerkkommunikation an dem Ort; und Senden der Netzwerkkommunikation in der bzw. die Client-Server-Umgebung zur Erleichterung eines Modifizierens von Interaktionen in der Client-Server-Umgebung wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens der kryptografischen Information.
  21. Verfahren nach Anspruch 20, wobei der vordefinierte Abschnitt die Zufallsdaten beinhaltet und Identifizieren des Ortes umfasst: Abrufen eines Abschnittes der Zufallsdaten; und Bestimmen eines Indexes in den vordefinierten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten.
  22. Computerlesbares Medium mit einem darauf codierten Computerprogrammprodukt, wobei das Computerprogrammprodukt betreibbar ist, (eine) Datenverarbeitungsvorrichtung(en) zu veranlassen, Operationen durchzuführen, die umfassen: Identifizieren eines Ortes in einem vordefinierten Abschnitt einer Netzwerkkommunikation zur Sendung in einer bzw. eine Client-Server-Umgebung, wobei der vordefinierte Abschnitt der Netzwerkkommunikation für Zufallsdaten reserviert ist; Einfügen kryptografischer Information in den vordefinierten Abschnitt der Netzwerkkommunikation an dem Ort; und Senden der Netzwerkkommunikation in der bzw. die Client-Server-Umgebung zur Erleichterung eines Modifizierens von Interaktionen in der Client-Server-Umgebung wenigstens teilweise auf Grundlage eines Ergebnisses des Verarbeitens der kryptografischen Information.
  23. Computerlesbares Medium nach Anspruch 22, wobei der vordefinierte Abschnitt die Zufallsdaten beinhaltet und Identifizieren des Ortes umfasst: Abrufen eines Abschnittes der Zufallsdaten; und Bestimmen eines Indexes in den vorbestimmten Abschnitt der Netzwerkkommunikation auf Grundlage des abgerufenen Abschnittes der Zufallsdaten.
DE112008002768T 2007-10-15 2008-10-14 Übermitteln von kryptografischer Information in Netzwerkübertragungen Ceased DE112008002768T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/872,661 US7961878B2 (en) 2007-10-15 2007-10-15 Imparting cryptographic information in network communications
US11/872,661 2007-10-15
PCT/US2008/079886 WO2009052118A2 (en) 2007-10-15 2008-10-14 Imparting cryptographic information in network communications

Publications (1)

Publication Number Publication Date
DE112008002768T5 true DE112008002768T5 (de) 2010-10-14

Family

ID=40534209

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112008002768T Ceased DE112008002768T5 (de) 2007-10-15 2008-10-14 Übermitteln von kryptografischer Information in Netzwerkübertragungen

Country Status (5)

Country Link
US (4) US7961878B2 (de)
KR (1) KR101563906B1 (de)
CN (1) CN101861721B (de)
DE (1) DE112008002768T5 (de)
WO (1) WO2009052118A2 (de)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7272658B1 (en) 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
US7961878B2 (en) * 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
JP2010033358A (ja) * 2008-07-29 2010-02-12 Sony Corp 情報処理装置、情報処理方法、プログラム、および情報処理システム
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session
US20100211987A1 (en) * 2009-02-19 2010-08-19 Pixel8 Networks, Inc. Video deduplication, cache, and virtual private content delivery network
EP2441262B1 (de) * 2009-06-08 2013-10-02 NDS Limited Robust watermark
US8874526B2 (en) 2010-03-31 2014-10-28 Cloudera, Inc. Dynamically processing an event using an extensible data model
US9317572B2 (en) 2010-03-31 2016-04-19 Cloudera, Inc. Configuring a system to collect and aggregate datasets
US9082127B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating datasets for analysis
US9081888B2 (en) 2010-03-31 2015-07-14 Cloudera, Inc. Collecting and aggregating log data with fault tolerance
US8667267B1 (en) * 2011-01-31 2014-03-04 Gazzang, Inc. System and method for communicating with a key management system
US8880592B2 (en) 2011-03-31 2014-11-04 Cloudera, Inc. User interface implementation for partial display update
KR101258845B1 (ko) * 2011-10-10 2013-05-06 고려대학교 산학협력단 Tcp통신을 이용한 정보 저장방법 및 시스템
US9391832B1 (en) 2011-12-05 2016-07-12 Menlo Security, Inc. Secure surrogate cloud browsing
US9128949B2 (en) 2012-01-18 2015-09-08 Cloudera, Inc. Memory allocation buffer for reduction of heap fragmentation
US9172608B2 (en) 2012-02-07 2015-10-27 Cloudera, Inc. Centralized configuration and monitoring of a distributed computing cluster
US9405692B2 (en) 2012-03-21 2016-08-02 Cloudera, Inc. Data processing performance enhancement in a distributed file system
US9338008B1 (en) 2012-04-02 2016-05-10 Cloudera, Inc. System and method for secure release of secret information over a network
US9842126B2 (en) 2012-04-20 2017-12-12 Cloudera, Inc. Automatic repair of corrupt HBases
US9753954B2 (en) 2012-09-14 2017-09-05 Cloudera, Inc. Data node fencing in a distributed file system
US8695048B1 (en) 2012-10-15 2014-04-08 Wowza Media Systems, LLC Systems and methods of processing closed captioning for video on demand content
US9602557B2 (en) 2012-10-15 2017-03-21 Wowza Media Systems, LLC Systems and methods of communication using a message header that includes header flags
US9342557B2 (en) 2013-03-13 2016-05-17 Cloudera, Inc. Low latency query engine for Apache Hadoop
US8782722B1 (en) 2013-04-05 2014-07-15 Wowza Media Systems, LLC Decoding of closed captions at a media server
US8782721B1 (en) 2013-04-05 2014-07-15 Wowza Media Systems, LLC Closed captions for live streams
US20140347376A1 (en) * 2013-05-24 2014-11-27 Nvidia Corporation Graphics server and method for managing streaming parameters
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
CN109979472B (zh) 2013-09-12 2023-12-15 杜比实验室特许公司 用于各种回放环境的动态范围控制
US9477731B2 (en) 2013-10-01 2016-10-25 Cloudera, Inc. Background format optimization for enhanced SQL-like queries in Hadoop
US9934382B2 (en) 2013-10-28 2018-04-03 Cloudera, Inc. Virtual machine image encryption
US9690671B2 (en) 2013-11-01 2017-06-27 Cloudera, Inc. Manifest-based snapshots in distributed computing environments
US10171635B2 (en) 2013-12-04 2019-01-01 Cloudera, Inc. Ensuring properly ordered events in a distributed computing environment
US9984110B2 (en) 2014-08-21 2018-05-29 Dropbox, Inc. Multi-user search system with methodology for personalized search query autocomplete
US9747333B2 (en) 2014-10-08 2017-08-29 Cloudera, Inc. Querying operating system state on multiple machines declaratively
US10120904B2 (en) 2014-12-31 2018-11-06 Cloudera, Inc. Resource management in a distributed computing environment
US9183303B1 (en) 2015-01-30 2015-11-10 Dropbox, Inc. Personal content item searching system and method
US9384226B1 (en) 2015-01-30 2016-07-05 Dropbox, Inc. Personal content item searching system and method
US10223780B2 (en) * 2015-04-15 2019-03-05 Institute Of Automation Chinese Academy Of Sciences Image steganalysis based on deep learning
CN105847238B (zh) * 2016-03-16 2018-07-17 杭州狮说教育科技有限公司 一种基于rtmp连接的数据安全传输方法
US10447668B1 (en) * 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
US10461943B1 (en) * 2016-11-14 2019-10-29 Amazon Technologies, Inc. Transparently scalable virtual hardware security module
CN107920088A (zh) * 2017-12-21 2018-04-17 深圳市四面信息科技有限公司 一种加解密方法
US11470060B2 (en) * 2019-01-10 2022-10-11 Twingate, Inc. Private exchange of encrypted data over a computer network
CN111970177B (zh) * 2019-05-20 2021-09-24 杭州海康威视数字技术股份有限公司 一种设备接入方法、装置及设备
US11611482B1 (en) 2020-06-12 2023-03-21 Menlo Security, Inc. Bandwidth throttling
KR102483848B1 (ko) * 2021-01-08 2023-02-07 주식회사 우아한형제들 로그인 강화 장치 및 방법

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4200770A (en) 1977-09-06 1980-04-29 Stanford University Cryptographic apparatus and method
US5185795A (en) 1991-02-27 1993-02-09 Motorola, Inc. Authentication of rekey messages in a communication system
DE69432480T2 (de) 1993-11-18 2004-03-18 Digimarc Corp., Tualatin Identifikations/beglaubigungskodierungsverfahren und -vorrichtung
US6546112B1 (en) 1993-11-18 2003-04-08 Digimarc Corporation Security document with steganographically-encoded authentication data
US5481610A (en) * 1994-02-28 1996-01-02 Ericsson Inc. Digital radio transceiver with encrypted key storage
US5793980A (en) * 1994-11-30 1998-08-11 Realnetworks, Inc. Audio-on-demand communication system
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
GB9520807D0 (en) 1995-10-11 1995-12-13 Newbridge Networks Corp Fair queue servicing using dynamic weights
US5841432A (en) * 1996-02-09 1998-11-24 Carmel; Sharon Method and system of building and transmitting a data file for real time play of multimedia, particularly animation, and a data file for real time play of multimedia applications
US7010692B2 (en) 1996-04-17 2006-03-07 Phoenix Technologies Ltd. Cryptographic methods for remote authentication
JP3560441B2 (ja) 1997-04-07 2004-09-02 日本アイ・ビー・エム株式会社 複数フレーム・データ・ハイディング方法及び検出方法
US6912658B1 (en) 1997-08-22 2005-06-28 Purdue Research Foundation Hiding of encrypted data
US6011849A (en) 1997-08-28 2000-01-04 Syndata Technologies, Inc. Encryption-based selection system for steganography
US6032197A (en) 1997-09-25 2000-02-29 Microsoft Corporation Data packet header compression for unidirectional transmission
US6453355B1 (en) * 1998-01-15 2002-09-17 Apple Computer, Inc. Method and apparatus for media data transmission
US6021391A (en) * 1998-03-03 2000-02-01 Winbond Electronics Corp. Method and system for dynamic data encryption
US6681327B1 (en) 1998-04-02 2004-01-20 Intel Corporation Method and system for managing secure client-server transactions
US6295604B1 (en) * 1998-05-26 2001-09-25 Intel Corporation Cryptographic packet processing unit
US6397259B1 (en) 1998-05-29 2002-05-28 Palm, Inc. Method, system and apparatus for packet minimized communications
US6202081B1 (en) 1998-07-21 2001-03-13 3Com Corporation Method and protocol for synchronized transfer-window based firewall traversal
US6317831B1 (en) * 1998-09-21 2001-11-13 Openwave Systems Inc. Method and apparatus for establishing a secure connection over a one-way data path
US6438123B1 (en) 1998-11-10 2002-08-20 Cisco Technology, Inc. Method and apparatus for supporting header suppression and multiple microflows in a network
DE19906450C1 (de) 1999-02-16 2000-08-17 Fraunhofer Ges Forschung Verfahren und Vorrichtung zum Erzeugen eines verschlüsselten Nutzdatenstroms und Verfahren und Vorrichtung zum Entschlüsseln eines verschlüsselten Nutzdatenstroms
CN100356475C (zh) 1999-02-26 2007-12-19 日本胜利株式会社 信息重放方法
US6484257B1 (en) 1999-02-27 2002-11-19 Alonzo Ellis System and method for maintaining N number of simultaneous cryptographic sessions using a distributed computing environment
US7095851B1 (en) 1999-03-11 2006-08-22 Tecsec, Inc. Voice and data encryption method using a cryptographic key split combiner
US7058803B2 (en) 2002-05-22 2006-06-06 Broadcom Corporation System and method for protecting transport stream content
CA2368195A1 (en) 1999-03-31 2000-10-05 Diva Systems Corporation Method and apparatus for performing impulse authorizations within a video on demand environment
EP1177668A2 (de) 1999-05-10 2002-02-06 Nokia Corporation Headerkomprimierung
JP4457431B2 (ja) 1999-05-18 2010-04-28 ソニー株式会社 受信装置および方法、並びに記録媒体
US6898706B1 (en) 1999-05-20 2005-05-24 Microsoft Corporation License-based cryptographic technique, particularly suited for use in a digital rights management system, for controlling access and use of bore resistant software objects in a client computer
US6760378B1 (en) * 1999-06-30 2004-07-06 Realnetworks, Inc. System and method for generating video frames and correcting motion
US6449656B1 (en) * 1999-07-30 2002-09-10 Intel Corporation Storing a frame header
US6477580B1 (en) * 1999-08-31 2002-11-05 Accenture Llp Self-described stream in a communication services patterns environment
US7058728B1 (en) 1999-10-29 2006-06-06 Nokia Corporation Method and apparatus for initiating compression of headers of packets and refreshing the context related to the packets
US6763390B1 (en) * 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6999424B1 (en) * 2000-01-24 2006-02-14 Ati Technologies, Inc. Method for displaying data
DE60110303T2 (de) 2000-03-03 2006-03-09 Ntt Docomo, Inc. Verfahren und Vorrichtung zur Paketübertragung mit Paketenkopfkompression
US7136377B1 (en) 2000-03-31 2006-11-14 Cisco Technology, Inc. Tunneled datagram switching
US6640303B1 (en) 2000-04-28 2003-10-28 Ky Quy Vu System and method for encryption using transparent keys
US7000108B1 (en) 2000-05-02 2006-02-14 International Business Machines Corporation System, apparatus and method for presentation and manipulation of personal information syntax objects
US7152047B1 (en) 2000-05-24 2006-12-19 Esecure.Biz, Inc. System and method for production and authentication of original documents
US7051200B1 (en) * 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US20020025045A1 (en) 2000-07-26 2002-02-28 Raike William Michael Encryption processing for streaming media
US6801947B1 (en) * 2000-08-01 2004-10-05 Nortel Networks Ltd Method and apparatus for broadcasting media objects with guaranteed quality of service
US7043633B1 (en) 2000-08-28 2006-05-09 Verizon Corporation Services Group Inc. Method and apparatus for providing adaptive self-synchronized dynamic address translation
DE60018927T2 (de) 2000-09-07 2005-07-28 Matsushita Electric Industrial Co. Ltd., Kadoma Verfahren und Vorrichtung zur Datenpaketenübertragung
DE60130367T2 (de) 2000-10-11 2008-06-12 Broadcom Corp., Irvine Verfahren zum dynamischen mischen von Paketkopfunterdrückungstechniken
FI110739B (fi) 2000-10-18 2003-03-14 Nokia Corp Otsikkokenttien kompressoinnin määrittäminen datapakettiyhteydelle
US7310353B1 (en) 2000-10-30 2007-12-18 Yair Bourlas Compression of overhead in layered data communication links
US7046672B2 (en) 2000-11-16 2006-05-16 Microsoft Corporation Robust, inferentially synchronized transmission of compressed transport-layer-protocol headers
US6823394B2 (en) * 2000-12-12 2004-11-23 Washington University Method of resource-efficient and scalable streaming media distribution for asynchronous receivers
US7154895B1 (en) 2000-12-15 2006-12-26 Conexant, Inc. System, apparatus, and method for ATM header compression for DSL links
US7499545B1 (en) 2001-02-05 2009-03-03 Ati Technologies, Inc. Method and system for dual link communications encryption
US7096359B2 (en) 2001-03-01 2006-08-22 University Of Cincinnati Authentication scheme for ad hoc and sensor wireless networks
US6934389B2 (en) 2001-03-02 2005-08-23 Ati International Srl Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
JP3512177B2 (ja) 2001-05-16 2004-03-29 松下電器産業株式会社 パケット受信装置及びパケット伝送方法
US7124303B2 (en) 2001-06-06 2006-10-17 Sony Corporation Elementary stream partial encryption
US7298849B2 (en) 2001-06-29 2007-11-20 Intel Corporation Method and apparatus for simultaneous encryption and decryption of publicly distributed media
US7149892B2 (en) 2001-07-06 2006-12-12 Juniper Networks, Inc. Secure sockets layer proxy architecture
JP2003037623A (ja) * 2001-07-23 2003-02-07 Philips Japan Ltd Mpegネットワーク上におけるダイレクトrtp伝送方法及びシステム
US7010613B2 (en) 2001-09-07 2006-03-07 Intel Corporation Methods and apparatus for reducing frame overhead on local area networks
US7111162B1 (en) * 2001-09-10 2006-09-19 Cisco Technology, Inc. Load balancing approach for scaling secure sockets layer performance
FI20011871A (fi) * 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US7372964B2 (en) * 2001-10-10 2008-05-13 Kabushiki Kaisha Toshiba Method and apparatus for recording information including secret information and method and apparatus for reproduction thereof
US7836124B2 (en) 2001-11-16 2010-11-16 Clearwire Legacy Llc RTP, UDP, IP header compression on the circuit switched type airlink access
US7215667B1 (en) 2001-11-30 2007-05-08 Corrent Corporation System and method for communicating IPSec tunnel packets with compressed inner headers
US7039192B1 (en) 2001-12-13 2006-05-02 Verizon Services Corp. Methods for data encryption using multiple layer steganography
FI113324B (fi) 2001-12-21 2004-03-31 Nokia Corp Parannettu laitejärjestely, päätelaite ja menetelmä audiosignaalin siirrossa pakettikytkentäisessä tiedonsiirtoverkossa
US7570766B2 (en) 2002-03-01 2009-08-04 Intel Corporation Transparently embedding non-compliant data in a data stream
US20050129243A1 (en) 2002-03-20 2005-06-16 Koninklijke Philips Electronics N.V. Encryption key hiding and recovering method and system
DE10212656A1 (de) 2002-03-21 2003-10-02 Scm Microsystems Gmbh Selektive Verschlüsselung von Multimediadaten
US7249264B2 (en) 2002-04-02 2007-07-24 International Business Machines Corporation Secure IP based streaming in a format independent manner
JP3808394B2 (ja) * 2002-04-02 2006-08-09 松下電器産業株式会社 ストリームデータ処理装置、ストリームデータ処理方法、プログラム、及び、媒体
US7590844B1 (en) * 2002-04-26 2009-09-15 Mcafee, Inc. Decryption system and method for network analyzers and security programs
US20030221014A1 (en) * 2002-05-24 2003-11-27 David Kosiba Method for guaranteed delivery of multimedia content based on terminal capabilities
US7007163B2 (en) 2002-05-31 2006-02-28 Broadcom Corporation Methods and apparatus for accelerating secure session processing
AU2003253875A1 (en) 2002-07-09 2004-01-23 Kaleidescape, Inc. Secure presentation of encrypted digital content
US7167560B2 (en) 2002-08-08 2007-01-23 Matsushita Electric Industrial Co., Ltd. Partial encryption of stream-formatted media
US20040064725A1 (en) * 2002-09-18 2004-04-01 Microsoft Corporation Method and system for detecting a communication problem in a computer network
CN1322432C (zh) 2002-10-25 2007-06-20 国际商业机器公司 用于媒体内容数据文件网络发布的安全系统及方法
US20040083177A1 (en) 2002-10-29 2004-04-29 General Instrument Corporation Method and apparatus for pre-encrypting VOD material with a changing cryptographic key
WO2004045213A2 (en) 2002-11-13 2004-05-27 General Instrument Corporation Efficient distribution of encrypted content for multiple content access systems
US20050235145A1 (en) * 2002-12-05 2005-10-20 Canon Kabushiki Kaisha Secure file format
US20040111610A1 (en) * 2002-12-05 2004-06-10 Canon Kabushiki Kaisha Secure file format
US7246356B1 (en) 2003-01-29 2007-07-17 Adobe Systems Incorporated Method and system for facilitating comunications between an interactive multimedia client and an interactive multimedia communication server
ATE406046T1 (de) 2003-02-10 2008-09-15 Koninkl Philips Electronics Nv Erzeugung verschlüsselter videoinformationen
US7272658B1 (en) * 2003-02-13 2007-09-18 Adobe Systems Incorporated Real-time priority-based media communication
AU2003900981A0 (en) 2003-03-04 2003-03-20 Grosvenor Leisure Incorporated Secure steganographic biometric identification
CA2519116C (en) 2003-03-13 2012-11-13 Drm Technologies, Llc Secure streaming container
US7007170B2 (en) 2003-03-18 2006-02-28 Widevine Technologies, Inc. System, method, and apparatus for securely providing content viewable on a secure device
US7406176B2 (en) 2003-04-01 2008-07-29 Microsoft Corporation Fully scalable encryption for scalable multimedia
WO2004095825A2 (en) 2003-04-21 2004-11-04 Rgb Networks, Inc. Time-multiplexed multi-program encryption system
US8000475B1 (en) 2003-04-28 2011-08-16 Bigband Networks Inc. System and method for encrypting and modulating video streams
CN100483992C (zh) 2003-05-06 2009-04-29 国际商业机器公司 数据流的加密、解密方法和装置
US7577750B2 (en) 2003-05-23 2009-08-18 Microsoft Corporation Systems and methods for peer-to-peer collaboration to enhance multimedia streaming
US20050050441A1 (en) 2003-07-17 2005-03-03 Kearney Steven J. Project monitoring method, system, and program product
GB0317571D0 (en) 2003-07-26 2003-08-27 Koninkl Philips Electronics Nv Content identification for broadcast media
US7299356B2 (en) 2003-09-02 2007-11-20 Authernative, Inc. Key conversion method for communication session encryption and authentication system
US7620179B2 (en) 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US7839998B2 (en) 2004-02-09 2010-11-23 Sony Corporation Transcoding CableCARD
US20050188007A1 (en) 2004-02-24 2005-08-25 Rich Warner System and method for embedding data transmission in a web page
US20060184790A1 (en) 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
US7477749B2 (en) 2004-05-12 2009-01-13 Nokia Corporation Integrity protection of streamed content
WO2006023134A2 (en) * 2004-08-05 2006-03-02 Pgp Corporation Apparatus and method for facilitating encryption and decryption operations over an email server using an unsupported protocol
US7664967B2 (en) 2004-12-22 2010-02-16 Borland Software Corporation Development system with methodology providing information hiding in executable programs
US8533473B2 (en) 2005-03-04 2013-09-10 Oracle America, Inc. Method and apparatus for reducing bandwidth usage in secure transactions
US7769168B2 (en) 2005-03-31 2010-08-03 Microsoft Corporation Locally interative encryption generating compliant ciphertext for general syntax specifications
EP1727328A1 (de) 2005-05-25 2006-11-29 Alcatel Netzknoten, Modul dafür und Verteilungsmethode
ATE433250T1 (de) 2005-06-17 2009-06-15 Ericsson Telefon Ab L M Verfahren und vorrichtung für das host-identitäts-protokoll
US7840489B2 (en) 2005-07-01 2010-11-23 Sony Corporation Key sharing for DRM interoperability
US8781967B2 (en) 2005-07-07 2014-07-15 Verance Corporation Watermarking in an encrypted domain
US8050405B2 (en) * 2005-09-30 2011-11-01 Sony Ericsson Mobile Communications Ab Shared key encryption using long keypads
US20070083467A1 (en) 2005-10-10 2007-04-12 Apple Computer, Inc. Partial encryption techniques for media data
US20070127458A1 (en) * 2005-12-06 2007-06-07 Micrel, Inc. Data communication method for detecting slipped bit errors in received data packets
US20070220118A1 (en) * 2006-03-15 2007-09-20 Loyer Douglas E Systems, Methods, and Apparatus for Delivering Randomly Accessible Audio and Video Media
US7333921B2 (en) * 2006-05-09 2008-02-19 Stephen Taylor Scalable, concurrent, distributed sensor system and method
US7934000B2 (en) 2006-12-14 2011-04-26 Adobe Systems Incorporated Real-time communication using inter-process communications
US8243924B2 (en) * 2007-06-29 2012-08-14 Google Inc. Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
US7961878B2 (en) 2007-10-15 2011-06-14 Adobe Systems Incorporated Imparting cryptographic information in network communications
US20090238365A1 (en) 2008-03-20 2009-09-24 Kinamik Data Integrity, S.L. Method and system to provide fine granular integrity to digital data
US8009620B2 (en) 2008-05-09 2011-08-30 Nokia Siemens Networks Oy Variable header types for persistent resource allocation in a wireless network
US8051287B2 (en) 2008-10-15 2011-11-01 Adobe Systems Incorporated Imparting real-time priority-based network communications in an encrypted communication session

Also Published As

Publication number Publication date
US20110302417A1 (en) 2011-12-08
US9055051B2 (en) 2015-06-09
US8284932B2 (en) 2012-10-09
CN101861721B (zh) 2014-07-30
KR101563906B1 (ko) 2015-10-28
KR20100099109A (ko) 2010-09-10
US8542825B2 (en) 2013-09-24
WO2009052118A3 (en) 2009-07-02
CN101861721A (zh) 2010-10-13
US20140173278A1 (en) 2014-06-19
US20090097651A1 (en) 2009-04-16
US7961878B2 (en) 2011-06-14
WO2009052118A2 (en) 2009-04-23
US20120233467A1 (en) 2012-09-13

Similar Documents

Publication Publication Date Title
DE112008002768T5 (de) Übermitteln von kryptografischer Information in Netzwerkübertragungen
CN104735164B (zh) 一种保存文件信息的方法和装置
DE202017100417U1 (de) Sichere Verbindungen für Niedrigenergie-Geräte
DE60312659T2 (de) Leichtgewicht identifizierung von informationen
DE60100317T2 (de) Verfahren zum Bereitstellen von Kundenzugriff auf einen inhaltanbietenden Server unter Kontrolle eines resoursenlokalisierenden Servers
US20090287826A1 (en) Many-to-One Mapping of Host Identities
CN107483627A (zh) 一种文件分发、下载方法、分发服务器、客户端及系统
DE112015004270T5 (de) Übertragung von Anwendungsdaten zwischen Vorrichtungen
US8291481B2 (en) Sessionless redirection in terminal services
DE102015209241A1 (de) Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung)
KR20040055674A (ko) 클라이언트 세션 페일오버 제공 방법 및 그 장치,클라이언트 세션 재설정 방법 및 페일오버 방법
DE112012005564T5 (de) Sichere Peer-Ermittlung und Authentifizierung unter Verwendung eines gemeinsamen Geheimnisses
CN107222504B (zh) 一种p2p通信方法以及系统
US10666738B2 (en) Managing topic updates for a distributed data system
CN107465725A (zh) 基于客户信息控制系统的异构长事务处理系统及方法
CN109104472B (zh) 区块链网络组网方法、装置、设备及计算机可读存储介质
US9015292B2 (en) Method, apparatus and computer program product for providing composite capability information for devices in distributed networks
WO2005074189A1 (de) Schaltungsanordnung und verfahren zur kommunikationssicherheit innerhalb von kommunikationsnetzen
US20080126947A1 (en) Customizable User Interface
CN103716199B (zh) 一种跨协议的p2p安全内容监管方法
US20190191222A1 (en) Method and system of content distribution in the data transfer network with built-in mechanism of conditional access
CN104506524B (zh) 区分用户域且对网络接入服务器透明的aaa系统及方法
CN111770101B (zh) 接入区块链网络的系统及方法
CN115484432A (zh) 一种进入视联网会议的方法和装置
DE112022000963T5 (de) Verbindungsbeständige mehrfaktorauthentifizierung

Legal Events

Date Code Title Description
R012 Request for examination validly filed

Effective date: 20130920

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0009000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0009000000

Effective date: 20140115

R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS, INC., SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE

R002 Refusal decision in examination/registration proceedings
R003 Refusal decision now final