DE112008002768T5 - Übermitteln von kryptografischer Information in Netzwerkübertragungen - Google Patents
Übermitteln von kryptografischer Information in Netzwerkübertragungen Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key 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/0841—Key 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/80—Wireless
Abstract
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-Umgebung100 , in der kryptografische Information in Netzwerkkommunikationen übermittelt wird. Die Client-Server-Umgebung100 kann sowohl verschlüsselte wie auch unverschlüsselte Sitzungen unterstützen, die beide die Verwendung eines Handschlages150 beinhalten können, der eine Authentisierung oder andere Übertragungsprotokolle beinhaltet. Kryptografische Information kann in einem vorher bestehenden Abschnitt des Handschlages150 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 Servercomputer110 . Der Servercomputer110 kann beispielsweise ein Flash® Media-Server sein, der von der Firma Adobe Systems Incorporated aus San José, Kalifornien vertrieben wird. Der Servercomputer110 kann ein Netzwerk120 (beispielsweise das Internet) zur Übertragung an einen oder mehrere erste Clientcomputer130 und einen oder mehrere zweite Clientcomputer140 einsetzen. Die Handschläge150a und150b gehen Sitzungen135 und145 voraus und können kryptografische Information von dem Server110 beinhalten, von deren Vorhandensein der Client130 beziehungsweise die Clients130 gegebenenfalls nichts weiß beziehungsweise wissen. - Die Sitzungsanfangshandschläge
150a und150b 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äge150a und150b 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äge150a und150b 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 Servercomputer110 und dem Clientcomputer beziehungsweise den Clientcomputern140 gesendet werden, wobei der Clientcomputer beziehungsweise die Clientcomputer130 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 Servercomputer110 unter Verwendung des Sitzungsanfangshandschlages150a sein. Der erste Clientcomputer130 kann beispielsweise eine ältere Version des Flash® Player-Programms beinhalten, das eine Sitzung mit dem Servercomputer (beispielsweise dem Flash® Media-Server) beginnt. Der Server110 kann kryptografische Information in dem Block von Zufallsdaten in einer Netzwerkkommunikation zur Bildung eines Teiles des Handschlages150a beinhalten. Versagt der erste Clientcomputer130 beim Erkennen dieser kryptografischen Information und sendet daher keine angemessene kryptografische Rückgabeinformation, so ist die Sitzung135 , die mit dem Server110 eingerichtet worden ist, eine unverschlüsselte Sitzung. Man beachte hierbei, dass andere Aspekte der Interaktionen zwischen dem Server110 und dem Client130 ebenfalls von diesem Versagen seitens des Computers130 betroffen sein können, da der Server110 nach dem Handschlag150a Wissen dahingehend hat, dass auf dem Computer130 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 Servercomputer110 unter Verwendung des Sitzungsanfangshandschlages150b sein. Der zweite Clientcomputer140 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 Server110 kann kryptografische Information in dem Block von Zufallsdaten in einer Netzwerkkommunikation zur Bildung eines Teiles des Handschlages150b beinhalten. Der zweite Clientcomputer140 kann diese kryptografische Information erkennen und geeignete kryptografische Rückgabeinformation senden. Dies ermöglicht dann, dass die Sitzung145 , die mit dem Server110 eingerichtet worden ist, eine verschlüsselte Sitzung ist. Man beachte, dass andere Aspekte der Interaktionen zwischen dem Server110 und dem Client140 ebenfalls von dem Handschlag150b betroffen sein können, da der Server110 nach dem Handschlag150b Wissen dahingehend besitzt, dass auf dem Computer140 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 Netzwerkkommunikation300 . Die Netzwerkkommunikation300 kann beispielsweise als Teil der Handschläge150a und150b verwendet werden, die den Sitzungen135 und145 vorhergehen. Die Netzwerkkommunikation300 beinhaltet einen vordefinierten Abschnitt310 , der Zufallsdaten beinhaltet. Zusätzlich beinhaltet der vordefinierte Abschnitt310 eingebettete kryptografische Information an einem Ort bzw. Speicherort320 . 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 Abschnittes310 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 Ort320 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 in3 derart dargestellt ist, dass er gänzlich in dem vordefinierten Abschnitt310 enthalten ist, sollte einsichtig sein, dass entweder der Beginn oder das Ende der kryptografischen Information am Beginn oder am Ende des vordefinierten Abschnittes310 sein kann, so beispielsweise benachbart entweder zu einem Header330 oder einer Nutzlast (payload)340 . Der Header330 und die Nutzlast340 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 Servercomputer110 und den Clientcomputern130 und140 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 Nutzlast340 kann weitere Information der Netzwerkkommunikation300 beinhalten, so beispielsweise Parameter, die zum Einrichten der Sitzung auf der Clientvorrichtung des Anwenders verwendet werden können. So kann die Nutzlast340 beispielsweise Information über die Sitzung beinhalten. Bei einigen Implementierungen kann die Nutzlast340 Prüfsummeninformation beinhalten, die zum Testen der Unversehrtheit der Nutzlast340 und/oder der gesamten Netzwerkkommunikation300 verwendet werden kann. -
2 zeigt ein Beispiel für einen Prozess200 des Übermittelns von kryptografischer Information in Netzwerkkommunikationen. Ein vordefinierter Abschnitt einer Netzwerkkommunikation, der Zufallsdaten beinhaltet, wird empfangen, siehe210 . Der Abschnitt310 kann beispielsweise von dem Computer140 empfangen werden. Der Ort der kryptografischen Information in dem vorbestimmten Abschnitt der Netzwerkkommunikation kann identifiziert werden, siehe220 . So kann der Computer140 beispielsweise wenigstens einen Teil der Netzwerkkommunikation300 zur Bestimmung des Ortes verwenden. Dieser Teil der Netzwerkkommunikation300 kann aus dem Abschnitt310 , aus dem Header330 , aus der Nutzlast340 oder aus Kombinationen hieraus stammen. Bei einigen Implementierungen können ein oder mehrere Teile der Netzwerkkommunikation300 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, siehe240 . 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-Umgebung400 , in der kryptografische Information in Netzwerkkommunikationen zur Verwendung beim Abspielen von Medieninhalt übermittelt wird. Die Client-Server-Umgebung400 beinhaltet einen Clientcomputer402 und einen Medienserver (media server)404 . Der Medienserver404 kann Medieninhalt406 für den Clientcomputer402 bereitstellen. So kann der Medienserver404 beispielsweise ein Flash® Media-Serverprogramm beinhalten. Der Medieninhalt406 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 Medium412 , einen Prozessor414 und ein oder mehrere Schnittstellenvorrichtungen416 beinhalten. Das computerlesbare Medium412 kann einen oder mehrere Festplattenlaufwerke, externe Laufwerke, magnetische Platten, optische Platten, Bandlaufwerke, Speichervorrichtungen und dergleichen mehr beinhalten. Der Prozessor414 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 Schnittstellenvorrichtungen416 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 Schnittstellenvorrichtungen416 können eine grafische Anwenderschnittstelle (GUI) unterstützen, durch die der Anwender die Ausgabe einer Media Player-Anwendung408 sieht, hört oder auf andere Weise wahrnimmt. - Die Software/Firmware kann die Media Player-Anwendung
408 und eine Anwendungsausführungsumgebung410 beinhalten. Die Media Player-Anwendung408 kann beispielsweise ein Flash® Player-Programm sein, das auf einem Heim-PC oder einer anderen elektronischen Vorrichtung installiert ist. Die Media Player-Anwendung408 kann in der Anwendungsausführungsumgebung410 laufen, die ein Betriebssystem (OS) für den Computer402 ist, oder eine Cross-OS-Laufzeitumgebung, die auf dem Computer402 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 Medienserver404 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 Prozess500 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-Umgebung400 . Der Prozess500 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 Netzwerkkommunikation300 , die von dem Clientcomputer gesendet wird, der Server beispielsweise an einer vorbestimmten Byteposition innerhalb des vorbestimmten Abschnittes310 nachschauen. Ein erster Index in den vorbestimmten Abschnitt kann auf Grundlage des abgerufenen ersten Abschnittes bestimmt werden, siehe504 . 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 Abschnittes310 , 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 Nutzlast340 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 Netzwerkkommunikation300 beinhalten. Wird der Nachrichtenauthentisierungscode nicht bestätigt, siehe508 , so kann der Prozess500 prüfen, siehe510 , ob eine erste Rückfallposition verfügbar ist. Dies erfolgt dann, wenn der erste bestimmte Index, siehe504 , beim Ausfindigmachen eines Nachrichtenauthentisierungscodes, der zur Authentisierung506 der Netzwerkkommunikation verwendbar ist, versagt. - In diesem Fall können ein oder mehrere Rückfallalgorithmen zum Abrufen
502 des ersten Abschnittes und Bestimmen504 des ersten Indexes bereitstehen. Jeder Rückfallalgorithmus kann sich einer anderen Technik zum Abrufen502 des ersten Abschnittes und/oder Bestimmen504 des ersten Indexes bedienen (Bestimmen504 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 Prozess500 , ohne dass die Netzwerkkommunikation authentisiert worden wäre. - Wird der Nachrichtenauthentisierungscode bestätigt, siehe
508 , so wird ein zweiter Abschnitt der Zufallsdaten abgerufen, siehe512 . So kann bei der von dem Clientcomputer gesendeten Netzwerkkommunikation300 der Server an einer weiteren vorbestimmten Byteposition innerhalb des vorbestimmten Abschnittes310 nachschauen. Ein zweiter Index in den vordefinierten Abschnitt kann auf Grundlage des abgerufenen zweiten Abschnittes bestimmt werden, siehe514 . 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 Abschnittes310 , 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 Nutzlast340 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 Netzwerkkommunikation300 beinhalten. Werden die Verschlüsselungsparameter nicht bestätigt, siehe518 , so kann der Prozess500 prüfen, siehe520 , ob ein zweiter Rückfallabschnitt verfügbar ist. Dies erfolgt dann, wenn der bestimmte zweite Index, siehe514 , 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 Bestimmen514 des zweiten Indexes vorgesehen sein. Jeder Rückfallalgorithmus kann sich einer anderen Technik zum Abrufen512 des ersten Abschnittes und/oder Bestimmen514 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 Prozess500 , ohne dass die Verschlüsselungsparameter bestätigt worden wären. - Werden die Verschlüsselungsparameter bestätigt, siehe
518 , so kann eine Bestimmung522 dahingehend erfolgen, ob eine verschlüsselte Sitzung erwünscht ist. Die Verschlüsselungsparameter können beispielsweise Information dahingehend beinhalten, dass die Sitzung (beispielsweise die Sitzung145 ) eine verschlüsselte Sitzung sein soll. Ist dem so, so wird die verschlüsselte Sitzung initiiert, siehe524 . 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 Clientcomputer402 (beispielsweise unter Ausführung des Flash® Player-Programms) und dem Medienserver404 (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, siehe528 . 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 Handschlag150 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)
- 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.
- Verfahren nach Anspruch 1, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
- 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.
- 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.
- 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.
- 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.
- 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.
- Computerlesbares Medium nach Anspruch 7, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
- 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.
- 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.
- 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.
- 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.
- 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.
- System nach Anspruch 13, wobei die Clientcomputer mobile Vorrichtungen umfassen.
- System nach Anspruch 13, wobei Identifizieren des Ortes ein Verwenden wenigstens eines Teiles der Netzwerkkommunikation zur Bestimmung des Ortes umfasst.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
2007
- 2007-10-15 US US11/872,661 patent/US7961878B2/en active Active
-
2008
- 2008-10-14 WO PCT/US2008/079886 patent/WO2009052118A2/en active Application Filing
- 2008-10-14 DE DE112008002768T patent/DE112008002768T5/de not_active Ceased
- 2008-10-14 CN CN200880116205.9A patent/CN101861721B/zh active Active
- 2008-10-14 KR KR1020107010247A patent/KR101563906B1/ko not_active IP Right Cessation
-
2011
- 2011-06-10 US US13/158,221 patent/US8542825B2/en active Active
- 2011-11-23 US US13/304,304 patent/US8284932B2/en active Active
-
2013
- 2013-09-16 US US14/027,891 patent/US9055051B2/en active Active
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 |