Die digitale Identität ist zu einem der wertvollsten Güter unserer Zeit geworden. Während Passwörter geknackt und Zwei-Faktor-Token abgefangen werden können, bietet die biometrische Authentifizierung eine Alternative, die schwerer zu kompromittieren ist. Doch herkömmliche biometrische Systeme speichern oft sensible Rohdaten – ein Risiko, das viele Anwender scheut.

FaceHash ID verfolgt einen anderen Ansatz. Statt Fingerabdrücke oder Gesichtsrohdaten zu speichern, werden ausschließlich kryptografische Hashes abgelegt. Diese Hashes sind nicht umkehrbar, können aber zur Verifikation einer Person genutzt werden. Das Verfahren setzt vollständig auf lokale Verarbeitung ohne Cloud-Zwang.

Funktionsweise im Überblick

Das System nutzt eine Kombination aus etablierter Gesichtserkennungssoftware und einer kryptografischen Hashfunktion. Bei der erstmaligen Erfassung (Enrollment) werden mehrere Aufnahmen einer Person mit einer Webcam oder durch hochgeladene Bilder gemacht. Aus diesen Aufnahmen wird ein Merkmalsvektor extrahiert, der die charakteristischen Eigenschaften des Gesichts repräsentiert.

Aus diesem Vektor wird anschließend ein Hashwert generiert. Dieser Hash wird in einer lokalen Datenbank gespeichert. Die eigentlichen Bilddaten oder der Merkmalsvektor werden nicht dauerhaft vorgehalten. Der Hash ist kryptografisch – das heißt, aus dem Hash kann nicht auf die ursprünglichen biometrischen Daten zurückgeschlossen werden.

Bei einer späteren Verifikation wird eine neue Aufnahme gemacht, erneut ein Merkmalsvektor berechnet und mit dem gespeicherten Hash abgeglichen. Liegt die Ähnlichkeit über einem definierten Schwellenwert, gilt die Person als bestätigt.

Technologische Grundlagen

Das System baut auf mehreren etablierten Komponenten auf:

  • ArcFace (buffalo_l) – Ein neuronales Netz für Gesichtserkennung, das in der Forschung als Referenzmodell gilt. Es extrahiert aus einem Bild einen 512-dimensionalen Merkmalsvektor. Die Implementierung stammt aus dem InsightFace-Projekt.
  • BLAKE2b – Eine kryptografische Hashfunktion, die als Alternative zu SHA-3 entwickelt wurde. Sie ist schneller als SHA-256 und gilt als sicher. BLAKE2b erzeugt einen 256-Bit Hash, der in der Praxis als unumkehrbar gilt.
  • SQLite – Eine leichte, dateibasierte Datenbank ohne Serverprozess. Alle Hashes werden lokal gespeichert, eine Internetverbindung ist nicht erforderlich.
  • PyQt5 – Ein Framework für grafische Benutzeroberflächen. Es ermöglicht eine plattformunabhängige Bedienung des Programms.

Die Verarbeitung läuft vollständig auf dem lokalen Rechner ab. Es werden keine Daten an externe Server gesendet, und es ist kein Cloud-Account erforderlich. Dies ist ein Unterschied zu vielen kommerziellen biometrischen Systemen, die oft auf zentralisierte Infrastrukturen angewiesen sind.

Webcam-Integration

Die Erfassung von biometrischen Merkmalen erfolgt entweder über hochgeladene Bilder oder direkt über eine Webcam. Im Webcam-Modus werden 60 Einzelbilder automatisch erfasst. Das Programm filtert dabei automatisch:

  • Aufnahmen ohne erkennbares Gesicht
  • Bilder mit geringer Bildqualität (z. B. unscharfe oder zu dunkle Aufnahmen)
  • Duplikate (nahezu identische Frames)

Die Bildqualität wird durch eine Kombination aus Erkennungswahrscheinlichkeit (Detection Score) und einem einfachen Schärfemaß (Laplace-Varianz) bewertet. Nur Aufnahmen über einem bestimmten Schwellenwert werden für die Hash-Erstellung verwendet. Dadurch wird sichergestellt, dass der finale Merkmalsvektor aus aussagekräftigen Quellbildern besteht.

QR-Code-Austausch

Ein Alleinstellungsmerkmal von FaceHash ID ist die Möglichkeit, Hashes über QR-Codes zu exportieren und zu importieren. Der generierte QR-Code enthält den Namen der Person und den dazugehörigen Hash. Dieser Code kann ausgedruckt, fotografiert oder als Bilddatei verschickt werden.

Der Empfänger scannt den QR-Code mit einer einfachen Funktion im Programm. Der Hash wird automatisch in die lokale Datenbank übernommen und steht für die Verifikation bereit. Dieser Mechanismus erlaubt einen gesichtslosen Austausch – die beteiligten Parteien müssen nie ein Foto oder einen Merkmalsvektor direkt teilen.

Verwaltung der biometrischen Hashes

Das Programm enthält eine Verwaltungsoberfläche, die alle gespeicherten Hashes auflistet. Zu jedem Eintrag werden folgende Informationen angezeigt:

  • Der vollständige Hashwert (64 Zeichen Hexadezimal)
  • Der zugehörige Personenname
  • Anzahl der Quellbilder, die zur Hash-Erstellung verwendet wurden
  • Zeitstempel der Erstellung

Hashes können einzeln gelöscht oder die gesamte Datenbank auf einmal geleert werden. Ein Rechtsklick auf einen Eintrag öffnet ein Kontextmenü mit der Löschfunktion. Die Verwaltung erfolgt lokal – es gibt keine zentrale Kontrollinstanz, die Hashes löschen oder einsehen könnte.

Sicherheitsüberlegungen

Das Verfahren ist nicht unumstritten. Biometrische Hashes sind ein aktives Forschungsfeld, und es gibt bekannte Angriffsszenarien. Zu nennen sind insbesondere:

  • Replay-Angriffe – Ein Angreifer könnte eine gespeicherte Aufnahme abspielen, um das System zu täuschen. Das Programm bietet hier keine spezifische Abwehr. In sicherheitskritischen Umgebungen sind zusätzliche Maßnahmen wie Lebenderkennung (Liveness Detection) erforderlich.
  • Brute-Force auf Hashes – Ein Angreifer mit Zugriff auf die Datenbank könnte versuchen, aus dem Hash den ursprünglichen Merkmalsvektor zu rekonstruieren. Kryptografisch ist dies nicht möglich, aber die Entropie biometrischer Merkmale ist geringer als bei kryptografischen Schlüsseln. Ein vollständiger Schutz ist nicht garantiert.
  • Deepfakes – Hochwertige synthetische Gesichter können die Merkmalsextraktion täuschen. Das Programm enthält keine spezifische Deepfake-Erkennung. Es ist daher nicht für Anwendungen geeignet, bei denen manipulierte Bilder erwartet werden.

Für viele praktische Anwendungen (Zugangskontrolle zu Räumen, Benutzerauthentifizierung in lokalen Netzwerken) ist das Verfahren dennoch ausreichend. Es liegt in der Verantwortung des Betreibers, das System entsprechend der Bedrohungslage einzusetzen.

Weitere Informationen zu biometrischer Authentifizierung bietet der NIST Guide to Biometrics. Einen Überblick über kryptografische Hashfunktionen gibt der Cryptography Stack Exchange.

Anwendungsfälle

FaceHash ID eignet sich für verschiedene Szenarien, in denen eine Person zuverlässig identifiziert werden muss, ohne sensible biometrische Daten preiszugeben:

  • Privater Gebrauch – Eigene Geräte (Rechner, verschlüsselte Datenträger) mit einer biometrischen Sperre versehen, ohne ein Cloud-Konto zu benötigen.
  • Kleinere Organisationen – Zugang zu Räumen oder Dokumenten über eine gemeinsame Hash-Datenbank verwalten. Neue Mitglieder können über QR-Codes hinzugefügt werden.
  • Entwickler und Tester – Die offene Architektur erlaubt das Einbinden eigener Module oder das Testen alternativer Erkennungsmodelle. InsightFace unterstützt mehrere vortrainierte Netzwerke.
  • Bildung und Forschung – Das Programm kann als Grundlage für eigene Experimente mit biometrischen Systemen dienen. Der Quellcode ist vollständig einsehbar.

Alternative Ansätze

FaceHash ID ist nicht das einzige System seiner Art. Je nach Anforderung können auch andere Werkzeuge in Betracht gezogen werden:

  • Windows Hello – Integrierte biometrische Authentifizierung in Windows. Im Gegensatz zu FaceHash ID ist Windows Hello proprietär und auf Microsoft-Dienste angewiesen. Es bietet jedoch eine engere Integration in das Betriebssystem.
  • Howdy (Linux) – Eine quelloffene Alternative für Linux, die Gesichtserkennung für die Anmeldung nutzt. Howdy basiert auf ähnlichen Technologien, speichert jedoch die Merkmalsvektoren im Klartext. Ein Vergleich der Architektur findet sich auf der GitHub-Seite von Howdy.
  • Kryptografische Hardware wie YubiKey – Diese Geräte speichern keine biometrischen Daten, sondern setzen auf physische Token. Sie sind sicherer, aber auch weniger benutzerfreundlich, da der Token immer mitgeführt werden muss.
  • Passwortbasierte Systeme – Klassische Passwörter sind einfach zu implementieren, aber anfällig für Phishing und Wiederverwendung. FaceHash ID umgeht diese Probleme, erfordert aber eine vertrauenswürdige Erfassungsumgebung.

Grenzen und zukünftige Entwicklungen

Das System in seiner aktuellen Form hat Einschränkungen, die in zukünftigen Versionen adressiert werden könnten:

  • Fehlende Lebenderkennung – Das Programm kann nicht zwischen einem echten Gesicht und einem Foto oder Video auf einem Bildschirm unterscheiden. Dies wäre in sicherheitskritischen Umgebungen notwendig. Projekte wie Face Anti-Spoofing bieten hier Lösungsansätze.
  • Skalierbarkeit – Die Datenbank ist für einige Hundert Hashes ausgelegt. Bei sehr großen Installationen (tausende Personen) wäre eine optimierte Datenbankstruktur sinnvoll.
  • Multimodale Biometrie – Die Kombination mit anderen biometrischen Merkmalen (Stimme, Fingerabdruck) könnte die Robustheit erhöhen. Die Architektur des Programms lässt solche Erweiterungen zu.
  • Verteilte Systeme – Der Austausch von Hashes über QR-Codes ist manuell. Eine automatische Synchronisation über ein Netzwerk wäre denkbar, birgt jedoch Sicherheitsrisiken.

Fazit

FaceHash ID bietet einen praktikablen Kompromiss zwischen Benutzerfreundlichkeit und Privatsphäre. Es verwendet etablierte kryptografische Verfahren und setzt keine Cloud-Dienste voraus. Die QR-Code-Funktionalität erlaubt einen vergleichsweise einfachen Austausch von Hashes, ohne dass biometrische Rohdaten geteilt werden müssen.

Das Programm ist nicht für hochsichere Umgebungen geeignet, in denen mit gezielten Angriffen (Deepfakes, Replay-Angriffe) gerechnet werden muss. Für viele alltägliche Szenarien (lokale Zugangskontrolle, persönliche Authentifizierung) ist es jedoch eine sinnvolle Alternative zu Passwörtern.

Der Quellcode steht vollständig zur Verfügung und kann an eigene Bedürfnisse angepasst werden. Die verwendeten Bibliotheken sind alle quelloffen und werden aktiv weiterentwickelt.

Weiterführende Informationen:


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert