-
Gebiet
-
Das folgende bezieht sich im Allgemeinen auf ein Verfahren und System zur Entriegelung einer Vorrichtung, und genauer gesagt auf die Entriegelung einer Vorrichtung unter Verwendung einer weiteren Vorrichtung.
-
Hintergrund
-
Moderne elektronische Vorrichtungen, wie beispielsweise Smartphones und Tablet PCs, umfassen typischerweise einen oder mehrere Verriegelungs-/Entriegelungs-Mechanismen, um die Vorrichtungen zu sichern. Um eine Vorrichtung zu entriegeln, kann ein Benutzer ein Passwort auf einem Login-Bildschirm von der Vorrichtung eingeben oder einen unterschiedlichen Mechanismus verwenden, wie beispielsweise ein Abtasten seines Fingerabdrucks mit einem Fingerabdruckscanner. Diese Mechanismen werden typischerweise direkt auf der zu entriegelnden Vorrichtung durchgeführt.
-
Zusammenfassung
-
Das Folgende bezieht sich im Allgemeinen auf die Entriegelung einer Vorrichtung unter Verwendung einer weiteren Vorrichtung. Wie in diesem Dokument angegeben, kann die Vorrichtung, welche eine weitere Vorrichtung entriegeln kann, die erste Vorrichtung sein, und kann die Vorrichtung, welche durch eine weitere Vorrichtung entriegelt werden kann, die zweite Vorrichtung sein.
-
In einer Ausführungsform wird ein Verfahren zum Entriegeln einer zweiten Vorrichtung unter Verwendung einer ersten Vorrichtung beschrieben. Beispielsweise kann eine von Hand zu haltende elektronische Vorrichtung eine tragbare Vorrichtung, welche niemals entriegelt wurde, durch den Austausch von geheimen Schlüsseln entriegeln. Das Verfahren kann umfassen: Paaren der ersten Vorrichtung mit der zweiten Vorrichtung; Aufbauen einer vertrauenswürdigen Beziehung mit der zweiten Vorrichtung; gegenseitiges Authentifizieren beider Vorrichtungen (d. h. Aufbauen einer vertrauenswürdigen Beziehung zwischen den Vorrichtungen) unter Verwendung eines eindeutigen Vorrichtungsschlüssels in jeder Vorrichtung (welcher von der Vorrichtung entnommen werden kann); Empfangen eines geheimen Schlüssels von der zweiten Vorrichtung während der Einrichtung und Speichern dessen; und Übertragen des empfangenen geheimen Schlüssels an die zweite Vorrichtung, um die zweite Vorrichtung in Ansprechen auf den Empfang der Benutzereingabe zu entriegeln. Mit anderen Worten, kann die erste Vorrichtung anfänglich die zweite Vorrichtung kontaktieren. Die zweite Vorrichtung kann dann ein Geheimnis (engl.: secret) an die erste Vorrichtung senden und den Benutzer nach dem Passwort fragen. Durch das Passwort kann die zweite Vorrichtung den Hauptschlüssel (engl.: master key) herleiten, eine Entriegelung bestätigen und eine Hinterlegungs-Aufzeichnung (engl.: escrow record) speichern. Die Hinterlegungs-Aufzeichnung umfasst den Hauptschlüssel, welcher durch den Entriegelungsschlüssel verschlüsselt ist, als auch den Entriegelungsschlüssel, welcher durch den Hauptschlüssel verschlüsselt ist, so dass jedes Mal, wenn sich der Hauptschlüssel ändert, die Aufzeichnung aktualisiert werden kann.
-
In einer weiteren Ausführungsform wird ein Verfahren einer zweiten Vorrichtung, welche durch eine erste Vorrichtung entriegelt wird, offenbart. Beispielsweise kann ein Handgerät ein weiteres Handgerät entriegeln. Das Verfahren kann umfassen: Aufbauen einer vertrauenswürdigen Beziehung mit der zweiten Vorrichtung; gegenseitiges Authentifizieren beider Vorrichtungen unter Verwendung eines eindeutigen Vorrichtungsschlüssel in jeder Vorrichtung; Senden eines geheimen Schlüssel an die erste Vorrichtung während der Registrierung; Entriegeln der zweiten Vorrichtung nach Empfangen eines Passworts; Herleiten eines Hauptschlüssels aus dem Passwort; Verschlüsseln des Hauptschlüssels mit dem geheimen Schlüssel, welcher zuvor an die erste Vorrichtung gesendet wurde; Empfangen des geheimen Schlüssels von der ersten Vorrichtung; Erlangen des Hauptschlüssels unter Verwendung des empfangenen geheimen Schlüssels; und Verwenden des Hauptschlüssels um einen Entriegelungsbetrieb durchzuführen. Mit anderen Worten, kann sich die erste Vorrichtung zuerst einbuchen (engl.: check in), eine gegenseitige Authentifizierung durchführen und ein Geheimnis mit der zweiten Vorrichtung austauschen. Wenn die zweite Vorrichtung das erste Mal (seit dem Hochfahren) entriegelt wird, kann die zweite Vorrichtung den Hauptschlüssel beibehalten, welcher das ausgetauschte Geheimnis einhüllt (engl.: wrapped to).
-
In einer weiteren Ausführungsform wird eine erste Vorrichtung offenbart, welche dazu in der Lage ist, eine zweite Vorrichtung zu entriegeln. Die erste Vorrichtung kann umfassen: ein Paarungsmodul, welches dazu konfiguriert ist, sich mit der zweiten Vorrichtung zu paaren; ein Authentifizierungsmodul, welches dazu konfiguriert ist, sich selber unter Verwendung von einem Vorrichtungsschlüssel zu authentifizieren; ein Empfangsmodul, welches dazu konfiguriert ist, einen geheimen Schlüssel von der zweiten Vorrichtung zu empfangen; ein Benutzereingabe-Verarbeitungsmodul, welches dazu konfiguriert ist, eine Benutzereingabe zu verarbeiten, welche von einer Eingabe/Ausgabe-Vorrichtung von der ersten Vorrichtung empfangen ist; und ein Übertragungsmodul, welches dazu konfiguriert ist, den empfangenen geheimen Schlüssel an die zweite Vorrichtung zu übertragen, um die zweite Vorrichtung in Ansprechen auf die Benutzereingabe zu entriegeln.
-
In einer weiteren Ausführungsform wird eine zweite Vorrichtung offenbart, welche dazu in der Lage ist, durch eine erste Vorrichtung entriegelt zu werden. Die zweite Vorrichtung kann umfassen: ein Paarungsmodul, welches dazu konfiguriert ist, sich mit der ersten Vorrichtung zu paaren; ein Empfangsmodul, welches dazu konfiguriert ist, einen öffentlichen Vorrichtungsschlüssel und einen geheimen Schlüssel von der ersten Vorrichtung zu empfangen; ein Schlüssel-Signiermodul, welches dazu konfiguriert ist, den empfangenen öffentlichen Vorrichtungsschlüssel mit einem privaten Vorrichtungsschlüssel im Zusammenhang mit der zweiten Vorrichtung zu signieren; ein Übertragungsmodul, welches dazu konfiguriert ist, einen geheimen Schlüssel an die erste Vorrichtung zu senden; ein Benutzereingabe-Verarbeitungsmodul, welches dazu konfiguriert ist, ein Passwort zu verarbeiten; ein Herleitungsmodul, welches dazu konfiguriert ist, einen Hauptschlüssel aus dem Passwort herzuleiten; ein Verschlüsselungsmodul, welches dazu konfiguriert ist, den Hauptschlüssel mit dem geheimen Schlüssel zu verschlüsseln; ein Abfragemodul, welches dazu konfiguriert ist, den Hauptschlüssel unter Verwendung des empfangenen geheimen Schlüssels abzufragen; und ein Entriegelungsmodul, welches dazu konfiguriert ist, den Hauptschlüssel dazu zu verwenden, um einen Entriegelungsbetrieb durchzuführen.
-
Kurze Beschreibung der Zeichnung
-
1 stellt eine erste Vorrichtung und eine zweite Vorrichtung, wobei die erste Vorrichtung dazu in der Lage ist, die zweite Vorrichtung zu entriegeln, gemäß einer Ausführungsform der Beschreibung dar.
-
2 zeigt ein Ablaufdiagramm, in welchem die beispielhaften Schritte in einem Verfahren zum Verwenden einer ersten Vorrichtung zum Entriegeln einer zweiten Vorrichtung gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
3 zeigt ein Ablaufdiagramm, in welchem die beispielhaften Schritte in einem Registrierungsablauf gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
4 zeigt ein Ablaufdiagramm, in welchem die beispielhaften Schritte in einem Verfahren zum Verwenden einer ersten Vorrichtung zum Entriegeln einer zweiten Vorrichtung gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
5 zeigt ein Blockdiagramm, in welchem die beispielhaften Module von einer Vorrichtung, wie beispielsweise die erste Vorrichtung oder die zweite Vorrichtung von 1, gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
6 stellt die beispielhaften Schritten bei der Paarung der zwei Vorrichtungen gemäß einer Ausführungsform der Beschreibung dar.
-
7 stellt die beispielhaften Schritte in einem Verfahren zum Verwenden der ersten Vorrichtung zum Entriegeln der zweiten Vorrichtung gemäß einer Ausführungsform der Beschreibung dar.
-
8 zeigt ein Blockdiagramm, in welchem die beispielhaften Module von einer zweiten Vorrichtung, welche durch eine weitere Vorrichtung aus der Ferne entriegelt werden kann, gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
9 zeigt ein Blockdiagramm, in welchem die beispielhaften Module von einer ersten Vorrichtung, welche eine Entriegelung von einer weiteren Vorrichtung aus der Ferne durchführen kann, gemäß einer Ausführungsform der Beschreibung dargestellt sind.
-
10 stellt beispielhafte Bauteile von einem Rechensystem, wie beispielsweise die in den Ausführungsformen der Beschreibung beschriebene erste Vorrichtung oder zweite Vorrichtung, dar.
-
Genaue Beschreibung
-
In der folgenden Beschreibung von beispielhaften Ausführungsformen wird auf die begleitende Zeichnung Bezug genommen, in welcher mittels Darstellung spezifische Ausführungsformen gezeigt sind, welche in die Praxis umgesetzt werden können. Es ist zu verstehen, dass weitere Ausführungsformen verwendet werden können und bauliche Änderungen vorgenommen werden können, ohne vom Umfang der verschiedenen Ausführungsformen abzuweichen.
-
Das Folgende bezieht sich im Allgemeinen auf die Entriegelung von einer Vorrichtung unter Verwendung von einer weiteren Vorrichtung. Wie in diesem Dokument bezeichnet, kann die Vorrichtung, welche eine weitere Vorrichtung entriegeln kann, die erste Vorrichtung sein, und kann die Vorrichtung, welche durch eine weitere Vorrichtung entriegelt werden kann, die zweite Vorrichtung sein.
-
1 stellt eine erste Vorrichtung 100 und eine zweite Vorrichtung 112 dar. In dieser Ausführungsform kann die erste Vorrichtung 100 zum Entriegeln der zweiten Vorrichtung 112 verwendet werden. Die erste Vorrichtung kann beispielsweise ein Smartphone, ein Tablet-PC, ein Laptop, ein Desktop-PC, ein Mac, ein elektronisches Lesegerät, ein Smart-TV oder eine Spielkonsole oder jegliche weitere Vorrichtungen sein, welche zur Kommunikation mit einer weiteren Vorrichtung in der Lage sind. Die erste Vorrichtung 100 kann einen sicheren Prozessor, wie beispielsweise ein sicherer Enklave-Prozessor (SEP) 105, und einen Anwendungsprozessor umfassen, welcher einen Kernel 108 und eine Nutzerumgebung (engl.: user land) 110 (ebenso im allgemeinen als Nutzerbereich (engl.: userspace) bezeichnet) umfasst. Der SEP 105 kann ein Prozessor sein, welcher vom Anwendungsprozessor (AP) getrennt ist, welcher den Kernel 108 und die Nutzerumgebung 110 umfasst. Die Nutzerumgebung 110 kann die Operationen von Fremdanwendungen auf der Vorrichtung unterstützen. Der Kernel 108 kann der Kern von dem OS sein und der Nutzerumgebung eine Anzahl von Schnittstellen bereitstellen und die Eingabe/Ausgabe (I/O) Anfragen von den Anwendungen verwalten. In einigen Ausführungsformen kann der Kernel 108 ebenso Schlüsselverwaltung-Operationen durchführen, um Daten auf der Vorrichtung 100 zu schützen. Der SEP 105 kann ein relativ kleiner Prozessor sein, welcher eine Sicherheitsgrenze definieren kann, innerhalb welcher ein Schlüsselverwaltung-Modul vorliegen kann. Die Schlüssel können verfügbar werden, wenn die Vorrichtung entriegelt ist oder dies zuvor war. Der Kernel 108 kann mit dem SEP 105 kommunizieren.
-
In dieser Ausführungsform können mehrere Prozesse innerhalb des SEP 105 vorliegen. Wie in 1 dargestellt, kann der SEP ein biometrisches Abgleichmodul (engl.: biometric matching module) 104 und ein Schlüsselverwaltungs-Modul 106 umfassen.
-
Die erste Vorrichtung 100 kann einen oder mehrere Verriegelungs-/Entriegelungs-Mechanismen umfassen. Einer der Mechanismen zum Entriegeln der ersten Vorrichtung kann stattfinden durch Eingabe eines Passworts auf einer I/O Vorrichtung, wie beispielsweise ein Touchscreen oder eine physikalische Tastatur. Das Passwort kann, sobald eingegeben, über die Nutzerumgebung 110 und den Kernel 108 an den SEP 105 durchgeleitet werden. Der SEP kann basierend auf dem Passwort eine Herleitung durchführen, um zu bestimmen, ob die erste Vorrichtung 100 entriegelt werden kann und um zu versuchen, ihren Satz von Benutzerdatenschlüsseln zu entriegeln. Wenn die erste Vorrichtung entriegelt ist, können die Benutzerdatenschlüssel im Schlüsselverwaltungsmodul 106 für die Vorrichtung 100 verfügbar werden.
-
Die erste Vorrichtung 100 kann ebenso einen Fingerabdruckscanner 102 umfassen, welcher dazu entworfen ist, um die Vorrichtung mittels eines Fingerabdrucks eines Benutzers zu entriegeln. Der Fingerabdruckscanner 102 kann ein Bild von dem Fingerabdruck aufnehmen und das Bild an das biometrische Abgleichmodul 104 zur Verarbeitung senden. Nachdem das biometrische Abgleichmodul das aufgenommene Fingerabdruckbild verifiziert hat, kann es den zufälligen Schlüssel zurück an das Schlüsselverwaltungsmodul 106 reichen, welches veranlassen kann, dass die Schlüssel im Schlüsselverwaltungsmodul 106 der Vorrichtung 100 verfügbar werden. Das biometrische Abgleichmodul 104 kann optional den zufälligen Schlüssel im Speicher beibehalten, nachdem es die Analyse des Fingerabdrucks beendet hat.
-
Wie in 1 dargestellt, kann die zweite Vorrichtung 112 die gleichen Bauteile wie die erste Vorrichtung umfassen. Beispielsweise kann die zweite Vorrichtung 112 ebenso einen SEP 116 und einen Anwendungsprozessor umfassen, welcher einen Kernel 118 und eine Nutzerumgebung 120 umfasst. Der SEP 116, der Kernel 118 und die Nutzerumgebung 120 können auf ähnliche Weise operieren wie ihre Pendants in der ersten Vorrichtung 100. Ungleich der ersten Vorrichtung kann die zweite Vorrichtung in dieser Ausführungsform keinen Fingerabdruckscanner umfassen. Alternativ kann die zweite Vorrichtung einen Fingerabdruckscanner umfassen. In einigen Ausführungsformen kann die zweite Vorrichtung 112 keinen SEP 116 und kein biometrisches Abgleichmodul umfassen, und kann das Schlüsselverwaltungsmodul 122 im Kernel 118 vorliegen.
-
In einem Beispiel kann die erste Vorrichtung ein iPhone mit einem Fingerabdruckscanner sein und kann die zweite Vorrichtung ein iPad, eine tragbare Vorrichtung oder eine jegliche weitere Vorrichtung ohne einen Fingerabdruckscanner sein.
-
Wie zuvor beschrieben, kann das biometrische Abgleichmodul 104 von der ersten Vorrichtung ein Geheimnis (beispielsweise einen zufälligen Schlüssel) von dem Schlüsselverwaltungsmodul 106 empfangen, wenn es mit einem Passwort entriegelt wurde, und es an das Schlüsselverwaltungsmodul ausgeben, wenn die erste Vorrichtung durch einen Fingerabdruckabgleich entriegelt wird. In den im Folgenden beschriebenen Ausführungsformen kann die erste Vorrichtung 100 die zweite Vorrichtung 112 basierend auf ähnlichen Prinzipien entriegeln. Genauer gesagt, kann ein vom Fingerabdrucksensor aufgenommenes Fingerabdruckbild hervorrufen, dass das biometrische Abgleichmodul 104 von der ersten Vorrichtung 100 einen geheimen Schlüssel herausgibt. Anstelle einer Entriegelung der ersten Vorrichtung kann es hervorrufen, dass das Schlüsselverwaltungsmodul 106 ein Geheimnis an das Schlüsselverwaltungsmodul 122 auf der weiteren Vorrichtung 112 herausgibt. Dieser geheime Schlüssel kann über die Nutzerumgebung 110 von der ersten Vorrichtung 100, und zwar über einen Kommunikationskanal 130, welcher beide Schlüsselverwaltungsmodule 106, 122 auf den zwei Vorrichtungen 100, 112 verbindet, und über die Nutzerumgebung 120 von der zweiten Vorrichtung 112 an den SEP 116 von der zweiten Vorrichtung 112 passiert werden. Der geheime Schlüssel kann dann dazu verwendet werden, um die zweite Vorrichtung 112 zu entriegeln, wie in den folgenden Ausführungsformen detailliert beschrieben wird.
-
Wenn eine der Vorrichtungen einen SEP umfasst und die weitere Vorrichtung nicht, kann die Vorrichtung mit einem SEP das Senden ihrer Schlüssel an die Vorrichtung ohne den SEP verweigern, um zu vermeiden, dass eine Vorrichtung mit einem schwächeren Schutz dazu in der Lage ist, eine Vorrichtung mit einem stärkeren Schutz zu entriegeln. Somit, bevor eine Information (beispielsweise ein oder mehrere Schlüssel zum entfernten Entriegeln der weiteren Vorrichtung) zwischen den Vorrichtungen übertragen wird, können die Vorrichtungen einander als gesicherte Vorrichtungen (beispielsweise eine Vorrichtung mit einem SEP) authentifizieren.
-
Zunächst kann ein gemeinsamer Schlüssel dazu verwendet werden, um zu validieren, ob ein Vorrichtungsschlüssel (wie im Folgenden beschrieben), welcher mit jeder der ersten und zweiten Vorrichtung im Zusammenhang steht, zu einem SEP von einer vertrauenswürdigen Vorrichtung gehört. Beispielsweise kann der entfernte Entriegelungsbetrieb in einer Ausführungsform lediglich zwischen Vorrichtungen freigegeben werden, welche den gleichen Typ von SEPs (beispielsweise Apples SEP) haben. In einer Ausführungsform kann ein gemeinsamer Schlüssel, beispielsweise KSEP GLOBAL, von einem symmetrischen Hardwareschlüssel hergeleitet werden, welcher durch die SEPs von den zwei Vorrichtungen gemeinsam benutzt wird. KSEP GLOBAL kann dann zum Signieren von einem oder mehreren weiteren Schlüsseln verwendet werden, welche während eines entfernten Entriegelungsablaufs verwendet werden können. Ein Schlüssel, welcher durch den gemeinsamen Schlüssel KSEP GLOBAL signiert ist, kann derart erachtet werden, dass er von einer Vorrichtung mit einem SEP, d. h. einer Vorrichtung, welcher vertraut werden kann, generiert ist. In einer weiteren Ausführungsform kann ein vorrichtungsspezifischer asymmetrischer Schlüssel, welcher durch eine gemeinsame Instanz (engl.: common authority) zertifiziert wurde, verwendet werden. Die Zertifizierung kann eine Klassifizierung von der Vorrichtung umfassen, welche verwendet werden kann, um ihren Schutzlevel zu bestimmen.
-
Einer der Schlüssel, welcher durch KSEP GLOBAL validiert werden kann, kann ein Vorrichtungsschlüssel Kd sein, welcher hinsichtlich jeder Vorrichtung eindeutig sein kann und zur Identifizierung von der Vorrichtung verwendet wird. Wie im Folgenden bezeichnet, kann Kd1 ein Schlüssel sein, welcher die erste Vorrichtung identifiziert, und kann Kd2 ein Schlüssel sein, welcher die zweite Vorrichtung identifiziert. In einer Ausführungsform kann Kd hergeleitet werden aus einem zufällig erzeugten Geheimnis für diese Paarung, einer zufällig erzeugten, universell eindeutigen Kennung (engl.: universally unique identifier UUID) (beispielsweise KeyBag UUID, welche den aktuellen Satz von Benutzerschlüsseln identifiziert), und einem vorrichtungsspezifischen Hardwareschlüssel, beispielsweise KSEP LOCAL. KSEP LOCAL kann einer der Vorrichtungsschlüssel in dem Schlüsselverwaltungsmodul von der Vorrichtung sein, welcher zum Schutz von Daten im Zusammenhang mit der Vorrichtung verwendet werden kann. Das zufällig erzeugte Geheimnis kann ein Zufallswert sein, welcher durch den Schlüsselspeicher bei der Erzeugung erzeugt wird, um eine Schlüssel-Entropie und Einzigartigkeit bereitzustellen. Die UUID kann für den KeyBag sein, welcher durch den Mechanismus entriegelt wird. Der vorrichtungsspezifische Hardwareschlüssel kann ein Datenschutz-Klasse-Schlüssel mit einer bestimmten Verfügbarkeit sein (beispielsweise jederzeit verfügbar, verfügbar nach der Entriegelung oder wenn die Vorrichtung entriegelt ist). Die erste Vorrichtung kann einen ”ist-entriegelt” Vorrichtungsschlüssel verwenden, so dass sie lediglich authentifizieren kann, während sie selber entriegelt ist. Die zweite Vorrichtung kann einen ”wurde-entriegelt” Vorrichtungsschlüssel verwenden, welcher es erfordern kann, dass sie entriegelt wurde, sobald sie aus der Ferne entriegelt werden kann. Während des Entriegelungsablaufs können Kd1 und Kd2 jeweils die erste und zweite Vorrichtung authentifizieren. In einigen Ausführungsformen können Kd1 und Kd2 für die erste Vorrichtung dazu verwendet werden, um die zweite Vorrichtung zu entriegeln, wenn die zweite Vorrichtung zuvor noch nie entriegelt wurde.
-
Bei den Ausführungsformen, bei welchen die zweite Vorrichtung zuvor entriegelt wurde, kann ein Vorrichtungs-Entriegelungsschlüssel Kdu nicht nur zur Authentifizierung von der Vorrichtung verwendet werden, sondern ebenso zur Identifizierung ob eine Vorrichtung zuvor durch einen Benutzer entriegelt worden ist. Kdu kann in dem SEP von der entsprechenden Vorrichtung erzeugt werden und unter Verwendung eines Passworts im Zusammenhang mit der Vorrichtung geschützt werden. Wie im Folgenden bezeichnet, kann Kau1 ein Vorrichtungs-Entriegelungsschlüssel im Zusammenhang mit der ersten Vorrichtung sein, und kann Kdu2 ein Vorrichtungs-Entriegelungsschlüssel im Zusammenhang mit der zweiten Vorrichtung sein. In einer Ausführungsform kann Kdu lediglich dann hergeleitet werden, wenn die Vorrichtung zuvor entriegelt wurde, welches implizieren kann, dass auf sie von jemandem mit dem korrekten Passwort zugegriffen wurde. Wenn die Vorrichtung verloren geht, ist es unwahrscheinlich, dass ein neuer Benutzer das Passwort hat, um die Vorrichtung zu entriegeln. Wenn der neue Benutzer versucht, die Vorrichtung in ihrem ursprünglichen Zustand wiederherzustellen, indem alle Daten auf der Vorrichtung gelöscht werden, kann Kdu verloren gehen. Ohne Kdu wird die Vorrichtung nicht länger dazu in der Lage sein, einer weiteren Vorrichtung zu bestätigen, dass sie immer noch unter der Kontrolle von dem gleichen Benutzer ist. Mit anderen Worten, kann Kdu dazu verwendet werden, nicht nur zu belegen, dass die Vorrichtung eine vertrauenswürdige Vorrichtung ist, sondern dass sie immer noch unter der Kontrolle des gleichen Benutzers steht. Somit kann sich die erste Vorrichtung auf das Vorliegen von Kdu2 berufen, um sicherzustellen, dass sie nicht unbeabsichtigt die zweite Vorrichtung entriegelt, wenn die zweite Vorrichtung nicht länger im Besitz des Benutzers steht und rebootet wurde.
-
2 bis 5 stellen beispielhafte Algorithmusschritte in den verschiedenen Stufen eines Entriegelungsverfahrens aus der Ferne gemäß Ausführungsformen der Beschreibung dar. Obwohl die folgenden Ausführungsformen einen unidirektionalen Entriegelungsablauf (beispielsweise unter Verwendung der ersten Vorrichtung zum Entriegeln der zweiten Vorrichtung) beschreiben, sollte verständlich sein, dass die offenbarten Systeme und Verfahren einfach modifiziert werden können, um eine Entriegelung in beide Richtungen (beispielsweise ebenso unter Verwendung der zweiten Vorrichtung zum Entriegeln der ersten Vorrichtung) durchzuführen, ohne vom Umfang der Beschreibung abzuweichen.
-
In der in 2 dargestellten Ausführungsform kann der Algorithmus für den Ablauf zum Entriegeln aus der Ferne (beispielsweise unter Verwendung der ersten Vorrichtung zum Entriegeln der zweiten Vorrichtung) drei Hauptschritte umfassen. Zunächst können die erste Vorrichtung und die zweite Vorrichtung gepaart werden (Schritt 201). Als Nächstes kann die zweite Vorrichtung eine Entriegelung aus der Ferne durch die erste Vorrichtung autorisieren (Schritt 202). Schließlich kann die erste Vorrichtung die zweite Vorrichtung in Ansprechen auf eine Benutzereingabe an der ersten Vorrichtung entriegeln (Schritt 203). Jeder dieser Schritte wird im Folgenden detaillierter beschrieben.
-
Bei dem ersten Schritt können die zwei Vorrichtungen gepaart werden (Schritt 201). Die Vorrichtungen können unter Verwendung von einem jeglichen Paarungsmechanismus, wie beispielsweise Bluetooth, gepaart werden, wenn die Vorrichtungen zueinander in unmittelbarer Nähe stehen. In einer Ausführungsform kann die Bluetooth-Paarung eine sichere Paarung unter Verwendung von einem Bluetooth out-of-band Schlüssel sein. Beispielsweise können die Vorrichtungen unter Verwendung von einer Kamera an einer der Vorrichtungen zum Aufnehmen eines computerlesbaren Codes (beispielsweise ein QR-Code oder Barcode), welcher auf der Anzeige von der weiteren Vorrichtung angezeigt wird, gepaart werden. Dieser Code kann eine Information umfassen, wie beispielsweise eine Vorrichtungs-ID und eine weitere Information (beispielsweise ein Bluetooth out-of-band Schlüssel), welche dazu benötigt wird, um die zwei Vorrichtungen zu paaren. Obwohl in diesen Ausführungsformen eine Paarung aus unmittelbarer Nähe beschrieben wird, sollte verständlich sein, dass es bei einer Paarung der zwei Vorrichtungen nicht notwendigerweise erforderlich ist, dass sich die Vorrichtungen in unmittelbarer Nähe befinden. Tatsächlich kann ein jeglicher Paarungsmechanismus, welcher dazu entworfen ist, um Vorrichtungen auf einer beliebigen Distanz zu paaren, in diesem Schritt verwendet werden.
-
Nach der Paarung können die Vorrichtungen einen Registrierungsablauf durchlaufen, welcher eine gesicherte Beziehung zwischen den zwei Vorrichtungen begründet, so dass eine der Vorrichtungen durch die weitere Vorrichtung sicher entriegelt werden kann. Mit anderen Worten, kann die Entriegelung aus der Ferne zwischen den Vorrichtungen autorisiert werden (Schritt 202). Genauer gesagt, kann die Registrierung eine Paarung der Steuerungen (beispielsweise SEPs) der Schlüssel von den zwei Vorrichtungen, und ebenso potenziell eine Anbindung der SEPs von den zwei Vorrichtungen einbeziehen. Dieser Schritt kann beispielsweise einbeziehen, dass die Vorrichtungen ihre öffentlichen Schlüssel, welche während des Registrierungsablaufs beim Authentifizieren verwendet werden können, austauschen und gegenseitig signieren, einen gemeinsam benutzen Schlüssel anlegen, und im Verlaufe des Entriegelungsablaufs, wenn dieser gemeinsam benutzte Schlüssel verwendet wird. In einigen Beispielen kann die Paarung symmetrisch auf beiden Vorrichtungen durchgeführt werden.
-
3 zeigt ein Ablaufdiagramm, welches die beispielhaften Algorithmusschritte in dem Registrierungsschritt 202 von 2 darstellt. Zunächst kann die erste Vorrichtung (das heißt jene Vorrichtung, welche die Entriegelung durchführt) einen öffentlichen Schlüssel, beispielsweise Kdu1, öffentlich an die zweite Vorrichtung (d. h. die zu entriegelnden Vorrichtung) senden (Schritt 301). Dieser öffentliche Schlüssel kann dazu verwendet werden, um zu validieren, dass die erste Vorrichtung eine vertrauenswürdige Vorrichtung ist, wenn die erste Vorrichtung versucht die zweite Vorrichtung zu entriegeln. Die zweite Vorrichtung kann ebenso eine Autorisierung durchführen, welche ein Empfangen von einem Passwort von dem Benutzer und optional eine out-of-band Verifizierung, wenn der Benutzer die zweite Vorrichtung lokal entriegelt, umfassen kann (Schritt 302). Da das Passwort Kdu2 schützt, kann es dazu verwendet werden, um zu belegen, dass sich die Vorrichtung im Besitz des Benutzers befindet. Die zweite Vorrichtung kann dann den öffentlichen Schlüssel Kdu1, öffentlich mit ihrem privaten Schlüssel Kdu2,privat signieren (Schritt 303). Hieraus resultierend kann die zweite Vorrichtung bestimmen, dass eine Vorrichtung, welche Kdu1 öffentlich zur Authentifizierung im Verlaufe einer Entriegelungsoperation verwendet, eine vertrauenswürdige Vorrichtung sein kann.
-
Wenn die Registrierung erfolgreich ist, kann die erste Vorrichtung dazu verwendet werden, um die zweite Vorrichtung wie folgt zu entriegeln. 4 stellt die beispielhaften Algorithmusschritte, welche dazu verwendet werden, damit die erste Vorrichtung die zweite Vorrichtung entriegelt (d. h. Schritt 203 von 2) gemäß einer Ausführungsform der Beschreibung dar. In einigen Beispielen kann die erste Vorrichtung eine von Hand gehaltene Vorrichtung sein und kann die zweite Vorrichtung eine tragbare Vorrichtung sein. Zunächst können die zwei Vorrichtungen erfassen, dass sie sich in der Nähe zueinander befinden (Schritt 401). In einigen Ausführungsformen kann dieser Schritt lediglich erfordern, dass die Vorrichtungen dazu in der Lage sind, einander zu lokalisieren, ohne dass es erforderlich ist, dass sie sich zueinander in der Nähe befinden. Ein Kommunikationskanal, wie beispielsweise ein Bluetooth- oder WiFi-Kanal, kann zwischen den zwei Vorrichtungen aufgebaut werden (Schritt 402). Die erste Vorrichtung kann unter Verwendung von Kdu1 authentifiziert werden (Schritt 403). Zusätzlich oder alternativ kann die zweite Vorrichtung unter Verwendung von Kdu2 authentifiziert werden. Das Station-zu-Station-Protokoll kann dazu verwendet werden, um einen gegenseitig authentifizierten und verschlüsselten Tunnel zu erstellen. In einer Ausführungsform können beide Vorrichtungen vergängliche Verschlüsselungsschlüssel verwenden, welche in dem Ablauf unter Verwendung der signierenden Schlüssel, welche während der Paarung ausgetauscht werden, authentifiziert werden. Da die erste Vorrichtung authentifiziert wurde, kann die zweite Vorrichtung einen zufälligen geheimen Schlüssel S an die erste Vorrichtung unter Verwendung beispielsweise von dem ausgehandelten Sitzungsschlüssel senden, welcher anhand der vergänglichen Verschlüsselungsschlüssel, welche durch beide Vorrichtungen verwendet werden, hergeleitet ist (Schritt 404). Die erste Vorrichtung kann den geheimen Schlüssel speichern (Schritt 405). Zu einem späteren Zeitpunkt kann die zweite Vorrichtung durch ein Passwort entriegelt werden (Schritt 406). Es kann ein Hauptschlüssel M von dem Passwort durch die zweite Vorrichtung hergeleitet werden (Schritt 407). Die zweite Vorrichtung kann ein Zeichen (engl.: token) aufbauen, indem der Hauptschlüssel M mit dem geheimen Schlüssel S verschlüsselt wird (Schritt 408), so dass, wenn die erste Vorrichtung den geheimen Schlüssel S an die zweite Vorrichtung zurückgibt, die zweite Vorrichtung S dazu verwenden kann, um das Zeichen zu entschlüsseln, um den Hauptschlüssel M zu erlangen. Zusätzlich kann die zweite Vorrichtung das Zeichen mit einem geheimen Schlüssel S, welcher unter Verwendung von dem Hauptschlüssel M verschlüsselt ist, verknüpfen und diese Verknüpfung als eine Hinterlegungsaufzeichnung speichern (Schritt 409). Hierdurch kann es ermöglicht werden, dass die zweite Vorrichtung den geheimen Schlüssel S wiederherstellt, wenn sich der Hauptschlüssel M ändert, und ein neues Zeichen aufbaut. In einer alternativen Ausführungsform kann die zweite Vorrichtung eine Hinterlegungsaufzeichnung für die erste Vorrichtung erzeugen, und zwar unter Verwendung des geheimen Schlüssels S, welcher in dem Hauptschlüssel M gespeichert ist, welcher den geheimen Schlüssel S umhüllt, wodurch es ermöglicht werden kann, dass die Vorrichtung entriegelt wird, ohne dass sie zuvor entriegelt wurde. Mit anderen Worten, können in der ersten Ausführungsform ein fixiertes Geheimnis und eine Hinterlegungsaufzeichnung während der Einrichtung aufgebaut werden, und können in einer alternativen Ausführungsform ein zufälliges Geheimnis und eine temporäre Hinterlegungsaufzeichnung in Ansprechen auf eine Entriegelung von einer Vorrichtung während einer Registrierung aufgebaut werden.
-
Abermals Bezugnehmend auf 4, wenn der Benutzer sich dazu entscheidet, die zweite Vorrichtung mit der ersten Vorrichtung zu entriegeln, kann die zweite Vorrichtung unter Verwendung von Kdu2 authentifiziert werden (Schritt 410). Die erste Vorrichtung kann mit Kdu1 authentifiziert werden (Schritt 411). Die Vorrichtungen können, sobald authentifiziert, miteinander Geheimnisse austauschen. Beispielsweise kann die erste Vorrichtung den geheimen Schlüssel S, welchen sie von der zweiten Vorrichtung empfangen hat, zurück an die zweite Vorrichtung senden (Schritt 412). Dies kann in Ansprechen darauf geschehen, dass der Benutzer seinen Fingerabdruck unter Verwendung des Fingerabdruckscanners von der ersten Vorrichtung abscannt. Die zweite Vorrichtung kann den Hauptschlüssel M wiedererlangen, indem das Zeichen durch den geheimen Schlüssel S entschlüsselt wird (Schritt 413). Der Hauptschlüssel M kann ermöglichen, dass die zweite Vorrichtung entriegelt wird (Schritt 414).
-
In einigen Ausführungsformen, bei welchen die zweite Vorrichtung niemals zuvor entriegelt wurde, kann in dem zuvor im Hinblick auf 4 beschriebenen Verfahren Kd2 anstelle von Kdu2 verwendet werden. In einer Ausführungsform kann die zweite Vorrichtung eine Hinterlegungsauszeichnung für die erste Vorrichtung erzeugen, und zwar unter Verwendung des geheimen Schlüssels S, welcher in dem Hauptschlüssel M gespeichert ist, welcher den geheimen Schlüssel S umhüllt, wodurch es ermöglicht werden kann, dass die Vorrichtung entriegelt wird, ohne dass sie zuvor entriegelt wurde. Sobald die erste Vorrichtung versucht, die zweite Vorrichtung zu entriegeln, kann die zweite Vorrichtung den Vorrichtungsschlüssel dazu verwenden, um die Hinterlegungsaufzeichnung zu lokalisieren, und den geheimen Schlüssel S dazu verwenden, um den Hauptschlüssel M zu enthüllen, welcher dazu verwendet werden kann, um die zweite Vorrichtung zu entriegeln.
-
5 zeigt ein Blockdiagramm, in welchem die beispielhaften Module von einer Vorrichtung 500, wie beispielsweise die erste Vorrichtung 100 oder die zweite Vorrichtung 112 von 1, dargestellt sind, welche dazu in der Lage ist, entweder eine weitere Vorrichtung zu entriegeln oder durch eine weitere Vorrichtung entriegelt zu werden oder beides. Die Vorrichtung 500 kann beispielsweise ein Erfassungsmodul 501, ein Paarungsmodul 502, ein Schlüssel-Signierungsmodul 503, ein Übertragungsmodul 504, ein Empfangsmodul 505, ein Authentifizierungsmodul 506, ein Schlüssel-Erzeugungsmodul 507 und ein Benutzereingabe-Verarbeitungsmodul 508 umfassen. Das Erfassungsmodul 501 kann die zweite Vorrichtung erfassen (beispielsweise wenn sich die zweite Vorrichtung in der Nähe befindet). Das Paarungsmodul 502 kann die erste Vorrichtung mit der zweiten Vorrichtung paaren. Das Schlüssel-Signierungsmodul 503 kann einen oder mehrere Schlüssel mit einem weiteren Schlüssel signieren. Das Übertragungsmodul 504 kann einen oder mehrere Schlüssel (beispielsweise Kdu1,S) an eine weitere Vorrichtung übertragen. Das Empfangsmodul 505 kann einen oder mehrere Schlüssel (beispielsweise S) von einer weiteren Vorrichtung empfangen. Das Authentifizierungsmodul 506 kann die Vorrichtung 500 authentifizieren. Das Schlüssel-Erzeugungsmodul 507 kann ein Herleitungsmodul umfassen und kann einen Hauptschlüssel anhand von einem Passwort herleiten und einen oder mehrere Hardwareschlüssel (beispielsweise KSEP GLOBAL) erzeugen, welcher bzw. welche beim Entriegelungsablauf verwendet werden kann bzw. können. Das Benutzereingabe-Verarbeitungsmodul 508 kann eine Benutzereingabe verarbeiten, welche Passwörter und/oder Fingerabdrücke umfasst, jedoch nicht hierauf eingeschränkt ist.
-
In verschiedenen Ausführungsformen können einige der Module von 5 optional sein und können in der Vorrichtung 500 zusätzliche Module umfasst sein. Jedes der Module kann durch Software, Hardware oder beides implementiert sein. In einigen Ausführungsformen sind die Module der Vorrichtung 500 Software-Module zum Durchführen der hier beschriebenen Algorithmen. In einigen Ausführungsformen stellen die Module der Vorrichtung 500 einen oder mehrere Prozessoren dar, welcher bzw. welche mit einem Speicher gekoppelt ist bzw. sind, welcher computerlesbare Anweisungen speichert, um die hier beschriebenen Algorithmen durchzuführen. In einigen Ausführungsformen umfassen die Module der Vorrichtung 500 Hardware- und Software-Elemente von einem ASIC, wie beispielsweise ein System-auf-Chip, zum Durchführen der zuvor beschriebenen Funktionen.
-
6 und 7 stellen eine Ausführungsform von einem Transportprotokoll-Algorithmus dar, welcher den Austausch von Schlüsseln (oder Aufzeichnungen) beim Entriegeln der zweiten Vorrichtung durch die erste Vorrichtung aus der Ferne, wie in den zuvor beschriebenen Ausführungsformen beschrieben, unterstützen kann.
-
6 stellt die beispielhaften Algorithmusschritte beim Paaren der zwei Vorrichtungen dar. Dieser Paarungsablauf kann stattfinden, nachdem bereits ein Kommunikationskanal zwischen den zwei Vorrichtungen aufgebaut wurde. Wie in 6 dargestellt, kann zum Paaren der zwei Vorrichtungen zunächst die zweite Vorrichtung ein durch einen Benutzer eingegebenes Passwort empfangen (Schritt 601). Das Passwort kann zum späteren Gebrauch verwendet werden. Die zweite Vorrichtung kann einen Long-Term-Schlüssel, Schlüssel 1, erzeugen (Schritt 602). In einer Ausführungsform kann sich die Erzeugung von einem Long-Term-Schlüssel auf die Erzeugung von einem Schlüsselpaar beziehen, von dem einer an eine weitere Vorrichtung gesendet werden kann. Hier kann Schlüssel 1 (d. h. einer der Schlüssel in dem Schlüsselpaar, Schlüssel 1) über den Kommunikationskanal an die erste Vorrichtung gesendet werden (Schritt 603). Die erste Vorrichtung kann den Schlüssel 1 signieren und speichern (Schritt 604). Die erste Vorrichtung kann dann ihren eigenen Long-Term-Schlüssel, Schlüssel 2, erzeugen (Schritt 605). Es kann dann eine Sitzung auf der ersten Vorrichtung erzeugt werden, und zwar unter Verwendung des signierten Schlüssels 1, welcher von der zweiten Vorrichtung empfangen ist, und dem neu erzeugten Short-Term-Schlüssel 2 (Schritt 606). Die Long-Term-Schlüssel, Schlüssel 1 und Schlüssel 2, können aufbewahrt werden, um in der Zukunft weitere Sitzungen zu erzeugen. Ein weiterer Short-Term-Schlüssel, Schlüssel 3, kann erzeugt werden, wenn die Sitzung erzeugt wird (Schritt 607). Die Schlüssel 2 und 3 können dann über den Kommunikationskanal an die zweite Vorrichtung gesendet werden (Schritt 608).
-
Bezugnehmend nun auf 6, kann die zweite Vorrichtung, nachdem Schlüssel 2 und Schlüssel 3 empfangen sind, den Schlüssel 2 signieren und speichern (Schritt 609). Die zweite Vorrichtung kann dann am Ende unter Verwendung von sowohl Schlüssel 2 als auch Schlüssel 3 eine Sitzung erzeugen (Schritt 610). Durch die erzeugte Sitzung kann die zweite Vorrichtung einen Schlüssel 4 unter Verwendung von Schlüssel 3, welcher von der ersten Vorrichtung empfangen ist, erzeugen (Schritt 611). Der Schlüssel 4 kann dann über den Kommunikationskanal an die erste Vorrichtung gesendet werden (Schritt 612). Nachdem die erste Vorrichtung den Schlüssel 4 bestätigt und gespeichert hat (Schritt 613), kann der Schlüssel 4 als ein Schlüssel zum Entriegeln der zweiten Vorrichtung registriert werden (Schritt 614). Wenn die Registrierung versagt, kann eine Meldung zurück an die erste Vorrichtung gesendet werden, welche hervorrufen kann, dass die erste Vorrichtung den Schlüssel 4 löscht (Schritt 615). Andererseits ist die Paarung der Vorrichtungen erfolgreich und werden die Vorrichtungen eingerichtet, um einen Entriegelungsbetrieb aus der Ferne durchzuführen (beispielsweise unter Verwendung der ersten Vorrichtung zum Entriegeln der zweiten Vorrichtung).
-
7 stellt die beispielhaften Algorithmusschritte in einem Verfahren zum Verwenden der ersten Vorrichtung zum Entriegeln der zweiten Vorrichtung dar. Wie in 7 dargestellt, kann die erste Vorrichtung zunächst eine Benutzereingabe zum Entriegeln der zweiten Vorrichtung empfangen (Schritt 701). In Ansprechen hierauf kann die erste Vorrichtung eine Sitzung unter Verwendung von Long-Term-Schlüsseln 1 und 2 erzeugen (Schritt 702). Es kann ein weiterer Short-Term-Schlüssel, Schlüssel A, von der neu erzeugten Sitzung erzeugt werden (Schritt 703). Die erste Vorrichtung kann dann den Schlüssel A über den Kommunikationskanal an die zweite Vorrichtung senden (Schritt 704). In dieser Ausführungsform können Schritte 703 und 704 dazu dienen, um eine Short-Term-Schlüssel-Übereinstimmung zwischen der ersten und zweiten Vorrichtung einzurichten, so dass der Schlüssel 4 später gesendet werden kann, um die zweite Vorrichtung zu entriegeln. Da der Short-Term-Schlüssel (beispielsweise Schlüssel A) bei jeder Sitzung eindeutig ist und lediglich einmal zum Verschlüsseln von Schlüssel 4 verwendet wird, kann der Austausch des Short-Term-Schlüssels eine Wiederholung-Attacke verhindern, bei welcher der Schlüssel 4 beim Übertragen über den Kommunikationskanal erfasst wird und dann von einer Vorrichtung, welche sich von der ersten Vorrichtung unterscheidet, erneut an die zweite Vorrichtung gesendet wird, um die zweite Vorrichtung zu entriegeln.
-
Es wird dann der Short-Term-Schlüssel A an die zweite Vorrichtung gesendet (Schritt 704), um auf der zweiten Vorrichtung eine Sitzung zu erzeugen (Schritt 705). Die zweite Vorrichtung kann dann den Schlüssel A dazu verwenden, um einen weiteren Schlüssel, Schlüssel B, zu erzeugen (Schritt 706). Bezugnehmend auf 7, kann der Schlüssel B zurück an die erste Vorrichtung gesendet werden (Schritt 707). Die erste Vorrichtung kann den Schlüssel B dazu verwenden, um den Schlüssel 4 zu verschlüsseln, um einen neuen Schlüssel, Schlüssel C, zu erzeugen (Schritt 708). Der verschlüsselte Schlüssel 4 (d. h. Schlüssel C) kann an die zweite Vorrichtung gesendet werden (Schritt 709) und zum Entriegeln der zweiten Vorrichtung verwendet werden (Schritt 710). Der Entriegelungsablauf kann ein Entschlüsseln von Schlüssel C, um den Schlüssel 4 zu erlangen, und ein Verwenden von Schlüssel 4, um die zweite Vorrichtung zu entriegeln, umfassen.
-
8 zeigt ein Blockdiagramm, in welchem die beispielhaften Module der zweiten Vorrichtung 800 von 6 und 7 dargestellt sind, welche durch eine weitere Vorrichtung (beispielsweise die erste Vorrichtung) aus der Ferne entriegelt werden kann. Die zweite Vorrichtung 800 kann beispielsweise ein Passwort-Empfangsmodul 801, ein Schlüssel-Erzeugungsmodul 802, ein Übertragungsmodul 803, ein Empfangsmodul 804, ein Schlüssel-Signierungsmodul 805, ein Speichermodul 806, ein Sitzungs-Erzeugungsmodul 807, ein Registrierungsmodul 808, ein Entschlüsselungsmodul 809 und ein Entriegelungsmodul 810 umfassen. Das Passwort-Empfangsmodul 801 kann ein Passwort (oder eine weitere Eingabe) von einem Benutzer empfangen. Das Schlüssel-Erzeugungsmodul 802 kann einen Long-Term- und/oder Short-Term-Schlüssel (beispielsweise Schlüssel 1, 4 und B von 6 und 7) erzeugen. Das Übertragungsmodul 803 kann einen oder mehrere verschlüsselte oder nicht-verschlüsselte Schlüssel an eine weitere Vorrichtung übertragen (beispielsweise die erste Vorrichtung). Das Empfangsmodul 804 kann einen oder mehrere verschlüsselte oder nicht-verschlüsselte Schlüssel von einer weiteren Vorrichtung (beispielsweise die erste Vorrichtung) empfangen. Das Schlüssel-Signierungsmodul 805 kann einen von einer weiteren Vorrichtung empfangenen Schlüssel (beispielsweise Schlüssel 2) signieren. Das Speichermodul 806 kann lokal erzeugte oder von einer weiteren Vorrichtung empfangene Schlüssel speichern. Das Sitzungs-Erzeugungsmodul 807 kann eine Sitzung unter Verwendung von einem Schlüssel (beispielsweise Schlüsse 2 und Schlüssel A), welcher von einer weiteren Vorrichtung empfangen wird, erzeugen. Das Registrierungsmodul 808 kann einen Schlüssel (beispielsweise Schlüssel 4) als einen Schlüssel zum Entriegeln der zweiten Vorrichtung registrieren. Das Entschlüsselungsmodul 809 kann einen jeglichen entschlüsselten Schlüssel (beispielsweise Schlüssel C), welcher von einer weiteren Vorrichtung empfangen wird, entschlüsseln. Das Entriegelungsmodul 810 kann die zweite Vorrichtung unter Verwendung von einem Schlüssel (beispielsweise der Schlüssel 4, welcher durch Entschlüsseln von Schlüssel C erlangt ist) entriegeln.
-
9 zeigt ein Blockdiagramm, welches die beispielhaften Module der ersten Vorrichtung 900 von 6 und 7 darstellt, welche eine Entriegelung von einer weiteren Vorrichtung (beispielsweise die zweite Vorrichtung) aus der Ferne durchführen kann. Die erste Vorrichtung 900 kann beispielsweise ein Übertragungsmodul 901, ein Empfangsmodul 902, ein Schlüssel-Signierungsmodul 903, ein Speichermodul 904, ein Sitzungs-Erzeugungsmodul 905, ein Schlüssel-Erzeugungsmodul 906, ein Bestätigungsmodul 907, ein Schlüssel-Löschmodul 908 und ein Verschlüsselungsmodul 909 umfassen. Das Übertragungsmodul 901 kann einen oder mehrere Schlüssel (beispielsweise Schlüssel 2, 3, A, C) an eine weitere Vorrichtung (beispielsweise die zweite Vorrichtung von 6 und 7) übertragen. Das Empfangsmodul 902 kann einen oder mehrere Schlüssel (beispielsweise Schlüssel 1, 4, B) von einer weiteren Vorrichtung (beispielsweise die zweite Vorrichtung) empfangen. Das Schlüssel-Signierungsmodul 903 kann einen von einer weiteren Vorrichtung empfangenen Schlüssel (beispielsweise Schlüssel 1) signieren. Das Speichermodul 904 kann einen oder mehrere Schlüssel, welche lokal erzeugt werden oder von einer weiteren Vorrichtung empfangen werden, speichern. Das Sitzung-Erzeugungsmodul 905 kann eine Sitzung unter Verwendung von einem oder mehreren Schlüsseln (beispielsweise Schlüssel 1 und 2) erzeugen. Das Schlüssel-Erzeugungsmodul 906 kann einen oder mehrere Long-Term- und/oder Short-Term-Schlüssel (beispielsweise Schlüssel 2, 3, A, C) erzeugen. Das Bestätigungsmodul 907 kann einen Schlüssel (beispielsweise Schlüssel 4) als einen Schlüssel zum Entriegeln von einer weiteren Vorrichtung bestätigen. Das Schlüssel-Löschmodul 908 kann einen Schlüssel von der Vorrichtung löschen. Das Verschlüsselungsmodul 909 kann einen Schlüssel (beispielsweise Schlüssel 4) unter Verwendung von einem weiteren Schlüssel (beispielsweise Schlüssel B) verschlüsseln, um einen verschlüsselten Schlüssel (beispielsweise Schlüssel C) zu erzeugen.
-
In verschiedenen Ausführungsformen können einige der Module von 8 und 9 optional sein und können zusätzliche Module in den Vorrichtungen 800 und 900 umfasst sein. Jedes der Module kann entweder durch Software, Hardware oder beides implementiert sein. In einigen Ausführungsformen sind die Module von Vorrichtung 80o und 900 Software-Module zum Durchführen der hier beschriebenen Algorithmen. In einigen Ausführungsformen stellen die Module von Vorrichtung 800 und 900 einen oder mehrere Prozessoren dar, welche mit einem Speicher gekoppelt sind, welcher computerlesbare Anweisungen zum Durchführen der hier beschriebenen Algorithmen speichert. In einigen Ausführungsformen umfassen die Module von Vorrichtung 800 und 900 Hardware- und Software-Elemente von einem ASIC, wie beispielsweise ein System-Auf-Chip, zum Durchführen der zuvor beschriebenen Funktionen.
-
In einigen Ausführungsformen kann bzw. können ein oder mehrere der Module von den Vorrichtungen 500, 800 und 900 innerhalb von einem jeglichen nicht-flüchtigen, computerlesbaren Speichermedium gespeichert werden und/oder transportiert werden, zur Verwendung durch oder in Verbindung mit einem Anweisungs-Ausführungssystem, einer Einrichtung oder einer Vorrichtung, wie beispielsweise ein computerbasiertes System, ein System, welches einen Prozessor umfasst, oder ein weiteres System, welches die Anweisungen von dem Anweisung-Ausführungssystem, der Einrichtung oder der Vorrichtung ergreifen kann und die Anweisungen ausführt. Im Kontext von diesem Dokument kann ein ”nicht flüchtiges, computerlesbares Speichermedium” ein jegliches Medium sein, welches das Programm zur Verwendung durch oder in Verbindung mit dem Anweisung-Ausführungssystem, der Einrichtung oder der Vorrichtung umfassen oder speichern kann. Das nicht-flüchtige, computerlesbare Speichermedium kann ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleiter-System, eine Einrichtung oder Vorrichtung, eine tragbare Computer-Diskette (magnetisch), einen Arbeitsspeicher (Random Access Memory RAM) (magnetisch), einen Festspeicher (Read Only Memory ROM) (magnetisch), einen löschbaren, programmierbaren Festspeicher (Erasable Programmable Read-Only Memory EPROM) (magnetisch), eine tragbare optische Disk, wie beispielsweise eine CD, CD-R, CD-RW, DVD, DVD-R oder DVD-RW, oder einen Flash-Speicher, wie beispielsweise Compact Flash Cards, Secured Digital Cards, USB-Speichervorrichtungen, Speichersticks und dergleichen, umfassen, wobei es jedoch nicht hierauf eingeschränkt ist.
-
Das nicht-flüchtige, computerlesbare Speichermedium kann Teil von einem Rechensystem sein, welches als die erste Vorrichtung oder die zweite Vorrichtung dient. 10 stellt beispielhafte allgemeine Bauteile von einem solchen Rechensystem dar. Wie dargestellt, kann das System 1000 eine zentrale Verarbeitungseinheit (CPU) 1202, I/O-Bauteile 1004, welche eine Anzeige, eine Tastatur, einen Berührungsbildschirm, einen Lautsprecher und/oder ein Mikrofon umfassen, jedoch nicht hierauf eingeschränkt sein, ein Speichermedium 1006, wie beispielsweise eines von jenen, welche im letzten Absatz aufgelistet sind, und eine Netzwerk-Schnittstelle 1008 umfassen, wobei alle hiervon über einen Systembus 1010 miteinander verbunden sein können. Das Speichermedium 1006 kann die Module von 5, 8 und 9 umfassen.
-
Gemäß dem zuvor genannten sind daher einige Beispiele von der Beschreibung gerichtet auf ein Verfahren zum Entriegeln einer zweiten Vorrichtung durch eine erste Vorrichtung, umfassend: Aufbauen einer vertrauenswürdigen Beziehung mit der zweiten Vorrichtung; Authentifizieren der ersten Vorrichtung unter Verwendung von einem Vorrichtungsschlüssel; Empfangen von einem geheimen Schlüssel von der zweiten Vorrichtung; Empfangen von einer Benutzereingabe von einer Eingabe/Ausgabe-Vorrichtung; und Übertragen des empfangenen geheimen Schlüssels an die zweite Vorrichtung zum Entriegeln der zweiten Vorrichtung in Ansprechen auf den Empfang der Benutzereingabe, wobei das Aufbauen der vertrauenswürdigen Beziehung mit der zweiten Vorrichtung ein Verwenden eines Schlüssels, welcher aus einem Hardwareschlüssel erzeugt ist, welcher mit der ersten Vorrichtung in Zusammenhang steht, um den Vorrichtungsschlüssel zu authentifizieren, umfasst. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen vor dem Aufbauen der vertrauenswürdigen Beziehung mit der ersten Vorrichtung, ferner ein Paaren der ersten Vorrichtung mit der zweiten Vorrichtung, indem ein Code auf einer Anzeige angezeigt wird, welcher durch die zweite Vorrichtung zu erfassen ist. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, wird in einigen Beispielen die Paarung mit der zweiten Vorrichtung mit einem Bluetooth out-of-band Schlüssel vorgenommen. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst in einigen Beispielen das Aufbauen der vertrauenswürdigen Beziehung mit der zweiten Vorrichtung ein Senden von einem öffentlichen Schlüssel an die zweite Vorrichtung. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst in einigen Beispiel der öffentliche Schlüssel einen Vorrichtungsschlüssel, welcher von einer geheimen Instanz erzeugt ist, eine UUID, welche einen Satz von Schlüsseln identifiziert, und einen privaten Vorrichtung-Hardwareschlüssel. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Validieren des öffentlichen Schlüssels unter Verwendung von einem Schlüssel, welcher von einem Hardware-Schlüssel erzeugt ist, welcher mit der ersten Vorrichtung im Zusammenhang steht. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, wird in einigen Beispielen der Hardware-Schlüssel gemeinsam mit der zweiten Vorrichtung geteilt. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, ist in einigen Beispielen der öffentliche Schlüssel durch eine gemeinsam benutzte Instanz zertifiziert. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Authentifizieren der zweiten Vorrichtung unter Verwendung von einem Vorrichtungsschlüssel, welcher mit der zweiten Vorrichtung im Zusammenhang steht. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, ist in einigen Beispielen der Vorrichtungsschlüssel, welcher mit der zweiten Vorrichtung im Zusammenhang steht, dazu konfiguriert, anzuzeigen, ob die zweite Vorrichtung zuvor entriegelt wurde.
-
Einige Beispiele der Beschreibung sind gerichtet auf ein Verfahren, welches auf einer zweiten Vorrichtung durchgeführt wird, welche durch eine erste Vorrichtung zu entriegeln ist, umfassend: Empfangen eines öffentlichen Vorrichtungsschlüssels von der ersten Vorrichtung; Signieren des empfangenen öffentlichen Vorrichtungsschlüssels mit einem privaten Vorrichtungsschlüssel, welcher mit der zweiten Vorrichtung im Zusammenhang steht; Senden eines geheimen Schlüssels an die erste Vorrichtung; Empfangen eines Passworts; Herleiten eines Hauptschlüssels aus dem Passwort; Verschlüsseln des Hauptschlüssels mit dem geheimen Schlüssel; Empfangen des geheimen Schlüssels von der ersten Vorrichtung; Abfragen des Hauptschlüssels unter Verwendung des empfangenen geheimen Schlüssels; und Verwenden des Hauptschlüssels zum Durchführen eines Entriegelungsbetriebes. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Authentifizieren der ersten Vorrichtung unter Verwendung einer Vorrichtungs-ID, welche mit der ersten Vorrichtung im Zusammenhang steht. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Entriegeln der zweiten Vorrichtung unter Verwendung des Passworts. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst in einigen Beispielen der geheime Schlüssel einen zufälligen Schlüssel. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, ist in einigen Beispielen der private Vorrichtungsschlüssel dazu konfiguriert, anzuzeigen, ob die zweite Vorrichtung zuvor mit einem Passwort entriegelt wurde.
-
Einige Beispiele der Beschreibung sind gerichtet auf ein nicht-flüchtiges, computerlesbares Speichermedium von einer ersten Vorrichtung, welche dazu in der Lage ist, eine zweite Vorrichtung zu entriegeln, wobei das Speichermedium Anweisungen speichert, welche, wenn durch einen Prozessor ausgeführt, ein Verfahren durchführen, welches umfasst: Authentifizieren der ersten Vorrichtung unter Verwendung eines Vorrichtungsschlüssels; Empfangen eines geheimen Schlüssels von der zweiten Vorrichtung; Verarbeiten einer Benutzereingabe, welche von einer Eingabe/Ausgabe-Vorrichtung von der ersten Vorrichtung empfangen ist; und Übertragen des empfangenen geheimen Schlüssels an die zweite Vorrichtung, um die zweite Vorrichtung in Ansprechen auf die Benutzereingabe zu entriegeln. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Erfassen, ob die zweite Vorrichtung innerhalb von einem Bluetooth-Bereich von der ersten Vorrichtung ist. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Signieren eines ersten Schlüssels mit einem zweiten Schlüssel. Zusätzlich oder alternativ zu einem der mehreren der zuvor beschriebenen Beispiele, umfasst in einigen Beispielen der erste Schlüssel einen Vorrichtungsschlüssel und umfasst der zweite Schlüssel einen SEP globalen Schlüssel. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Erzeugen von zumindest einem von: einen SEP globaler Schlüssel, einen Vorrichtungsschlüssel und einen Vorrichtungs-Entriegelungsschlüssel.
-
Einige Beispiele der Beschreibung sind gerichtet auf ein nicht-flüchtiges, computerlesbares Speichermedium von einer zweiten Vorrichtung, welche dazu in der Lage ist, durch eine erste Vorrichtung entriegelt zu werden, wobei das Speichermedium Anweisungen speichert, welche, wenn sie durch einen Prozessor ausgeführt werden, ein Verfahren durchführen, welches umfasst: Empfangen eines öffentlichen Vorrichtungsschlüssels und eines geheimen Schlüssels von der ersten Vorrichtung; Signieren des empfangenen öffentlichen Vorrichtungsschlüssels mit einem privaten Vorrichtungsschlüssel, welcher mit der zweiten Vorrichtung im Zusammenhang steht; Senden eines geheimen Schlüssels an die erste Vorrichtung; Verarbeiten eines Passworts; Herleiten eines Hauptschlüssels aus dem Passwort; Verschlüsseln des Hauptschlüssels mit dem geheimen Schlüssel; Abfragen des Hauptschlüssels unter Verwendung des empfangenen geheimen Schlüssels; und Verwenden des Hauptschlüssels zum Durchführen eines Entriegelungsbetriebes. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Authentifizieren der ersten Vorrichtung unter Verwendung einer Vorrichtungs-ID, welche mit der ersten Vorrichtung im Zusammenhang steht. Zusätzlich oder alternativ zu einem oder mehreren der zuvor beschriebenen Beispiele, umfasst das Verfahren in einigen Beispielen ferner ein Entriegeln der zweiten Vorrichtung unter Verwendung des Passworts.
-
Einige Beispiele der Beschreibungen sind gerichtet auf eine erste Vorrichtung, welche dazu in der Lage ist, eine zweite Vorrichtung zu entriegeln, wobei die erste Vorrichtung umfasst: ein Authentifizierungsmodul, welches dazu konfiguriert ist, eine vertrauenswürdige Beziehung mit der zweiten Vorrichtung aufzubauen und die erste Vorrichtung unter Verwendung von einem Vorrichtungsschlüssel zu authentifizieren; ein Empfangsmodul, welches dazu konfiguriert ist, einen geheimen Schlüssel von der zweiten Vorrichtung zu empfangen; ein Benutzereingabe-Verarbeitungsmodul, welches dazu konfiguriert ist, eine Benutzereingabe, welche von einer Eingabe/Ausgabe-Vorrichtung empfangen ist, zu verarbeiten; und ein Übertragungsmodul, welches dazu konfiguriert ist, den empfangenen geheimen Schlüssel an die zweite Vorrichtung zu übertragen, um die zweite Vorrichtung in Ansprechen auf den Empfang der Benutzereingabe zu entriegeln, wobei der Aufbau der vertrauenswürdigen Beziehung mit der zweiten Vorrichtung ein Verwenden eines Schlüssels umfasst, welcher von einem Hardware-Schlüssel erzeugt ist, welcher mit der ersten Vorrichtung im Zusammenhang steht, um den Vorrichtungsschlüssel zu authentifizieren.
-
Einige Beispiele der Beschreibung sind gerichtet auf eine zweite Vorrichtung, welche dazu in der Lage ist, durch eine erste Vorrichtung entriegelt zu werden, wobei die zweite Vorrichtung umfasst: ein Empfangsmodul, welches dazu konfiguriert ist, einen öffentlichen Vorrichtungsschlüssel von der ersten Vorrichtung zu empfangen; ein Schlüssel-Signierungsmodul, welches dazu konfiguriert ist, den empfangenen öffentlichen Vorrichtungsschlüssel mit einem privaten Vorrichtungsschlüssel, welcher mit der zweiten Vorrichtung im Zusammenhang steht, zu signieren; ein Übertragungsmodul, welches dazu konfiguriert ist, einen geheimen Schlüssel an die erste Vorrichtung zu senden; ein Benutzereingabe-Verarbeitungsmodul, welches dazu konfiguriert ist, ein Passwort zu verarbeiten; ein Herleitungsmodul, welches dazu konfiguriert ist, einen Hauptschlüssel aus dem Passwort herzuleiten; ein Verschlüsselungsmodul, welches dazu konfiguriert ist, den Hauptschlüssel mit dem geheimen Schlüssel zu verschlüsseln; ein Empfangsmodul zum Empfangen des geheimen Schlüssels von der ersten Vorrichtung, und zum Abfragen des Hauptschlüssels unter Verwendung des empfangenen geheimen Schlüssels; und ein Entriegelungsmodul, welches dazu konfiguriert ist, den Hauptschlüssel dazu zu verwenden, um einen Entriegelungsbetrieb durchzuführen.
-
Obwohl Ausführungsformen unter Bezugnahme auf die begleitende Zeichnung vollständig beschrieben wurden, ist zu erwähnen, dass dem Fachmann verschiedene Änderungen und Modifikationen offensichtlich werden. Solche Änderungen und Modifikationen sind derart zu verstehen, dass sie im Umfang der verschiedenen Ausführungsformen, wie durch die anliegenden Ansprüche definiert, umfasst sind.