DE102015209241A1 - Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung) - Google Patents

Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung) Download PDF

Info

Publication number
DE102015209241A1
DE102015209241A1 DE102015209241.0A DE102015209241A DE102015209241A1 DE 102015209241 A1 DE102015209241 A1 DE 102015209241A1 DE 102015209241 A DE102015209241 A DE 102015209241A DE 102015209241 A1 DE102015209241 A1 DE 102015209241A1
Authority
DE
Germany
Prior art keywords
security
connection
instant messaging
message
established
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.)
Pending
Application number
DE102015209241.0A
Other languages
English (en)
Inventor
Mitchell D. Adler
Brouwer Michael L. H.
Conrad Sauerwald
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.)
Apple Inc
Original Assignee
Apple 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
Application filed by Apple Inc filed Critical Apple Inc
Publication of DE102015209241A1 publication Critical patent/DE102015209241A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/18Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels

Abstract

Es ist ein Verfahren und eine Vorrichtung eines Gerätes beschrieben, das einem Benutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht, indem es mit einer Verbindung mit niedriger Sicherheit beginnt, bevor es auf eine Verbindung mit hoher Sicherheit umschaltet. Das Gerät baut gleichzeitig eine Verbindung mit niedriger Sicherheit und eine Verbindung mit hoher Sicherheit mit einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung auf. Das Gerät sendet eine erste Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit, während die Verbindung mit hoher Sicherheit aufgebaut wird. Außerdem stellt das Gerät fest, ob die Verbindung mit hoher Sicherheit aufgebaut ist. Falls die Verbindung mit hoher Sicherheit aufgebaut ist, kann das Gerät über die Verbindung mit hoher Sicherheit eine zweite Nachricht an den Remoteteilnehmer senden. Falls die Verbindung mit hoher Sicherheit noch nicht aufgebaut ist, kann das Gerät die zweite Nachricht über die Verbindung mit niedriger Sicherheit an den Remoteteilnehmer senden.

Description

  • In Beziehung stehende Angelegenheiten
  • Diese Anmeldung beansprucht den Vorteil des älteren Anmeldedatums der Provisional Application Nr. 62/005,794, die am 30. Mai 2014 eingereicht wurde und den Titel ”Efficient Secure Instant Messaging” trägt.
  • Gebiet der Offenbarung
  • Diese Offenbarung bezieht sich im Allgemeinen auf digitale Datenübertragung und insbesondere auf Geräte für elektronische Nachrichtenübermittlung.
  • HINTERGRUND
  • Instant Messaging ist eine Art von Online-Chat, die Übertragung von Text und/oder Multimedia-Objekten in Echtzeit zwischen zwei oder mehr Teilnehmern über das Internet oder eine andere Art von Netzwerk bietet. Da eine große Bandbreite an Instant-Messaging-Tools immer beliebter wird, werden ihnen alle Arten von Informationen anvertraut, einschließlich sehr sensibler Daten. Folglich gewinnt die Notwendigkeit, Instant-Messaging-Dienste sicherer zu machen, immer mehr an Bedeutung.
  • Während viele weitverbreitete Instant-Messaging-Lösungen keinerlei Schutz bieten, haben andere bereits mit dem Hinzufügen von Sicherheitsfunktionalität begonnen. Einige Instant-Messaging-Tools bieten eine niedrige Sicherheitsstufe, z. B. sie verschlüsseln oder entschlüsseln Nachrichten dergestalt, dass nur der eigentliche Benutzer sie verstehen kann, oder sie authentifizieren die Identität des Absenders der Nachrichten. Einige Instant-Messaging-Tools bieten eine höhere Sicherheitsstufe, indem sie kryptografische Protokolle verwenden wie beispielsweise Off-the-Record Messaging (OTR) und Transport Layer Security (TLS). Deshalb können diese Instant-Messaging-Tools außer Authentifizierung und Verschlüsselung Sicherheitsfunktionaltiät wie Perfect Forward Secrecy und verformbare Verschlüsselung (malleable encryption) bieten.
  • Perfect Forward Secrecy bedeutet, dass Nachrichten nur mit temporären, pro Nachricht erstellten AES-Schlüsseln verschlüsselt werden, die unter Verwendung des Diffie-Hellman-Schlüsselaustauschprotokolls verhandelt werden. Die Gefährdung langlebiger kryptografischer Schlüssel gefährdet keine vorherigen Konversationen, auch wenn ein Angreifer im Besitz von verschlüsselten Informationen aus den vorherigen Konversationen ist. Verformbare Verschlüsselung bietet den Teilnehmern die Möglichkeit, ihre Gespräche glaubhaft zu bestreiten, d. h. ein Gegner wird nicht in der Lage sein, zu beweisen, dass die Teilnehmer eine Konversation geführt haben oder etwas Bestimmtes gesagt haben.
  • Der wichtigste Beweggrund für die hohe Sicherheitsstufe für Instant-Messaging-Tools war die Bereitstellung von Bestreitbarkeit für Konversationsteilnehmer bei gleichzeitiger Geheimhaltung von Konversationen, wie ein privates Gespräch im wahren Leben oder Hintergrundgespräche bei der journalistischen Informationsbeschaffung. Dies steht im Gegensatz zu Instant-Messaging-Tools mit niedriger Sicherheitsstufe, die Ausgaben erzeugen, die später als nachprüfbare Aufzeichnungen des Kommunikationsereignisses und der Identität der Teilnehmer verwendet werden können.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es wird ein Verfahren und eine Vorrichtung eines Gerätes beschrieben, das einem Benutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht, indem es mit einer Verbindung mit niedriger Sicherheit beginnt, bevor es auf eine Verbindung mit hoher Sicherheit umschaltet. In einer beispielhaften Ausführungsform baut das Gerät gleichzeitig eine Verbindung mit niedriger Sicherheit und eine Verbindung mit hoher Sicherheit mit einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung auf. Das Gerät sendet eine erste Nachricht an den Remoteteilnehmer der Secure-Instant-Messaging-Sitzung über die Verbindung mit niedriger Sicherheit, während die Verbindung mit hoher Sicherheit aufgebaut wird. Das Gerät stellt fest, ob die Verbindung mit hoher Sicherheit aufgebaut ist. Falls die Verbindung mit hoher Sicherheit aufgebaut ist, kann das Gerät über die Verbindung mit hoher Sicherheit eine zweite Nachricht an den Remoteteilnehmer senden. Falls die Verbindung mit hoher Sicherheit noch nicht aufgebaut ist, kann das Gerät die zweite Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit senden.
  • In einer Ausführungsform empfängt das Gerät Anfragen von einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung, um eine Verbindung mit hoher Sicherheit und eine Verbindung mit niedriger Sicherheit aufzubauen. Das Gerät baut gleichzeitig die Verbindung mit hoher Sicherheit und die Verbindung mit niedriger Sicherheit mit dem Remoteteilnehmer auf. Das Gerät kann eine erste Nachricht von dem Remoteteilnehmer über die Verbindung mit niedriger Sicherheit empfangen, während die Verbindung mit hoher Sicherheit aufgebaut wird. Das Gerät stellt fest, ob die Verbindung mit hoher Sicherheit aufgebaut ist. Falls die Verbindung mit hoher Sicherheit aufgebaut ist, kann das Gerät über die Verbindung mit hoher Sicherheit eine zweite Nachricht an den Remoteteilnehmer senden. Falls die Verbindung mit hoher Sicherheit noch nicht aufgebaut ist, kann das Gerät die zweite Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit senden.
  • In einer Ausführungsform verwendet die Verbindung mit niedriger Sicherheit ein kryptografisches Protokoll, das keine Perfect Forward Secrecy oder verformbare Verschlüsselung bietet. In einer Ausführungsform verwendet die Verbindung mit hoher Sicherheit ein kryptografisches Protokoll, das mindestens Perfect Forward Secrecy oder verformbare Verschlüsselung bietet. In einer Ausführungsform verwendet die Verbindung mit hoher Sicherheit das Off-the-Record-Messaging-Protokoll (OTR) oder das Transport-Layer-Security-Protokoll (TLS). In einer Ausführungsform werden die erste und die zweite Nachricht von einem lokalen Teilnehmer der Secure-Instant-Messaging-Sitzung empfangen.
  • Es ist ein Verfahren und eine Vorrichtung eines Gerätes beschrieben, das einem Benutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht, indem es gleichzeitig mehrere verschiedene Arten von Secure-Instant-Messaging-Kanälen verhandelt. In einer Ausführungsform baut das Gerät gleichzeitig mehrere Secure-Instant-Messaging-Kanäle mit einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung auf. Jeder Secure-Instant-Messaging-Kanal bietet einen anderen Satz von Funktionalitäten. Das Gerät kann einen der Kanäle aufgrund eines Satzes von Kriterien auswählen. Das Gerät sendet dann eine Nachricht an den Remoteteilnehmer über den ausgewählten Kanal.
  • In einer Ausführungsform beinhaltet der Satz von Kriterien, ob ein Kanal aufgebaut worden ist. In einer Ausführungsform beinhaltet der Satz von Kriterien, ob der Satz von Funktionalitäten eines Kanals die höchste Sicherheit bietet. In einer Ausführungsform beinhaltet der Satz von Kriterien, ob der Satz von Funktionalitäten eines Kanals eine oder mehrere sicherheitsbezogene Funktionalitäten beinhaltet. In einer Ausführungsform beinhaltet der Satz von Kriterien, ob der Satz von Funktionalitäten eines Kanals eine oder mehrere nicht sicherheitsbezogene Funktionalitäten beinhaltet.
  • Es sind auch andere Verfahren und Geräte beschrieben. Es sind außerdem nichtflüchtige maschinenlesbare Speichermedien beschrieben, die ein ausführbares Computerprogramm enthalten, das, wenn es ausgeführt wird, dazu führt, dass das Datenverarbeitungssystem eine oder mehrere Verfahren dieser Offenbarung durchführt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Offenbarung ist beispielhaft und nicht beschränkend in den Figuren der entsprechenden Zeichnungen gezeigt, in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen.
  • 1 ist ein Diagramm, das die Schritte einer Ausführungsform zeigt, mit denen zwei Benutzer effizient an einer Secure-Instant-Messaging-Sitzung teilnehmen können.
  • 2 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses für die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch einen initiierenden Benutzer auf einem Gerät.
  • 3 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses für die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch einen Zielbenutzer auf einem Gerät.
  • 4 zeigt ein detailliertes Diagramm eines Gerätes einer Ausführungsform, das an einer Secure-Instant-Messaging-Sitzung teilnimmt.
  • 5 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses für die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch das gleichzeitige Verhandeln mehrerer verschiedener Arten von Secure-Instant-Messaging-Kanälen auf einem Gerät.
  • 6 zeigt ein Beispiel eines Datenverarbeitungssystems, das mit einer Ausführungsform verwendet werden kann.
  • 7 zeigt ein Beispiel eines anderen Datenverarbeitungssystems, das mit einer Ausführungsform verwendet werden kann.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es ist ein Verfahren und eine Vorrichtung eines Gerätes beschrieben, das einem Benutzer die effiziente Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht. In der folgenden Beschreibung sind zahlreiche spezifische Details dargelegt, um die Ausführungsformen der Offenbarung ausführlich zu erklären. Für den Fachmann wird jedoch offensichtlich sein, dass Ausführungsformen der Offenbarung ohne diese spezifischen Details umgesetzt werden können. In anderen Fällen werden bekannte Komponenten, Strukturen und Techniken nicht im Detail gezeigt, um das Verständnis dieser Beschreibung nicht unklar zu machen.
  • Die Bezugnahme auf ”eine Ausführungsform” in der Spezifikation bedeutet, dass ein bestimmtes Merkmal oder eine bestimmte Struktur bzw. Eigenschaft, das/die im Zusammenhang mit der Ausführungsform beschrieben ist, in mindestens einer Ausführungsform der Offenbarung mit eingeschlossen werden kann. Die Verwendung des Ausdrucks ”in einer Ausführungsform” an verschiedenen Stellen in der Spezifikation bezieht sich nicht zwangsläufig immer auf dieselbe Ausführungsform.
  • In der nachfolgenden Beschreibung und den Ansprüchen werden die Begriffe ”gekoppelt” und ”verbunden” nebst davon abgeleiteten Begriffen verwendet. Es ist zu beachten, dass diese Begriffe nicht als Synonyme für einander gelten sollen. ”Gekoppelt” wird verwendet, um anzuzeigen, dass zwei oder mehr Elemente, die in direktem physikalischen oder elektrischen Kontakt miteinander stehen können oder nicht, zusammenarbeiten oder interagieren. ”Verbunden” wird verwendet, um den Kommunikationsaufbau zwischen zwei oder mehr Elementen anzuzeigen, die miteinander gekoppelt sind.
  • Die Prozesse, die in den nachfolgenden Figuren dargestellt sind, werden von einer Prozesslogik durchgeführt, die Hardware umfasst (z. B. Schaltung, dedizierte Logik etc.), Software (wie sie auf einem Universalgerät oder dedizierten Rechner verwendet wird) oder eine Kombination aus beidem. Obwohl die Prozesse im Folgenden in Bezug auf einige aufeinanderfolgende Operationen beschrieben sind, sei erwähnt, dass einige der beschriebenen Operationen in einer anderen Reihenfolge durchgeführt werden können. Darüber hinaus können einige Operationen parallel statt nacheinander durchgeführt werden.
  • Die Begriffe ”Server”, ”Client” und ”Gerät” sollen sich mehr auf Datenverarbeitungssysteme im Allgemeinen beziehen als auf einen bestimmten Formfaktor des Servers, Clients und/oder Gerätes.
  • Es ist ein Verfahren und eine Vorrichtung eines Gerätes beschrieben, das einem Benutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht, indem es mit einer Verbindung mit niedriger Sicherheit beginnt, bevor es auf eine Verbindung mit hoher Sicherheit umschaltet. In einer Ausführungsform verwendet das Gerät zunächst eine Verbindung mit niedriger Sicherheit, um Nachrichten zu senden oder zu empfangen, während eine Verbindung mit hoher Sicherheit aufgebaut wird. Sobald die Verbindung mit hoher Sicherheit aufgebaut ist, stellt das Gerät die Verwendung der Verbindung mit niedriger Sicherheit ein und beginnt mit der Verwendung der Verbindung mit hoher Sicherheit, um Nachrichten zu senden oder zu empfangen. Dadurch können etwaige Verzögerungen beim Senden bzw. Empfangen von Nachrichten vermieden werden, die durch Warten auf das Senden und Empfangen von Nachrichten, bis die Verbindung mit hoher Sicherheit aufgebaut worden ist, entstehen können, und bieten eine hohe Sicherheitsstufe für die Instant-Messaging-Sitzung, sobald die Verbindung aufgebaut ist.
  • Wenn Benutzerin Alice eine Instant-Messaging-Konversation mit hoher Sicherheit mit Benutzer Bob führen möchte, muss sie zunächst eine Verbindung mit hoher Sicherheit aufbauen (z. B. eine Verbindung, die das OTR-Protokoll oder das TLS-Protokoll verwendet), bevor sie ihre erste Nachricht an Bob senden kann. Bei Verwendung des OTR-Protokolls für die Verbindung mit hoher Sicherheit dauert es beispielsweise zweieinhalb Umläufe (Round Trips), bis Alice tatsächlich ihre erste Nachricht über die Verbindung mit hoher Sicherheit an Bob senden kann. Wenn sowohl Alice als auch Bob während der Initialisierung der Instant-Messaging-Sitzung mit hoher Sicherheit online sind, stellen die zweieinhalb Umläufe kein Problem dar. In einem extremen Szenario leben Alice und Bob jedoch am jeweils anderen Ende der Welt, z. B. Alice befindet sich in Tokio und Bob in New York. Somit ist Bob immer offline wenn Alice online ist, und umgekehrt. Folglich könnte es zweieinhalb Tage dauern, bis die zweieinhalb Umläufe abgeschlossen sind, was für die meisten Benutzer von Instant-Messaging-Diensten inakzeptabel ist.
  • In einer Ausführungsform können Alice und Bob einander über eine Verbindung mit niedriger Sicherheit Nachrichten senden, während sie versuchen, eine Verbindung mit hoher Sicherheit aufzubauen. Erst nachdem die Verbindung mit hoher Sicherheit aufgebaut worden ist, d. h. die Verhandlungen über den Aufbau der Verbindung mit hoher Sicherheit abgeschlossen sind, schalten Alice und Bob um auf die Verbindung mit hoher Sicherheit, um einander Nachrichten zu senden. In einer Ausführungsform verwendet die Verbindung mit hoher Sicherheit kryptografische Protokolle, (z. B. OTR und TLS), die eine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung bieten. In einer Ausführungsform verwendet eine Verbindung mit niedriger Sicherheit kryptografische Protokolle, die Authentifizierung und/oder Verschlüsselung bieten, doch diese kryptografischen Protokolle bieten keine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung. Eine Verbindung mit niedriger Sicherheit kann sofort aufgebaut werden, ohne dass vorher mehrere Handshake-Umläufe durchlaufen werden müssen. Alice und Bob können deshalb durch die Verwendung einer Verbindung mit niedriger Sicherheit sofort mit dem Chatten beginnen, während sie gleichzeitig eine Verbindung mit hoher Sicherheit aufbauen.
  • 1 ist ein Diagramm 100, das die Schritte einer Ausführungsform zeigt, mit denen zwei Benutzer effizient an einer Secure-Instant-Messaging-Sitzung teilnehmen können. Insbesondere zeigt diese Figur, wie die Benutzer Alice und Bob an der Secure-Instant-Messaging-Sitzung teilnehmen, indem sie mit einer Verbindung mit niedriger Sicherheit beginnen, bevor sie auf eine Verbindung mit hoher Sicherheit umschalten. In einer Ausführungsform können die von Alice und Bob verwendeten Geräte Desktop-Computer, Server, Smartphones, Laptops, Personal Digital Assistants, Musikwiedergabegeräte, Spieleinrichtungen oder beliebige andere Geräte sein, die Instant-Messaging-Programme ausführen können.
  • Wie in 1 gezeigt, initiiert Alice die Secure-Instant-Messaging-Sitzung, indem sie eine Nachricht mit niedriger Sicherheit 105 an Bob sendet, während sie gleichzeitig ein ”Hello” nach einem Hochsicherheitsprotokoll 110 an Bob sendet. Die Nachricht mit niedriger Sicherheit 105 ist die erste Konversationsnachricht der Instant-Messaging-Sitzung. In einer Ausführungsform ist die Nachricht mit niedriger Sicherheit 105 durch Bobs öffentlichen Verschlüsselungsschlüssel verschlüsselt und durch Alices privaten Signaturschlüssel für die Authentifizierung signiert. Das Hochsicherheitsprotokoll ”Hello” 110 ist die erste Handshake-Nachricht der Instant-Messaging-Sitzung, die für den Aufbau einer Verbindung mit hoher Sicherheit zwischen Alice und Bob erforderlich ist. In einer Ausführungsform kann das Hochsicherheitsprotokoll ”Hello” 110 eine Möglichkeit sein, um sicherzustellen, welche Protokollversion von der Verbindung mit hoher Sicherheit verwendet werden wird. Das Hochsicherheitsprotokoll ”Hello” 110 kann beispielsweise eine Anfrage sein, um OTR v2 oder OTR v3 zu initiieren.
  • Nachdem er das Hochsicherheitsprotokoll ”Hello” 110 empfangen hat, sendet Bob ein Hochsicherheitsprotokoll ”Hello Acknowledgement” (”Hello Quittierung”) 115 zurück an Alice. In einer Ausführungsform stimmt das Hochsicherheitsprotokoll ”Hello Acknowledgement” 115 der Protokollversion zu, die von der Verbindung mit hoher Sicherheit verwendet werden soll. Bob kann optional auch mit dem Senden von Nachrichten mit niedriger Sicherheit zurück an Alice beginnen, z. B. eine Nachricht mit niedriger Sicherheit 120. In einer Ausführungsform ist die Nachricht mit niedriger Sicherheit 120 durch Alices öffentlichen Verschlüsselungsschlüssel verschlüsselt und durch Bobs privaten Signaturschlüssel für die Authentifizierung signiert.
  • Nachdem sie das Hochsicherheitsprotokoll ”Hello Acknowledgement” 115 empfangen hat, sendet Alice ein Hochsicherheitsprotokoll ”Agreement” (”Zustimmung”) 125 an Bob. Alice kann optional auch weitere Nachrichten mit niedriger Sicherheit an Bob senden. Als Antwort auf das Hochsicherheitsprotokoll ”Agreement” 125 sendet Bob ein Hochsicherheitsprotokoll ”Agreement Acknowledgement” 130 zurück an Alice. In einer Ausführungsform tauschen das Hochsicherheitsprotokoll ”Agreement” 125 und das Hochsicherheitsprotokoll ”Agreement Acknowledgement” (”Zustimmung Quittierung”) 130 Schlüssel nach der Diffie-Hellman-Methode aus. Sobald Alice das Hochsicherheitsprotokoll ”Agreement Acknowledgement” 130 erfolgreich empfängt, ist die Verbindung mit hoher Sicherheit für die Instant-Messaging-Sitzung zwischen Alice und Bob aufgebaut worden, wie durch die Linie 150 angezeigt.
  • Sobald die Verbindung mit hoher Sicherheit aufgebaut ist, kann Alice mit dem Senden von Nachrichten mit hoher Sicherheit an Bob über die Verbindung mit hoher Sicherheit beginnen, z. B. die Nachricht mit hoher Sicherheit 135, und Bob kann ebenfalls mit dem Senden von Nachrichten mit hoher Sicherheit zurück an Alice über die Verbindung mit hoher Sicherheit beginnen. Durch das Umschalten zwischen der Verbindung mit niedriger Sicherheit und der Verbindung mit hoher Sicherheit kombiniert die Offenbarung die Benutzerfreundlichkeit der Verbindung mit niedriger Sicherheit mit den besseren Sicherheitseigenschaften der Verbindung mit hoher Sicherheit, um eine effizientere Secure-Instant-Messaging-Sitzung zu bilden.
  • Ein Durchschnittsfachmann wird erkennen, dass das Diagramm 100 eine konzeptionelle Darstellung der Schritte ist, die verwendet werden, um eine effizientere Instant-Messaging-Sitzung aufzubauen. Möglicherweise werden die spezifischen Schritte des Diagramms 100 nicht in der exakten Reihenfolge oder in der exakten Anzahl durchgeführt, die angezeigt und beschrieben ist. Die Anzahl der Umläufe zum Aufbau der Verbindung mit hoher Sicherheit kann beispielsweise für verschiedene kryptografische Protokolle, die Sicherheitsfunktionalitäten mit hoher Sicherheitsstufe bieten, unterschiedlich sein.
  • 2 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses 200 für die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch einen initiierenden Benutzer auf einem Gerät. In einer Ausführungsform verwendet die Verbindung mit hoher Sicherheit kryptografische Protokolle, (z. B. OTR und TLS), die eine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung bieten. In einer Ausführungsform verwendet eine Verbindung mit niedriger Sicherheit kryptografische Protokolle, die Authentifizierung und/oder Verschlüsselung bieten, doch diese kryptografischen Protokolle bieten keine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung. In einer Ausführungsform wird der Prozess 200 aufgerufen, wenn Alice versucht, mit Bob eine Secure-Instant-Messaging-Konversation zu beginnen, wie oben in Bezug auf 1 beschrieben, oder wenn eine alte Sitzung zwischen ihnen abgelaufen ist und eine neue Sitzung initiiert werden muss.
  • Der Prozess 200 beginnt mit dem Empfang (in Block 205) einer Anfrage eines lokalen Benutzers, eine erste Nachricht an einen Remotebenutzer zu senden. In einer Ausführungsform ist der lokale Benutzer Alice und der Remotebenutzer Bob, wie oben in 1 beschrieben. In Block 208 baut der Prozess 200 gleichzeitig eine Verbindung mit niedriger Sicherheit und eine Verbindung mit hoher Sicherheit mit dem Remotebenutzer auf. In einer Ausführungsform wird, obwohl der Prozess 200 damit beginnt, die Verbindung mit niedriger Sicherheit und die Verbindung mit hoher Sicherheit gleichzeitig aufzubauen, die Verbindung mit niedriger Sicherheit zuerst aufgebaut.
  • Sobald die Verbindung mit niedriger Sicherheit aufgebaut ist, sendet der Prozess 200 (in Block 210) über die Verbindung mit niedriger Sicherheit die erste Nachricht an den Remotebenutzer, während die Verbindung mit hoher Sicherheit noch aufgebaut wird. In einer Ausführungsform wird die erste Nachricht als Nachricht mit niedriger Sicherheit 105 gesendet, wie oben in 1 beschrieben. In einer Ausführungsform beginnt der Prozess 200 mit dem Aufbau einer Verbindung mit hoher Sicherheit mit dem Remotebenutzer, indem er das Hochsicherheitsprotokoll ”Hello” 110 sendet, wie oben in 1 beschrieben.
  • In Block 215 stellt der Prozess 200 fest, ob eine Anfrage, eine nächste Nachricht an den Remotebenutzer zu senden, von dem lokalen Benutzer empfangen worden ist. Falls eine Anfrage, eine neue Nachricht zu senden, nicht empfangen worden ist, kehrt der Prozess 200 zu Block 215 zurück, um dies nochmals zu überprüfen. Falls eine Anfrage, eine nächste Nachricht zu senden, von dem lokalen Benutzer empfangen worden ist, stellt der Prozess 200 fest (in Block 220), ob die Verbindung mit hoher Sicherheit bereit ist, d. h. ob das kryptografische Protokoll (z. B. OTR oder TLS) das Handshaking abgeschlossen hat und eine Instant-Messaging-Sitzung mit hoher Sicherheit basierend auf dem kryptografischen Protokoll aufgebaut worden ist. In einer Ausführungsform ist die Verbindung mit hoher Sicherheit bereit, wenn die Linie 150, die oben in 1 beschrieben ist, erreicht worden ist.
  • Falls die Verbindung mit hoher Sicherheit bereit ist, sendet der Prozess 200 (in Block 230) die nächste Nachricht an den Remotebenutzer über die Verbindung mit hoher Sicherheit. In einer Ausführungsform ist die nächste Nachricht, die in Block 230 gesendet wird, die Nachricht mit hoher Sicherheit 135, die oben in 1 beschrieben ist. Der Prozess 200 kehrt dann zu dem Block 215 zurück, um zu überprüfen, ob eine neue Nachrichtenanfrage von dem lokalen Benutzer empfangen worden ist.
  • Falls die Verbindung mit hoher Sicherheit noch nicht bereit ist, sendet der Prozess 200 (in Block 225) die nächste Nachricht an den Remotebenutzer über die Verbindung mit niedriger Sicherheit. Der Prozess 200 kehrt dann zu dem Block 215 zurück, um zu überprüfen, ob eine neue Nachrichtenanfrage von dem lokalen Benutzer empfangen worden ist. Der Prozess 200 wird beendet, wenn die Secure-Instant-Messaging-Sitzung beendet (z. B. vom Benutzer) oder abgelaufen ist (z. B. wenn eine bestimmte Zeitspanne ohne Aktivität des Benutzers oder Netzwerkverbindung abgelaufen ist).
  • Ein Durchschnittsfachmann wird erkennen, dass der Prozess 200 eine konzeptionelle Darstellung der Operationen ist, die für die Teilnahme an einer Secure-Instant-Messaging-Sitzung verwendet werden. Möglicherweise werden die spezifischen Operationen des Prozesses 200 nicht in der exakten Reihenfolge, die gezeigt und beschrieben ist, durchgeführt. Möglicherweise werden die spezifischen Operationen nicht in einer kontinuierlichen Folge von Operationen durchgeführt, und verschiedene spezifische Operationen können in verschiedenen Ausführungsformen durchgeführt werden. Außerdem könnte der Prozess 200 unter Verwendung mehrerer Subprozesse oder als Teil eines größeren Makroprozesses implementiert werden. Ein Durchschnittsfachmann wird außerdem erkennen, dass ein lokaler Benutzer und ein Remotebenutzer zwei Benutzer sind, die zwei unterschiedliche Geräte benutzen und sich physisch nahe beieinander befinden können.
  • 3 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses 300, der einem Zielbenutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung auf einem Gerät ermöglicht. In einer Ausführungsform verwendet die Verbindung mit hoher Sicherheit kryptografische Protokolle, (z. B. OTR und TLS), die eine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung bieten. In einer Ausführungsform verwendet eine Verbindung mit niedriger Sicherheit kryptografische Protokolle, die Authentifizierung und/oder Verschlüsselung bieten, doch diese kryptografischen Protokolle bieten keine Sicherheitsfunktionalität mit hoher Sicherheitsstufe wie beispielsweise Perfect Forward Secrecy oder verformbare Verschlüsselung. In einer Ausführungsform wird der Prozess 300 aufgerufen, wenn Bob eine Secure-Instant-Messaging-Konversation von Alice empfängt, wie oben in Bezug auf 1 beschrieben, oder wenn eine alte Sitzung zwischen ihnen abgelaufen ist und Alice versucht, eine neue Sitzung zu initiieren.
  • Der Prozess 300 beginnt mit dem Empfang (in Block 305) von Anfragen von einem Remotebenutzer, eine Verbindung mit hoher Sicherheit und eine Verbindung mit niedriger Sicherheit mit dem lokalen Benutzer aufzubauen. In einer Ausführungsform ist der lokale Benutzer Bob und der Remotebenutzer Alice, wie oben in Bezug auf 1 beschrieben. In einer Ausführungsform werden die Anfragen von dem Remotebenutzer als Hochsicherheitsprotokoll ”Hello” 110 und als Nachricht mit niedriger Sicherheit 105 gesendet, wie oben in Bezug auf 1 beschrieben.
  • In Block 310 baut der Prozess 300 gleichzeitig die Verbindung mit hoher Sicherheit und die Verbindung mit niedriger Sicherheit mit dem Remotebenutzer auf. In einer Ausführungsform baut der Prozess 300 die Verbindung mit hoher Sicherheit durch Senden des Hochsicherheitsprotokolls ”Hello Acknowledgement” 115 und des Hochsicherheitsprotokolls ”Agreement Acknowledgement” 130 sowie durch den Empfang des Hochsicherheitsprotokolls ”Agreement” 125 auf, wie oben in Bezug auf 1 beschrieben. In einer Ausführungsform wird, obwohl der Prozess 300 damit beginnt, die Verbindung mit hoher Sicherheit und die Verbindung mit niedriger Sicherheit gleichzeitig aufzubauen, die Verbindung mit niedriger Sicherheit zuerst aufgebaut.
  • Sobald die Verbindung mit niedriger Sicherheit aufgebaut ist, empfängt der Prozess 300 (in Block 315) über die Verbindung mit niedriger Sicherheit eine erste Nachricht von dem Remotebenutzer, während die Verbindung mit hoher Sicherheit noch aufgebaut wird. In einer Ausführungsform wird die Verbindung mit niedriger Sicherheit sofort aufgebaut, und die erste Nachricht wird als Nachricht mit niedriger Sicherheit 105 empfangen, wie oben in Bezug auf 1 beschrieben.
  • In Block 320 stellt der Prozess 300 fest, ob eine Anfrage, eine Nachricht an den Remotebenutzer zu senden, von dem lokalen Benutzer empfangen worden ist. Falls eine Anfrage, eine neue Nachricht zu senden, nicht empfangen worden ist, kehrt der Prozess 300 zu Block 320 zurück, um dies nochmals zu überprüfen. Falls eine Anfrage, eine neue Nachricht zu senden, von dem lokalen Benutzer empfangen worden ist, stellt der Prozess 300 fest (in Block 325), ob die Verbindung mit hoher Sicherheit bereit ist, d. h. ob das kryptografische Protokoll (z. B. OTR oder TLS) das Handshaking abgeschlossen hat und eine Instant-Messaging-Sitzung mit hoher Sicherheit basierend auf dem kryptografischen Protokoll aufgebaut worden ist. In einer Ausführungsform ist die Verbindung mit hoher Sicherheit bereit, wenn die Linie 150, die oben in 1 beschrieben ist, erreicht worden ist.
  • Falls die Verbindung mit hoher Sicherheit bereit ist, sendet der Prozess 300 (in Block 335) die neue Nachricht an den Remotebenutzer über die Verbindung mit hoher Sicherheit. Der Prozess 300 kehrt dann zu dem Block 320 zurück, um zu überprüfen, ob eine neue Nachrichtenanfrage von dem lokalen Benutzer empfangen worden ist.
  • Falls die Verbindung mit hoher Sicherheit noch nicht bereit ist, sendet der Prozess 300 (in Block 330) die neue Nachricht an den Remotebenutzer über die Verbindung mit niedriger Sicherheit. In einer Ausführungsform wird die neue Nachricht als Nachricht mit niedriger Sicherheit 120 gesendet, wie oben in 1 beschrieben. Der Prozess 300 kehrt dann zu dem Block 320 zurück, um zu überprüfen, ob eine neue Nachrichtenanfrage von dem lokalen Benutzer empfangen worden ist. Der Prozess 300 wird beendet, wenn die Secure-Instant-Messaging-Sitzung beendet (z. B. vom Benutzer) oder abgelaufen ist (z. B. wenn eine bestimmte Zeitspanne ohne Aktivität des Benutzers oder Netzwerkverbindung abgelaufen ist).
  • Ein Durchschnittsfachmann wird erkennen, dass der Prozess 300 eine konzeptionelle Darstellung der Operationen ist, die verwendet werden, um einem Zielbenutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung zu ermöglichen. Möglicherweise werden die spezifischen Operationen des Prozesses 300 nicht in der exakten Reihenfolge, die gezeigt und beschrieben ist, durchgeführt. Beispielsweise und in einer Ausführungsform können die Operationen in Block 315 vor oder gleichzeitig mit den Operationen in den Blöcken 305 und 310 durchgeführt werden. Möglicherweise werden die spezifischen Operationen nicht in einer kontinuierlichen Folge von Operationen durchgeführt, und verschiedene spezifische Operationen können in verschiedenen Ausführungsformen durchgeführt werden. Außerdem könnte der Prozess 300 unter Verwendung mehrerer Subprozesse oder als Teil eines größeren Makroprozesses implementiert werden. Ein Durchschnittsfachmann wird außerdem erkennen, dass ein lokaler Benutzer und ein Remotebenutzer zwei Benutzer sind, die zwei unterschiedliche Geräte benutzen und sich physisch nahe beieinander befinden können.
  • 4 zeigt ein detailliertes Diagramm eines Gerätes 400 einer Ausführungsform, das einem Benutzer die Teilnahme an einer Secure-Instant-Messaging-Sitzung ermöglicht. Insbesondere zeigt diese Figur einen Satz von Modulen für das Umschalten zwischen einer Verbindung mit hoher Sicherheit und einer Verbindung mit niedriger Sicherheit, wenn während der Secure-Instant-Messaging-Sitzung Nachrichten gesendet werden. Das Gerät 400 kann ein Desktop-Computer, Server, Smartphone, Laptop, Personal Digital Assistant, Musikwiedergabegerät, eine Spieleinrichtung oder ein beliebiges anderes Gerät sein, das Instant-Messaging-Programme ausführen kann. In einer Ausführungsform kann das Gerät 400 von dem initiierenden Benutzer und/oder dem Zielbenutzer der Instant-Messaging-Sitzung verwendet werden, wie beispielsweise Alice und Bob aus 1. Wie in 4 gezeigt, beinhaltet das Gerät 400 eine Messaging-Schnittstelle 415, einen Anschluss für hohe Sicherheit 420, einen Anschluss für niedrige Sicherheit 425 sowie ein Verbindungsschaltmodul 430.
  • Die Messaging-Schnittstelle 415 empfängt die Benutzereingabe 410 von einem lokalen Benutzer, der das Gerät 400 für Instant Messaging verwendet. In einer Ausführungsform beinhaltet die Benutzereingabe 410 Text- und/oder Multimediaobjekte, die der lokale Benutzer an einen Remotebenutzer senden möchte. Sobald der lokale Benutzer signalisiert, dass eine Nachricht bereit für den Versand ist, indem er z. B. eine Schaltfläche ”Senden” oder ”Empfangen” auswählt, organisiert die Messaging-Schnittstelle 415 die Benutzereingabe 410 in eine Nachricht 418.
  • Der Anschluss für hohe Sicherheit 420 baut eine Verbindung mit hoher Sicherheit mit einem Remotebenutzer auf. In einer Ausführungsform baut der Anschluss für hohe Sicherheit 420 die Verbindung mit hoher Sicherheit auf, indem er einen Teil der in den Blöcken 208 und 210 beschriebenen Operationen von 2 oben durchführt. In einer anderen Ausführungsform baut der Anschluss für hohe Sicherheit 420 die Verbindung mit hoher Sicherheit auf, indem er einen Teil der in den Blöcken 310 und 315 beschriebenen Operationen von 3 oben durchführt. Der Anschluss für hohe Sicherheit 420 sendet ein Statussignal für die Verbindung mit hoher Sicherheit 435 an das Verbindungsschaltmodul 430, um anzuzeigen, ob die Verbindung mit hoher Sicherheit bereit ist oder nicht. Sobald die Verbindung mit hoher Sicherheit aufgebaut ist, wandelt der Anschluss für hohe Sicherheit 420 die Nachricht 418, die von der Messaging-Schnittstelle 415 empfangen wurde, in eine Nachricht mit hoher Sicherheit 422 um. In einer Ausführungsform ist die Nachricht mit hoher Sicherheit 135, die oben in 1 beschrieben ist, eine Nachricht mit hoher Sicherheit 422, die von dem Anschluss für hohe Sicherheit 420 erzeugt wurde.
  • Der Anschluss für niedrige Sicherheit 425 baut eine Verbindung mit niedriger Sicherheit mit dem Remotebenutzer auf, während der Anschluss für hohe Sicherheit 420 die Verbindung mit hoher Sicherheit aufbaut. In einer Ausführungsform beginnen der Anschluss für niedrige Sicherheit 425 und der Anschluss für hohe Sicherheit 420 gleichzeitig mit dem Verbindungsaufbau, wobei jedoch der Anschluss für niedrige Sicherheit 425 den Aufbau der Verbindung mit niedriger Sicherheit als Erster beendet. Bevor der Anschluss für hohe Sicherheit die Verbindung mit hoher Sicherheit aufbaut, wandelt der Anschluss für niedrige Sicherheit 425 die Nachricht 418, die von der Messaging-Schnittstelle 415 empfangen wurde, in eine Nachricht mit niedriger Sicherheit 428 um. In einer Ausführungsform ist die Nachricht mit niedriger Sicherheit 105, die oben in 1 beschrieben ist, eine Nachricht mit niedriger Sicherheit 428, die von dem Anschluss für niedrige Sicherheit 425 erzeugt wurde. In einer anderen Ausführungsform ist die Nachricht mit niedriger Sicherheit 120, die oben in 1 beschrieben ist, eine Nachricht mit niedriger Sicherheit 428, die von dem Anschluss für niedrige Sicherheit 425 erzeugt wurde.
  • Das Verbindungsschaltmodul 430 empfängt das Statussignal für die Verbindung mit hoher Sicherheit 435 von dem Anschluss für hohe Sicherheit 420 und stellt anhand dieses Signals fest, ob die Verbindung mit hoher Sicherheit bereit ist. Falls die Verbindung mit niedriger Sicherheit noch nicht bereit ist, wählt das Verbindungsschaltmodul 430 die Nachricht mit niedriger Sicherheit 428 aus, die von dem Anschluss für niedrige Sicherheit 425 erzeugt wurde, um diese an den Remotebenutzer zu versenden. Falls die Verbindung mit hoher Sicherheit bereit ist, wählt das Verbindungsschaltmodul 430 die Nachricht mit hoher Sicherheit 422 aus, die von dem Anschluss für hohe Sicherheit 420 erzeugt wurde, um diese an den Remotebenutzer zu versenden. In einer Ausführungsform führt das Verbindungsschaltmodul 430 die oben in den Blöcken 220230 der 2 beschriebenen Operationen durch. In einer anderen Ausführungsform führt das Verbindungsschaltmodul 430 die oben in den Blöcken 325335 der 2 beschriebenen Operationen durch.
  • Das Gerät 400 wurde oben für eine Ausführungsform der Erfindung beschrieben. Ein Durchschnittsfachmann wird erkennen, dass dieses Modul in anderen Ausführungsformen auf andere Weise implementiert werden kann. In einer oben beschriebenen Ausführungsform werden bestimmte Module beispielsweise als Softwaremodule implementiert. In einer anderen Ausführungsform können dagegen einige oder alle Module durch Hardware implementiert werden, wie beispielsweise dedizierte anwendungsspezifische Hardware (z. B. ein ASIC-Chip oder eine ASIC-Komponente) oder einen Universalchip (z. B. ein Mikroprozessor oder FPGA).
  • Die oben in den 14 beschriebenen Ausführungsformen beziehen sich im Allgemeinen auf die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch Umschalten zwischen einer Verbindung mit niedriger Sicherheit und einer Verbindung mit hoher Sicherheit. Ein Durchschnittsfachmann wird erkennen, dass die Anzahl der Verbindungen, die gleichzeitig aufgebaut werden, nicht auf zwei begrenzt ist und dass andere Gründe (abgesehen von der Sicherheit) für das Umschalten von einem auf einen anderen Kanal vorliegen können.
  • 5 zeigt ein Flussdiagramm einer Ausführungsform eines Prozesses 500 für die Teilnahme an einer Secure-Instant-Messaging-Sitzung durch das gleichzeitige Verhandeln mehrerer verschiedener Arten von Secure-Instant-Messaging-Kanälen auf einem Gerät. In einer Ausführungsform bietet jeder Secure-Instant-Messaging-Kanal, der verhandelt wird, einen unterschiedlichen Satz von Funktionalitäten, der sicherheitsbezogene oder nicht sicherheitsbezogene Funktionalitäten beinhalten kann. In einer Ausführungsform, wenn Alice versucht, mit Bob eine Secure-Instant-Messaging-Konversation zu beginnen, wie oben in Bezug auf 1 beschrieben, oder wenn eine alte Sitzung zwischen ihnen abgelaufen ist und eine neue Sitzung initiiert werden muss, kann der Prozess 500 an einem Ende oder an beiden Enden der Konversation eingeleitet werden.
  • Der Prozess 500 beginnt mit dem gleichzeitigen Aufbau (in Block 505) mehrerer Secure-Instant-Messaging-Sitzungen mit einem Remoteteilnehmer der Instant-Messaging-Sitzung. In einer Ausführungsform ist der lokale Teilnehmer Alice und der Remoteteilnehmer Bob, wie oben in Bezug auf 1 beschrieben. In einer anderen Ausführungsform ist der lokale Teilnehmer Bob und der Remoteteilnehmer Alice. In einer Ausführungsform haben verschiedene Kanäle verschiedene Sicherheitsstufen durch die Verwendung verschiedener kryptografischer Protokolle. In einer Ausführungsform haben verschiedene Kanäle, anstatt oder in Verbindung mit verschiedenen Sicherheitsstufen, verschiedene nicht sicherheitsbezogene Funktionalitäten.
  • In Block 510 stellt der Prozess 500 fest, ob eine Anfrage, eine neue Nachricht an den Remoteteilnehmer zu senden, von dem lokalen Teilnehmer empfangen worden ist. Falls eine Anfrage, eine neue Nachricht zu senden, nicht empfangen worden ist, kehrt der Prozess 500 zu Block 510 zurück, um dies nochmals zu überprüfen. Falls eine Anfrage, eine neue Nachricht zu senden, von dem lokalen Teilnehmer empfangen wurde, wählt der Prozess 500 (in Block 515) anhand eines Satzes von Kriterien einen der mehreren Kanäle aus.
  • In einer Ausführungsform stellt der Satz von Kriterien sicher, dass der optimale Kanal ausgewählt wird (z. B. derjenige Kanal, der am benutzerfreundlichsten ist oder die höchste Sicherheitsstufe hat). In einer Ausführungsform beinhaltet der Satz von Kriterien, ob ein Kanal aufgebaut worden ist, d. h. ob die Verhandlungen über den Kanal abgeschlossen worden sind. Nur ein Kanal, der aufgebaut worden ist, kann für den Versand der neuen Nachricht ausgewählt werden. Wenn beispielsweise die Verbindung mit hoher Sicherheit nicht aufgebaut worden ist, wird die Verbindung mit niedriger Sicherheit für den Versand von Nachrichten ausgewählt, da sie ohne Verhandlungen aufgebaut werden kann, wie oben in den 14 beschrieben.
  • In einer Ausführungsform beinhaltet der Satz von Kriterien, ob der Satz von Funktionalitäten eines Kanals eine oder mehrere sicherheitsbezogene Funktionalitäten beinhaltet, z. B. Perfect Forward Secrecy oder verformbare Verschlüsselung. In einer Ausführungsform beinhaltet der Satz von Kriterien, ob der Satz von Funktionalitäten eines Kanals eine oder mehrere nicht sicherheitsbezogene Funktionalitäten beinhaltet. In einer Ausführungsform können Kanäle, die diese Kriterien erfüllen, z. B. die gewünschten Funktionalitäten beinhalten, für den Versand der neuen Nachricht ausgewählt werden. In einer Ausführungsform beinhaltet der Satz von Kriterien, ob ein Kanal die höchste Sicherheitsstufe hat. Wenn beispielsweise die Verbindung mit hoher Sicherheit aufgebaut worden ist, wird die Verbindung mit hoher Sicherheit für den Versand von Nachrichten ausgewählt, da sie die höchste Sicherheitsstufe bietet, wie oben in den 14 beschrieben.
  • In Block 520 sendet der Prozess 500 die neue Nachricht über den ausgewählten Kanal an den Remoteteilnehmer. Der Prozess 500 kehrt dann zu dem Block 510 zurück, um zu überprüfen, ob eine neue Nachrichtenanfrage von dem lokalen Teilnehmer empfangen worden ist. Der Prozess 500 wird beendet, wenn die Secure-Instant-Messaging-Sitzung beendet (z. B. vom Benutzer) oder abgelaufen ist (z. B. wenn eine bestimmte Zeitspanne ohne Aktivität des Benutzers oder Netzwerkverbindung abgelaufen ist).
  • Ein Durchschnittsfachmann wird erkennen, dass der Prozess 500 eine konzeptionelle Darstellung der Operationen ist, die für die Teilnahme an einer Secure-Instant-Messaging-Sitzung verwendet werden. Möglicherweise werden die spezifischen Operationen des Prozesses 500 nicht in der exakten Reihenfolge, die gezeigt und beschrieben ist, durchgeführt. Möglicherweise werden die spezifischen Operationen nicht in einer kontinuierlichen Folge von Operationen durchgeführt, und verschiedene spezifische Operationen können in verschiedenen Ausführungsformen durchgeführt werden. Außerdem könnte der Prozess 500 unter Verwendung mehrerer Subprozesse oder als Teil eines größeren Makroprozesses implementiert werden. Ein Durchschnittsfachmann wird außerdem erkennen, dass ein lokaler Teilnehmer und ein Remoteteilnehmer zwei Teilnehmer sind, die zwei unterschiedliche Geräte benutzen und sich physisch nahe beieinander befinden können.
  • 6 zeigt ein Beispiel eines Datenverarbeitungssystems 600, das mit einer Ausführungsform verwendet werden kann. Das System 600 kann beispielsweise einschließlich eines Gerätes 100 implementiert werden, wie in 1 gezeigt. Es ist zu beachten, dass, obwohl 6 verschiedene Komponenten eines Gerätes zeigt, keine bestimmte Bauweise oder Art der Verbindung der Komponenten dargestellt werden soll, da dies nicht relevant für die Offenbarung ist. Außerdem sei erwähnt, dass Netzwerkcomputer und andere Datenverarbeitungssysteme oder andere Unterhaltungselektronikgeräte, die weniger oder vielleicht mehr Komponenten aufweisen, ebenfalls mit Ausführungsformen der Offenbarung verwendet werden können.
  • Wie in 6 gezeigt, beinhaltet das Gerät 600, das eine Form eines Datenverarbeitungssystems ist, einen Bus 603, der mit einem Mikroprozessor 605 und einem ROM (Read Only Memory, Nur-Lese-Speicher) 607 sowie einem flüchtigen RAM (Random Access Memory, Speicher mit wahlfreiem Zugriff) 609 und einem nicht flüchtigen Speicher 611 gekoppelt ist. Der Mikroprozessor 605 kann die Anweisungen der Speicher 607, 609 und 611 abrufen und die Anweisungen ausführen, um die oben beschriebenen Operationen durchzuführen. Der Bus 603 verbindet diese verschiedenen Komponenten miteinander und verbindet außerdem diese Komponenten 605, 607, 609 und 611 mit einer Anzeigesteuereinheit und einem Anzeigegerät 613 sowie mit peripheren Geräten wie beispielsweise Eingabe-/Ausgabegeräten (Input/Output, I/O) 615 wie Mäusen, Tastaturen, Modems, Netzwerkschnittstellen, Druckern und anderen vorbekannten Geräten. Normalerweise sind die Eingabe-/Ausgabegeräte 615 über die Eingabe-/Ausgabesteuereinheiten 610 mit dem System gekoppelt. Der flüchtige RAM 609 ist normalerweise als dynamischer RAM (DRAM) implementiert, der eine kontinuierliche Stromzufuhr benötigt, um die Daten in dem Speicher zu aktualisieren oder zu speichern.
  • Der nicht flüchtige Speicher 611 ist typischerweise eine magnetische Festplatte oder ein magnetisches optisches Laufwerk oder ein optisches Laufwerk oder ein DVD-RAM oder ein Flash-Speicher oder eine andere Art von Speichersystem, das auch dann Daten speichert (z. B. große Datenmengen), wenn die Stromzufuhr zum System unterbrochen wird. Typischerweise wird der nicht flüchtige Speicher 611 auch ein Speicher mit wahlfreiem Zugriff sein, obgleich dies nicht zwingend notwendig ist. Obwohl 6 zeigt, dass der nicht flüchtige Speicher 611 ein lokales Gerät ist, das direkt mit den übrigen Komponenten in dem Datenverarbeitungssystem gekoppelt ist, sei erwähnt, dass Ausführungsformen der Offenbarung einen nicht flüchtigen Speicher verwenden können, der sich außerhalb des Systems befindet, wie beispielsweise einen Netzwerkspeicher, der über eine Netzwerkschnittstelle wie z. B. ein Modem, eine Ethernet-Schnittstelle oder ein drahtloses Netzwerk mit dem Datenverarbeitungssystem gekoppelt ist. Der Bus 603 kann einen oder mehrere Busse beinhalten, die über verschiedene Bridges, Steuereinheiten und/oder Adapter miteinander verbunden sind, wie im Stand der Technik bestens bekannt ist.
  • 7 zeigt ein Beispiel eines anderen Datenverarbeitungssystems 700, das mit einer Ausführungsform verwendet werden kann. Das System 700 kann beispielsweise als Gerät 100 implementiert werden, wie in 1 gezeigt. Das in 7 gezeigte Datenverarbeitungssystem 700 beinhaltet ein Verarbeitungssystem 711, das aus einem oder mehreren Mikroprozessoren bestehen kann oder das ein System in einer integrierten Schaltung auf einem Chip sein kann, und das System beinhaltet außerdem einen Speicher 701 zum Speichern von Daten und Programmen für die Ausführung durch das Verarbeitungssystem. Das System 700 beinhaltet außerdem ein Audio-Eingabe-/Ausgabesubsystem 705, das z. B. ein Mikrofon und einen Lautsprecher beinhalten kann, um Musik wiederzugeben oder eine Telefonfunktion über den Lautsprecher und das Mikrofon zu bieten.
  • Eine Anzeigesteuereinheit und ein Anzeigegerät 709 bieten eine visuelle Benutzerschnittstelle für den Benutzer; diese digitale Schnittstelle kann eine grafische Benutzerschnittstelle beinhalten, die jener ähnlich ist, die auf einem Macintosh-Computer bei Ausführung der Betriebssystemsoftware OS X angezeigt wird, oder auf dem iPhone von Apple bei Ausführung des Betriebssystems iOS usw. Das System 700 beinhaltet außerdem einen oder mehrere drahtlose Sende-Empfangsgeräte 703 für die Kommunikation mit einem anderen Datenverarbeitungssystem wie dem System 700 aus 7. Ein drahtloses Sende-Empfangsgerät kann ein WLAN-Sende-Empfangsgerät, ein Infrarot-Sende-Empfangsgerät, ein Bluetooth-Sende-Empfangsgerät und/oder ein Sende-Empfangsgerät für drahtlosen Mobilfunk sein. Es sei erwähnt, dass zusätzliche Komponenten, die nicht gezeigt sind, in bestimmten Ausführungsformen ebenfalls Bestandteil des Systems 700 sein können, und in bestimmten Ausführungsformen können auch weniger Komponenten als in 7 gezeigt in einem Datenverarbeitungssystem verwendet werden. Das System 700 beinhaltet außerdem einen oder mehrere Kommunikationsanschlüsse 717 für die Kommunikation mit einem anderen Datenverarbeitungssystem wie dem System in 6. Der Kommunikationsanschluss kann ein USB-Anschluss, ein Firewire-Anschluss, eine Bluetooth-Schnittstelle etc. sein.
  • Das Datenverarbeitungssystem 700 beinhaltet außerdem ein oder mehrere Eingabegeräte 713, die vorgesehen sind, um es einem Benutzer zu ermöglichen, Eingaben in das System zu tätigen. Diese Eingabegeräte können beispielsweise ein Tastenfeld, eine Tastatur oder ein Multitouch-Panel sein. Das Datenverarbeitungssystem 700 beinhaltet außerdem ein optionales Eingabe-/Ausgabegerät 715, das ein Anschluss für ein Dock sein kann. Es sei erwähnt, dass ein oder mehrere Busse, die nicht gezeigt sind, verwendet werden können, um die verschiedenen Komponenten miteinander zu verbinden, wie im Stand der Technik bestens bekannt ist. Das in 7 gezeigte Datenverarbeitungssystem kann ein Handgerät oder ein Personal Digital Assistant (PDA) sein, oder ein Mobiltelefon mit einer PDA-ähnlichen Funktion, oder ein Handgerät, das ein Mobiltelefon beinhaltet, oder ein Mediaplayer, wie z. B. ein iPod, oder Geräte, die Aspekte oder Funktionen solcher Geräte kombinieren, wie z. B. ein Mediaplayer, der mit einem PDA und einem Mobiltelefon in einem Gerät kombiniert ist, oder ein Embedded-Gerät oder ein anderes Unterhaltungselektronikgerät. In anderen Ausführungsformen kann das Datenverarbeitungssystem 700 ein Netzwerkcomputer oder ein Embedded-Verarbeitungsgerät in einem anderen Gerät sein, oder andere Arten von Datenverarbeitungssystemen, die weniger oder evtl. mehr Komponenten haben als in 7 gezeigt.
  • Zumindest bestimmte Ausführungsformen der Offenbarung können Bestandteil eines digitalen Mediaplayers, wie z. B. eines portablen Musik- und/oder Video-Mediaplayers sein, der ein Medienverarbeitungssystem für die Präsentation der Medien beinhalten kann sowie ein Speichergerät zum Speichern der Medien, und kann außerdem ein Hochfrequenz(Radio Frequency, RF)-Sende-Empfangsgerät beinhalten (z. B. ein RF-Sende-Empfangsgerät für ein Mobiltelefon), das mit einem Antennensystem und dem Medienverarbeitungssystem gekoppelt ist. In bestimmten Ausführungsformen können Medien, die auf einem Remote-Speichergerät gespeichert sind, über das RF-Sende-Empfangsgerät an den Mediaplayer übertragen werden. Die Medien können beispielsweise ein oder mehrere Musik- oder andere Audiomedien sein, Stand- oder Bewegtbilder.
  • Der portable Mediaplayer kann ein Medienauswahlgerät beinhalten, wie z. B. ein Klickrad-Eingabegerät auf einem iPod®- oder iPod Nano®-Mediaplayer von Apple Inc. aus Cupertino, Kalifornien, ein Touchscreen-Eingabegerät, ein Drucktastengerät, ein bewegliches Zeigegerät oder ein anderes Eingabegerät. Das Medienauswahlgerät kann verwendet werden, um die Medien auszuwählen, die auf dem Speichergerät und/oder dem Remote-Speichergerät gespeichert sind. Der portable Mediaplayer kann, zumindest in bestimmten Ausführungsformen, ein Anzeigegerät beinhalten, das mit dem Medienverarbeitungssystem gekoppelt ist, um Titel anzuzeigen oder andere Indikatoren von Medien, die über das Eingabegerät ausgewählt und präsentiert werden, entweder über einen Lautsprecher oder Kopfhörer, oder über das Anzeigegerät, oder auf sowohl dem Anzeigegerät als auch auf einem Lautsprecher oder Kopfhörer(n). Beispiele für portable Mediaplayer sind im US-Patent Nr. 7,345,671 und US-Patent Nr. 7,627,343 beschrieben, die hiermit beide durch Bezugnahme Bestandteil dieses Dokuments werden.
  • Teile des oben Beschriebenen können mit einer Logikschaltung implementiert werden, wie z. B. einer dedizierten Logikschaltung oder einem Mikrocontroller oder einer anderen Art von Verarbeitungskern, der Programmcodeanweisungen ausführt. Die durch die obige Diskussion gelehrten Prozesse können daher mit Programmcode durchgeführt werden, wie z. B. maschinenausführbaren Anweisungen, die eine Maschine, die diese Anweisungen ausführt, dazu veranlassen, bestimmte Funktionen durchzuführen. In diesem Zusammenhang kann ”Maschine” eine Maschine sein, die die in Zwischenform (oder ”abstrakter” Form) vorliegenden Anweisungen in prozessorspezifische Anweisungen umwandelt (z. B. eine abstrakte Ausführungsumgebung, wie eine ”virtuelle Maschine” (z. B. eine Java Virtual Machine), ein Interpretierer, eine Laufzeitumgebung Common Language Runtime, eine virtuelle Maschine mit höherer Programmiersprache, usw.), und/oder eine elektronische Schaltung auf einem Halbleiterchip (z. B. eine ”Logikschaltung”, die mit Transistoren implementiert ist), die darauf ausgelegt ist, Anweisungen auszuführen, wie z. B. ein Universalprozessor und/oder Spezialprozessor. Die durch die obige Diskussion gelehrten Prozesse können auch (alternativ zu einer Maschine oder in Verbindung mit einer Maschine) durch eine elektronische Schaltung durchgeführt werden, die darauf ausgelegt ist, die Prozesse (oder einen Teil davon) ohne die Ausführung von Programmcode durchzuführen.
  • Die Offenbarung betrifft außerdem eine Vorrichtung für die Durchführung der hier beschriebenen Operationen. Diese Vorrichtung kann speziell für den benötigten Zweck ausgebildet sein, oder sie kann ein Universalgerät umfassen, das von einem in dem Gerät gespeicherten Computerprogramm selektiv aktiviert oder neu konfiguriert werden kann. Ein solches Computerprogramm kann auf einem computerlesbaren Speichermedium gespeichert sein, insbesondere auf Platten jeglicher Art einschließlich Disketten, optischer Platten, CD-ROMs und magnetoptischer Platten, Nur-Lese-Speicher (ROMs), RAMs, EPROMs, EEPROMs, magnetischer oder optischer Karten oder Medien jeglicher Art, die zum Speichern elektronischer Anweisungen geeignet sind und von denen jedes mit einem Gerätebus gekoppelt ist.
  • Ein maschinenlesbares Medium umfasst Mechanismen jeglicher Art zum Speichern oder Übertragen von Informationen in einer Form, die von einer Maschine gelesen werden kann (z. B. einem Computer). Maschinenlesbare Medien sind beispielsweise Nur-Lese-Sepicher (”ROM”), Speicher mit wahlfreiem Zugriff (”RAM”), magnetische Plattenspeichermedien, optische Speichermedien, Flash-Speichergeräte usw.
  • Ein Herstellungserzeugnis kann zum Speichern von Programmcode verwendet werden. Ein Herstellungserzeugnis, das Programmcode speichert, kann insbesondere verkörpert werden als ein oder mehrere Speicher (z. B. ein oder mehrere Flash-Speicher, Speicher mit wahlfreiem Zugriff (statische, dynamische oder andere)), optische Platten, CD-ROMs, DVD-ROMs, EPROMs, EEPROMs, magnetische oder optische Karten oder andere Arten von maschinenlesbaren Medien, die zum Speichern von elektronischen Anweisungen geeignet sind. Programmcode kann außerdem von einem Remotecomputer (z. B. einem Server) an einen anfragenden Computer heruntergeladen werden (z. B. einen Client) durch Datensignale, die in einem Ausbreitungsmedium verkörpert sind (z. B. über eine Kommunikationsverbindung (z. B. eine Netzwerkverbindung)).
  • Die vorhergehenden detaillierten Beschreibungen sind in Form von Algorithmen und symbolischen Darstellungen von Operationen auf Datenbits innerhalb eines Gerätespeichers präsentiert. Diese algorithmischen Beschreibungen und Darstellungen sind die Werkzeuge, derer sich der Fachmann auf dem Gebiet der Datenverarbeitung bedient, um den Kern seiner Arbeit einem anderen Fachmann so effektiv wie möglich zu vermitteln. Unter einem Algorithmus versteht man hier, und auch allgemein, eine selbstkonsistente Folge von Operationen, die zu einem gewünschten Ergebnis führen. Die Operationen sind solche, die eine physikalische Manipulation physikalischer Größen erfordern. Normalerweise, jedoch nicht unbedingt, liegen diese Größen in Form von elektrischen oder magnetischen Signalen vor, die gespeichert, übertragen, kombiniert, verglichen und anderweitig manipuliert werden können. Bisweilen kann es zweckdienlich sein, hauptsächlich aus Gründen des allgemeinen Gebrauchs, diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Begriffe, Nummern o. ä. zu bezeichnen.
  • Es ist jedoch zu bedenken, dass all diese oder ähnliche Begriffe den passenden physikalischen Größen zuzuordnen sind und lediglich zweckmäßige Bezeichnungen sind, die für diese Größen verwendet werden. Soweit nicht anderweitig dargelegt als aus der obigen Diskussion ersichtlich, sei erwähnt, dass sich in der gesamten Beschreibung Diskussionen, in denen Begriffe wie ”empfangen”, ”feststellen”, ”senden”, ”aufbauen”, ”auswählen”, ”teilnehmen” o. ä. verwendet werden, auf den Betrieb und die Prozesse eines Gerätes oder eines ähnlichen elektronischen Computergerätes beziehen, das Daten, die als physikalische (elektronische) Größen in den Register und Speichern des Gerätes dargestellt sind, in andere Daten manipuliert und umwandelt, die auf ähnliche Weise als physikalische Größen in den Speichern oder Register des Gerätes oder anderen derartigen Geräten zum Speichern, Übertragen oder Anzeigen von Informationen dargestellt sind.
  • Die hier dargestellten Prozesse und Anzeigen stehen nicht grundsätzlich mit einem bestimmten Gerät oder einer anderen Vorrichtung in Verbindung. Es können verschiedene Universalsysteme mit den Programmen gemäß den hier enthaltenen Lehren verwendet werden, oder es kann auch zweckdienlich sein, eine höher spezialisierte Vorrichtung für die Durchführung der beschriebenen Operationen zu konstruieren. Die für eine Vielzahl dieser Systeme benötigte Struktur ergibt sich aus der nachfolgenden Beschreibung. Außerdem ist die Offenbarung nicht in Bezug auf eine bestimmte Programmiersprache beschrieben. Es sei erwähnt, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die Lehren der Offenbarung wie sie hier beschrieben ist zu implementieren.
  • Die vorhergehende Diskussion beschreibt lediglich einige beispielhafte Ausführungsformen der Offenbarung. Ein Fachmann wird ohne Weiteres anhand dieser Diskussion, der entsprechenden Zeichnungen und der Ansprüche erkennen, dass verschiedene Änderungen vorgenommen werden können, ohne vom Schutzumfang der Offenbarung abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 7345671 [0071]
    • US 7627343 [0071]

Claims (14)

  1. Computerimplementiertes Verfahren für die Teilnahme an einer Secure-Instant-Messaging-Sitzung in einem Datenverarbeitungssystem, wobei das Verfahren Folgendes umfasst: gleichzeitiger Aufbau einer Verbindung mit niedriger Sicherheit und einer Verbindung mit hoher Sicherheit mit einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung; Senden einer ersten Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit, während die Verbindung mit hoher Sicherheit aufgebaut wird; Feststellen, ob die Verbindung mit hoher Sicherheit aufgebaut ist; und Senden einer zweiten Nachricht an den Remoteteilnehmer über die Verbindung mit hoher Sicherheit, wenn die Verbindung mit hoher Sicherheit aufgebaut ist.
  2. Verfahren nach Anspruch 1, weiterhin umfassend: Senden der zweiten Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit, wenn die Verbindung mit hoher Sicherheit noch nicht aufgebaut ist.
  3. Verfahren nach Anspruch 1, bei welchem die erste und die zweite Nachricht von einem lokalen Teilnehmer der Secure-Instant-Messaging-Sitzung unter Verwendung des Datenverarbeitungssystems empfangen werden und bei welchem die Verbindung mit hoher Sicherheit das Off-the-Record-Messaging-Protokoll (OTR) oder das Transport-Layer-Security-Protokoll (TLS) verwendet.
  4. Verfahren nach Anspruch 1, bei welchem die Verbindung mit niedriger Sicherheit ein kryptografisches Protokoll verwendet, das keine Perfect Forward Secrecy oder verformbare Verschlüsselung bietet und bei welchem die Verbindung mit hoher Sicherheit ein kryptografisches Protokoll verwendet, das mindestens Perfect Forward Secrecy oder verformbare Verschlüsselung bietet.
  5. Computerimplementiertes Verfahren für die Teilnahme an einer Secure-Instant-Messaging-Sitzung in einem Datenverarbeitungssystem, wobei das Verfahren Folgendes umfasst: Empfang von Anforderungen von einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung, um eine Verbindung mit hoher Sicherheit und eine Verbindung mit niedriger Sicherheit aufzubauen; gleichzeitiger Aufbau der Verbindung mit hoher Sicherheit und der Verbindung mit niedriger Sicherheit mit dem Remoteteilnehmer; Empfang einer ersten Nachricht von dem Remoteteilnehmer über die Verbindung mit niedriger Sicherheit, während die Verbindung mit hoher Sicherheit aufgebaut wird; Feststellen, ob die Verbindung mit hoher Sicherheit aufgebaut ist; und Senden einer zweiten Nachricht an den Remoteteilnehmer über die Verbindung mit hoher Sicherheit, wenn die Verbindung mit hoher Sicherheit aufgebaut ist.
  6. Verfahren nach Anspruch 5, weiterhin umfassend: Senden der zweiten Nachricht an den Remoteteilnehmer über die Verbindung mit niedriger Sicherheit, wenn die Verbindung mit hoher Sicherheit noch nicht aufgebaut ist, und bei welchem die erste und die zweite Nachricht von einem lokalen Teilnehmer der Secure-Instant-Messaging-Sitzung unter Verwendung des Datenverarbeitungssystems empfangen werden und bei welchem die Verbindung mit hoher Sicherheit das Off-the-Record-Messaging-Protokoll (OTR) oder das Transport-Layer-Security-Protokoll (TLS) verwendet.
  7. Verfahren nach Anspruch 5, bei welchem die Verbindung mit niedriger Sicherheit ein kryptografisches Protokoll verwendet, das keine Perfect Forward Secrecy oder verformbare Verschlüsselung bietet und bei welchem die Verbindung mit hoher Sicherheit ein kryptografisches Protokoll verwendet, das mindestens Perfect Forward Secrecy oder verformbare Verschlüsselung bietet.
  8. Computerimplementiertes Verfahren für die Teilnahme an einer Secure-Instant-Messaging-Sitzung in einem Datenverarbeitungssystem, wobei das Verfahren Folgendes umfasst: gleichzeitiger Aufbau einer Vielzahl von Kanälen mit einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung, wobei jeder Kanal einen unterschiedlichen Satz von Funktionalitäten bietet; Auswahl eines aus der Vielzahl von Kanälen anhand eines Satzes von Kriterien; und Senden einer Nachricht an den Remoteteilnehmer über den ausgewählten Kanal.
  9. Verfahren nach Anspruch 8, bei welchem der Satz von Kriterien umfasst, ob ein Kanal aufgebaut worden ist, wobei ein Kanal aufgebaut worden ist, wenn die Verhandlungen über den Kanal abgeschlossen worden sind.
  10. Verfahren nach Anspruch 9, bei welchem der Satz von Kriterien mindestens umfasst: (a) ob der Satz von Funktionalitäten eines Kanals die höchste Sicherheit bietet, (b) ob der Satz von Funktionalitäten eines Kanals mindestens Perfect Forward Secrecy oder verformbare Verschlüsselung bietet, oder (c) ob der Satz von Funktionalitäten eines Kanals eine nicht sicherheitsbezogene Funktion bietet.
  11. Computerlesbares Medium, auf dem Anweisungen gespeichert sind, die, wenn sie von dem Datenverarbeitungssystem ausgeführt werden, dazu führen, dass das System ein Verfahren nach einem der Ansprüche 1–10 durchführt.
  12. Gerät für die Teilnahme an einer Secure-Instant-Messaging-Sitzung, wobei das Gerät Folgendes umfasst: ein Verarbeitungssystem; einen Speicher, der mit dem Verarbeitungssystem über einen Bus verbunden ist; und einen Prozess, der aus dem Speicher von dem Verarbeitungssystem ausgeführt wird und dazu führt, dass das Verarbeitungssystem gleichzeitig eine Vielzahl von Kanälen zu einem Remoteteilnehmer der Secure-Instant-Messaging-Sitzung aufbaut, wobei jeder Kanal einen unterschiedlichen Satz von Funktionalitäten bietet und einen aus der Vielzahl von Kanälen anhand eines Satzes von Kriterien auswählt und eine Nachricht an den Remoteteilnehmer über den ausgewählten Kanal sendet.
  13. Gerät nach Anspruch 12, bei welchem der Satz von Kriterien umfasst, ob ein Kanal aufgebaut worden ist, wobei ein Kanal aufgebaut worden ist, wenn die Verhandlungen über den Kanal abgeschlossen worden sind.
  14. Gerät nach Anspruch 13, bei welchem der Satz von Kriterien umfasst, ob der Satz von Funktionalitäten eines Kanals die höchste Sicherheit bietet.
DE102015209241.0A 2014-05-30 2015-05-20 Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung) Pending DE102015209241A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462005794P 2014-05-30 2014-05-30
US62/005,794 2014-05-30
US14/477,564 2014-09-04
US14/477,564 US20150350247A1 (en) 2014-05-30 2014-09-04 Efficient secure instant messaging

Publications (1)

Publication Number Publication Date
DE102015209241A1 true DE102015209241A1 (de) 2015-12-03

Family

ID=54481712

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102015209241.0A Pending DE102015209241A1 (de) 2014-05-30 2015-05-20 Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung)

Country Status (4)

Country Link
US (1) US20150350247A1 (de)
KR (1) KR101714874B1 (de)
CN (1) CN105323150B (de)
DE (1) DE102015209241A1 (de)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013130644A1 (en) 2012-02-28 2013-09-06 Centurylink Intellectual Property Llc Apical conduit and methods of using same
US9285981B1 (en) 2012-07-16 2016-03-15 Wickr Inc. Discouraging screen capture
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US9786997B2 (en) 2013-08-01 2017-10-10 Centurylink Intellectual Property Llc Wireless access point in pedestal or hand hole
US9780433B2 (en) 2013-09-06 2017-10-03 Centurylink Intellectual Property Llc Wireless distribution using cabinets, pedestals, and hand holes
US10276921B2 (en) 2013-09-06 2019-04-30 Centurylink Intellectual Property Llc Radiating closures
US10154325B2 (en) 2014-02-12 2018-12-11 Centurylink Intellectual Property Llc Point-to-point fiber insertion
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9832208B1 (en) * 2014-12-23 2017-11-28 Erasable, LLC System and methods of providing secure messaging environment
US9432340B1 (en) * 2015-05-07 2016-08-30 Bogart Associates System and method for secure end-to-end chat system
US10623162B2 (en) 2015-07-23 2020-04-14 Centurylink Intellectual Property Llc Customer based internet of things (IoT)
US10375172B2 (en) 2015-07-23 2019-08-06 Centurylink Intellectual Property Llc Customer based internet of things (IOT)—transparent privacy functionality
US9590956B1 (en) 2015-12-18 2017-03-07 Wickr Inc. Decentralized authoritative messaging
US10412064B2 (en) * 2016-01-11 2019-09-10 Centurylink Intellectual Property Llc System and method for implementing secure communications for internet of things (IOT) devices
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9590958B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure file transfer
US10832665B2 (en) 2016-05-27 2020-11-10 Centurylink Intellectual Property Llc Internet of things (IoT) human interface apparatus, system, and method
US10249103B2 (en) 2016-08-02 2019-04-02 Centurylink Intellectual Property Llc System and method for implementing added services for OBD2 smart vehicle connection
US10110272B2 (en) 2016-08-24 2018-10-23 Centurylink Intellectual Property Llc Wearable gesture control device and method
US10687377B2 (en) 2016-09-20 2020-06-16 Centurylink Intellectual Property Llc Universal wireless station for multiple simultaneous wireless services
US9867112B1 (en) 2016-11-23 2018-01-09 Centurylink Intellectual Property Llc System and method for implementing combined broadband and wireless self-organizing network (SON)
US10426358B2 (en) 2016-12-20 2019-10-01 Centurylink Intellectual Property Llc Internet of things (IoT) personal tracking apparatus, system, and method
US10951591B1 (en) * 2016-12-20 2021-03-16 Wells Fargo Bank, N.A. SSL encryption with reduced bandwidth
US10222773B2 (en) 2016-12-23 2019-03-05 Centurylink Intellectual Property Llc System, apparatus, and method for implementing one or more internet of things (IoT) capable devices embedded within a roadway structure for performing various tasks
US10150471B2 (en) 2016-12-23 2018-12-11 Centurylink Intellectual Property Llc Smart vehicle apparatus, system, and method
US10637683B2 (en) 2016-12-23 2020-04-28 Centurylink Intellectual Property Llc Smart city apparatus, system, and method
US10735220B2 (en) 2016-12-23 2020-08-04 Centurylink Intellectual Property Llc Shared devices with private and public instances
US10193981B2 (en) 2016-12-23 2019-01-29 Centurylink Intellectual Property Llc Internet of things (IoT) self-organizing network
US10146024B2 (en) 2017-01-10 2018-12-04 Centurylink Intellectual Property Llc Apical conduit method and system
US10627794B2 (en) 2017-12-19 2020-04-21 Centurylink Intellectual Property Llc Controlling IOT devices via public safety answering point
KR102217550B1 (ko) * 2019-12-13 2021-02-19 주식회사 대경산전 원격 전력 제어 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082313B2 (en) 2001-09-24 2006-07-25 Qualcomm Incorporated Secure short message service
US7127613B2 (en) 2002-02-25 2006-10-24 Sun Microsystems, Inc. Secured peer-to-peer network data exchange
US8117273B1 (en) * 2003-07-11 2012-02-14 Mcafee, Inc. System, device and method for dynamically securing instant messages
US7676838B2 (en) * 2004-07-26 2010-03-09 Alcatel Lucent Secure communication methods and systems
FR2922705B1 (fr) * 2007-10-23 2011-12-09 Sagem Defense Securite Passerelle bidirectionnelle a niveau de securite renforce
WO2010038783A1 (ja) * 2008-09-30 2010-04-08 日本電気株式会社 アクセス制御システム、アクセス制御方法および通信端末
US8958559B2 (en) * 2011-06-03 2015-02-17 Apple Inc. System and method for secure instant messaging
CN103347027A (zh) * 2013-07-16 2013-10-09 湘潭大学 一种可信网络连接方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system

Also Published As

Publication number Publication date
CN105323150B (zh) 2019-03-26
KR20150138106A (ko) 2015-12-09
US20150350247A1 (en) 2015-12-03
CN105323150A (zh) 2016-02-10
KR101714874B1 (ko) 2017-03-09

Similar Documents

Publication Publication Date Title
DE102015209241A1 (de) Effizientes secure instant messaging (secure instant messaging = sichere sofortige nachrichtenübermittlung)
DE60317123T2 (de) Verfahren zur Sicherung von Kommunikation über ein Netzwerk
US20190268314A1 (en) Sharing resources across multiple devices in online meetings
DE60132433T2 (de) Sofortige nachrichtenübermittlung mit zusätzlicher sprachkommunikation
DE112017001853T5 (de) Flexible Bereitstellung von Bestätigungsschlüsseln in sicheren Enklaven
EP3077952B1 (de) Verfahren zum zugriff auf einen datenspeicher eines cloud-computersystems
DE102015209371A1 (de) Annäherungsentsperrungs- und sperrungsoperationen für elektronische geräte
EP3078177B1 (de) Verfahren zum zugriff auf einen datenspeicher eines cloud-computersystems mit hilfe eines modifizierten domain name systems (dns)
DE19822795C2 (de) Verfahren und Anordnung zum rechnergestützten Austausch kryptographischer Schlüssel zwischen einer ersten Computereinheit und einer zweiten Computereinheit
DE112014002697T5 (de) Kommunikation zwischen Host und Zubehörvorrichtungen unter Verwendung von Zubehörprotokollen über drahtlosen Transport
DE112009000416T5 (de) Zweiwege-Authentifizierung zwischen zwei Kommunikationsendpunkten unter Verwendung eines Einweg-Out-Of-Band(OOB)-Kanals
DE112017000483T5 (de) System, gerät und verfahren für schlüsselbereitstellungsdelegation
DE202012013707U1 (de) Elektronisches Werkzeug für Meetings
DE102010055375B4 (de) Automatisiertes Loginverfahren auf einer Fahrzeug-Internetseite durch ein mobiles Kommunikationsendgerät
DE102011008403B4 (de) Verfahren und Kommunikationssystem zum Aufbau einer Verbindung zwischen zwei Geräten
EP3101837B1 (de) Verfahren zur gruppierung von benutzerendgeräten, konferenzserver und konferenzsystem
DE102011120635A1 (de) Dieser Anruf
DE112016000409T5 (de) Sicherheitstechniken für das erneute verbinden mit einer konferenzsitzung mithilfe eines computergeräts
DE102011075257B4 (de) Beantwortung von Anfragen mittels des Kommunikationsendgeräts eines Nutzers
DE102013009494A1 (de) System und Verfahren, um es einer Hostvorrichtung zu ermöglichen, sich sicher mit einer Peripherievorrichtung zu verbinden
DE112018006443T5 (de) Multifaktor-authentifizierung
CN108711205A (zh) 一种会议系统访客认证系统
DE112017002726T5 (de) Kommunikationssicherheitssysteme und verfahren
CN106790916A (zh) 信息传输方法、装置及服务器
DE202016008055U1 (de) Sichere Konfiguration von Cloud-Computerknoten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication