-
GEBIET
-
Diese Offenbarung bezieht sich auf Benutzerauthentifizierungsverfahren, und genauer auf passive Authentifizierungsverfahren unter Verwendung mobiler Rechnervorrichtungen.
-
HINTERGRUND
-
Vorherrschende Benutzerauthentifizierungspläne auf Smartphones verlassen sich auf explizite Benutzerinteraktion, wobei ein Benutzer einen Passcode eingibt oder einen biometrischen Hinweis wie ein Gesicht, einen Fingerabdruck oder eine Iris vorzeigt. Solche Authentifizierungsmechanismen sind nicht nur kompliziert und störend für die Benutzer, sondern können auch Sicherheits- und Datenschutzbedenken auslösen.
-
Die hier bereitgestellte Hintergrundbeschreibung dient dem Zweck, allgemein den Zusammenhang der Offenbarung darzulegen. Arbeiten der hier genannten Erfinder, soweit sie in diesem Hintergrundabschnitt beschrieben sind, ebenso wie Aspekte der Beschreibung die andernfalls möglicherweise zum Zeitpunkt des Einreichens nicht als Stand der Technik qualifiziert sind, sind hierin weder ausdrücklich noch implizit als Stand der Technik für diese Offenbarung bestätigt.
-
KURZDARSTELLUNG
-
Ein passives Authentifizierungsverfahren umfasst in Reaktion auf das Empfangen einer angeforderten Aktion von einem ersten Benutzer das Beschaffen eines Satzes Sensordaten und das Kategorisieren erster Sensordaten des Satzes Sensordaten in eine erste Modalität eines Satzes Modalitäten. Das Verfahren umfasst für die erste Modalität des Satzes Modalitäten das Bestimmen eines Distanzwerts durch Anwenden eines ersten Modalitätenmodells auf die ersten Sensordaten und Vergleichen des Distanzwerts mit einem ersten verifizierten Wert des ersten Benutzers für die erste Modalität. Das Verfahren umfasst, basierend auf dem Vergleich, das Bestimmen einer ersten Authentifizierungsentscheidung des Distanzwerts. Das Verfahren umfasst, in Reaktion darauf, dass die erste Authentifizierungsentscheidung angibt, dass die ersten Sensordaten dem ersten Benutzer entsprechen, das Durchführen der angeforderten Aktion.
-
In anderen Aspekten ist der erste verifizierte Wert des ersten Benutzers für die erste Modalität in einer Distanzdatenbank gespeichert und die Distanzdatenbank umfasst einen entsprechend verifizierten Wert des ersten Benutzers für jede Modalität des Satzes Modalitäten. In anderen Aspekten umfasst das Verfahren in Reaktion darauf, dass die erste Authentifizierungsentscheidung anzeigt, dass die ersten Sensordaten nicht dem ersten Benutzer entsprechen, das Anfordern einer weiteren Authentifizierungsentscheidung. In anderen Aspekten umfasst die weitere Authentifizierungsentscheidung das Anfordern eines Passworts oder biometrischer Daten.
-
In anderen Aspekten umfasst das Vergleichen des Distanzwerts mit dem ersten verifizierten Wert des ersten Benutzers für die erste Modalität das Bestimmen einer Differenz zwischen dem Distanzwert und dem ersten verifizierten Wert des ersten Benutzers. In anderen Aspekten umfasst das Verfahren das Beschaffen eines ersten Grenzwerts, der der ersten Modalität entspricht, und das Authentifizieren des Satzes Sensordaten als den ersten Benutzer in Reaktion darauf, dass die Differenz kleiner als der erste Grenzwert ist.
-
In anderen Aspekten umfasst das Verfahren das Bestimmen einer gewichteten Kombination eines Satzes Authentifizierungsentscheidungen, umfassend die erste Authentifizierungsentscheidung, für jede Modalität des Satzes Modalitäten. In anderen Aspekten umfasst das Verfahren, in Reaktion darauf, dass jede Authentifizierungsentscheidung des Satzes Authentifizierungsentscheidungen anzeigt, dass die entsprechenden Sensordaten dem ersten Benutzer entsprechen, das Durchführen der angeforderten Aktion. In anderen Aspekten umfasst das Verfahren das Bestimmen eines Satzes verifizierter Werte des ersten Benutzers für jede Modalität des Satzes Modalitäten für einen vorgegebenen Schulungszeitraum.
-
Ein passives Authentifizierungssystem für eine erste Benutzervorrichtung umfasst mindestens einen Prozessor und einen Speicher, der mit dem mindestens einen Prozessor gekoppelt ist. Der Speicher speichert eine Distanzdatenbank, umfassend einen verifizierten Wert eines ersten Benutzers für jede Modalität eines Satzes Modalitäten und Anweisungen zum Ausführen durch den mindestens einen Prozessor. Die Anweisungen umfassen in Reaktion auf das Empfangen einer angeforderten Aktion das Beschaffen eines Satzes Sensordaten und das Kategorisieren erster Sensordaten des Satzes Sensordaten in eine erste Modalität des Satzes Modalitäten. Die Anweisungen umfassen für die erste Modalität des Satzes Modalitäten das Bestimmen gepaarter Probedaten durch Anwenden eines ersten Modalitätenmodells auf ersten Sensordaten und das Vergleichen der gepaarten Probedaten mit dem verifizierten Wert des ersten Benutzers, der in der Distanzdatenbank für die erste Modalität gespeichert ist. Die Anweisungen umfassen, basierend auf dem Vergleich, das Bestimmen einer ersten Authentifizierungsentscheidung der gepaarten Probedaten. Die Anweisungen umfassen, in Reaktion darauf, dass die erste Authentifizierungsentscheidung angibt, dass die ersten Sensordaten dem ersten Benutzer entsprechen, das Durchführen der angeforderten Aktion.
-
In anderen Aspekten umfassen die Anweisungen in Reaktion darauf, dass die erste Authentifizierungsentscheidung anzeigt, dass die ersten Sensordaten nicht dem ersten Benutzer entsprechen, das Anfordern einer weiteren Authentifizierungsentscheidung. In anderen Aspekten umfasst die weitere Authentifizierungsentscheidung das Anfordern eines Passworts oder biometrischer Daten. In anderen Aspekten umfasst das Vergleichen der gepaarten Probedaten mit dem verifizierten Wert des ersten Benutzers, der in der Distanzdatenbank für die erste Modalität gespeichert ist, das Bestimmen einer Distanz zwischen den gepaarten Probedaten und dem verifizierten Wert des ersten Benutzers, der in der Distanzdatenbank gespeichert ist.
-
In anderen Aspekten umfassen die Anweisungen das Beschaffen eines ersten Grenzwerts, der der ersten Modalität entspricht, und das Authentifizieren des Satzes Sensordaten als den ersten Benutzer in Reaktion darauf, dass die Distanz kleiner als der erste Grenzwert ist. In anderen Aspekten umfassen die Anweisungen, in Reaktion darauf, dass die Distanz größer ist als der erste Grenzwert, das Sperren der ersten Benutzervorrichtung und das Verweigern der Ausführung der angeforderten Aktion. Die angeforderte Aktion ist Zugriff auf ein Fahrzeug oder einen Ride-Sharing-Service.
-
In anderen Aspekten umfassen die Anweisungen das Bestimmen eines Satzes Authentifizierungsentscheidungen, umfassend die erste Authentifizierungsentscheidung, für jede Modalität des Satzes Modalitäten und, in Reaktion darauf, dass jede Authentifizierungsentscheidung des Satzes Authentifizierungsentscheidungen anzeigt, dass die entsprechenden Sensordaten dem ersten Benutzer entspricht, das Durchführen der angeforderten Aktion.
-
In anderen Aspekten umfasst das erste Modalitätenmodell eine Architektur mit zwei gestapelten Long-Short-Term-Speichern, wobei die Architektur mit zwei gestapelten Long-Short-Tenn-Speichern unter Verwendung eines Schulungsdatensatzes vorgeschult ist. In anderen Aspekten umfassen die Anweisungen das Bestimmen eines Satzes verifizierter Werte des ersten Benutzers für jede Modalität des Satzes Modalitäten für einen vorgegebenen Schulungszeitraum.
-
In anderen Aspekten umfasst das Bestimmen des Satzes verifizierter Werte des ersten Benutzers für jede Modalität des Satzes Modalitäten das Beschaffen eines Feineinstellungsdatensatzes von einem Satz Sensoren für den vorgegebenen Schulungszeitraum, das Kategorisieren von Daten des Feineinstellungsdatensatzes dem Satz Modalitäten entsprechend, das Schulen jedes entsprechenden Modalitätenmodells unter Verwendung der entsprechenden kategorisierten Daten, und das Bestimmen des Satzes verifizierter Werte des ersten Benutzers für jede Modalität des Satzes Modalitäten als eine Ausgabe jedes entsprechenden Modalitätenmodells. In anderen Aspekten umfasst das System mehrere Sensoren. In anderen Aspekten des Satzes werden Sensordaten von den mehreren Sensoren beschafft.
-
Ein passives Authentifizierungssystem für eine erste Benutzervorrichtung umfasst mehrere Sensoren, mindestens einen Prozessor und einen Speicher, der mit dem mindestens einen Prozessor gekoppelt ist. Der Speicher speichert eine Distanzdatenbank, umfassend einen verifizierten Wert eines ersten Benutzers für jede Modalität eines Satzes Modalitäten, eine Grenzwertdatenbank, umfassend einen Grenzwert für eine gewichtete Kombination des Satzes Modalitäten und Anweisungen zum Ausführen durch den mindestens einen Prozessor. Die Anweisungen umfassen in Reaktion auf das Empfangen einer angeforderten Aktion das Beschaffen eines Satzes Sensordaten von den mehreren Sensoren und das Kategorisieren erster Sensordaten des Satzes Sensordaten in eine erste Modalität des Satzes Modalitäten. Die Anweisungen umfassen für die erste Modalität des Satzes Modalitäten das Bestimmen gepaarten Probedaten durch Anwenden eines ersten Modalitätenmodells auf die ersten Sensordaten, das Beschaffen eines ersten verifizierten Werts des ersten Benutzers, der in der Distanzdatenbank für die erste Modalität gespeichert ist, und das Bestimmen einer Distanz zwischen den gepaarten Probedaten und dem verifizierten Wert. Die Anweisungen umfassen das Beschaffen eines ersten Grenzwerts, der in der Grenzwertdatenbank für die erste Modalität gespeichert ist, und in Reaktion darauf, dass die Distanz kleiner als der erste Grenzwert ist, das Durchführen der angeforderten Aktion.
-
Weitere Bereiche der Anwendung dieser Offenbarung werden aus der ausführlichen Beschreibung, den Ansprüchen und den Zeichnungen offensichtlich. Die ausführliche Beschreibung und die spezifischen Beispiele dienen rein illustrativen Zwecken und sollen den Umfang der Offenbarung nicht einschränken.
-
Figurenliste
-
Diese Offenbarung ist aus der detaillierten Beschreibung und den beiliegenden Zeichnungen umfassender zu verstehen.
- 1 ist eine beispielhafte Umsetzung eines passiven Authentifizierungssystems nach Grundsätzen dieser Offenbarung auf hoher Ebene.
- 2 ist ein Funktionsblockdiagramm, das eine beispielhafte Benutzervorrichtung darstellt.
- 3 ist ein Funktionsblockdiagramm einer beispielhaften Umsetzung eines passiven Authentifizierungsmoduls.
- 4 ist ein Funktionsblockdiagramm, das die Schulung eines Modalitätenmodells eines passiven Authentifizierungssystems darstellt.
- 5 ist ein Ablaufdiagramm, das die beispielhafte Authentifizierung eines Benutzers durch eine passive Authentifizierungsanwendung darstellt.
- 6 ist ein Ablaufdiagramm, das eine beispielhafte Schulung für einen bestimmten Benutzer einer passiven Authentifizierungsanwendung darstellt.
- 7 ist ein Ablaufdiagramm, das eine beispielhafte Aktualisierung eines Modalitätenmodells einer passiven Authentifizierungsanwendung darstellt.
-
In den Zeichnungen können Referenzziffern wiederverwendet werden, um ähnliche und/oder identische Elemente zu identifizieren.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ein passives Authentifizierungssystem authentifiziert einen Benutzer durch Einsetzen von Daten aus den bestehenden Vorrichtungssensoren des Benutzers zum Verifizieren der Identität des Benutzers. In verschiedenen Umsetzungen wird das passive Authentifizierungssystem verwendet, um unauffällig einen Benutzer zu authentifizieren, wenn der Benutzer beispielsweise durch Drücken einer Taste einer Benutzervorrichtungsanwendung oder einer Entsperrtaste an einem Fahrzeug oder einer Fernbedienung einen Ride-Sharing-Service anfordert oder sein Fahrzeug aufsperrt. Das passive Authentifizierungssystem kann Verhaltenstrends oder Muster von Benutzern identifizieren, die Benutzervorrichtungen bedienen, indem Daten von bestehenden Benutzervorrichtungssensoren eingesetzt werden und ein siamesisches Long-Short-Term-Speichermaschinenlernmodell (LSTM-Maschinenlernmodell) mit einem Satz Schulungsdaten für jede Modalität oder jeden Sensor aus einem Satz Sensoren an der Benutzervorrichtung geschult wird.
-
Das passive Authentifizierungssystem kann als eine Anwendung an einer Benutzervorrichtung bedient werden. Beim Download kann die Anwendung eine kurze Datenerfassung für einen kurzen Schulungszeitraum ausführen, um personalisierte Daten zu dem wahren Eigentümer der Benutzervorrichtung zu erfassen. Auf diese Weise kann der Benutzer nach Ausgeben der Anfrage passiv durch die Anwendung authentifiziert werden.
-
Das passive Authentifizierungssystem kann automatisch Strukturen eines bestimmten Benutzers während eines kurzen Schulungszeitraums lernen, der mehrere Modalitäten (also mehrere Arten von Sensordaten) für den bestimmten Benutzer schult. Dann kann, auf eine Benutzeranfrage hin, ein Fahrzeug zu entsperren oder einen Fahrservice anzufordern, das passive Authentifizierungssystem den Benutzer während einer der Anfragen authentifizieren, beispielsweise durch Verwendung eines kürzlichen Satzes von durch den Benutzer erfassten Daten, die passiv während der Benutzerbedienung der Benutzervorrichtung verwendet werden. Das passive Authentifizierungssystem kann als eine Benutzervorrichtungsanwendung umgesetzt sein, die der Benutzer auf seine Benutzervorrichtung herunterladen kann. Nach einem minimalen Schulungszeitraum für das Lernmodul (siamesisches LSTM) für den bestimmten Benutzer kann die passive Authentifizierungsanwendung einen Satz Benutzervorrichtungsdaten von einem Satz Sensoren, die während eines vorgegebenen Zeitraums erfasst wurden, erfassen und übertragen, wobei jeder Sensor einer bestimmten Modalität entspricht.
-
In verschiedenen Umsetzungen kann das passive Authentifizierungssystem fortlaufend den Benutzer authentifizieren, während die passive Authentifizierungs-anwendung bedient wird. In anderen Umsetzungen kann das passive Authentifizierungssystem den Benutzer nur in Reaktion auf eine Fahrtanfrage oder eine Entsperranfrage eines Fahrzeugs authentifizieren. Da das passive Authentifizierungs-system ständig Sensordaten erfasst, kann das passive Authentifizierungssystem, wenn eine Fahrt angefordert wird oder eine Fahrzeugentsperranfrage empfangen wird, die aktuell erfassten Sensordaten verwenden, um den Bediener der Benutzervorrichtung zu authentifizieren.
-
Aktuelle Authentifizierungsschemas auf mobilen Plattformen erfordern explizite Benutzerinteraktion mit der Benutzervorrichtung, die als explizite Authentifizierung bezeichnet wird, um Zugriff auf die Benutzervorrichtung zu erhalten. Der Eintrittspunkt für den Benutzervorrichtungszugrang ist typischerweise ein Passcode oder ein biometrischer Hinweis wie ein Gesicht, Fingerabdrücke, die Iris usw. Passwörter und PINs werden seit Langem als die Spitze der Informationssicherung und Kontrolle von Zugang zu mobilen Vorrichtungen betrachtet. Diese wissensbasierten Authentifizierungsschemas sind jedoch anfällt für Social Engineering Jacks, Erraten, Over-the-Shoulder-Angriffe usw.
-
Mit kürzlichen Fortschritten in der Technologie werden Smartphones besser im Authentifizieren von Benutzern durch Lernen ihrer biometrischen Eigenschaften, wie etwa Gesicht, Fingerabdrücke oder Iris, die als für Einzelne eindeutig betrachtet werden. Diese Eigenschaften werden als zuverlässiger betrachtet als wissensbasierte Authentifizierungsschemas, weil sie einmalig sind. Der Nachteil ist, dass die biometrische Authentifizierung Datenschutzbedenken bezüglich des Erfassens biometrischer Daten aufbringt. Außerdem sind Spoofangriffe auf Ebene der biometrischen Sensoren und möglicher Diebstahl biometrischer Templates, die in der Benutzervorrichtung gespeichert sind, unter den wachsenden Bedenken bezüglich biometrisch basierter Authentifizierung.
-
Auch wenn die Verwendung expliziter Authentifizierungsschemas weit verbreitet ist, ist die explizite Authentifizierung sowohl kompliziert als auch störend, da der Benutzer sich aktiv auf den Authentifizierungsschritt konzentrieren muss, bevor er die Benutzervorrichtung verwenden kann. Weiter können Benutzer es vorziehen, einfache und schwache Passwörter einzustellen, den Inaktivitätszeitraum für die Sperrzeit zu erhöhen oder den Authentifizierungsschritt vollständig zu deaktivieren. Außerdem eigenen sich PIN-Codes, Passwörter und biometrische Scans gut für einmalige Authentifizierung, sind jedoch nicht effektiv dafür, ein Eindringen nach der erfolgreichen Authentifizierung durch den echten Benutzer zu erkennen, wenn das Telefon entsperrt wird.
-
Stattdessen greift das passive Authentifizierungssystem dieser Offenbarung diese Herausforderungen an, indem eine weitere Sicherheitsschicht bereitgestellt wird, indem die Interaktion des Benutzers mit der Benutzervorrichtung häufig und unauffällig überwacht wird. Das passive Authentifizierungssystem verlangt keinen expliziten Authentifizierungs-schritt.
-
In verschiedenen Umsetzungen kann das passive Authentifizierungssystem Daten von bis zu 30 verschiedenen Sensoren einer Benutzervorrichtung erfassen, um Benutzer passiv zu authentifizieren. In dieser Offenbarung werden acht Modalitäten speziell besprochen, einschließlich Keystroke-Dynamik von dem Touchscreensensor (Tastenhaltezeit, Fingerbereich und Fingerdruck), GPS-Ort, Beschleunigungsmesser, Gyroskopdaten, Magnetometer, Schwerkraftsensor, lineare Beschleunigung und Drehsensor.
-
Weitere Modalitäten können jedoch enthalten sein, wie etwa Anwendungsnutzung (Name der verwendeten Benutzervorrichtungsanwendung), Batteriestand (Verbleibender Prozentsatz der Batterieladung), Bluetooth-Verbindungen (Bluetooth-Verbindungsnamen um die Vorrichtung herum), Helligkeitspegel (Bildschirmhelligkeitspegel), Handymastverbindungen (Handymastname um die Vorrichtung herum), Dateilesen/-schreiben (Dateien, die von der Festplatte der Benutzervorrichtung gelesen oder darauf geschrieben wurden), Blickgeste (der Benutzer hat seine Benutzervorrichtung angeschaut), Benutzergesichtsbild von der Kamera, Pulssensor (Herzschlag des Benutzers pro Minute), Feuchtigkeitssensor (Umgebungsluftfeuchtigkeit in Prozent), Lichtsensor (Umgebungslichtmessung), NFC-Verbindungen (NFC-Verbindungsnamen um die Vorrichtung herum), Ausrichtungssensor (Ausrichtung der Benutzervorrichtung in Ebene X, Y und Z), Aufnahmegeste (Benutzervorrichtung wurde hochgehoben), Barometer (atmosphärischer Druck), Bildschirmtouchsensor (Berührungsort), Schrittzähler (Anzahl der gegangenen Schritte), Schrittmelder (Benutzer läuft), Temperatursensor (Umgebungstemperatur), Kippmelder (Vorrichtung wird gekippt), Lautstärken (Lautstärke, die durch den Benutzer eingestellt ist), Aufwachgeste (Benutzervorrichtung wird eingeschaltet) und WiFi-Verbindungen (WiFi-Verbindungsnamen).
-
Das passive Authentifizierungssystem setzt eine siamesische LSTM-Architektur um, um tiefe temporale Merkmale von Schulungsdaten, die einer Anzahl passiver Sensoren in Benutzervorrichtungen entsprechen, für die Benutzerauthentifizierung zu extrahieren.
-
Die meisten der passiven Authentifizierungsstudien haben sich auf eine einzelne Erkennungsmodalität für die Authentifizierung konzentriert. Das Authentifizieren eines Benutzers für seine Benutzervorrichtung basierend auf einer einzelnen biometrischen Modalität wird zu einer großen Herausforderung, wenn das Authentifizierungszeitfenster kurz ist. Außerdem schwankt je nach Aufgabe, die der Benutzer ausführt, die Menge an Daten und Verfügbarkeit verschiedener Sensormodalitäten. Ein robustes passives Authentifizierungsschema muss in der Lage sein, sich an die hohe benutzerinterne Variabilität anzupassen, die bei der Interaktion zwischen Mensch und Smartphone oder Mensch und Benutzervorrichtung beobachtet wird, indem ein multimodaler Ansatz zum Einsatz kommt, der mehrere Benutzervorrichtungssensoren verwendet, wie in dieser Offenbarung dargestellt.
-
Die Verschmelzung von Entscheidungen aus mehreren Modalitäten zum Authentifizieren des Benutzers wurde aufgrund der Authentifizierungsgenauigkeit eines oder einiger weniger Modalitäten als sehr nützlich nachgewiesen. Die Mehrzahl multimodaler Biometriksysteme verschmelzen Klassifizierter auf der Punktzahlebene basierend auf Minimum, Maximum oder Summenregeln. Das passive Authentifizierungssystem übernimmt die Punktesummenfusionstechnik, die sich als in multimodalen biometrischen Systemen im Vergleich mit anderen Fusionsschemas gut funktionierend erwiesen hat. Das passive Authentifizierungssystem setzt ein siamesisches LSTM-Netzwerk um, um temporale Abhängigkeiten zu behandeln.
-
Mit Verweis auf 1 wird eine beispielhafte Umsetzung eines passiven Authentifizierungssystems 100 auf hoher Ebene dargestellt. Das passive Authentifizierungssystem 100 authentifiziert einen Benutzer oder Eigentümer einer Benutzervorrichtung 104, wie etwa eines Smartphones oder einer anderen mobilen Rechnervorrichtung. Die Benutzervorrichtung 104 kann die Identität des Benutzers für ein Authentifizierungsanfragesystem 108 über das Internet 112 verifizieren. Beispielsweise kann das Authentifizierungsanfragesystem 108 ein Ride-Sharing-Service sein, der eine Benutzerauthentifizierung in Reaktion darauf verlangt, dass eine Fahrtanfrage gesendet wurde, eine Fahrzeugsteuereinheit, die eine Benutzerauthentifizierung in Reaktion darauf verlangt, dass eine Entsperranfrage oder andere Fahrzeugbedienungsanfragen empfangen wurde, usw.
-
Das passive Authentifizierungssystem 100 umfasst eine Anwendungsdatenbank 116 und eine Benutzerdatenspeicherdatenbank 120. Die Anwendungsdatenbank 116 speichert eine passive Authentifizierungsanwendung mit vorgeschulten Authentifizierungsmodellen für einen Satz Modalitäten, die unter Verwendung von Schulungssensordaten oder eines Schulungsdatensatzes geschult wurden.
-
Der Benutzer kann die passive Authentifizierungsanwendung von der Anwendungsdatenbank 116 mit vorgeschulten Modellen auf die Benutzervorrichtung 104 herunterladen. Nach dem Download kann die passive Authentifizierungsanwendung den Benutzer durch eine Vielzahl von Bildschirmaufforderungen anweisen, die vorgeschulten Modelle der einzigartigen Verwendung der Benutzervorrichtung 104 durch den Benutzer entsprechend zu aktualisieren oder anzupassen. Nach der Schulung für den bestimmten Benutzer erfasst die passive Authentifizierungsanwendung Sensordaten von mehreren Sensoren, die auf der Benutzervorrichtung 104 existieren, wie in 2 genauer gezeigt ist, und funktioniert, um den Benutzer ständig oder in Reaktion auf eine bestimmte Aufforderung von dem Authentifizierungsanfragesystem 108 zu authentifizieren.
-
Die Benutzerdatenspeicherdatenbank 120 speichert eine Vielzahl von Benutzerdaten, die durch das passive Authentifizierungsmodul auf der Benutzervorrichtung 104 gesammelt sind. Das passive Authentifizierungsmodul lädt die gesammelten Daten über das Internet 112 in vorgegebenen Intervallen auf die Benutzerdatenspeicherdatenbank 120 hoch. In verschiedenen Umsetzungen ist die Benutzerdatenspeicherdatenbank 120 von dem passiven Authentifizierungssystem 100 ausgeschlossen, und nur ein Untersatz von Sensordaten wird auf der Benutzervorrichtung 104 für einen vorgegebenen Zeitraum gesammelt und gespeichert. Weiterhin kann in anderen Umsetzungen das passive Authentifizierungssystem 100 die vorgeschulten Modelle auf einer Serverfernbedienung von der Benutzervorrichtung 104 speichern, was dazu führt, dass die passive Authentifizierungsanwendung Benutzer auf einem externen Server authentifiziert, nachdem sie einen Satz Authentifizierungsdaten über das Internet 108 empfangen hat, und die Authentifizierungsdaten an das Authentifizierungsanfragesystem 108 weiterleitet.
-
In einer Offlinephase werden die vorgeschulten Modelle für jede Modalität geschult. Während des Einsatzes werden die eingehenden Daten von den Benutzervorrichtungssensormodalitäten ständig überwacht. Wenn die eingehenden Daten erfolgreich die Authentifizierungskriterien bestehen, erfolgt eine Entscheidung, dass der aktuelle Benutzer in der Tat der rechtmäßige Eigentümer der Benutzervorrichtung ist. Andernfalls sperrt das passive Authentifizierungssystem 100 den Benutzer aus der Benutzervorrichtung aus und bietet ein explizites Authentifizierungsverfahren wie ein Passwort oder Biometrik wie Fingerabdruckscans an.
-
In einer beispielhaften Umsetzung soll ein Schulungsdatensatz zum Vorschulen von Authentifizierungsmodellen für jede Modalität aus Messungen von bis zu 30 Sensoren bestehen, die aktuell in den am häufigsten verwendeten Benutzervorrichtungen für einen Satz Benutzer vorhanden sind, beispielsweise für einen Satz von 30 oder mehr Benutzern. Daten für jeden Benutzer können über einen Zeitraum von 15 Tagen erfasst werden. Um ständig Daten zu erfassen, schaltet die passive Authentifizierungsanwendung sich automatisch an, wann immer die Benutzervorrichtung hochfährt und läuft ständig im Hintergrund, wobei passiv Sensordaten aufgezeichnet werden. Um Keystrokedynamik zu erfassen, kann ein angepasstes Softkeyboard aus der Anwendungsdatenbank 116 heruntergeladen werden. Das angepasste Softkeyboard kann auch als Teil der Zielanwendung umgesetzt sein, wie etwa der Fahrtanforderungs- oder Ride-Sharing-Anwendung.
-
Das passive Authentifizierungssystem 100 hat den Vorteil, dass Benutzerinteraktion mit einer Datenerfassungsanwendung nicht erforderlich ist, wodurch Benutzer in der Lage sind, ihre Benutzervorrichtungen zu verwenden, wie sie dies im täglichen Leben normalerweise tun würden. Daten für die Modalitäten können ständig erfasst werden, auch, wenn der Benutzer nicht aktiv mit seiner Benutzervorrichtung interagiert.
-
Mit Blick auf 2 ist nun ein Funktionsblockdiagramm, das eine beispielhafte Benutzervorrichtung 104 zeigt, dargestellt. Die Benutzervorrichtung 104 umfasst ein Betriebssystem 204 und mehrere Sensoren. Die mehreren Sensoren umfassen Keystrokesensoren 208, einen GPS-Ortssensor 212, einen Beschleunigungsmesser 216, einen Gyroskopsensor 220, einen Magnetometer 224, einen Schwerkraftsensor 228, einen linearen Beschleunigungsmesser 232 und einen Drehsensor 236. Wie oben beschrieben, sind die mehreren Sensoren nicht auf die Sensoren aus 2 beschränkt.
-
Die Keystrokesensoren 208 können die Tastenhaltezeit, den Fingerbereich und den Fingerdruck bestimmen. Der GPS-Ortssensor 212 kann den GPS-Ort eines Benutzers bestimmen, einschließlich Breiten- und Längengrad. Der Beschleunigungsmesser 216 kann eine Beschleunigung der Benutzervorrichtung in der Ebene X, Y und Z bestimmen. Der Gyroskopsensor 220 kann eine Rotationsrate der Benutzervorrichtung in der Ebene X, Y und Z bestimmen. Der Magnetometer 224 kann das Magnetfeld der Erde in der Ebene X, Y und Z bestimmen. Der Schwerkraftsensor 228 kann eine Richtung und Größe der Schwerkraft bestimmen. Der lineare Beschleunigungsmesser 232 kann eine lineare Beschleunigung in der Ebene X, Y und Z bestimmen. Der Drehsensor 236 kann eine Drehung der Benutzervorrichtung in der Ebene X, Y und Z bestimmen.
-
Wie bereits erwähnt, sind mehrere Sensoren aktuell in allen Smartphones und Smartwatches verfügbar, sodass eine passive Authentifizierungsanwendung 240 Sensordaten erfassen kann, ohne die Installation weiterer Sensorhardware zu verlangen. Die passive Authentifizierungsanwendung 240 umfasst eine einzigartige Benutzerschnittstelle 244, ein Datenerfassungsmodul 248 und ein passives Authentifizierungsmodul 252. Die Benutzerschnittstelle 244 stellt Aufforderungen für bestimmte Datenerfassung bereit, um die vorgeschulten Modelle des passiven Authentifizierungsmoduls 252 der einzigartigen Verwendung der Benutzervorrichtung 104 durch den Benutzer entsprechend zu aktualisieren.
-
In verschiedenen Umsetzungen empfängt das passive Authentifizierungsmodul 252 Daten direkt von dem Datenerfassungsmodul 248 zur Authentifizierung. Weiterhin oder alternativ dazu empfängt das passive Authentifizierungsmodul 252 Daten zur Authentifizierung von einem örtlichen Speicher 256 über das Betriebssystem 204 oder der Benutzerdatenspeicherdatenbank 120 über das Betriebssystem 204 und einen Transceiver 260.
-
Das Datenerfassungsmodul 248 empfängt Sensordaten von mehreren Sensoren über das Betriebssystem 204. Das Datenerfassungsmodul 248 leitet die Erfassung von Sensordaten und aktualisiert die örtliche Speicherung 256 über das Betriebssystem 204 mit einem Satz erfasster Daten für mehrere Modalitäten über einen vorgegebenen Zeitraum. Für jeden Satz Daten, der durch das Datenerfassungsmodul 248 für den vorgegebenen Zeitraum erfasst wird, kann das Datenerfassungsmodul 248 den zuvor gespeicherten Satz Daten ersetzen, der in dem örtlichen Speicher 256 gespeichert ist. In verschiedenen Umsetzungen kann der örtliche Speicher 256 Daten für einen Zeitsatz, wie etwa für die letzten 24 Stunden, speichern. In anderen Umsetzungen können Sensordaten für mehrere Benutzervorrichtungen über den Transceiver 260 der Benutzervorrichtung 104 extern in der Benutzerdatenspeicherdatenbank 120 gespeichert werden.
-
Die Keystrokesensoren 208 funktionieren durch Modellieren des Tipprhythmus und der Eigenheiten des Benutzers, die für das Authentifizieren von Benutzervorrichtungsbenutzern verwendet werden können. Das Datenerfassungsmodul 248 kann den Fingerdruck, Fingerbereich, und die Haltezeit, wenn ein Benutzer ein Zeichen auf seiner Benutzervorrichtung 104 eintippt, erfassen und aufzeichnen. Die genauen Zeichen, die eingegeben werden, werden nicht aufgezeichnet und die erfassten Keystrokemuster sind daher nichtinvasiver Art.
-
Für den Benutzer der Benutzervorrichtung sammelt und erfasst das Datenerfassungsmodul 248 von dem GPS-Ortssensor 212 ein Paar Breiten- und Längengradkoordinaten, wenn die Benutzervorrichtung 104 bewegt wird. Der Ort wird als ein Maßstab für die Eigenschaften einer Person betrachtet, und daher können erkennbare Muster für die täglichen Orte eines Benutzers gefunden werden.
-
Die passive Authentifizierungsanwendung 240 zieht auch Bewegung in Betracht. Das Datenerfassungsmodul 248 erfasst Bewegung unter Verwendung der sechs weiteren Sensoren (Beschleunigungsmesser 216, Gyroskopsensor 220, Magnetometer 224, Schwerkraftsensor 228, linearer Beschleunigungsmesser 232 und Drehsensor 236) und zeichnet sie auf. Messungen werden für alle sechs Sensoren in den drei Achsen X, Y und Z aufgezeichnet. Chronologische Intrabenutzer-Lücken der Messungen können aufgrund von hoher Variabilität des Benutzerverhaltens entstehen, wenn er etwa seine Benutzervorrichtung abschaltet oder die Benutzervorrichtung sich abschaltet, weil die Batterie leer ist. Diese Lücken werden durch generierte Modelle unter Verwendung der LSTM-Architektur geschlossen.
-
Zwei Ansätze für die passive Authentifizierung können umgesetzt werden: (i) ein Onlineansatz und (ii) ein Offlineansatz (wie zuvor erwähnt). Der Onlineansatz schult ein Authentifizierungsmodell unter Verwendung von Proben, die sich auf den Benutzer beziehen, über einen bestimmten Zeitraum, bevor das Modell eingesetzt wird. Eine große Einschränkung des Onlineansatzes umfasst die Schulung eines individuellen Modells für jeden Benutzer. Daher ist es herausfordernd, die gesamte Authentifizierungsleistung über alle Benutzer hinweg genau zu bewerten, weil eine hohe Varianz vorliegt. Weiterhin sind die erforderlichen Datenmengen, die Dauer der Datenerfassung vor dem Modelleinsatz und Datenschutzbedenken beim Speichern von Schulungsdaten andauernde Herausforderungen.
-
Offlineansätze andererseits schulen ein gemeinsames Authentifizierungsmodell, das hervorstechende Darstellungen für einzelne Modalitäten lernt. In diesem Ansatz wird dasselbe geschulte Modell eingesetzt, wenn Benutzer die Anwendung installieren. Weiterhin können die Benutzer den Authentifizierungsmechanismus umgehend nach der Installation der Anwendung verwenden.
-
Die passive Authentifizierungsanwendung 240 kann eine Kombination der beiden Ansätze umsetzen, und eine Offline-Lernstrategie für passive Authentifizierung einsetzen, die eine Feineinstellungsphase aufweist, nachdem die passive Authentifizierungsanwendung 240 auf die Benutzervorrichtung 104 heruntergeladen wurde. Während der Feineinstellungsphase fordert die passive Authentifizierungs-anwendung 240 den Benutzer über die Benutzerschnittstelle 244 auf, einen Satz von Benutzungsanweisungen auszuführen, um die vorgeschulten Modelle korrekt der Art entsprechend zu aktualisieren, wie der Benutzer die Benutzervorrichtung 104 verwendet oder handhabt.
-
Vor dem Download wird für jede der acht Modalitäten ein siamesisches LSTM-Netzwerk geschult, um tiefe temporale Merkmale zu lernen. Schulungsproben der Benutzer werden in einen Einbettungsraum umgewandelt, der durch das siamesische Netzwerk gelernt wird. Daher sind während des Einsatzes nur die Merkmale, die von den eingehenden Daten extrahiert werden, zur Authentifizierung benötigt. Damit wird die Notwendigkeit eliminiert, private Daten auf jeder Benutzervorrichtung zu speichern. Die vorgeschulten Modelle für jede Modalität können dann dem Benutzer entsprechend personalisiert oder angepasst werden, der die passive Authentifizierungsanwendung herunterlädt (beispielsweise für den Eigentümer der Benutzervorrichtung). In verschiedenen Umsetzungen kann die passive Authentifizierungsanwendung eine Vielzahl von Konten für mehrere Benutzer der Benutzervorrichtung aufweisen, sodass die Benutzervorrichtung Modelle für jeden Benutzer personalisieren und jeden Benutzer authentifizieren kann.
-
Nun wird mit Blick auf 3 ein Funktionsblockdiagramm einer beispielhaften Umsetzung des passiven Authentifizierungsmoduls 252 dargestellt. Wie zuvor erwähnt, kann das passive Authentifizierungsmodul 252 Sensordaten zum Authentifizieren von dem örtlichen Speicher einer Benutzervorrichtung oder der passiven Authentifizierungsanwendung auf der Benutzervorrichtung empfangen. In verschiedenen Umsetzungen empfängt das passive Authentifizierungsmodul 252 Sensordaten zum Authentifizieren von einem Speicherort.
-
Ein Eingabeparsingmodul 304 empfängt die Sensordaten zum Personalisieren der Schulung oder Authentifizierung. Wie zuvor beschrieben, kann, wenn die passive Authentifizierungsanwendung auf eine Benutzervorrichtung heruntergeladen wurde, die passive Authentifizierungsanwendung die vorgeschulten Modelle des passiven Authentifizierungsmoduls 252 der spezifischen Verwendung des Benutzers entsprechend aktualisieren. Die passive Authentifizierungsanwendung kann den Benutzer durch eine Reihe von Aktionen führen, um die Vormodelle für jede Modalität zu personalisieren.
-
Wenn das Eingabeparsingmodul 304 feststellt, dass die Benutzerdaten der Schulung oder Feineinstellung der Modelle dient, werden die Sensordaten an ein Modalitätenauswahlmodul 308 weitergeleitet. Wie zuvor angegeben, wird ein Modell (unter Verwendung eines Schulungsdatensatzes und für jeden Benutzer aktualisiert) für jede Modalität (beispielsweise Keystroke, Ort usw.). Das passive Authentifizierungsmodul 252 zeigt nur eine erste Modalität; wie jedoch beschrieben, würde das passive Authentifizierungsmodul 252 beispielsweise acht verschiedene Modalitäten umsetzen und kombinieren, und kann eine geringere Anzahl oder eine höhere Anzahl von Modalitäten verwenden.
-
Das Modalitätenauswahlmodul 308 trennt jede Modalität er Sensordaten und leitet die Sensordaten an das entsprechende Modalitätsmodul weiter, beispielsweise an ein erstes Modalitätsmodul 312 (beispielsweise Keystroke). Weiterhin kann der Benutzer abhängig von seinem Vorzug den Datenschutz betreffend entscheiden, nicht über bestimmte Modalitäten authentifiziert zu werden. Das Modalitätenauswahlmodul hilft beim Erhalt hoher Authentifizierungsgenauigkeit durch Auswahl der besten Kombinationen aller verfügbaren Modalitäten unter Beachtung der Benutzereinstellungen.
-
Das erste Modalitätsmodul 312 umfasst ein erstes Modalitätenmodell 316, das eine LSTM-Architektur umsetzt, um das erste Modalitätenmodell 316 den Sensordaten des Benutzers entsprechend zu erzeugen, um das Modell zu personalisieren (Feineinstellungsphase). Das erste Modalitätenmodell 316 ist durch einen Satz Schulungsdaten vorgeschult, um zu lernen, Benutzer durch Klassifizieren und Bestimmen eines Distanzwerts eingehender Sensordaten zu identifizieren oder authentifizieren. Beispielsweise kann das erste Modalitätenmodell 316 Sensordateneingaben analysieren und einen Distanzwert für jede Eingabe berechnen, um den verifizierten Benutzer während der Feineinstellungsphase zu bestimmen. Dann kann der Benutzer während der Authentifizierung basierend auf einer Distanz (beispielsweise einer Differenz) zwischen aktuell analysierten Sensordaten und den vorherigen Distanzwerten des verifizierten Benutzers authentifiziert werden. Wenn beispielsweise die Distanz einen Grenzwert überschreitet, wird der Benutzer nicht authentifiziert. In verschiedenen Umsetzungen kann eine erste Modalitätenkartendatenbank 320 in dem ersten Modalitätsmodul 312 umfasst sein, um verifizierte Distanzwerte des Benutzers der Benutzervorrichtung zu speichern.
-
Nachdem das erste Modalitätsmodul 312 umgesetzt wurde, um Darstellungen des Benutzers zu bestimmen, kann das passive Authentifizierungsmodul 252 verwendet werden, um den Benutzer zu authentifizieren. Wenn eine Authentifizierungsanfrage empfangen wird, wird ein neuester Satz Sensordaten an das passive Authentifizierungsmodul 252 zur Authentifizierung weitergeleitet. Das Eingabeparsingmodul 304 bestimmte basierend auf der Sensordateneingabe, die eine Anzeige umfasst, dass eine Authentifizierungsanfrage empfangen wurde, dass die Sensordaten zur Authentifizierung weitergeleitet werden. Dann werden die Sensordaten an ein Modellanwendungsmodul 324 des passiven Authentifizierungsmoduls 252 weitergeleitet. Das Modellanwendungsmodul 324 erfasst das erste Modalitätenmodell 316 und wendet es auf die Sensordaten an, um einen Distanzwert der Sensordaten zu klassifizieren und zu bestimmen. In verschiedenen Umsetzungen können die Sensordaten direkt an das erste Modalitätenmodell 316 weitergeleitet werden, um die Sensordaten zu klassifizieren.
-
Das Modellanwendungsmodul 324 kann ebenfalls bekannte gespeicherte Benutzerdistanzdaten (in der ersten Modalitätskartendatenbank 320 gespeichert) mit den aktuell empfangenen Sensordaten vergleichen. Dann wird eine Ähnlichkeit oder eine Distanz zwischen den bekannten, zugeordneten Distanzen der ersten Modalitätskartendatenbank 320 des ersten Benutzers und der bestimmten Distanz der Sensordaten an ein Authentifizierungsbestimmungsmodul 328 zum Vergleich weitergeleitet. Das Authentifizierungsbestimmungsmodul 328 kann einen vorbestimmten Grenzwert umfassen oder auf eine optionale dynamische Grenzwertdatenbank 332 zugreifen, um eine vorhandene Distanz zwischen der bekannten Distanz des echten Benutzers und der bestimmten Distanz der Sensordaten mit einem dynamischen Grenzwert zu vergleichen.
-
Wenn der Grenzwert dynamisch ist, wird jede Authentifizierung, die ausgeführt wird, in das erste Modalitätenmodell 316 einbezogen und der entsprechende Grenzwert wird durch ein Grenzwertanpassungsmodul 336 der ständig aktualisierten ersten Modalitätskartendatenbank 320 entsprechend angepasst. Solange die bestimmte Distanz der Sensordaten den Grenzwert nicht überschreitet, ist der Benutzer authentifiziert. Wenn jedoch die Distanz den Grenzwert überschreitet, kann der Benutzer nicht authentifiziert werden und andere Authentifizierungsschemas, wie etwa Passwörter oder biometrische Scans des Gesichts oder Fingerabdrucks können dem Benutzer für die explizite Authentifizierung vorgelegt werden.
-
Die Bestimmung wird an die Benutzerschnittstelle der passiven Authentifizierungsanwendung sowie das Authentifizierungsanfragesystem vorgelegt, um die angeforderte Funktion auszuführen (wie etwa Aufsperren oder Anfordern einer Fahrt). In verschiedenen Umsetzungen kann jede Authentifizierungsanfrage den Grenzwert nach einer durchschnittlichen Distanz oder Position des Authentifizierten Benutzers aktualisieren. Weiterhin oder alternativ dazu kann jede Authentifizierung außerdem das erste Modalitätenmodell 312 aktualisieren. Jedes Modalitätenmodell wird auf entsprechende Sensordaten angewendet und eine Differenz zwischen Sensordaten und bekannten Benutzerdaten wird an das Authentifizierungsbestimmungsmodul 328 für jede Modalität weitergeleitet. In verschiedenen Umsetzungen weist jedes Modalitätsmodul einen separat bestimmten Grenzwert auf, und damit der Benutzer authentifiziert werden kann, muss jede Modalität, für die Sensordaten erhalten werden, verifiziert werden oder den entsprechenden Grenzwert überschreiten. Alternativ dazu kann es notwendig sein, dass ein Untersatz von Modalitäten verifiziert wird, oder mindestens die entsprechende Differenz muss innerhalb eines vorgegebenen Bereichs des Grenzwerts liegen.
-
Mit Blick auf 4 ist ein Funktionsblockdiagramm, das eine Schulung eines Modalitätenmodells zeigt, dargestellt. Das erste Modalitätenmodell 312 empfängt einen Satz Schulungsdaten an einem Datenprobenmodul 404. In dem Satz Schulungsdaten ist eine Anzeige enthalten, ob jedes Paar des Satzes Schulungsdaten, der an das erste Modalitätenmodell 312 übermittelt wird, ein passendes Paar ist (derselbe Benutzer) oder unterschiedliche Benutzer.
-
Angenommen, dass eine D-dimensionale Datenprobe für eine bestimmte Sensormodalität extrahieren (beispielsweise weist der Beschleunigungsmesser Daten in 3 Achsen auf, namentlich X, Y und Z). Die Anzahl der Proben für jeden Benutzer kann variieren. Der Satz Schulungsdaten kann durch das Datenprobenmodul 404 segmentiert werden, indem ein Fenster einer festen Größe T (Authentifizierungszeitfenster) mit einer vordefinierten Verschiebung der T-Verschiebung über die sequenziellen Daten bewegt wird und überlappende Segmente fester Größe aufgebaut werden. Daher ist für jeden Benutzer ein Satz D × T Segmente in dem Satz Schulungsdaten umfasst. Diese Segmente werden dann an das Vorverarbeitungsmodul weitergegeben. Ein Paar Segmente (zwei Eingaben) werden an ein Vorverarbeitungsmodul 408 weitergeleitet.
-
Die Ausgaben des Probenmoduls umfassen Messungen von einer Modalität in ihrer ursprünglichen Domäne, namentlich der Zeitdomäne. Die Frequenzdomäne kann rauschen handhaben und entfernen, während gleichzeitig die diskriminierenden Muster in den Daten innerhalb der sequenziellen Daten erhalten bleiben. Das Vorverarbeitungsmodul 408 weist die Messungen von der Zeitdomäne der Frequenzdomäne nur für die Bewegungssensoren zu, d. h. Beschleunigungsmesser, Gyroskop, Magnetometer, linearer Beschleunigungsmesser, Schwerkraft und Drehung. Eine Fast-Fourier-Transformation (FFT) wird verwendet, um Zeitdomänensignale auf jeder Merkmalsabmessung in Frequenzdomänensignale umzuwandeln. Die Ausgabe der FFT-Vektoren werden mit Proben in der Zeitdomäne verkettet, um Informationen von beiden Domänen zu verwenden. Dann wird ein erstes Datenprobenpaar an einen ersten LSTM 412 weitergeleitet und eine zweite Datenprobe wird an einen zweiten LSTM 416 weitergeleitet.
-
Das passive Authentifizierungsmodul soll stark diskriminierende Merkmale für jede Modalität beschaffen, die Proben von echten und unechten Benutzern unter Verwendung von geführtem Lernen unterscheiden kann. In anderen Worten, das Authentifizierungsmodul möchte informationsreiche Transformation der Daten von Modalitäten in einen Einbettungsraum lernen, der das Distanzverhältnis zwischen Schulungsproben aufrechterhalten kann.
-
Angenommen, dass ein Paar Eingabeproben, {Xi,Xj}, in das erste Modalitätenmodell 312 eingegeben wird. Sei yij ein Label, das in dem Schulungsdatensatz enthalten ist, das an ein Distanzreglermodul 420 weitergeleitet wird sodass yij = 0, wenn Xi und Xj zu demselben Benutzer gehören, und andernfalls yij = 1. Die Eingabeproben einem Einbettungsraum zugeordnet (beispielsweise in der ersten Modalitätskartendatenbank 320 gespeichert), wo zwei Proben von demselben Benutzer nahe beieinander sind und zwei Proben von unterschiedlichen Benutzern weit voneinander entfernt sind. Eine siamesische Netzwerkarchitektur (das erste LSTM 412 und das zweite LSTM 416), die eine neurale Netzarchitektur ist, die zwei identische Unternetze umfasst, eignet sich gut für solche Verifizierungsaufgaben. Auf diese Weise können Beziehungen zwischen zwei Eingabeproben gelernt werden. In einem siamesischen Netz werden Gewichte zwischen den beiden Unternetzen geteilt und die Gewichte werden auf Grundlage des Labels yij aktualisiert. Ein siamesisches konvolutionales neurales Netz (CNN) wurde zuvor für passive Authentifizierung vorgeschlagen. CNNs eignen sich jedoch nicht gut zum Erfassen der temporalen Abhängigkeit innerhalb von Proben.
-
Stattdessen ist LSTM, eine Variante von wiederholten neuralen Netzen (RNN), zum Klassifizieren, Verarbeiten und Vornehmen von Vorhersagen zu Zeitreihendaten vorgesehen. In dem passiven Authentifizierungsmodul sind zwei LSTMs für jedes Modalitätenmodell gestapelt, um die hierarchische Darstellung der Zeitreihendaten zu erlernen. Das erste LSTM
412 gibt eine Reihe von Vektoren,
aus, die dann als Eingabe dem zweiten LSTM
416 zugeführt werden. Der letzte versteckte Zustand,
des zweiten LSTM
416 stellt die letzte nichtlineare Einbettung dar, bezeichnet durch f
θ (·), wobei θ die Parameter des siamesischen LSTM-Netzes darstellt. Diese Hierarchie versteckter Schichten erlaubt eine stärker herausstechende Darstellung der Zeitreihendaten. Um das siamesische LSTM-Netz zu schulen, ist eine paarweise kontrastive Verlustfunktion definiert und in dem Distanzreglermodul
420 umgesetzt.
-
Für ein bestimmtes Paar von Eingabeproben wird die euklidische Distanz zwischen den beiden Ausgabemerkmalsvektoren von den beiden Unternetzen an das Distanzreglermodul
420 zugeführt, das ebenfalls das Label empfängt, das anzeigt, ob die beiden Eingaben von demselben Benutzer oder von verschiedenen Benutzern stammen, und die kontrastive Verlustfunktion anwendet. Diese Verlustfunktion regelt große oder kleine Distanzen abhängig von dem Label, das mit dem paar Proben assoziiert ist, y
ij. In dieser Weise ist die euklidische Distanz zwischen den paaren, d
θ (X
i, X
j), wobei
für echte paar klein und für unechte Paare groß. Die kontrastive Verlustfunktion ist definiert als:
wobei
wobei α > 0 die Marge genannt wird. Das Distanzregelungsmodul
420 kann bekannte Distanzen in der ersten Modalitätskartendatenbank
320 speichern, auf die zum Vergleich zugegriffen wird, um Sensordaten zur Authentifizierung darzustellen, wie in
3 beschrieben.
-
Mit Verweis auf 5 ist ein Ablaufdiagramm, das die beispielhafte Authentifizierung eines Benutzers durch eine passive Authentifizierungsanwendung zeigt, dargestellt. Die Steuerung beginnt in Reaktion darauf, dass die Schulung einer passiven Authentifizierungsanwendung abgeschlossen wird. In 504 erfasst die Steuerung Sensordaten. Die Steuerung fährt mit 508 fort, um zu bestimmen, ob ein vorgegebener Zeitraum abgelaufen ist. Wenn nicht, kehrt die Steuerung zu 504 zurück, um weiter Sensordaten zu erfassen. Andernfalls fährt die Steuerung mit 512 fort, um zu bestimmen, ob die Authentifizierung angefordert wurde. Beispielsweise kann die Authentifizierung in Reaktion darauf angefordert werden, dass ein Benutzer eine Fahrt anfordert oder ein Benutzer das Anfordern des Aufsperrens eines Fahrzeugs oder das Anlassen eines Fahrzeugmotors anfordert.
-
Wenn die Authentifizierung nicht angefordert wurde, fährt die Steuerung mit 516 fort, um erfasste Sensordaten zu speichern. Wie zuvor beschrieben, können die Sensordaten, die für den vorgegeben Zeitraum erfasst werden, örtlich auf der Benutzervorrichtung oder in der passiven Authentifizierungsanwendung oder extern auf einem Server gespeichert werden. Wenn die gesammelten Daten gespeichert sind, kehrt die Steuerung an 504 zurück, um einen weiteren Satz Daten zu erfassen. In verschiedenen Umsetzungen ersetzen in 516 die erfassten Sensordaten die zuvor gespeicherten Sensordaten.
-
Zurück in 512 fährt die Steuerung, wenn Authentifizierung angefordert wird, mit 520 fort, um die erfassten Sensordaten zu parsen und die Daten der Modalität entsprechend zu sortieren, beispielsweise, ob die Daten für Keystroke-Bestimmung oder Ortsbestimmung verwendet werden. Dann fährt die Steuerung mit 524 fort, um das entsprechende Modalitätenmodell auf jeden entsprechenden Abschnitt der Sensordaten anzuwenden, um unter Verwendung der geschulten Modalitätenmodelle zu identifizieren, ob die Sensordaten als Benutzer authentifiziert werden oder nicht.
-
Die Steuerung fährt mit 528 fort, um eine Distanz oder eine Differenz zwischen den erfassten und analysierten Daten für die gespeicherten Modalitätsdaten zu bestimmen. Die Steuerung fährt mit 532 fort, um zu bestimmen, ob die Distanz größer als ein vorgegebener Grenzwert ist. Wenn nicht, fährt die Steuerung mit 536 fort, um den Benutzer als authentifiziert zu identifizieren. Dann endet die Steuerung. Andernfalls fährt die Steuerung mit 540 fort, um den Benutzer als nicht authentifiziert zu identifizieren. Dann fährt die Steuerung mit 544 fort, um eine andere Form der Authentifizierung von dem Benutzer anzufordern.
-
Beispielsweise kann die weitere Form der Authentifizierung die explizite Authentifizierung sein, wie etwa ein Passwort, eine PIN, biometrische Daten usw. auf der Benutzervorrichtung oder an dem Fahrzeug nach der Bestätigung der Fahrtanfrage oder dem Aufsperren des Fahrzeugs. In verschiedenen Umsetzungen kann die Steuerung, wenn der Benutzer nicht authentifiziert wird, eine explizite Authentifizierung an der Benutzervorrichtung verlangen, um die Anfrage auszuführen (beispielsweise eine Fahrt oder Entsperren eines Fahrzeugs) und eine weiter Form der Authentifizierung kann bei der Fahrt oder dem Fahrzeug verlangt werden, um die Sicherheit zu verbessern. Dann endet die Steuerung.
-
Mit Verweis auf 6 ist ein Ablaufdiagramm, das eine beispielhafte Feineinstellung (Schulung) für einen bestimmten Benutzer einer passiven Authentifizierungsanwendung zeigt, darstellt. Die Steuerung beginnt in Reaktion darauf, dass die passive Authentifizierungsanwendung heruntergeladen wird. Die Steuerung fährt mit 604 fort, um einen Benutzer über die Benutzerschnittstelle einer Benutzervorrichtung zum Ausführen von Schulungsanweisungen aufzufordern. Beispielsweise können die Schulungsanweisungen Anweisungen für die Bewegung oder Verwendung der Benutzervorrichtung für einen kurzen und/oder vorgegebene Zeitraum umfassen. Die Steuerung fährt mit 608 fort, um Sensordaten von mehreren Sensoren der Benutzervorrichtung zu erfassen. Dann fährt die Steuerung mit 612 fort, um zu bestimmen, ob ein vorgegebener Zeitraum abgelaufen ist. Wenn nicht, kehrt die Steuerung nach 604 zurück, um den Benutzer weiter aufzufordern, für den vorgegebenen Schulungszeitraum Schulungsanweisungen auszuführen. Andernfalls fährt die Streuung mit 616 fort, um die erfassten Sensordaten dem Modalitätstyp entsprechend zu parsen. Dann fährt die Steuerung mit 620 fort, um die geparsten Sensordaten an entsprechende Modalitätenmodelle weiterzuleiten, die geschult sind, zu identifizieren, ob vorhandene Sensordaten der verifizierte Eigentümer der Benutzervorrichtung sind. In 624 schult die Steuerung jedes Modalitätenmodell unter Verwendung der Sensordaten, die während der Schulung erfasst wurden, die in 7 genauer beschrieben sind.
-
Mit Verweis auf 7 ist ein Ablaufdiagramm, das die beispielhafte Schulung eines Modalitätsmodells einer passiven Authentifizierungsanwendung zeigt, dargestellt. Die Steuerung beginnt in 704 mit dem Beproben weitergeleiteter Sensordaten. Die Steuerung fährt mit 708 fort, um ein erstes Paar beprobter Sensordaten zu wählen. Dann fährt die Steuerung mit 712 fort, um zu bestimmen, ob das erste Paar gesampelter Sensordaten Bewegungsdaten umfasst, wie beispielsweise Beschleunigungsmesser-sensordaten. Wenn ja, fährt die Steuerung mit 716 fort, um Sensordaten von den Zeitdomänensignalen in Frequenzdomänensignale umzuwandeln.
-
Die Steuerung fährt dann mit 720 fort, um die Zeitdomänensignale und die konvertieren Frequenzdomänensignale zu verketten und fährt mit 724 fort. Zurück in 712 fährt die Steuerung, wenn die Sensordaten keine Bewegungssensordaten umfassen, mit 724 fort. In 724 leitet die Steuerung erste Eingabedaten und zweite Eingabedaten des gewählten Paars an einen Satz von zwei gestapelten siamesischen LSTM-Architekturen weiter. Die Steuerung fährt mit 728 fort, um eine Distanz zwischen den Ausgaben der beiden siamesischen LSTM-Architekturen zu bestimmen. In 732 erfasst die Steuerung ein Label, das in den ursprünglichen weitergeleiteten Sensordaten umfasst ist, und zeigt, wenn dies Schulungsdaten sind, an, ob die Daten von demselben Benutzer oder von unterschiedlichen Benutzern stammen.
-
In 736 regelt die Steuerung die Distanz zwischen den beiden siamesischen LSTM-Ausgaben basierend auf dem Label, das heißt, die Steuerung stellt sicher, dass die Distanz kleiner ist, wenn die beiden Originaleingaben von demselben Benutzer stammen, und stellt sicher, dass die Distanz größer ist, wenn die beide Originaleingaben von unterschiedlichen Benutzern stammen. Dieser Ansatz wird auch für die Vorschulung der Modelle verwendet. Dann fährt die Steuerung mit 740 fort, um die geregelte Distanz zu speichern. In 744 bestimmt die Steuerung, ob weitere Daten in dem beprobten Sensordaten umfasst sind. Wenn nicht, endet die Steuerung. Wenn ja, fährt die Steuerung mit 748 fort, um ein nächstes Paar zu wählen, und kehrt für weitere Verarbeitung in 712 zurück.
-
Die obige Beschreibung der Ausführungsformen wurde zum Zweck der Illustration und Beschreibung bereitgestellt. Sie ist nicht als abschließend oder die Offenbarung beschränkend vorgesehen. Einzelne Elemente oder Merkmale einer bestimmten Ausführungsform sind allgemein nicht auf die bestimmte Ausführungsform beschränkt, aber wenn zutreffend austauschbar,- und können in einer ausgewählten Ausführungsform verwendet werden, auch, wenn sie nicht speziell dargestellt oder beschrieben sind. Dies kann auch in vieler weise variiert werden. Solche Variationen sind nicht als eine Abweichung von der Offenbarung zu betrachten, und alle solchen Modifikationen sollen in dem Umfang der Offenbarung umfasst sein.
-
Der Begriff „Modul“ oder der Begriff „Controller“ kann durch den Begriff „Schaltung“ ersetzt werden Der Begriff „Modul“ kann sich beziehen auf, Teil sein von, oder umfassen: eine anwendungsspezifische integrierte Schaltung (ASIC); eine digitale, analoge oder gemischte analog/digitale diskrete Schaltung; eine digitale, analoge oder gemischt analog/digitale integriere Schaltung; eine kombinatorische Logikschaltung; ein im Feld programmierbares Gatearray (FPGA); eine Prozessorschaltung (geteilt, dediziert oder gruppiert), die Code ausführt; eine Speicherschaltung (geteilt, dediziert oder gruppiert), die Code speichert, der durch die Prozessorschaltung ausgeführt wird; andere geeignete Hardwarekomponenten, die die beschriebene Funktion bereitstellen; oder eine Kombination einiger oder aller der obigen, wie etwa ein System auf Chip. Während verschiedene Ausführungsformen offenbart wurden, können auch andere Variationen eingesetzt werden. Alle Komponenten und Funktionen können in unterschiedlichen Kombinationen ausgetauscht werden. Die folgenden Ansprüche sollen diese und alle anderen Abweichungen von den offenbarten Ausführungsformen abdecken, die in den wahren Geist dieser Erfindung fallen.
-
WORTLISTE FÜR DIE FIGUREN
-
1
|
|
Authentication Request System |
Authentifizierungsanfragesystem |
108 |
Application Database |
Anwendungsdatenb ank |
116 |
Internet |
Internet |
112 |
User Data Storage Database |
Benutzerdatenspeicherdatenbank |
120 |
2
|
|
Keystroke Sensors |
Keystrokesensoren |
208 |
GPS Location Sensor |
GPS-Ortssensor |
212 |
Accelerometer |
Beschleunigungsmesser |
216 |
Gyroscope Sensor |
Gyroskopsensor |
220 |
Magnetometer |
Magnetometer |
224 |
Gravity Sensor |
Schwerkraftsensor |
228 |
Linear Accelerometer |
Linearer Beschleunigungsmesser |
232 |
Rotation Sensor |
Drehsensor |
236 |
Local storage |
Örtlicher Speicher |
256 |
User Device |
Benutzervorrichtung |
104 |
Operating System |
Betriebssystem |
204 |
Passive Authentication Application |
Passive Authentifizierungsanwendung |
240 |
User Interface |
Benutzerschnittstelle |
2244 |
Data Collection Module |
Datenerfassungsmodul |
248 |
Passive Authentication Module |
Passives Authentifizierungsmodul |
252 |
Transceiver |
Transceiver |
260 |
Authentication Determination (to Authentication Request System) |
Authentifizierungsbestimmung (an das Authentifizierungsanfragesystem) |
|
User Data Storage Database |
Benutzerdatenspeicherdatenbank |
120 |
3
|
|
Sensor Data |
Sensordaten |
|
Modality Selection Module |
Modalitätenauswahlmodul |
308 |
Input Parsing Module |
Einagbeparsingmodul |
304 |
Passive Authentication Module |
Passives Authentifizierungsmodul |
252 |
First Modality Module |
Erstes Modalitätsmodul |
312 |
First Modality Map Database |
Erste Modalitätskartendatenbank |
320 |
First Modality Model |
Erstes Modalitätenmodell |
316 |
Model Application Module |
Modellanwendungsmodul |
324 |
Threshold Adjustment Module |
Grenzanpassungsmodul |
336 |
Threshold Database |
Grenzwertdatenbank |
332 |
Authentication Determination Module |
Authentifizierungsbestimmungsmodul |
328 |
4
|
|
Set Of Training Data |
Satz Schulungsdaten |
|
Data Sampling Module |
Datenprobenmodul |
404 |
Preprocessing Module |
Vorverarbeitungsmodul |
408 |
First Modality Model |
Erstes Modalitätenmodell |
312 |
LSTM 1 |
LSTM 1 |
412 |
LSTM 2 |
LSTM 2 |
416 |
Distance Regulation Module |
Abstandsregelungsmodul |
420 |
First Modality Map Database |
Erste Modalitätskartendatenbank |
320 |
5
|
|
Start (in response to training being complete) |
Start (in Reaktion darauf, dass die Schulung abgeschlossen ist) |
|
Collect sensor data |
Erfassen der Sensordaten |
504 |
Predetermined period elapsed? |
Vorgegebener Zeitraum abgelaufen? |
508 |
Y |
J |
|
Authentication requested? |
Authentifizierung angefordert? |
512 |
Store collected sensor data |
Erfasste Sensordaten speichern |
516 |
Parse collected sensor data according to modality |
Erfasste Sensordaten der Modalität entsprechend parsen |
520 |
Apply corresponding modality model to corresponding sensor data |
Entsprechendes Modalitätenmodell auf entsprechende Sensordaten anwenden en |
524 |
Determine distance between collected & analyzed data to stored modality data |
Distanz zwischen erfassten & analysierten Daten mit gespeicherten Modalitätsdaten bestimmen |
528 |
Distance > threshold? |
Distanz > Grenzwert? |
532 |
Identify user as authenticated |
Benutzer als authentifiziert bestimmen |
536 |
Identify user as unauthenticated |
Benutzer als nicht authentifiziert bestimmen |
540 |
Request another form of authentication of user |
Eine andere Form von Authentifizierung des Benutzers anfordern |
544 |
End |
Ende |
|
6
|
|
Start (in response to application being downloaded) |
Start (in Reaktion darauf, dass die Anwendung heruntergeladen wird) |
|
Prompt user with training instructions |
Benutzer zur Ausführung von Schulungsanweisungen auffordern |
604 |
Collect sensor data |
Erfassen der Sensordaten |
608 |
Predetermined period elapsed? |
Vorgegebener Zeitraum abgelaufen? |
612 |
Y |
J |
|
Parse collected sensor data according to modality type |
Erfasste Sensordaten der Modalitätstyp entsprechend parsen |
616 |
Forward sensor data to corresponding modality model |
Sensordaten an das entsprechende Modalitätenmodell weiterleiten |
620 |
Train each modality model using forwarded sensor data (7) |
Jedes Modalitätenmodell unter Verwendung weitergeleiteter Sensordaten schulen (7) |
624 |
End |
Ende |
|
7
|
|
Start |
Start |
|
Sample forwarded sensor data |
Weiterleitete Sensordaten beproben |
704 |
Select first pair of sampled sensor data |
Erstes Paar beprobter Sensordaten wählen |
708 |
Select next pair |
Nächstes Paar wählen |
748 |
Movement sensor data? |
Bewegungssensordaten? |
712 |
Y |
J |
|
Convert sensor data from time domain signals to frequency domain signals |
Sensordaten von den Zeitdomänensignalen in Frequenzdomänensignale umwandeln |
716 |
Concatenate time domain signals and frequency domain signals |
Zeitdomänensignale und Frequenzdomänensignale verketten |
720 |
Forward a first data sample and a second data sample of selected pair to corresponding Siamese LSTM |
Eine erste Datenprobe und eine zweite Datenprobe eines gewählten Paars an das entsprechende siamesische LSTM weiterleiten |
724 |
Determine distance between two Siamese LSTM outputs |
Distanz zwischen zwei siamesischen LSTM-Ausgaben bestimmen |
728 |
Obtain label |
Label erhalten |
732 |
Regulate distance between two Siamese LSTM outputs based on label |
Distanz zwischen zwei siamesischen LSTM-Ausgaben basierend auf dem Label regeln |
736 |
Store regulated distance |
Geregelte Distanz speichern |
740 |
Additional data in sampled modality data? |
Weitere Daten in beprobten Modalitätsdaten? |
744 |
End |
Ende |
|