-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf die Fernauthentifizierung
von Fingerabdrücken über ein
unsicheres Netzwerk unter Verwendung einer Client-Server-Architektur.
Sie bezieht sich im Allgemeinen auf das Problem, eine Person basierend
auf dem Fingerabdruck dieser Person zu authentifizieren, und im
Besonderen auf das Problem, eine solche Authentifizierung mittels
Kommunikation über
ein unsicheres Netzwerk oder einen unsicheren Kanal auf solch eine
Weise zu erreichen, dass ein Lauscher, der beabsichtigt, den Benutzer
später
zu imitieren, keinerlei Vorteil erzielt durch das Erlangen einer
Kopie der Kommunikation, die in das Verfahren der Authentifizierung
einbezogen ist.
-
Hintergrund der Erfindung
-
Geschäftsverfahren
erfordern oft die Authentifizierung von einem oder mehreren Wirtschaftsunternehmen.
Zur gleichen Zeit hat die digitale Technologie auch Anlass zu neuen
Anwendungen der Authentifizierung, wie zum Beispiel von Computerbenutzern,
Kreditkartenbenutzern usw. gegeben. Es gibt eine wachsende Verwendung
von verschiedenem biometrischen Verfahren in solchen Authentifizierungsverfahren.
Mit der weit verbreiteten Nutzung von Netzwerken schließen viele
dieser Anwendungen eine Authentifizierung über einem Kommunikationsnetzwerk
ein, wobei sich mehrere die Sicherheit und die Vertraulichkeit betreffen de
Themen ergeben. Im Zuge dieser Verbreitung im Netzwerkbetrieb haben
sich biometrische Verfahren von einfachen Desktopanwendungen zu
Authentifizierungsanordnungen in Netzwerken entwickelt, die Firewalls
und eine Vielzahl an Betriebssystemplattformen umfassen. Fingerabdrücke bilden
das Beliebteste unter den verwendeten biometrischen Verfahren. Eine
der wichtigsten Schwächen
von aktuellen biometrischen Authentifizierungsmechanismen liegt
in der digitalen Darstellung des biometrischen Kennzeichens. Wenn die
digitale Darstellung der Biometrie während eines Authentifizierungsprozesses
für einen
Netzwerkeindringling verfügbar
gemacht wird, kann die Sicherheit des Geschäftsprozesses permanent gefährdet werden,
da ein biometrisches Kennzeichen im Allgemeinen zu allererst monadisch
ist (das heißt,
wir alle weisen nur einen linken Daumenabdruck auf). Im Gegensatz
zu Kennwörtern
kann man die verwendete Biometrie nicht ändern. Alle Verfahren der Fingerabdruckauthentifizierung über ein
Netzwerk erfordern nach dem Stand der Technik, dass die digitale
Darstellung des gesamten oder eines Teils des Fingerabdrucks in
irgendeiner Form gesendet wird, was, wenn es entziffert würde, die
angebotene Sicherheit auf eine unzulässig niedrige Ebene reduzieren
würde und
auf diese Weise das Geschäftsverfahren
zerstören
würde.
-
Die
Verwendung von Verschlüsselung
ist eine Antwort auf den Bedarf an Sicherheit und Vertraulichkeit
in der Kommunikation. Im Besonderen umfassen solche Verfahren die
Verwendung einer Codierung oder Verschlüsselung bei der Übertragung
von Daten und sind nur sicher, solange eine solche Codierung oder
Verschlüsselung
nicht von einem Gegner durchbrochen wird.
-
Einige
Erfindungen, die verschiedene Verfahren für das Ermöglichen der Verwendung von
biometrischen Verfahren für
die Au thentifizierung über ein
Netzwerk beschreiben, werden nachfolgend beschrieben:
-
In
US 5,917,928 : „System
and method for automatically verifying identity of a subject", werden bestimmte
Referenzsegmente aus einer Referenzabbildung erzielt und diese Referenzsegmente
werden dann während
des Prüfungsverfahrens
verwendet, um einen Teil der dargestellten Abbildung zu einem Pixel
für Pixel
Vergleich mit der Referenzabbildung auszuwählen.
-
In
WO 035135 A1 : „SECURE
SYSTEM USING CONTINUOUSLY- CHANGING FEATURES OF A BODY PART AS A
KEY", wird für jede Prüfung ein
Teil der Fingerabdruckabbildung übertragen,
und das übertragene
Teil wechselt von einer Prüfung
zur Nächsten.
Dies soll sicherstellen, dass ein Lauscher jedes Mal nur ein Teil
der Abbildung erhält.
-
In
WO 9825385 A1 : „METHOD
AND SYSTEM FOR IMPROVING SECURITY IN NETWORK APPLICATIONS" (siehe auch
US 6,076,167 ), wird biometrische
Information verwendet, um einen Benutzer am Anfang einer Kommunikationssitzung
zu authentifizieren, aber es wird angenommen, dass ein sicherer
Kanal verfügbar
ist, um solche Informationen zu übertragen.
Im Besonderen ist die Kommunikation zwischen den zwei Parteien verschlüsselt.
-
WO 9812670 A1 : „BIOMETRIC
IDENTIFICATION SYSTEM FOR PROVIDING SECURE ACCESS", schlägt für verschiedene
Anwendungen eine Einheit für
das Erfassen und das Übertragen
kodierter biometrischer Information an einen Empfänger vor.
-
US 6,038,666 : „Remote
identity verification technique using a personal identification", schlägt ebenfalls
vor, biometrische Daten für
die Authentifizierung zu verwenden, aber sie schlägt auch
die Übertragung
in verschlüsselter
Form vor (das heißt, die
Sicherheit der Erfindung hängt
von der Sicherheit des Kommunikationskanals ab).
-
Die
Veröffentlichung
US-A-6 167 517 offenbart
eine Client/Server-Architektur, wobei ein Benutzeridentifizierungsmerkmal
von Clients an Host-Anordnungen empfangen wird, und das zugehörige Template
mit biometrischen Daten auf der Clientseite abgerufen wird. Der
Client vergleicht das erhaltene Template mit dem biometrischem Beispiel.
Eine Hauptnachricht wird mit Hilfe des Template, des Vergleichsergebnisses
und eines Verschlüsselungsschlüssels berechnet.
Die Host-Anordnung
erhält den
Nachrichtenauszug und authentifiziert den Benutzer durch Feststellen,
ob der Nachrichtenauszug mit Hilfe des Template, des Verschlüsselungsschlüssels und
eines Vergleichsergebnisses berechnet wurde, wodurch eine erfolgreiche Übereinstimmung zwischen
dem biometrischen Beispiel und dem Template angezeigt wird. Wenn
dies der Fall ist, weist der Host das Vertrauen auf, dass der Client
das Template erfolgreich mit dem biometrischen Beispiel abgeglichen
hat und dem Client wird erlaubt, auf eine Anwendung auf der Host-Anordnung
zuzugreifen.
-
Alle
diese Erfindungen hängen
von der Verwendung von Verschlüsselung
zur Sicherheit während
der Authentifizierung ab. Jedoch gibt es mehrere Situationen, in
denen dem Bedarf an Sicherheit nicht vollständig durch eine Verschlüsselung
entsprochen werden kann. Erstens weist eine Verschlüsselung
bestimmte Kosten in Bezug auf Verarbeitungsgeschwindigkeit, Rechenleistung
und Kosten der Ausrüstung
auf, und diese Kosten können
in vielen Anwendungen entweder eine Hürde oder vermeidbare Belas tungen
darstellen. Zweitens kann die Verwendung von Verschlüsselung
Belastungen für
den Benutzer darstellen beim Merken von Schlüsseln, Schlüssel sicher aufzubewahren und
die Verschlüsselung
auf eine sichere und nicht kompromittierende zu verwenden. Technisch
nicht erfahrene und potentiell vergessliche oder unachtsame Benutzer
geben Anlass zu mehreren Sicherheitsschwachstellen. Zuletzt erfordert
eine völlige
Abhängigkeit
von der Sicherheit eines Netzwerks, dass der Benutzer den Anbietern
der Verschlüsselungsmaschinerie,
den Schlüsseln
und anderer Verschlüsselungsinfrastruktur,
Mitteln der Kommunikation usw. vertraut. Zusätzlich dazu, dass dies ein
Sicherheitsbedenken ist, kann ein solches Vertrauen nicht wünschenswert sein,
wenn eine oder alle dieser Parteien Interessenskonflikte mit dem
Benutzer aufweisen können.
-
Zusammenfassung der Erfindung
-
Dementsprechend
stellt die Erfindung ein Verfahren dafür zur Verfügung, die Fernauthentifizierung
von Fingerabdrücken über ein
unsicheres Netzwerk mit Hilfe einer Client-Server-Architektur möglich zu
machen, das Nachfolgendes umfasst: das Übertragen der Identität der Quelle
von Fingerabdrücken an
den Server, das Abrufen der Daten von Fingerabdruckmustern einer
Quelle von Fingerabdrücken
von einer Fingerabdruckdatenbank auf dem Server, das Übertragen
einer Reihe von Abfragen an den Client, von denen jede von einer
zufällig
ausgewählten
Reihe von Elementen der Fingerabdruckmuster im besagten Fingerabdruckmuster
abgeleitet ist, das Vergleichen der empfangenen Reihe von Abfragen
gegen ein am Client festgestelltes Fingerabdruckmuster, das Übertragen
der Identitäten
jener Abfragen zum Server, für
die eine Übereinstimmung
durch den Client festgestellt wird, sofern mindestens eine definierte
minimale Anzahl von Abfragen verifiziert wird, das Erzeugen einer
Reihe von Challenges, die definierte physikalische Beziehungen zwischen
Elementen der Fingerabdruckmuster in den identifizierten Abfragen
betreffen, das Übertragen
der besagten Challenges an den Client, basierend auf den an dem Client
festgestellten Fingerabdruckmustern auf die Challenges zu antworten,
und Bestätigung
der Authentifizierung, sofern mindestens ein definierter minimaler
Anteil an Antworten durch den Server als korrekt bestimmt wird.
-
Vorzugsweise
wird ein Mittel der fingerabdruckbasierten Authentifizierung zur
Verfügung
gestellt, das in einer sicheren und vertrauenswürdigen Art über einem Kommunikationskanal
oder ein Netzwerk ablaufen kann, die keine Sicherheit oder Vertraulichkeit
der Kommunikation garantieren. Vorzugsweise werden eine Anordnung
und ein Verfahren für eine
solche Authentifizierung zur Verfügung gestellt, um zwei Ziele
zu erreichen: Authentifizierung mit hohe Genauigkeit unter Verwendung
von Fingerabdrücken,
und keine Darstellung des Fingerabdrucks (oder wesentlicher Informationen,
die mit dem Fingerabdruck verbunden sind), während die vorhergehende Funktion
ausgeführt
wird.
-
In
der bevorzugten Ausführungsform
werden eine verbesserte Anordnung und ein verbessertes Verfahren
für eine
Authentifizierung unter Verwendung von Fingerabdrücken zur
Verfügung
gestellt. Vorzugsweise weisen diese eine erhöhte Sicherheit auf. Weiterhin
wird vorzugsweise der Fingerabdruck nicht offenbart. Weiterhin kommunizieren
vorzugsweise die authentifizierende Partei, als Server bezeichnet,
und die zu authentifizierende Partei, als Benutzer bezeichnet, dezentral
mit einander über einen Kommunikationskanal
oder ein Netzwerk, die unsicher sind.
-
In
einer bevorzugten Ausführungsform
wird ein verbessertes netzwerkbasiertes Geschäftsverfahren zur Verfügung gestellt,
in dem Geschäftspartner
sogar dann sicher authentifiziert werden können, wenn die Sicherheit des
Netzwerks gefährdet
worden ist.
-
In
einer bevorzugten Ausführungsform
sind die Identitäten
die Indizes jener Abfragen, für
die eine Übereinstimmung
der Fingerabdruckmuster vom Client festgestellt wird.
-
Vorzugsweise
umfasst jede der Abfragen geometrische Information über die
entsprechende zufällig
ausgewählte
Reihe von Elementen der Fingerabdruckmuster.
-
Vorzugsweise
umfasst jede der Abfragen Abstände
zwischen Paaren von Elementen der Fingerabdruckmuster.
-
In
einer Ausführungsform
umfasst jede der Abfragen die Abstände von einem ausgewählten Element
der Fingerabdruckmuster zu jedem der anderen Elemente der Fingerabdruckmuster.
-
In
einer bevorzugten Ausführungsform
ist der Abstand der euklidische Abstand oder der Rippenzahlabstand
zwischen den zwei Punkten oder einem kartesischen Wertepaar, wobei
die zwei Werte der euklidische Abstand beziehungsweise der Rippenzahlabstand
sind.
-
Vorzugsweise
betrifft jede der Challenges eine geometrische Beziehung zwischen
den Elementen der Fingerabdruckmuster in den identifizierten Abfragen.
-
Vorzugsweise
versucht der Client, die Anzahl von richtigen Antworten auf die
Challenges zu maximieren.
-
In
einer bevorzugten Ausführungsform
ist die minimale Anzahl von Übereinstimmungen
auf die Abfragen 3, und die Challenges werden durch Gruppieren der
Elemente der identifizierten oder übereinstimmenden Abfragen in
geordnete 3-Tupel aufgebaut, von denen jedes entsprechend ein Element
von den 3 identifizierten Abfragen umfasst, wobei die korrekte Antwort
darauf der Winkel ist, der durch das Verbinden der 3 Punkte in dem
3-Tupel in einer festgelegten Abfolge ausgeformt wird.
-
Um
das Protokoll gegenüber
verrauschten Eingangssignalen robuster zu machen, wird die minimale
Anzahl von Übereinstimmungen
auf die Abfragen vorzugsweise auf 6 erhöht, und die Challenges werden
durch das Auswählen
von 6 Musterelementen, einem von jeder Abfrage, aufgebaut, und durch das
Auswählen
von 4 Winkeln, die von diesen 6 Elementen ausgeformt werden, ausgewählt auf
eine Weise, die entworfen ist, um für einen Lauscher keinerlei
verwendbare Information über
den Fingerabdruck offen zu legen.
-
Vorzugsweise,
um die Sicherheit zu verbessern, werden die Abfragen als Paare von
Vektoren übertragen,
wobei der zweite Vektor in dem Paar entsprechend einer geheimen
Permutation permutiert wird, die nur dem Client und dem Server bekannt
ist, wobei der Client den Vektor von jeder Abfrage vor der Verarbeitung
depermutiert.
-
Vorzugsweise
erfasst der Server, um die Genauigkeit durch Zurückweisen von unechten Mustern zu
verbessern, zur Zeit der Registrierung des Benutzers mehrere Abbildungen
des Fingerabdrucks, die Fingerabdruckmuster werden als paarweise
betrachtet, und die in einer Abbildung vorliegenden Elemente der
Fingerabdruckmuster werden verglichen mit den entsprechen Elemente
in der anderen und nur jene Elemente, die übereinstimmen, werden in der
besagten Fingerabdruckdatenbank am Server gespeichert.
-
Entsprechend
einem weiteren Aspekt stellt die Erfindung eine Anordnung für die Ermöglichung der
dezentralen Authentifizierung von Fingerabdrücken über ein unsicheres Netzwerk
mit Hilfe einer Client-Server-Architektur zur Verfügung, die
nachfolgendes umfasst: Mittel zur Übertragung der Identität der Quelle
der Fingerabdrücke
an den Server, Mittel für
das Abrufen von Fingerabdruckmusterdaten der Quelle der Fingerabdrücke von
einer Fingerabdruckdatenbank am Server, Mittel für das Senden eine Reihe von
Abfragen an den besagten Client, von denen jede von einer zufällig ausgewählten Reihe
von Elementen der Fingerabdruckmuster in dem besagten Fingerabdruckmuster
abgeleitet ist, Mittel für
das Vergleichen der erhaltene Reihe von Abfragen gegen ein festgestelltes
Fingerabdruckmuster am Client, Mittel zur Übertragung der Identitäten jener
Abfragen an den Server, für
welche eine Übereinstimmung durch
den Client festgestellt wird, vorausgesetzt dass mindestens eine
definierte minimale Anzahl von Abfragen verifiziert wird, Mittel
für die
Erzeugung einer Reihe von Challenges, die definierte physikalische Beziehungen
zwischen den Elementen der Fingerabdruckmuster in den identifizierten
Abfragen betreffen, Mittel für
die Übertragung
der besagten Challenges an den be sagten Client, Mittel für das Antworten
auf die Challenges basierend auf festgestellten Fingerabdruckmustern
am Client, und Mittel für
die Bestätigung
der Authentifizierung, vorausgesetzt mindestens ein definierter
minimaler Anteil von Antworten wird durch den Server als korrekt
entschieden.
-
Vorzugsweise
verwendet das Mittel für
die Übertragung
von Abfragen die geometrische Information über die entsprechende zufällig ausgewählte Reihe
von Elementen der Fingerabdruckmuster.
-
Vorzugsweise
verwendet das Mittel für
die Übertragung
von Abfragen die Entfernungen zwischen Paaren der Elemente der Fingerabdruckmuster.
-
In
einer Ausführungsform
verwendet das besagte Mittel für
die Übertragung
von Abfragen die Abstände
von einem ausgewählten
Element der Fingerabdruckmuster zu jedem der anderen Elemente der Fingerabdruckmuster.
-
Vorzugsweise
verwendet das Mittel für
die Erzeugung von Challenges eine geometrische Beziehung zwischen
den Elementen der Fingerabdruckmuster in den identifizierten Abfragen.
-
Vorzugsweise
beträgt
die minimale Anzahl von Übereinstimmungen
zu den Abfragen 3, und das Mittel für die Erzeugung von Challenges
gruppiert die Elemente der identifizierten übereinstimmenden Abfragen in
geordnete 3-Tupel, von denen jedes entsprechend ein Element von
den 3 identifizierten Abfragen enthält, auf die die richtige Antwort
der durch Verbinden der 3 Punkte im 3-Tupel in einer vordefinierten
Folge ausgeformte Winkel ist.
-
In
einem weiteren Aspekt liefert die Erfindung ein Computerprogrammprodukt,
das Computer lesbaren Programmcode umfasst, wie in Anspruch 14 spezifiziert.
-
Kurze Beschreibung der Figuren
-
Eine
bevorzugte Ausführungsform
der vorliegenden Erfindung wird jetzt, nur auf dem Weg eines Beispiels,
und mit Bezug auf die folgenden Figuren beschrieben:
-
1 zeigt
die Anordnung entsprechend einer bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
2 zeigt
das Ablaufdiagramm der Operationen am Client entsprechend einer
bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
3 zeigt
das Ablaufdiagramm der Operationen am Client für die Verarbeitung von Abfragen entsprechend
einer bevorzugten Ausführungsform der
vorliegenden Erfindung.
-
4 zeigt
das Ablaufdiagramm der Operationen des Servers entsprechend einer
bevorzugten Ausführungsform
der vorliegenden Erfindung.
-
5 zeigt
Variationen des Verfahrens für die
Erzeugung von Abfragen am Server.
-
Detaillierte Beschreibung der Figuren
-
1 zeigt
die Anordnung entsprechend einer bevorzugten Ausführungsform,
die aus zwei Teilen, einem Client und einem Server, besteht, die über ein
unsicheres Netzwerk verbunden sind. Eine Datenbank der Fingerabdrücke aller
registrierten Benutzer wird vom Server verwaltet. Es wird angenommen, dass
der Server sicher ist. Es wird angenommen, dass der Client und das
Kommunikationsmedium unsicher sind. Das Ziel ist, jede Person zu
authentifizieren, die Anspruch auf die Identität I erhebt durch Überprüfen des
Fingerabdrucks/der Fingerabdrücke, die
diese am Client abgibt, mit denen, die in der Serverdatenbank vorliegen.
Der Client und das Servermodul kommunizieren mit einander, um diese
Verifikation zu erreichen, wobei der Client der Geltendmacher ist
und der Server der Prüfer
ist. Das Protokoll der bevorzugten Ausführungsform nimmt einen betriebsbereiten
Kanal der Kommunikation zwischen dem Client und dem Server an und
hat zum Ziel sicherzustellen, dass ein Lauscher keinerlei wertvolle Information
bekommt, die es ihm ermöglichen
könnte,
die Person mit der Identität
I zu imitieren.
-
Das
Grundprotokoll basiert auf einer Challenge-Response Folge zwischen
dem Client und dem Server.
- 1. Das Protokoll
beginnt mit dem Client, der Anspruch auf die Identität I erhebt.
- 2. Der Server ruft das lokale Template L des von I registrierten
Fingerabdrucks von seiner Datenbank ab und baut eine Reihe von k
Mustern auf, von denen jedes eine Reihe von Minutien aus L ist (im
Detail unten erklärt).
Diese k Muster sind die Abfragen, die dann an den Client gesandt
werden.
- 3. In der Abfrageschablone L' am
Client versucht der Client für
jedes der empfangenen k Muster eine Übereinstimmung zu finden. Die
Vorstellung einer Übereinstimmung
wird in einem folgenden Abschnitt spezifiziert. Er sendet an den
Server die Indizes einer Untermenge der k Muster, für die er in
der Lage war, am erfolgreichsten Übereinstimmung zu erzielen.
Wir nennen dies Untermenge S.
- 4. Der Server erstellt eine Reihe von Challenges, die mit den
Mustern in S in Beziehung stehen und sendet diese Challenges dann
an den Client.
- 5. Der Client beantwortet diese Challenges nach bestem Können.
- 6. Auf Grundlage der Korrektheit der Clientantworten entscheidet
der Server, ob der Anspruch der Identität des Clients als gültig erklärt wird.
-
2 zeigt
das Ablaufdiagramm der Operationen am Client entsprechend einer
bevorzugten Ausführungsform
der vorliegenden Erfindung. Ein Benutzer, der die Anordnung betritt,
gibt der Clientsoftware seinen Fingerabdruck und die Identität, auf die
er Anspruch erhebt. Das Protokoll beginnt mit dem Client, der den
Anspruch des Benutzers auf die Identität I in Funktionsblock 500 zum
Server überträgt.
-
Die
Ausführung
des Clientmoduls wartet dann darauf, dass der Server in Funktionsblock 1000 eine
Reihe von k Abfragen an dieses übermittelt.
-
Die
Ausführung
fährt dann
fort mit Funktionsblock 1500 des Clientmoduls. Nach dem
Verarbeiten aller Abfragen fährt
die Ausführung
mit Funktionsblock 2000 fort, wo der Client die Anzahl
von Abfragen zählt,
die er in der Lage war abzugleichen. Wenn die Anzahl von übereinstimmenden
Abfragen unterhalb einer Schwelle W liegt (in unserer bevorzugten Ausführungsform
ist diese Schwelle 3), ist es dem Benutzer missglückt, seine
Identität
zu beweisen und die Ausführung
fährt fort
mit Funktionsblock 2500, wo dem Benutzer eine Fehlernachricht
angezeigt wird. Andernfalls fährt
die Ausführung
mit Funktionsblock 3000 fort, wo der Client dem Server
die w am besten übereinstimmenden
Reihen offenbart. Eine übereinstimmende
Reihe wird angezeigt durch Angeben, welcher Abfrage sie entspricht,
wie auch der Indexnummern aller deren Elemente. Dies ist die Untermenge
S. In unserer bevorzugten Ausführungsform besteht
die Reihe S aus den drei übereinstimmenden Reihen
und entspricht etwa drei Abfragen i, j und k.
-
Der
Ausführungsdatenstrom
am Client geht wieder in einen Wartestatus und beginnt wieder, wenn
der Client in Funktionsblock 3500 eine Reihe von Challenges
vom Server bekommt. Jede Challenge ist eine Untermenge der Gesamtheit
der übereinstimmenden
Reihen, die vom Client gesandt wurden. Als Antwort darauf muss der
Client ein Merkmal dieser Untermenge berechnen und übertragen.
In unserer bevorzugten Ausführungsform
enthält
jede Challenge einen Punkt von jeder der drei vom Client gesandten übereinstimmenden
Reihen. Daher sind die Challenges von der Form (N(Qa i), N(Qb j),
N(Qc k)). Als Antwort
auf solch eine Challenge berechnet und schickt der Client f, welches
der Winkel ist, der ausgeformt wird durch Verbinden von Qa i und Qb j mit Qc k. Dies
findet in Funktionsblock 4000 statt.
-
Der
Server überträgt den Erfolg
oder das Fehlschlagen der Prüfung
auf den Client, den der Client dem Benutzer mitteilt.
-
Eine
Abfrage besteht aus Information über ein
geometrisches Muster, das aus einer Untermenge der Minutien in L
besteht. In unserer bevorzugten Ausführungsform, ist das i-te Muster
eine Sammlung von r + 1 Detailpunkten {pi 0, pi 1,
pi 2, ..., pi r}. Zum Zweck der
Sicherheit werden diese Minutien einheitlich per Zufall aus den
Minutien in L gewählt.
Die i-te Abfrage ist der Vektor (di 1, di 2,
..., di r), wobei
di j der Abstand zwischen
pi 0 und ist. Während viele
verschiedene Maße
des Abstands, wie zum Beispiel des euklidische Abstands und des
Rippenzahlabstands (der Rippenzahlabstand zwischen zwei Punkten
in einem Fingerabdruck ist die Anzahl von Rippen, die eine Linie überqueren,
die diese zwei Punkte verbindet) oder eine Kombinationen davon verwendet
werden können,
verwenden wir in unserer bevorzugten Ausführungsform ein Abstandsmaß, das ein
kartesisches Paar von Werten ist, wobei die zwei Werte die euklidischen
beziehungsweise die Rippenzahlabstände sind.
-
Beim
Empfangen der Abfrage i versucht der Client, diese in L' abzugleichen. Das
heißt,
er versucht eine Reihe von Punkten X = {qi 0, qi 1,
qi 2, ..., qi s} in L' zu finden und eine
Untermenge Y von der Abfrage der Größe s, so dass die Reihen X
und Y in irgendeinem geometrischen Sinn ähnlich sind, und s maximiert
wird. In unserer bevorzugten Ausführungsform versucht der Client,
eine Reihe {qi 0,
qi 1, qi 2, ..., qi s} von Minutien in L' zu finden und eine bijektive Abbildung
f von [1, s] zu [1, r], so dass für alle j im Bereich [1, s]
der Abstand von qi j zu
qi 0 di f(j) gleicht (innerhalb eines vorgegebenen
Toleranzbereichs). Solch eine Reihe wird als eine Kandidatenübereinstimmung
für die
Abfrage bezeichnet. Der Client findet die größte solche Reihe. Wenn s, die
Größe der größten Kandidatenübereinstimmung,
eine vorgegebene Schwelle t übersteigt,
wird ausgesagt, dass die Abfrage mit {qi 0, qi 1,
qi 2, ..., qi s} übereinstimmt,
andernfalls stimmt sie nicht überein.
N(qi j), die Indexnummer von
qi j ist als f(j)
definiert.
-
3 zeigt
das Ablaufdiagramm der Operationen am Client für die Verarbeitung von Abfragen entsprechend
einer bevorzugten Ausführungsform der
vorliegenden Erfindung. Der Client erhält k Abfragen. Diese Abfragen
werden einzeln verarbeitet. Die Ausführung beginnt in Entscheidungsblock 1510,
wo der Client überprüft, ob es
noch nicht verarbeitete verbleibende Abfragen gibt. Wenn es keine
verbleibenden unbearbeiteten Abfragen gibt, geht die Ausführung weiter,
sonst fährt
sie zu Funktionsblock 1520 fort, wo der Client die nächste Abfrage
i auswählt,
die abgearbeitet werden muss. Danach findet der Client in Funktionsblock 1530 die
größte Kandidatenübereinstimmung
(irgendeiner Größe s) für diese
Abfrage. Im Entscheidungsblock 1550 überprüft der Client ob s > t. Wenn nicht, führt die
Abfrage i zu keiner Übereinstimmung,
andernfalls stimmt sie überein
und der Client wählt
in Funktionsblock 1580 die übereinstimmende Reihe für Abfrage
i, eine Untermenge Qi 1,
Qi 2, ..., Qi T von qi 0, qi 1,
qi 2, ..., qi s, aus. Danach kehrt
die Ausführung
zu Entscheidungsblock 1510 zurück.
-
4 zeigt
das Ablaufdiagramm der Abarbeitung des Servers entsprechend einer
bevorzugten Ausführungsform
der vorliegenden Erfindung an. Zu Beginn wartet der Server auf den
Client, dass dieser in Funktionsblock 5000 seinen Anspruch
auf die Identität
I überträgt. Die
Ausführung
fährt zu
Funktionsblock 5000 fort, wo der Server den Fingerabdruck L,
der I entspricht, von seiner Datenbank abruft.
-
Die
Ausführung
fährt dann
mit Funktionsblock 5500 fort, wo L verwendet wird, um wie
oben beschrieben k Abfragen aufzubauen. Danach fährt die Ausführung zu
Funktionsblock 1000 fort, in dem der Server diese Reihe
von k Abfragen an den Client sendet.
-
Wenn
der Client mit den Indizes von w Abfragen (der Reihe S) und den
entsprechenden übereinstimmenden
Reihen antwortet, fährt
die Ausführung mit
Funktionsblock 6000 fort, wo der Server T Challenges aus
S aufbaut. Der Server gruppiert die Elemente der W übereinstimmenden
Reihen in Gruppen oder Muster. In unserer bevorzugten Ausführungsform
werden diese Elemente in T geordnete 3-Tupel gruppiert, jedes von
der Form (Qi a, Qj b, Qk c). Jedes der 3-Tupel enthält ein entsprechendes
Element von den 3 übereinstimmenden
Reihen (wie zuvor angemerkt, ist in der bevorzugten Ausführungsform
w = 3). Jedes solches 3-Tupel ist ein Challenge, für das die
richtige Antwort q wäre,
der Winkel, der durch Verbinden von Qi a und Qj b mit
Qk c ausgeformt wird.
-
Nachdem
die Challenges aufgebaut wurden, fährt die Ausführung mit
Funktionsblock 3500 fort, wo der Server den Client herausfordert,
die Winkel zwischen (N(pa i),
N(pb j), N(pc k)) zu offenbaren.
Ein Challenge könnte
zum Beispiel wie folgt übersetzt
werden: „Offenbare
den Winkel zwischen dem 3. Punkt in der 2. Abfrage, dem 7. Punkt
in der 5. Abfrage und dem 6. Punkt in der 1. Abfrage".
-
In
Funktionsblock 4000 antwortet der Client mit einem Winkel
für jede
Challenge. Die Ausführung des
Servermoduls fährt
mit dem Funktionsblock 6500 fort, wo der Server die Anzahl
der richtigen Antworten des Client zählt. Für eine Challenge für welche
der Client einem Winkel f sendet, und für welche die richtige Antwort
q ist, akzeptiert der Server die Antwort dann als korrekt, wenn
der Differenzbetrag zwischen q und f klein ist (das heißt, abs
(f – q) < A, wobei A eine
gewählte
Schwelle ist); andernfalls betrachtet er die Antwort als falsch.
-
Die
Ausführung
erreicht dann den Entscheidungsblock 7000, wo der Server überprüft, ob die
Anzahl von richtigen Antworten M übersteigt, wobei M eine weitere
gewählte
Schwelle ist. Wenn dies zutrifft, wird der Client authentifiziert
(8000). Andernfalls erklärt der Server, dass die Authentifizierung
fehlgeschlagen ist (7500). Der Server überträgt die entsprechende Entscheidung
an den Client und bricht dann die Ausführung ab.
-
5 zeigt
die Verwendung von mehrfachen Winkeln, die für die Erzeugung von Abfragen
in einer Variation (Variation 1) des Verfahrens zur Erzeugung von
Abfragen am Server verwendet werden. Diese Variation ist durch die
Notwendigkeit motiviert, das Protokoll gegenüber verrauschten Eingangssignalen robuster
zu machen, in denen viele der Minutien, die von der die Minutien
erkennenden Software des Clients zurückgegeben werden, falsch sind.
-
Der
Wert der minimalen Anzahl von übereinstimmenden
Musterelementen 'w' wird auf 6 erhöht – der Client
identifiziert und wählt
sechs Abfragen aus und sendet die entsprechenden übereinstimmenden Reihen
an den Server. Der Server wählt
dann 6 Minutien aus, zum Beispiel p1, p2, p3, p4,
p5, p6, eine von
jeder der identifizierten Abfragen und wählt 4 von diesen 6 Minutien
ausgeformte Winkel aus. Die 4 Winkel zwischen den 6 Minutien werden
auf eine bestimmte Weise gewählt,
die gestaltet ist, um einem Lauscher keinerlei verwendbare Information über den
Fingerdruck offen zu legen. Diese Regel für die Auswahl von Winkeln ist
in 5 veranschaulicht.
-
Der
Rest des Protokolls bleibt unverändert.
-
Eine
weitere Variation (Variation 2) des Verfahrens zur Erzeugung von
Abfragen versucht Fehler zu reduzieren. Betrachten wir den Fall,
in dem es 2 Punkte gibt, welche in demselben Abstand/mit der gleichen
Rippenzahl von der Mitte entfernt sind, das heißt sowohl q1 wie
auch q2 sind in demselben Abstand/mit der
gleichen Rippenzahl von q0 entfernt. In solch
einem Fall könnte
der Client q1 in eine Kandidatenübereinstimmung
mit einbeziehen, obwohl es „korrekt" gewesen wäre, stattdessen
q2 mit einzubeziehen. Die Variation 2 wird
von der Notwendigkeit motiviert, solche Fehler zu vermeiden.
-
In
dieser Variation wird die Abfrage I ausgeformt mit Hilfe der Abstände von
einer Reihe von gleichmäßig und
per Zufall ausgewählten
r Minutien von 2 verschiedenen Punkten pi 0 und vi. Wir wählen zuerst
{pi 0, vi,
pi 1, pi 2, ..., pi r} zufällig
aus, und bauen dann die Abfrage als Paar von Vektoren ((di 1, di 2, ..., di z), (Di 1,
Di 2, ..., Di z)) auf, wobei di j die Entfernung
zwischen pi 0 und
pi j ist und Di j die Entfernung
zwischen vi und pi j ist. Eine Kandidatenübereinstimmung ist jetzt von
der Form {qi 0, zi, qi 1,
qi 2, ..., qi s}, so dass für alle j der
Abstand von qi j zu
qi 0 gleich di f(j) ist und der
Abstand von qi j zu
zi gleich Di f(j) ist (beide innerhalb vorgegebener Toleranzbereiche).
-
Alle
anderen Elemente des Protokolls bleiben unverändert.
-
Im
Allgemeinen kann die Variation 2 auf solch eine Weise modifiziert
werden, dass jede Abfrage jeweils aus x Vektoren der Größe r besteht,
von denen jeder den Abständen
von r ausgewählten Punkten
von einem anderen Mittelpunkt entspricht.
-
Die
Variation 2 kann mit einer zusätzlichen Schicht
an Sicherheit ausgestattet werden in Anwendungen, in denen es möglich ist,
dass der Server und der Client eine nur ihnen bekannte geheime Permutation
gemeinsam benutzen. Der Server würde
während
des Sendens der Abfragen, von denen jede ein Paar von Vektoren ist,
den zweiten Vektor im Paar entsprechend der geheimen Permutation
permutieren. Der Client würde
den zweiten Vektor von jeder Abfrage depermutieren und dann wie
zuvor fortfahren.
-
Zusätzlich zu
den oben vorgeschlagenen Variationen kann die Ausführung des
Authentifikationverfahrens durch Verbessern der Genauigkeit des Protokolls
weiter verbessert werden. Die Genauigkeit des Protokolls ist von
den fehlerhaften Minutien betroffen, die auf Grund von verrauschten
Abbildungen durch die Minutienextraktionssoftware eingestreut werden.
Wenn die Minutien pi 0,
die bei der Konstruktion der Abfrage i verwendet werden, fehlerhaft
sind, dann ist es für
diese Abfrage nicht möglich,
dass sie im Authentifizierungsverfahren nützlich angewendet werden kann.
Dies veranschaulicht wie fehlerhafte Minutien die Chancen einer
erfolgreichen Authentifizierung durch einen Client reduzieren, der
dem Protokoll korrekt folgt. Eine Verbesserung behandelt diese Schwierigkeit
durch Reduzieren der Anzahl von fehlerhaften Minutien in der Abbildung
in der Datenbank des Servers.
-
Bei
dieser Verbesserung werden zum Zeitpunkt der Registrierung des Benutzers,
wenn der Fingerabdruck des Benutzers der Datenbank des Servers hinzugefügt wird,
mehrere Abbildungen vom Fingerabdruck des Benutzers erfasst. Diese
Abbildungen werden dann paarweise betrachtet, und die in einer Abbildung
solcher Paare vorhandenen Minutien werden gesucht, um mit den Minutien
in der anderen Abbildung des Paars abgeglichen zu werden. Solch
eine Übereinstimmung
kann entweder manuell oder durch Verwendung einer Software durchgeführt werden.
Wenn eine Minutie a in der ersten Abbildung zu einer Minutie b in
der zweiten passt, dann werden die Minutien a und b als nicht fehlerhaft
betrachtet.
-
Der
Fingerabdruck, der in der Datenbank des Servers gespeichert werden
soll, wird von einer der einzelnen Abbildungen abgeleitet. Dies
wird erreicht durch Verwerfen von allen Minutien der Abbildung, die
im oben beschriebenen Verfahren nicht zu Minutien in anderen Abbildungen
passen.