Fingerabdruck zum Entsperren von Android: Sicherheitsrisiko oder kalkuliertes Risiko?

Im Rahmen des Beitrags »Fingerabdruck-Sensor: Tochter kann Google Pixel 8 entsperren« erreichten mich einige Fragen, die ich nachgehend aufgreifen möchte. Die zentrale Frage lautet:

Ist die Verwendung des Fingerabdrucksensors ein Sicherheitsrisiko?

Zunächst Grundsätzliches zum Fingerabdrucksensor unter Android bzw. dessen Implementierung: Um einen Fingerabdruck zu hinterlegen, wird der Benutzer aufgefordert, seinen Finger mehrmals auf den Sensor zu legen, um ein genaues Muster zu erfassen. Es gibt nun verschiedene Technologien wie Trusted Execution Environment (TEE) oder Secure Element (SE), um dieses Muster sicher zu speichern. Nachfolgend eine Erläuterung zu TEE – grundsätzlich ist der Ansatz zwischen TEE und SE ähnlich.

Die vom Fingerabdrucksensor erfassten Daten werden mit einem Hardware-Schlüssel verschlüsselt, der nur dem Trusted Execution Environment (TEE) zur Verfügung steht. Dieser Bereich ist für das normale Betriebssystem nicht zugänglich – er ist sowohl hardware- als auch softwareseitig vom Rest des Systems isoliert und der Zugriff zusätzlich durch SELinux-Richtlinien abgesichert. Der Fingerabdruck wird als »Fuzzy-Hash« (Template) gespeichert und nicht als klares Bild (wie ein Foto) des Fingerabdrucks. Bei der Authentifizierung wird das vom Sensor erfasste Fingerabdruckmuster mit dem gespeicherten verschlüsselten Template verglichen. Dieser Vergleich findet mithilfe der TEE des Gerätes statt, um die Integrität und Sicherheit des Verfahrens zu gewährleisten. Ist der Abgleich erfolgreich, wird der Zugang zum Gerät oder zu bestimmten geschützten Funktionen gewährt. Gut zu wissen: Der Fuzzy-Hash des Fingerabdrucks wird bei jeder Entsperrung aktualisiert und neu trainiert, um mit den winzigen Veränderungen des Fingerabdrucks zurechtzukommen. Fingerabdrücke sind zwar einzigartig, unterliegen aber dennoch minimalen Veränderungen (bspw. beim Wachstum).

Der wichtige Punkt ist, dass Android das TEE auffordern kann, die Identität anhand der biometrischen Daten zu überprüfen, aber es kann die biometrischen Daten nicht extrahieren. Wenn ein Benutzer seine biometrischen Daten, wie seinen Fingerabdruck, speichert, können diese Daten weder lokal noch aus der Ferne vom Gerät ausgelesen werden.

Allerdings sind solche Lösungen/Implementierungen naturgemäß nicht fehlerfrei, sondern weisen Bugs auf, die zum Teil Schwachstellen in den TEEs offenbaren – anbei Studien bzw. Schwachstellen, die den Google Titan M1-Chip betreffen:

Die Ausnutzung der Schwachstelle (CVE-2022-20233) erforderte jedoch erhöhte Rechte (Root/Administratorrechte), was die potenzielle Ausnutzung maßgeblich erschwerte. Entweder musste das Gerät bereits gerootet sein oder es mussten Root-Rechte über eine Schwachstelle in Android erlangt werden.

Es ist daher essenziell, sein Gerät stets auf dem neuesten Stand zu halten, um entdeckte Sicherheitslücken zu schließen. Für den Titan M2 Chip, der ab den Google Pixel 6 Geräten verbaut wird, sind mir derzeit keine Schwachstellen bekannt. Dies bedeutet jedoch nicht, dass der Chip frei von Schwachstellen ist.

Hinweis

Google Pixel 6 und spätere Versionen verwenden das quelloffene Trusty OS als TEE-Implementierung.

Die Entscheidung, ob euer Fingerabdruck zum Entsperren des Geräts verwendet werden soll, hängt letztlich von euren individuellen Sicherheitsanforderungen ab. Dabei spielen verschiedene Faktoren eine Rolle, wie bspw. euer Bekanntheitsgrad in der Öffentlichkeit und/oder das potenzielle Risiko, dass jemand versucht, euer Smartphone zu entsperren, um an eure Daten zu gelangen. Die Entscheidung, ob ein Fingerabdruck, eine lange PIN oder ein Passwort/Passphrase verwendet werden soll, sollte eng mit den Sicherheitsbedürfnissen und dem Risikoprofil verknüpft sein.

Ich persönlich verwende den Fingerabdrucksensor des Google Pixel 8 (Titan M2-Chip) im Alltag, um mein Gerät zu entsperren. Meine Gedanken dazu:

  • Alltagstauglichkeit: In der Öffentlichkeit halte ich das Entsperren per Fingerabdruck für ausreichend sicher. Ich bin mir bewusst, dass es möglich ist, dass jemand mein Smartphone gewaltsam entsperrt, indem er mich festhält und meinen Finger zum Unlocken benutzt. Dieses Risiko besteht aber auch bei der Eingabe einer PIN oder eines Passworts – jemand könnte mir Gewalt androhen oder mich anderweitig unter Druck setzen, bis ich selbst die korrekte PIN/das korrekte Passwort eingebe.
  • Risiken von PINs/Passwörtern: Für die meisten Nutzer ist die Gefahr des sogenannten »Shoulder-Surfings« wahrscheinlich höher einzustufen als das Risiko, einen Fingerabdruck zu klonen. Weiterhin ist zu beachten, dass Überwachungskameras auch die Eingabe von PINs/Passwörtern aufzeichnen können.
  • Risikominimierung: Bei Sicherheitskontrollen, bspw. am Flughafen, deaktiviere ich vorsichtshalber die Entsperrung per Fingerabdruck und verwende stattdessen eine temporäre 12-stellige PIN. Das heißt, wenn ich mich in einem Bereich mit »erhöhtem Sicherheitsrisiko« befinde, wechsle ich vorübergehend auf eine andere Entsperrmethode.

Insgesamt bieten (ausreichend lange) Passwörter/PINs einen Sicherheitsvorteil gegenüber der Fingerabdruck-Entsperrung. Die Tatsache, dass Passwörter/PINs im Gegensatz zu unveränderlichen Fingerabdrücken jederzeit geändert werden können, könnte insbesondere Benutzer mit hohen Sicherheitsanforderungen davon abhalten, ein biometrisches Authentifizierungsverfahren zu verwenden. Je nach Umgebung verzichte ich ebenfalls auf die Fingerabdruck-Entsperrung und verwende eine 12-stellige PIN.

Abschließend möchte ich noch einmal betonen, dass die Wahl der Entsperrmethode von euren individuellen Sicherheitsanforderungen abhängt – und diese können sich je nach Situation ändern. Daher solltet ihr diejenige Entsperrmethode wählen, die euren Sicherheitsanforderungen in der aktuellen Umgebung am besten entspricht.

GrapheneOS

GrapheneOS wird es hoffentlich bald ermöglichen, eine PIN als 2. Faktor zu setzen, um das Gerät zu entsperren. Der Ablauf zum Entsperren wäre dann: Fingerabdruck + PIN (bspw. vierstellig).
Der Kuketz-Blog ist spendenfinanziert! Mitmachen ➡