[Aufmachergrafik: heller, corporate design] Biometrie-Daten-Schutz Funktionsprinzip und Chancen biometrischer Kryptosysteme

Ordnungsmerkmale

erschienen in: <kes> 2008#6, Seite 52

Rubrik: Management und Wissen

Schlagwort: Biometrische Kryptosysteme

Zusammenfassung: Einen erheblichen Sicherheitsgewinn gegenüber der klassischen Biometrie liefern so genannte biometrische Kryptosysteme. Sie ermöglichen eine sichere Authentifizierung und Schlüsselhinterlegung, ohne dass die für die Verifikation und Schlüssel-Wiedergewinnung gespeicherten Informationen die biometrischen Daten der Benutzer preisgeben.

Autor: Von Johannes Merkle, Eschborn

Einerseits liefert die Identifizierung und Authentifizierung von Menschen anhand biometrischer Merkmale gegenüber der Nutzung von Passwörtern oder Authentifizierungs-Token erhebliche Vorteile. Andererseits ist der Einsatz der Biometrie jedoch umstritten – sowohl in der breiten Bevölkerung als auch teilweise im Unternehmensumfeld: Die Erfassung und langfristige Speicherung biometrischer Daten weckt Besorgnis bezüglich des Datenschutzes.

Tatsächlich stellt der Diebstahl oder unberechtigte Zugriff auf die in Datenbanken oder RFID-Chips gespeicherten biometrischen Informationen ein erhebliches Risiko dar: Denn anders als kryptografische Schlüssel oder Passwörter lassen sich im Falle eines Falles körperliche Merkmale nicht sperren oder ändern. Und die Beschränkung des Zugriffs auf die gespeicherten Biometriedaten durch technische Maßnahmen erweist sich in der Praxis oft als schwierig und bietet erhebliches Angriffspotenzial. Auch eine Verschlüsselung der Vergleichswerte verlagert das Risiko nur auf die sichere Speicherung und Handhabung der Schlüssel – im schlimmsten Fall kann die Kompromittierung des hierfür verwendeten geheimen Schlüssels alle gespeicherten biometrischen Daten gefährden.

Hash mich

Bei passwortbasierter Authentifizierung begegnet man vergleichbaren Risiken, indem nicht die Passwörter selbst, sondern nur ihre Hashwerte abgespeichert werden: Eine Einweg-Hashfunktion berechnet diese zwar effizient, lässt sich jedoch nicht "zurückrechnen". So ist sichergestellt, dass niemand aus dem Hashwert wieder das ursprüngliche Passwort ermitteln kann. Um Wörterbuchattacken zu verhindern, geht in den Hashwert zusätzlich noch ein Zufallswert ein – das so genannte "Salt". Zur Verifikation wird das eingegebene Passwort zusammen mit dem Salt gehasht und das Ergebnis mit dem gespeicherten Hashwert verglichen.

Leider lässt sich dieser einfache und wirkungsvolle Ansatz nicht direkt auf biometrische Daten übertragen: Während man bei Passwörtern eine exakte Eingabe erwarten kann, ist die Vermessung eines biometrische Merkmals immer mit erheblichen Ungenauigkeiten behaftet. Diese können aus verschiedensten Faktoren resultieren, zum Beispiel Umgebungslicht, Hautfeuchtigkeit, Drehwinkel, Entfernung, Aufpressdruck, Spiegelung oder Verschmutzung. Sichere Hashfunktionen haben jedoch (notwendigerweise) die Eigenschaft, dass bereits kleinste Änderungen des Eingabewerts zu völlig anderen Ausgaben führen – somit ergäbe sich für biometrische Daten bei jeder Messung ein gänzlich anderer Hash und die Überprüfung mit dem gespeicherten Vergleichswert würde zwangsläufig fehlschlagen.

Eine Lösung dieses Problems bieten so genannte biometrische Kryptosysteme, die – losgelöst vom Einsatz in der Biometrie – auch als Fuzzy Cryptography bekannt sind. Diese Verfahren setzen fehlerkorrigierende Kodes ein, um die Ungenauigkeiten bei der Messung zu kompensieren und so dennoch Hashfunktionen einsetzen zu können. Die Kodierung versieht die Daten hierzu mit einer spezifischen Redundanz, die später in begrenztem Umfang die Erkennung und Korrektur von Fehlern ermöglicht. Neben den Hashwerten der biometrischen Daten werden für jede Person derart kodierte Informationen zur Fehlerkorrektur hinterlegt (sog. Helper Data, vgl. Abb.).

Alle wichtigen biometrischen Kryptosysteme funktionieren dabei ähnlich: Stets wird bei der Registrierung ein zufälliger Wert s gewählt, der über einen fehlerkorrigierenden Kode mit dem Merkmalsdatensatz (Template) f zu einem Wert y verknüpft wird; y und der Hash h(s) werden für die Verifikation gespeichert (vgl. Kasten). Über die Differenz der Bitlängen des Templates f und des Zufallswerts s kann man die maximale Fehlerkorrekturrate festlegen, die auf das verwendete biometrische Verfahren abzustimmen ist (s. u.).

[Illustration]
Ablaufprinzip bei Enrolment und Verifikation in einem biometrischen Kryptosystem

Sicherheitsgewinn

Ein Angreifer kann sich gegenüber einem biometrischen System erfolgreich für eine andere Person ausgeben, wenn er es schafft, sich dessen biometrische Daten zu beschaffen und nachzuahmen, zum Beispiel aus einem Fingerabdruck oder einer Fotografie – dagegen können auch biometrische Kryptosysteme nicht helfen. Wohl aber helfen diese gegen Angreifer, die versuchen das Template allein aus den hinterlegten Vergleichs-Daten zu ermitteln, weil sie

Allem voran können biometrische Kryptosysteme gegen die Kompromittierung großer Mengen biometrischer Daten durch unberechtigte Zugriffe auf eine entsprechende Datenbank oder auf RFID-Chips schützen – solche Szenarien stellen sozusagen den GAU eines biometrischen Identifizierungs- und Authentifizierungs-Systems dar.

Die Sicherheit eines biometrischen Kryptosystems gegen diese Bedrohungen ergibt sich aus der Erfolgswahrscheinlichkeit eines Angreifers, der aus y das zugehörige Template f berechnen will (hierbei wird – wie in der Kryptografie üblich – angenommen, dass der Hashwert h(s) keine Information preisgibt). Informationstheoretisch lässt sich diese Sicherheit als die Entropie (Informationsgehalt) des Templates f bei bekanntem y ausdrücken: Da die Erfolgswahrscheinlichkeit des Angreifers je nach gegebenem y variieren kann, betrachtet man die durchschnittliche Entropie von f für zufälliges y. Wenn das Template an sich A Bits Entropie enthält und die Entropie von f für zufälliges y gleich B ist, kann man sagen, dass y nur A − B Bits an Informationen über f preisgibt.

Schlüsselhinterlegung

Sozusagen als Nebenprodukt wird bei der Verifikation der geheime Zufallswert s rekonstruiert: Dieser kann zur Ableitung eines geheimen Krypto-Schlüssels für das Chiffrieren weiterer Daten verwendet werden (z. B. den Namen oder die Berechtigungen der authentifizierten Person). Diese Funktion der Schlüssel-Hinterlegung und -Wiedergewinnung ist ein typisches Merkmal der biometrischen Kryptosysteme, dem sie vermutlich auch ihren Namen verdanken; einige Veröffentlichungen stellen die Gewinnung eines kryptografischen Schlüssels aus biometrischen Daten sogar als das primäre Ziel solcher Systeme dar.

Man muss sich allerdings vergegenwärtigen, dass kryptografische Schlüssel üblicherweise einen deutlich höheren Schutzbedarf haben als biometrische Daten. Zudem kann man den Schlüssel aus dem biometrischen Merkmal und den hinterlegten Informationen rekonstruieren: Nur wenn diese Daten in einer angemessen sicheren Umgebung gespeichert werden (z. B. auf einer Chipkarte), sollte man diesen Schlüssel für Anwendungen außerhalb der Authentifizierung nutzen.

Umgekehrt kann man zudem bei fast allen biometrischen Kryptosystemen aus s und y auch das biometrische Template f rekonstruieren: Um zu verhindern, dass aus einem kompromittierten Schlüssel das Template ermittelt werden kann und damit auch ein Wechsel auf einen neuen Schlüssel zwecklos wird, sollte der Schlüssel unbedingt mithilfe einer Einwegfunktion aus dem Zufallswert s abgeleitet werden.

Fehlerkorrektur

Ob sich ein biometrisches Kryptosystem für ein bestimmtes biometrisches Verfahren eignet, hängt von der Art der auftretenden Messfehler ab. Hierbei geht es nicht nur um die Fehler-Raten, sondern auch um die spezifische Art der Abweichungen: Das Verfahren von Juels und Wattenberg [1] korrigiert beispielsweise Fehler, die bezüglich der so genannten Hamming-Metrik klein sind – das sind Fehler in einzelnen Bits des Templates. Das Verfahren von Juels und Sudan [2] korrigiert hingegen Fehler, die hinsichtlich der so genannten Set-Difference-Metrik klein sind – dies umfasst Rotationen, Permutationen und Auslassungen von Teil-Templates, wie sie zum Beispiel bei Fingerabdrücken auftreten, wenn man den Finger rotiert auflegt oder einzelne Minutien (Verzweigungs- oder Endpunkte der Papillarlinien) nicht erkannt werden. Dafür verwendet das Verfahren so genannte Reed-Solomon-Codes, die unter anderem auch bei Audio-CDs und im Mobilfunk zum Einsatz kommen und auf Polynom-Interpolation basieren.

Für beide Verfahren lässt sich die Anzahl der durch y preisgegebenen Bits von f gut abschätzen – bei geeigneter Parameterwahl sind diese Systeme damit beweisbar sicher gegen die beschriebenen Angriffsszenarien. Im Unterschied zu anderen kryptografischen Verfahren basieren diese Beweise dann nicht auf Annahmen (wie zum Beispiel dem Faktorisierungsproblem). Allerdings hängt die Sicherheit von der Entropie des Templates ab – und für diese gibt es fast immer nur sehr grobe Schätzungen: In der Regel enthält ein biometrisches Merkmal alleine nicht genug Information, um eine hohe Sicherheit gegen Brute-Force-Angriffe zu gewährleisten. Eine Lösung hierfür kann in der Kombination mehrerer Merkmale (z. B. mehrerer Finger) bestehen. Eine Ausnahme bilden übrigens genetische Fingerabdrücke, die nach [3] über 80 Bit Entropie besitzen können.

----------Anfang Textkasten----------

Das Verfahren von Juels und Wattenberg

Die Funktionsweise biometrischer Kryptosysteme lässt sich am Beispiel des Verfahrens von Juels und Wattenberg [1], einem der ersten biometrischen Kryptosysteme überhaupt, gut verdeutlichen: Bei der Registrierung (Enrolment) einer Person wird ihr biometrisches Merkmal erfasst und die für eine spätere Authentifizierung erforderlichen Informationen werden in einem Template f der Länge n zwischengespeichert. Außerdem wird ein zufälliger Bitstring s der Länge k < n gewählt, und y = G(s) XOR f berechnet, wobei G ein fehlerkorrigierender Kode ist, der Bitstrings der Länge k in Bitstrings der Länge n kodiert. Das Ergebnis y und der Hashwert h(s) des Zufallswerts werden abgespeichert.

Bei einer späteren Verifikation wird aus der biometrischen Messung erneut ein Template f' berechnet. Sofern es sich tatsächlich um dieselbe Person handelt und daher f und f' nur wenige Bits voneinander abweichen, weicht auch c = y XOR f' nur wenig von G(s) ab. In diesem Fall müsste der aus der Fehlerkorrektur von c rekonstruierte Wert s' gleich s sein. Die Übereinstimmung von s' und s lässt sich mithilfe des hinterlegten Hashwertes h(s) prüfen. Liegen dagegen f und f' zu weit auseinander, weil die Merkmale einer anderen Person gemessen wurden, so gilt das auch für c und G(s), und der aus c rekonstruierte Wert s' stimmt nicht mit s überein.

----------Ende Textkasten----------

Ausblick

Derzeit wird sehr rege an biometrischen Kyptosystemen geforscht, sowohl von akademischer Seite als auch in Unternehmen aus dem Bereich der Sicherheitstechnik. Die Herausforderungen bei der Umsetzung bestehen in den oft sehr hohen Fehlerraten biometrischer Messungen und in der beschränkten Entropie der Templates. Trotzdem ist bereits abzusehen, dass biometrische Kryptosysteme schon bald praxistauglich sein werden.

Dr. Johannes Merkle ist Kryptologe und PKI-Experte bei secunet.

Literatur

[1]
A. Juels, M. Wattenberg, A Fuzzy Commitment Scheme, in: Proceedings of the ACM Conference on Computer and Communications Security, 1999, ISBN 1-58113-612-9
[2]
A. Juels, M. Sudan, A Fuzzy Vault Scheme, in: IEEE International Symposium on Information Theory, 2002, ISBN 0-7803-7501-7
[3]
U. Korte, M. Krawczak, J. Merkle et al., A Cryptographic Biometric Authentication System Based On Genetic Fingerprints, Tagungsband "Sicherheit 2008", Lecture Notes of Informatics, Springer-Verlag, 2008, ISBN 978-3-88579-222-2 oder online auf [externer Link] www.secunet.de/fileadmin/Downloads/Englisch/Sonstiges/secunet_Fachartikel_BioKey.pdf