-
HINTERGRUND
-
Die vorliegende Offenbarung betrifft Techniken zum Ermitteln und Authentifizieren eines Peers auf der Grundlage eines gemeinsamen Geheimnisses, um eine sichere Verbindung zwischen elektronischen Geräten herzustellen.
-
Finanzielle Rechtsgeschäfte, zum Beispiel in Verbindung mit Reservierungen, Angeboten, Zahlungen, Vereinbarungen und Verträgen, werden häufig im Rahmen von Interaktionen mit Blickkontakt ausgeführt. Im Grunde können tragbare elektronische Geräte wie Smartphones oder Tablet-Computer nützliche Werkzeuge darstellen, um diese Interaktionen zu unterstützen. So können Mobiltelefone zum Beispiel eingesetzt werden, um Inhalte während einer Interaktion aufzuzeichnen und dann diese Inhalte nahtlos in die Backend-Systeme, wie zum Beispiel Rechts- oder Finanzmanagementsysteme, Zahlungsnetzwerke oder Banksysteme, zu integrieren.
-
Um tragbare elektronische Geräte zum Unterstützen von Interaktionen mit Blickkontakt einzusetzen, muss allerdings in der Regel eine sichere Kommunikation zwischen den elektronischen Geräten der Teilnehmer hergestellt werden. In der Regel müssen die tragbaren elektronischen Geräte einander zunächst finden oder ermitteln. Um in einem Kommunikationsnetzwerk ermittelt werden zu können, muss ein tragbares elektronisches Gerät oder ein Dienst in der Regel angekündigt werden. Dieses Ankündigen kann als eine Art Übertragung an alle Peers geschehen. Ferner enthält das Ankündigen in der Regel netzwerkspezifische Verbindungsparameter des ankündigenden elektronischen Geräts oder des Service sowie eine Bezeichnung, die von den tragbaren elektronischen Peer-Geräten, Services und/oder ihren Benutzern erkannt werden kann.
-
In Fällen, in denen zuvor kein Vertrauensverhältnis zwischen den Benutzern der elektronischen Geräte besteht, gibt es keinen allgemeinen Mechanismus, der es den Peers erlaubt, einander zu erkennen und eine sichere Kommunikation herzustellen. Ist dies der Fall, kann eine sichere Sitzung unter Einsatz eines vertrauenswürdigen Dritten hergestellt werden. Dies kann allerdings problematisch sein. Insbesondere ist es möglich, dass die Parteien keinen gemeinsamen vertrauenswürdigen Dritten haben oder dass der vertrauenswürdige Dritte zum Zeitpunkt der Transaktion nicht gleich verfügbar ist (z. B. wenn die Parteien die sichere Verbindung herstellen möchten).
-
Eine weitere Möglichkeit ist es, eine direkte Peer-to-Peer-Verbindung zwischen den tragbaren elektronischen Geräten herzustellen. Um eine Peer-to-Peer-Verbindung zwischen zwei tragbaren elektronischen Geräten herzustellen, müssen die elektronischen Geräte in der Lage sein, einander ermitteln und authentifizieren zu können. Bestehende Techniken zum Herstellen von sicherer Kommunikation zwischen tragbaren elektronischen Geräten sind allerdings häufig umständlich und/oder unpraktisch. So nutzen viele Techniken zum Beispiel das Vertrauen zwischen den Teilnehmern oder eine Offline-Zertifizierungsstelle. Diese Ansätze sind aber möglicherweise ungeeignet, wenn die Teilnehmer kein zuvor bestehendes direktes oder indirektes Vertrauensverhältnis haben.
-
Alternativ dazu kann sichere Kommunikation auch unter Einsatz von physischer Sicherheit implementiert werden, zum Beispiel durch Verbinden der elektronischen Geräte mittels physischer Kabel und durch Beschränken der Kommunikation auf physisch gesicherte Verbindungen. Dies ist allerdings häufig umständlich und unpraktisch, da kein Universalkabel zur Verfügung steht, um zufällig ausgewählte tragbare elektronische Geräte miteinander zu verbinden.
-
Ferner nutzen mehrere vorhandene Techniken zum Herstellen einer sicheren Verbindung zwischen elektronischen Geräten zusätzliche Funktionen, wie absolute Zeit- und Positionsmessungen, die möglicherweise nicht auf allen elektronischen Geräten verfügbar sind und nicht die ausreichende Auflösung haben, um zuverlässig eine sichere Verbindung herzustellen. Es wurden ferner Techniken auf der Grundlage der Nähe der tragbaren elektronischen Geräte zueinander und gemeinsamer Informationen in der physischen Umgebung, wie zum Beispiel Bilder von Strichcodes oder hörbare Informationen, vorgeschlagen. Diese vorgeschlagenen Techniken sind allerdings kompliziert und möglicherweise anfällig für Sicherheitsverletzungen durch Dritte, die die gemeinsamen Informationen abfangen.
-
Dieses Fehlen eines Fehlens von Zuverlässigkeit sowie die Probleme bei der Nutzbarkeit machen es Benutzern schwierig, Transaktionen über tragbare elektronische Geräte auszuführen.
-
KURZDARSTELLUNG
-
Die offenbarten Ausführungsformen beziehen sich darauf, wie elektronische Geräte auf sichere Weise einander ermitteln und miteinander gekoppelt werden können, um eine sichere Kommunikation herzustellen. Um die sichere Kommunikation herzustellen, müssen die elektronischen Geräte unter Einsatz von vorhandenen ungesicherten Übertragungsverfahren einander als solche erkennen, die dasselbe gemeinsame Geheimnis teilen, ohne das gemeinsame Geheimnis tatsächlich preiszugeben. Unter Einsatz der offenbarten Technik errechnet ein elektronisches Gerät eine kryptografische Transformation (wie zum Beispiel eine kryptografische Einwegtransformation) des gemeinsamen Geheimnisses, um eine Nachricht zu erstellen, die dann öffentlich übertragen wird. Wenn diese Nachricht übertragen wird, sind andere elektronische Geräte mit demselben gemeinsamen Geheimnis unter Einsatz der kryptografischen Einwegtransformation in der Lage, den Übermittler der Nachricht als einen solchen zu erkennen, der dasselbe gemeinsame Geheimnis hat, und können unter Einsatz dieses gemeinsamen Geheimnisses als Verschlüsselungsschlüssel sichere Kommunikation einleiten. Elektronische Geräte, die dasselbe gemeinsame Geheimnis nicht besitzen, sind allerdings nicht in der Lage, diesen Handshake-Kopplungsvorgang auszuführen. Somit unterstützt die offenbarte Technik das Peer-to-Peer-Ermitteln und die Authentifizierung in einem Kommunikationsnetzwerk unter Einsatz eines gemeinsamen Geheimnisses.
-
Im Allgemeinen bieten alle kabellosen Netzwerke eine Art des Peer- oder Service-Ermitteln. Damit Peers aber in der Lage sind, einander zu ermitteln, müssen sie ein Attribut ankündigen, welches sie als ein Attribut des Peers erkennen können. In der offenbarten Technik ist das Einzige, was die Peers kennen, das gemeinsame Geheimnis, das zuvor untereinander geteilt worden ist. Dieses gemeinsame Geheimnis kann nicht angekündigt werden, da es dadurch seinen Wert als Geheimnis verlieren und jedem mit Zugang zum Kommunikationskanal bekannt werden würde. Dieses Problem kann mithilfe von kryptografischen Einwegfunktionen (d. h. Funktionen, die leicht zu berechnen, aber schwierig umzukehren sind, wie zum Beispiel kryptografische Hash-Funktionen) überwunden werden. Mithilfe dieses Ansatzes können beide Peers einen Hash-Wert h = HASH(s) eines gemeinsamen Geheimnisses errechnen und diesen zum Ermitteln durch den Peer ankündigen, zum Beispiel durch Einbinden in eine BluetoothTM-freundliche Bezeichnung über BluetoothTM (von der Bluetooth Special Interest Group aus Kirkland, Washington, USA) oder in eine SSID über WiFiTM (von der Wi-Fi Alliance aus Austin, Texas, USA). So wird das Ermittlungsproblem ohne ein Gefährden des gemeinsamen Geheimnisses gelöst.
-
Andere Parteien können dieses Verhalten allerdings leicht replizieren. Aus diesem Grund kann auch ein Authentifizierungsvorgang eingesetzt werden. Insbesondere können beide Peers verschlüsselte Nachrichten erstellen, wobei unter Einsatz des gemeinsamen Geheimnisses als Verschlüsselungsschlüssel eine beliebige zufällige oder pseudozufällige Zahl verschlüsselt wird, wobei zum Beispiel eine symmetrische Verschlüsselungstechnik eingesetzt wird, die beiden Peers bekannt ist. Ferner kann die Nachricht weitere Elemente enthalten, um Replay-Angriffe und weitere häufige Sicherheitsrisiken in drahtlosen Kommunikationsnetzwerken zu verhindern. Danach tauschen die Peers die Nachrichten miteinander aus. In der Folge antwortet jeder Peer mit einer Nachricht, die die Fähigkeit beweist, die zuvor empfangene Nachricht entschlüsseln zu können, wodurch der Authentifizierungsvorgang abgeschlossen ist.
-
Die Peers können so das gemeinsame Geheimnis nutzen, um einander zu ermitteln und zu authentifizieren, und dann ein Zero-Knowledge-Protokoll (wie zum Beispiel einen Diffie-Hellman-Schlüsselaustausch) nutzen, um eine sichere Sitzung über den vereinbarten Kommunikationskanal einzurichten. Auf diese Weise wird nach Ankündigung ihrer Gegenwart und Verfügbarkeit für das Koppeln vertrauliche Kommunikation zwischen den gekoppelten elektronischen Geräten hergestellt.
-
Somit bestimmt nach der offenbarten Technik ein elektronisches Gerät eine Bezeichnung durch Anwenden einer Funktion (wie zum Beispiel einer Einwegfunktion) auf ein gemeinsames Geheimnis, welches sich ein Benutzer und ein anderer Benutzer teilen. Diese Bezeichnung wird in einem Netzwerk angekündigt. Nach Empfangen der Bestätigung des Ermittelns durch ein anderes elektronisches Gerät (welches mit dem anderen Benutzer verknüpft ist) erstellt das elektronische Gerät eine erste verschlüsselte Nachricht aus einer unverschlüsselten Nachricht unter Einsatz eines Kryptografieschlüssels (wie zum Beispiel eines Einweg-Kryptografieschlüssels). Das elektronische Gerät stellt die erste verschlüsselte Nachricht für das andere elektronische Gerät bereit und empfängt eine zweite verschlüsselte Nachricht vom anderen elektronischen Gerät. Unter Einsatz des Kryptografieschlüssels entschlüsselt das elektronische Gerät die zweite verschlüsselte Nachricht. Ferner empfängt das elektronische Gerät die Bestätigung, dass das andere elektronische Gerät in der Lage war, die erste verschlüsselte Nachricht zu entschlüsseln und so zu authentifizieren, dass die sichere Verbindung hergestellt ist.
-
In manchen Ausführungsformen tauscht das elektronische Gerät das gemeinsame Geheimnis vor der Bestimmung der Bezeichnung mit dem anderen elektronischen Gerät aus. Ferner kann das gemeinsame Geheimnis über eine andere Kommunikationstechnik ausgetauscht werden als die, die in den Vorgängen zum Ankündigen, Empfangen und Bereitstellen eingesetzt wurde.
-
Ferner kann die Bestätigung des Ermittelns eine Anforderung enthalten, die sichere Verbindung mit dem anderen elektronischen Gerät herzustellen.
-
Somit kann das elektronische Gerät das Ermitteln eines Peers im Netzwerk durch Ankündigen auf der Grundlage des gemeinsamen Geheimnisses durchführen. Danach können die Benutzer (oder ihre elektronischen Geräte) sich gegenseitig authentifizieren (sie verifizieren also, dass der erkannte Peer tatsächlich im Besitz des gemeinsamen Geheimnisses ist), indem sie mit einem Kryptografieschlüssel (der aus dem gemeinsamen Geheimnis abgeleitet werden kann) und einer beiden Benutzern bekannten Verschlüsselungsmethode verschlüsselte Nachrichten austauschen.
-
Es wird darauf hingewiesen, dass der Kryptografieschlüssel aus dem gemeinsamen Geheimnis mithilfe einer Funktion (wie zum Beispiel einer Einweg-Hash-Funktion), die das gemeinsame Geheimnis transformiert, abgeleitet werden kann. Diese Funktion kann zwischen dem Benutzer und dem anderen Benutzer vereinbart werden.
-
In manchen Ausführungsformen gehört zum Erstellen der ersten verschlüsselten Nachricht eine symmetrische Verschlüsselungstechnik.
-
Ferner kann die sichere Verbindung eine Peer-to-Peer-Verbindung zwischen dem elektronischen Gerät und dem anderen elektronischen Gerät, welches mit dem anderen Benutzer verknüpft ist, enthalten.
-
Ferner kann die unverschlüsselte Nachricht eine zufällige Zahl und/oder eine pseudozufällige Zahl enthalten.
-
Eine weitere Ausführungsform stellt ein Verfahren bereit, das wenigstens manche der vom elektronischen Gerät ausgeführten Abläufe beinhaltet.
-
Eine andere Ausführungsform stellt ein Computerprogrammprodukt zur Verwendung mit dem elektronischen Gerät bereit. Dieses Computerprogrammprodukt enthält Anweisungen für wenigstens manche der vom elektronischen Gerät ausgeführten Abläufe.
-
KURZBESCHREIBUNG DER FIGUREN
-
1 ist ein Flussdiagramm, welches ein Verfahren zum Herstellen einer sicheren Verbindung gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
-
2 ist ein Flussdiagramm, welches das Verfahren aus 1 gemäß einer Ausführungsform der vorliegenden Offenbarung darstellt.
-
3 ist ein Blockdiagramm, welches ein System darstellt, das das Verfahren aus 1 und 2 gemäß einer Ausführungsform der vorliegenden Offenbarung ausführt.
-
4 ist ein Blockdiagramm, welches ein elektronisches Gerät darstellt, das das Verfahren aus 1 und 2 gemäß einer Ausführungsform der vorliegenden Offenbarung ausführt.
-
Es wird darauf hingewiesen, dass übereinstimmende Teile in allen Zeichnungen mit den gleichen Bezugszeichen versehen sind. Ferner sind mehrmals auftretende Teile durch ein gemeinsames Präfix gekennzeichnet, das mit einem Bindestrich von der Instanznummer getrennt ist.
-
DETAILLIERTE BESCHREIBUNG
-
Ausführungsformen eines elektronischen Geräts, eine Technik zum Herstellen einer sicheren Verbindung und ein Computerprogrammprodukt (z. B. Software) für den Einsatz mit dem elektronischen Gerät werden beschrieben. Im Zuge der Sicherheitstechnik bestimmt ein elektronisches Gerät eine Bezeichnung durch Anwenden einer Funktion auf ein gemeinsames Geheimnis, welches sich ein Benutzer und ein anderer Benutzer teilen. Diese Bezeichnung wird über ein Netzwerk angekündigt. Nach dem Ermitteln durch ein anderes elektronisches Gerät (welches mit dem anderen Benutzer verknüpft ist) erstellt das elektronische Gerät unter Einsatz eines Kryptografieschlüssels eine erste verschlüsselte Nachricht aus einer unverschlüsselten Nachricht. Das elektronische Gerät stellt die erste verschlüsselte Nachricht dem anderen elektronischen Gerät bereit und empfängt eine zweite verschlüsselte Nachricht vom anderen elektronischen Gerät. Unter Einsatz des Kryptografieschlüssels entschlüsselt das elektronische Gerät die zweite verschlüsselte Nachricht. Ferner empfängt das elektronische Gerät die Bestätigung, dass das andere elektronische Gerät in der Lage war, die erste verschlüsselte Nachricht zu entschlüsseln, wodurch das Herstellen der sicheren Verbindung authentifiziert wird.
-
Durch Unterstützen der sicheren Verbindung kann die Sicherheitstechnik die Nutzbarkeit von Transaktionen über elektronische Geräte verbessern und das Vertrauen der Benutzer in diese erhöhen. Als Ergebnis kann diese Sicherheitstechnik zum Erhöhen der Handelsaktivität führen.
-
In der folgenden Erläuterung können die Begriffe „Empfänger”, „Objekt”, „Eigentümer” oder „Benutzer” Folgendes einschließen: ein Individuum (zum Beispiel einen bestehenden Kunden, einen Neukunden, einen Dienstanbieter, einen Verkäufer, einen Zulieferer usw.), eine Organisation, ein Unternehmen und/oder eine Regierungsbehörde. Ferner sollte der Begriff „Unternehmen” so verstanden werden, dass er Folgendes einschließt: gewinnorientierte Unternehmen, gemeinnützige Gesellschaften, Organisationen, Gruppen von Individuen, Einzelunternehmen, Regierungsbehörden, Partnerschaften usw.
-
Es werden nun Ausführungsformen der Sicherheitstechnik beschrieben, die von einem System (wie zum Beispiel dem System 300 in 3) und/oder einem elektronischen Gerät (wie zum Beispiel dem elektronischen Gerät 400 in 4) in diesem System ausgeführt werden können. Diese Sicherheitstechnik unterstützt das sichere Ermitteln und das Koppeln von elektronischen Geräten miteinander, um sichere Kommunikation herzustellen. Um die sichere Kommunikation herzustellen, müssen die elektronischen Geräte unter Einsatz von vorhandenen ungesicherten Übertragungsverfahren einander als solche erkennen, die dasselbe gemeinsame Geheimnis teilen, ohne das gemeinsame Geheimnis tatsächlich preiszugeben. Unter Einsatz der offenbarten Technik errechnet ein elektronisches Gerät eine kryptografische Transformation (wie zum Beispiel eine kryptografische Einwegtransformation) des gemeinsamen Geheimnisses, um eine Nachricht zu erstellen, die dann öffentlich übertragen wird. Wenn diese Nachricht übertragen wird, sind andere elektronische Geräte mit demselben gemeinsamen Geheimnis unter Einsatz der kryptografischen Einwegtransformation in der Lage, den Übermittler der Nachricht als einen solchen zu erkennen, der dasselbe gemeinsame Geheimnis hat, und können unter Einsatz dieses gemeinsamen Geheimnisses als Verschlüsselungsschlüssel sichere Kommunikation einleiten. Elektronische Geräte, die nicht dasselbe gemeinsame Geheimnis besitzen, sind allerdings nicht in der Lage, diesen Handshake-Kopplungsvorgang auszuführen. Somit unterstützt die offenbarte Technik das Peer-to-Peer-Ermitteln und die Authentifizierung in einem Kommunikationsnetzwerk unter Einsatz eines gemeinsamen Geheimnisses.
-
Im Allgemeinen bieten alle kabellosen Netzwerke eine Art des Peer- oder Service-Ermittelns. Damit Peers aber in der Lage sind, einander zu ermitteln, müssen sie ein Attribut ankündigen, welches sie als ein Attribut des Peers erkennen können. In der offenbarten Technik ist das Einzige, was die Peers kennen, das gemeinsame Geheimnis, das zuvor untereinander geteilt worden ist. Dieses gemeinsame Geheimnis kann nicht angekündigt werden, da es dadurch seinen Wert als Geheimnis verlieren und jedem mit Zugang zum Kommunikationskanal bekannt werden würde. Dieses Problem kann mithilfe von kryptografischen Einwegfunktionen (d. h. Funktionen, die leicht zu berechnen, aber schwierig umzukehren sind, wie zum Beispiel kryptografische Hash-Funktionen) überwunden werden. Mithilfe dieses Ansatzes können beide Peers einen Hash-Wert h = HASH(s) eines gemeinsamen Geheimnisses errechnen und diesen zum Ermitteln durch den Peer ankündigen, zum Beispiel durch Einbinden in eine BluetoothTM-freundliche Bezeichnung über BluetoothTM (von der Bluetooth Special Interest Group aus Kirkland, Washington, USA) oder in eine SSID über WiFiTM (von der Wi-Fi Alliance aus Austin, Texas, USA). So wird das Ermittlungsproblem ohne ein Gefährden des gemeinsamen Geheimnisses gelöst.
-
Andere Parteien können dieses Verhalten allerdings leicht replizieren. Aus diesem Grund kann auch ein Authentifizierungsvorgang eingesetzt werden. Glücklicherweise kann das gemeinsame Geheimnis auch zur Authentifizierung eingesetzt werden. Insbesondere können beide Peers verschlüsselte Nachrichten erstellen, wobei unter Einsatz des gemeinsamen Geheimnisses als Verschlüsselungsschlüssel eine beliebige zufällige oder pseudozufällige Zahl verschlüsselt wird, wobei zum Beispiel eine symmetrische Verschlüsselungstechnik eingesetzt wird, die beiden Peers bekannt ist. Ferner kann die Nachricht weitere Elemente enthalten, um Replay-Angriffe und weitere häufige Sicherheitsrisiken in drahtlosen Kommunikationsnetzwerken zu verhindern. Danach tauschen die Peers die Nachrichten miteinander aus. In der Folge antwortet jeder Peer mit einer Nachricht, die die Fähigkeit beweist, die zuvor empfangene Nachricht entschlüsseln zu können, wodurch der Authentifizierungsvorgang abgeschlossen ist.
-
Die Peers können so das gemeinsame Geheimnis nutzen, um einander zu ermitteln und zu authentifizieren, und dann ein Zero-Knowledge-Protokoll (wie zum Beispiel einen Diffie-Hellman-Schlüsselaustausch) nutzen, um eine sichere Sitzung über den vereinbarten Kommunikationskanal einzurichten. Auf diese Weise wird nach Ankündigung ihrer Gegenwart und Verfügbarkeit für das Koppeln vertrauliche Kommunikation zwischen den gekoppelten elektronischen Geräten hergestellt.
-
1 präsentiert ein Flussdiagramm, welches ein Verfahren 100 zum Herstellen einer sicheren Verbindung darstellt. Während des Betriebs tauscht das elektronische Gerät (oder ein Benutzer, der mit dem elektronischen Gerät verknüpft ist) ein gemeinsames Geheimnis mit einem anderen Benutzer oder Peer (oder mit einem anderen, mit dem anderen Benutzer verknüpften elektronischen Gerät) aus (Ablauf 110). Es wird darauf hingewiesen, dass das gemeinsame Geheimnis unter Einsatz einer anderen Kommunikationstechnik als derjenigen ausgetauscht werden kann, die in den folgenden Abläufen in Verfahren 100 eingesetzt wird. So können die Benutzer das gemeinsame Geheimnis zum Beispiel verbal austauschen. In manchen Ausführungsformen kann das gemeinsame Geheimnis ein Geburtstag, eine Telefonnummer, eine Geste oder eine zufällige Information sein, die dem Benutzer und dem anderen Benutzer bekannt ist (wie zum Beispiel etwas, was der Benutzer und/oder der andere Benutzer einander sagen). Dann bestimmt das elektronische Gerät eine Bezeichnung auf der Grundlage des gemeinsamen Geheimnisses unter Einsatz einer Einwegfunktion (Ablauf 112). Ferner kündigt das elektronische Gerät den Namen in einem Netzwerk an (oder überträgt ihn) (Ablauf 114) und unterstützt so das Ermitteln des Peers.
-
Während des Ermittlungsvorgangs kann das elektronische Gerät die abgeleitete Bezeichnung übertragen und Verbindungsversuche abwarten. Alternativ dazu kann das elektronische Gerät darauf warten, dass das andere elektronische Gerät die abgeleitete Bezeichnung überträgt und, falls dies der Fall ist, kann das elektronische Gerät versuchen, eine Verbindung mit dem anderen elektronischen Gerät herzustellen. Dieser Ermittlungsvorgang kann fortgesetzt werden, wenn das andere elektronische Gerät (oder der Peer) das elektronische Gerät ermittelt hat oder andersherum.
-
Nach dem Empfangen der Bestätigung durch das andere elektronische Gerät (Ablauf 116) (was eine Anforderung, die sichere Verbindung mit dem anderen elektronischen Gerät herzustellen, beinhalten kann) erstellt das elektronische Gerät eine erste verschlüsselte Nachricht aus einer unverschlüsselten Nachricht (wie zum Beispiel einer zufälligen und/oder einer pseudozufälligen Zahl) unter Einsatz eines Kryptografieschlüssels (Ablauf 118). So kann zum Beispiel das Erstellen der ersten verschlüsselten Nachricht eine symmetrische Verschlüsselungstechnik enthalten und/oder es handelt sich bei dem Kryptografieschlüssel um einen Einweg-Kryptografieschlüssel (wobei es sich um einen Sonderfall einer sogenannten „Einwegfunktion” handelt). Es wird darauf hingewiesen, dass der Kryptografieschlüssel aus dem gemeinsamen Geheimnis mithilfe einer Funktion (wie zum Beispiel einer Einweg-Hash-Funktion), die das gemeinsame Geheimnis transformiert, abgeleitet werden kann. Diese Funktion kann zwischen dem Benutzer und dem anderen Benutzer vereinbart werden.
-
Dann stellt das elektronische Gerät dem anderen elektronischen Gerät die erste verschlüsselte Nachricht bereit und erhält die zweite verschlüsselte Nachricht vom anderen elektronischen Gerät (Ablauf 120). Unter Einsatz des Kryptografieschlüssels entschlüsselt das elektronische Gerät die zweite verschlüsselte Nachricht (Ablauf 122). Ferner empfängt das elektronische Gerät die Bestätigung, dass das andere elektronische Gerät in der Lage war, die erste verschlüsselte Nachricht zu entschlüsseln (Ablauf 124), wodurch authentifiziert wird, dass die sichere Verbindung hergestellt ist.
-
Danach können die elektronischen Geräte die sichere Verbindung (wie zum Beispiel eine Peer-to-Peer-Verbindung) unter Einsatz von Informationen aus der ersten verschlüsselten Nachricht und der zweiten verschlüsselten Nachricht herstellen. Ferner kann die sichere Verbindung direkt hergestellt werden, d. h., ohne dass der Benutzer oder der andere Benutzer einen Dritten kontaktieren muss, der die sichere Verbindung herstellt.
-
In manchen Ausführungsformen stellt das elektronische Gerät optional eine Bestätigung an das andere elektronische Gerät bereit, dass es in der Lage war, die zweite verschlüsselte Nachricht zu entschlüsseln (Ablauf 126).
-
Somit kann das elektronische Gerät das Ermitteln eines Peers im Netzwerk durch Ankündigen auf der Grundlage des gemeinsamen Geheimnisses durchführen. Danach können die Benutzer (oder ihre elektronischen Geräte) sich gegenseitig authentifizieren (sie verifizieren also, dass der erkannte Peer tatsächlich im Besitz des gemeinsamen Geheimnisses ist), indem sie mit einem Kryptografieschlüssel (der aus dem gemeinsamen Geheimnis abgeleitet werden kann) und einer beiden Benutzern bekannten Verschlüsselungsmethode verschlüsselte Nachrichten austauschen.
-
In einem Ausführungsbeispiel wird die Sicherheitstechnik mit einem Einweg-Kryptografieschlüssel und zwei elektronischen Geräten (zum Beispiel Mobiltelefonen) implementiert, die über eine oder mehrere Kommunikationstechniken kommunizieren, einschließlich einer, die über ein Netzwerk, wie zum Beispiel ein Mobiltelefonnetzwerk und/oder das Internet, vermittelt sein kann. Dies wird in 2 dargestellt, die ein Flussdiagramm präsentiert, welches Verfahren 100 darstellt (1). Im Zuge dieses Verfahrens können Benutzer der elektronischen Geräte 210 und 212 optional ein gemeinsames Geheimnis (Abläufe 214 und 216) miteinander austauschen. Alternativ dazu kann das gemeinsame Geheimnis den Benutzern auch bereits bekannt sein.
-
Danach können die elektronischen Geräte 210 und 212 jeweils eine Bezeichnung bestimmen und ankündigen (Abläufe 218 und 220). Diese Bezeichnung kann durch Anwendung einer Funktion auf das gemeinsame Geheimnis bestimmt werden.
-
Nachdem die elektronischen Geräte 210 und 212 bestätigt haben, dass sie einander ermittelt haben (Abläufe 220 und 224) (zum Beispiel durch Empfangen der Bezeichnung und/oder einer Aufforderung, eine sichere Verbindung herzustellen), können die elektronischen Geräte 210 und 212 einen Einweg-Kryptografieschlüssel auf Grundlage des gemeinsamen Geheimnisses bestimmen (Abläufe 226 und 228). Ferner kann das elektronische Gerät 210 unter Einsatz des Einweg-Kryptografieschlüssels aus einer unverschlüsselten Nachricht eine erste verschlüsselte Nachricht erstellen (Ablauf 230) und das elektronische Gerät 212 kann unter Einsatz des Einweg-Kryptografieschlüssels aus derselben oder einer anderen unverschlüsselten Nachricht eine zweite verschlüsselte Nachricht erstellen (Ablauf 232).
-
Danach können die elektronischen Geräte 210 und 212 jeweils die erste verschlüsselte Nachricht (Ablauf 234) und die zweite verschlüsselte Nachricht (Ablauf 236) untereinander austauschen.
-
Unter Einsatz des Einweg-Kryptografieschlüssels entschlüsselt das elektronische Gerät 210 die zweite verschlüsselte Nachricht (Ablauf 238) und das elektronische Gerät 212 entschlüsselt die erste verschlüsselte Nachricht (Ablauf 240). Danach tauschen die elektronischen Geräte 210 und 212 Bestätigungen darüber aus (Abläufe 242 und 244), dass der Benutzer und der andere Benutzer in der Lage waren, jeweils die zweite verschlüsselte Nachricht und die erste verschlüsselte Nachricht zu entschlüsseln, wodurch bestätigt wird, dass die sichere Verbindung (wie zum Beispiel eine Peer-to-Peer-Verbindung zwischen den elektronischen Geräten 210 und 212) hergestellt worden ist.
-
In manchen Ausführungsformen des Verfahrens 100 (1 und 2) können mehr oder weniger Abläufe enthalten sein. Ferner kann die Reihenfolge der Abläufe geändert werden und/oder zwei oder mehr Abläufe können in einem einzelnen Ablauf zusammengefasst werden.
-
In einem Ausführungsbeispiel bieten viele Drahtlosnetzwerke eine Art von Peer- oder Dienstermittlung. So kann zum Beispiel ein Ermittlungsmechanismus eine Art der Attribut-Ankündigung einsetzen, wie die BluetoothTM-freundliche Bezeichnung über BluetoothTM (von der Bluetooth Special Interest Group aus Kirkland, Washington, USA) oder die SSID über WiFiTM (von der Wi-Fi Alliance aus Austin, Texas, USA). Im Allgemeinen müssen Peers, um einander ermitteln zu können, ein Attribut ankündigen, welches als von einem Peer stammend erkannt werden kann.
-
Unter Einsatz der gegenwärtigen Sicherheitstechnik ist das Attribut das gemeinsame Geheimnis (s). Sollten die Benutzer dieses gemeinsame Geheimnis allerdings ankündigen, handelt es sich dabei nicht länger um ein Geheimnis, d. h. es wird seinen Wert als Geheimnis verlieren und allen Benutzern mit Zugang zum selben drahtlosen Frequenzband bekannt sein. Dieses Problem kann mit Einwegfunktionen überwunden werden, z. B. mit Funktionen, die leicht berechnet werden können, aber in der Regel schwierig umzukehren sind, wie zum Beispiel eine kryptografische Hash-Funktion (wie zum Beispiel MD5 oder SHA-1).
-
Mit diesem Ansatz können beide Benutzer einen Hash-Wert des gemeinsamen Geheimnisses h = HASH(s) berechnen. Dann können die Peers den Hash-Wert zur Ermittlung durch Peers ankündigen, zum Beispiel durch Einbinden in eine BluetoothTM-freundliche Bezeichnung oder eine SSID. Dies kann das Ermittlungsproblem lösen, ohne das gemeinsame Geheimnis zu kompromittieren.
-
Andere Parteien können dieses Verhalten allerdings leicht replizieren. Aus diesem Grund kann ein Authentifizierungsvorgang durchgeführt werden. Dieser Authentifizierungsvorgang kann auf demselben gemeinsamen Geheimnis basieren. Insbesondere können beide Peers verschlüsselte Nachrichten unter Einsatz des gemeinsamen Geheimnisses als Verschlüsselungsschlüssel erstellen. So können die Peers zum Beispiel eine beliebige zufällige Zahl mit einer Verschlüsselungstechnik verschlüsseln, die beiden Peers bekannt ist (wie zum Beispiel eine symmetrische Verschlüsselungstechnik). Diese verschlüsselten Nachrichten können zwischen den Peers in kompletten Nachrichten übermittelt werden, die möglicherweise andere Elemente enthalten, um Replay-Angriffe und weitere häufige Sicherheitsrisiken in drahtlosen Kommunikationsnetzwerken zu verhindern.
-
Nach dem Empfangen der kompletten Nachricht (einschließlich der verschlüsselten Nachricht) kann einer der Peers die verschlüsselte Nachricht entschlüsseln und mit einer Bestätigung darüber antworten, dass er in der Lage war, die zuvor erhaltene Nachricht zu entschlüsseln, wodurch der Authentifizierungsvorgang abgeschlossen ist und bestätigt wird, dass die sichere Verbindung (auf der Grundlage der Verschlüsselung mit dem Verschlüsselungsschlüssel) hergestellt worden ist.
-
In einem Ausführungsbeispiel wird ein Einweg-Hash des gemeinsamen Geheimnisses mit dem elektronischen Gerät berechnet. Dann wird eine Zeichenfolge mit fester Länge erstellt, die zwischen den elektronischen Geräten als eindeutig gelten soll. Diese Zeichenfolge mit fester Länge kann auf einem Einweg-Hash (wobei es sich um einen Sonderfall einer sogenannten „Einwegfunktion” handelt) der folgenden Information basieren: Maschinen-Adresscode, International Mobile Equipment Identity, eine pseudozufällige Zahl und/oder eine zufällige Zahl. Danach werden die gehashten Informationen und/oder zusätzliche Informationen aneinander angehängt und eingesetzt, um die freundliche Bezeichnung zu erstellen, die dann übertragen wird.
-
Falls eine freundliche Bezeichnung mit höherer Sortierreihenfolge von einem elektronischen Gerät erfasst wird (welches jedes der beiden elektronischen Geräte sein kann), wird ein Versuch unternommen, sich unter Einsatz des gemeinsamen Geheimnisses als Verschlüsselung, mit ihm zu koppeln. Ansonsten kann das elektronische Gerät auf einen eingehenden Kopplungsversuch warten.
-
Wie zuvor beschrieben, können die Peers das gemeinsame Geheimnis nutzen, um einander zu ermitteln und zu authentifizieren, und dann ein Zero-Knowledge-Protokoll verwenden, um die sichere Verbindung herzustellen, zum Beispiel über einen drahtlosen Kommunikationskanal.
-
Es werden nun Ausführungsformen des Systems und des elektronischen Geräts und ihre Anwendung beschrieben. 3 zeigt ein Blockdiagramm, welches ein System 300 darstellt, welches Verfahren 100 (1 und 2) durchführt. In diesem System kann ein Benutzer des elektronischen Geräts 210 eine Instanz eines Softwareprodukts verwenden, wie zum Beispiel eine Sicherheitssoftware-Anwendung, die auf dem elektronischen Gerät 210 installiert ist und darauf ausgeführt wird. (Alternativ dazu kann der Benutzer mit einer Internetseite interagieren, die von dem Server 314 über das Netzwerk 312 bereitgestellt und über einen Internetbrowser auf dem elektronischen Gerät 210 wiedergegeben wird. Zum Beispiel kann wenigstens ein Teil der Finanzsoftware-Anwendung ein Anwendungstool sein, das in die Internetseite eingebunden ist und in einer virtuellen Umgebung des Internetbrowsers ausgeführt wird. Somit kann das Anwendungstool für den Benutzer über eine Client-Server-Architektur bereitgestellt werden.) Diese Sicherheitssoftware-Anwendung kann eine eigenständige Anwendung oder Teil einer anderen Anwendung sein, die auf dem elektronischen Gerät 210 gespeichert ist und auf diesem ausgeführt wird (wie zum Beispiel eine Software-Anwendung, die vom Server 314 bereitgestellt wird oder die auf dem elektronischen Gerät 210 gespeichert ist und auf diesem ausgeführt wird).
-
Wie bereits erklärt wurde, kann der Benutzer die Instanz der Sicherheitssoftware-Anwendung auf dem elektronischen Gerät 210 nutzen, um eine sichere Verbindung mit einem anderen Benutzer des elektronischen Geräts 212 herzustellen. Insbesondere können die Benutzer zuvor das gemeinsame Geheimnis ausgetauscht haben. Danach kann eine Instanz der Sicherheitssoftware-Anwendung auf dem elektronischen Gerät 210 eine Einwegfunktion auf das gemeinsame Geheimnis anwenden, um eine Bezeichnung festzulegen. Die Instanz der Sicherheitssoftware-Anwendung kann die Bezeichnung im Netzwerk 312 ankündigen. Eine Instanz der Sicherheitssoftware-Anwendung auf dem elektronischen Gerät 212 kann die Bezeichnung erfassen und dem elektronischen Gerät 210 (über das Netzwerk 312) eine Bestätigung darüber übermitteln, dass es das elektronische Gerät 210 „ermittelt” hat. Diese Bestätigung kann eine Anforderung enthalten, eine sichere Verbindung zwischen den elektronischen Geräten 210 und 212 herzustellen.
-
Dann kann die Instanz der Sicherheitssoftware-Anwendung auf dem elektronischen Gerät 210 eine erste verschlüsselte Nachricht aus einer unverschlüsselten Nachricht unter Einsatz eines Kryptografieschlüssels (welcher von dem gemeinsamen Geheimnis abgeleitet sein kann) erstellen. Ebenso kann die Instanz der Sicherheitssoftware-Anwendung auf dem elektronischen Gerät 212 unter Einsatz des Kryptografieschlüssels eine zweite verschlüsselte Nachricht aus derselben oder einer anderen unverschlüsselten Nachricht erstellen. Die elektronischen Geräte 210 und 212 können dann die erste verschlüsselte Nachricht und die zweite verschlüsselte Nachricht über das Netzwerk 312 austauschen.
-
Unter Einsatz des Kryptografieschlüssels können die Instanzen der Sicherheitssoftware-Anwendung auf den elektronischen Geräten 210 und 212 jeweils die erste verschlüsselte Nachricht und die zweite verschlüsselte Nachricht entschlüsseln. Danach können die Instanzen der Sicherheitssoftware-Anwendung auf den elektronischen Geräten 210 und 212 einander (über Netzwerk 312) Bestätigungen darüber übermitteln, dass die sichere Verbindung hergestellt ist.
-
Es wird darauf hingewiesen, dass Informationen im System 300 an einer oder mehreren Stellen im System 300 (d. h. lokal oder entfernt) gespeichert werden können. Ferner können diese Daten verschlüsselt sein, da es sich dabei um sensible Daten handelt. So können zum Beispiel gespeicherte Daten und/oder Daten, die über das Netzwerk 312 übertragen werden, verschlüsselt sein.
-
4 präsentiert ein Blockdiagramm, das ein elektronisches Gerät 400 darstellt, welches das Verfahren 100 (1 und 2) ausführt, wie zum Beispiel Server 212 (2 und 3). Das elektronische Gerät 400 enthält eine/n oder mehrere Verarbeitungseinheiten oder Prozessoren 410, eine Kommunikationsschnittstelle 412, eine Benutzerschnittstelle 414 und eine oder mehrere Signalleitungen 422, die diese Komponenten miteinander verbinden. Es wird darauf hingewiesen, dass der eine oder die mehreren Prozessoren 410 eine parallele Verarbeitung oder einen Multi-Thread-Betrieb unterstützen können, dass die Kommunikationsschnittstelle 412 eine dauerhafte Kommunikationsverbindung haben kann und die eine oder die mehreren Signalleitungen 422 einen Kommunikationsbus darstellen können. Ferner können zur Benutzerschnittstelle 414 eine Anzeige 416, eine Tastatur 418 und/oder ein Zeiger 420, wie zum Beispiel eine Maus, gehören.
-
Der Speicher 424 im elektronischen Gerät 400 kann flüchtigen Speicher und/oder nichtflüchtigen Speicher enthalten. Insbesondere kann der Speicher 424 enthalten: ROM, RAM, EPROM, EEPROM, Flash-Speicher, eine oder mehrere Smartcards, ein oder mehrere Magnetplattenspeichergeräte und/oder ein oder mehrere optische Speichergeräte. Im Speicher 424 kann ein Betriebssystem 426 gespeichert sein, das Vorgänge (oder Befehlssätze) zum Handhaben von verschiedenen grundlegenden Systemdiensten für das Ausführen von hardwareabhängigen Aufgaben enthält. Im Speicher 424 können auch Vorgänge (oder Befehlssätze) in einem Kommunikationsmodul 428 gespeichert sein. Diese Kommunikationsvorgänge können für die Kommunikation mit einem oder mehreren elektronischen Geräten, Computern und/oder Servern eingesetzt werden, einschließlich elektronischer Geräte, Computer und/oder Server, die vom elektronischen Gerät 400 entfernt liegen.
-
Der Speicher 424 kann ferner auch mehrere Programmmodule (oder Befehlssätze) enthalten, einschließlich: Transaktionsmodul 430 (oder einen Befehlssatz) und/oder Verschlüsselungsmodul 432 (oder einen Befehlssatz). Es wird darauf hingewiesen, dass eines oder mehrere dieser Programmmodule (oder dieser Befehlssätze) einen Computerprogrammmechanismus darstellen können.
-
Im Verlauf der Verfahrens 100 (1 und 2) kann das Sicherheitsmodul 430 unter Einsatz von Kommunikationsmodul 428 und Kommunikationsschnittstelle 412 optional das gemeinsame Geheimnis 434 mit einem anderen elektronischen Gerät austauschen.
-
Dann kann das Sicherheitsmodul 430 eine Bezeichnung 454 ermitteln, indem es eine Funktion 456 auf ein gemeinsames Geheimnis 434 anwendet. Ferner kann das Sicherheitsmodul 430 die Bezeichnung 454 mit dem Kommunikationsmodul 428 und der Kommunikationsschnittstelle 412 in einem Netzwerk ankündigen. Als Antwort darauf können die anderen elektronischen Geräte eine Ermittlungsbestätigung 458 darüber, dass die Bezeichnung 454 empfangen worden ist, übermitteln, die vom elektronischen Gerät 400 über Kommunikationsschnittstelle 412 und Kommunikationsmodul 428 empfangen werden kann. Diese Ermittlungsbestätigung kann eine Anforderung zum Herstellen einer sicheren Verbindung mit dem elektronischen Gerät 400 enthalten.
-
In der Folge kann das Verschlüsselungsmodul 432 unter Einsatz eines Einweg-Kryptografieschlüssels 436 und zum Beispiel einer symmetrischen Verschlüsselungstechnik 444 eine verschlüsselte Nachricht 440 aus einer unverschlüsselten Nachricht 442 erstellen. Es wird darauf hingewiesen, dass das Verschlüsselungsmodul 432 den Einweg-Kryptografieschlüssel 436 zum Beispiel unter Einsatz einer Einweg-Hash-Funktion 438 auf Grundlage des gemeinsamen Geheimnisses 434 bestimmen kann.
-
Diese verschlüsselte Nachricht kann vom Sicherheitsmodul 430 über das Kommunikationsmodul 428 und die Kommunikationsschnittstelle 412 dem anderen elektronischen Gerät bereitgestellt werden. Ebenso kann das Sicherheitsmodul 430 die verschlüsselte Nachricht 446 vom anderen elektronischen Gerät über die Kommunikationsschnittstelle 412 und das Kommunikationsmodul 428 erhalten.
-
Unter Einsatz eines Einweg-Kryptografieschlüssels 436 kann das Verschlüsselungsmodul 432 die verschlüsselte Nachricht 446 entschlüsseln. Ferner kann das Sicherheitsmodul 430 (unter Einsatz von Kommunikationsmodul 428 und Kommunikationsschnittstelle 412) Verbindungsinformationen 448 darüber bereitstellen, dass das elektronische Gerät 400 in der Lage war, die verschlüsselte Nachricht 446 zu entschlüsseln, und Sicherheitsmodul 430 kann (unter Einsatz von Kommunikationsschnittstelle 412 und Kommunikationsmodul 428) Verbindungsinformationen 450 darüber empfangen, dass das elektronische Gerät in der Lage war, die verschlüsselte Nachricht 440 zu entschlüsseln. Auf diese Weise können das elektronische Gerät 400 und das andere elektronische Gerät bestätigen, dass die sichere Verbindung 452 hergestellt worden ist.
-
Anweisungen in den verschiedenen Modulen im Speicher 424 können implementiert sein in: einer höheren prozeduralen Programmiersprache, einer objektorientierten Programmiersprache und/oder in einer Assembler- oder Maschinensprache. Es wird darauf hingewiesen, dass die Programmiersprache kompiliert oder interpretiert, z. B. konfigurierbar oder konfiguriert, sein kann, um von dem einen oder den mehreren Prozessoren 410 ausgeführt zu werden.
-
Obwohl das elektronische Gerät 400 mit einer Anzahl von separaten Bestandteilen dargestellt ist, soll 4 vielmehr als funktionelle Beschreibung der verschiedenen Merkmale gelten, die bei dem elektronischen Gerät 400 vorhanden sein können, und nicht als strukturelle Übersicht zu den hier beschriebenen Ausführungsformen. In der Praxis können, wie Durchschnittsfachleute erkennen werden, die Funktionen des elektronischen Geräts 400 über eine große Anzahl von Servern und Computern verteilt werden, wobei verschiedene Gruppen von Servern oder Computern bestimmte Untergruppen der Funktionen ausführen. Bei manchen Ausführungsformen können manche oder alle Funktionen des elektronischen Geräts 400 in einer oder mehreren anwendungsspezifischen integrierten Schaltungen (Application Specific Integrated Circuit – ASIC) und/oder in einem oder mehreren digitalen Signalprozessoren (Digital Signal Processor – DSP) implementiert sein.
-
Zu den elektronischen Geräten (wie zum Beispiel dem elektronischen Gerät 400) sowie Computern und Servern im System 300 (3) kann eines einer Vielzahl von Geräten gehören, die in der Lage sind, computerlesbare Daten zu verändern oder solche Daten über ein Netzwerk zwischen zwei oder mehr Rechnersystemen zu übertragen, einschließlich: ein Personal Computer, ein Laptop, ein Tablet-Computer, ein Großrechner, ein tragbares elektronisches Gerät (wie zum Beispiel ein Mobiltelefon oder ein PDA), ein Server und/oder ein Client-Computer (in einer Client-Server-Architektur). Ferner kann zu dem Netzwerk 312 (3) das Internet, das World Wide Web (WWW), ein Intranet, ein Mobiltelefonnetzwerk, LAN, WAN, MAN oder eine Kombination aus Netzwerken oder sonstige Technologie gehören, die die Kommunikation zwischen Rechnersystemen ermöglicht.
-
Das System 300 (3) und/oder das elektronische Gerät 400 können weniger Komponenten oder zusätzliche Komponenten enthalten. Ferner können zwei oder mehr Komponenten zu einer einzigen Komponente kombiniert werden, und/oder die Position einer oder mehrerer Komponenten kann geändert werden. Bei manchen Ausführungsformen kann die Funktion des Systems 300 (3) und/oder des elektronischen Geräts 400 mehr in Hardware und weniger in Software oder mehr in Software und weniger in Hardware implementiert sein, wie dies im Stand der Technik bekannt ist.
-
Die obige Beschreibung soll es einem Durchschnittsfachmann ermöglichen, die Offenbarung herzustellen und zu verwenden, und wird im Zusammenhang einer bestimmten Anmeldung und ihrer Anforderungen bereitgestellt. Ferner sind die obigen Beschreibungen von Ausführungsformen der vorliegenden Offenbarung nur zum Zweck der Darstellung und der Beschreibung dargeboten worden. Sie sollen nicht als vollständig gelten oder die vorliegende Offenbarung auf die offenbarten Formen beschränken. Dementsprechend werden für Fachleute zahlreiche Modifikationen und Variationen offensichtlich sein und die hier definierten allgemeinen Grundlagen können auf andere Ausführungsformen und Anwendungen angewandt werden, ohne vom Gedanken und Schutzumfang der Erfindung abzuweichen. Zudem soll die Erläuterung der vorhergehenden Ausführungsformen die vorliegende Offenbarung nicht einschränken. Somit soll die vorliegende Offenbarung nicht auf die gezeigten Ausführungsformen beschränkt sein, sondern vielmehr dem breitestmöglichen Schutzumfang gemäß den hier offenbarten Grundlagen und Merkmalen entsprechen.