-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
Erfindung betrifft das Gebiet der Biometrie und insbesondere das
Detektieren von Fehlern, wenn biometrische Daten validiert werden.
-
2. Hintergrund
-
Biometrische
Daten werden häufig
dazu verwendet, um eine bestimmte Person zu validieren oder zu authentifizieren,
welche wünscht
einen Zugang zu irgendeiner Einrichtung zu erhalten, wobei diese
ein Zugangsberechtigungssystem, ein Computersystem, oder eine bestimmte
Autorisierungsebene in einem Computerprogramm sein kann.
-
Ein
Nachteil vieler Computersysteme ist, dass sie Passwörter verwenden,
welche gespeichert werden müssen.
Benutzer vergessen häufig
ihre Passwörter
oder sie schreiben diese an einem nicht sicheren Ort nieder. Biometrische
Sensoren, welche bestimmte biologische Eigenschaften messen und
statistische Analysen verwenden, um einen Benutzer zu validieren,
stellen im Allgemeinen eine bessere Lösung für Passwörter bereit, zumindest insoweit,
dass die biometrischen Daten, welche für das Validieren des Benutzers
verwendet werden, immer vorhanden sind – wenn auch nicht augenfällig. Das
heißt,
dass es kein Passwort gibt, welches gespeichert werden muss, und
dass ein geringeres Risiko für
das Beeinträchtigen
der Validierungs-Informationen besteht.
-
Ein
Nachteil biometrischer Systeme ist, dass ein weit verbreiteter Einsatz
im Allgemeinen nicht praktisch ist. Mindestens ein Grund für dies ist,
dass biometrische Systeme oft eine „Treuhand" -Funktionalität verwenden. Die Treuhand-Funktionalität bringt
im Allgemein das Speichern eines gültigen Satzes von biometrischen
Daten in einem entfernten, vermutlich sicheren Server (weiterhin
bezeichnet als Treuhand-Server)
mit sich. Eine Erfassungs-Funktion zeichnet typischer Weise die
biometrischen Daten eines Benutzers auf, und vergleicht die aufgezeichneten
Daten mit den Daten in dem Treuhand-Server. Falls die Daten übereinstimmen, kann
der Treuhand-Server dann eine Antwort ausgeben, dass der Benutzer
die biometrische Überprüfung bestanden
hat.
-
Das
Aufweisen eines zentralen Treuhand-Servers bereitet jedoch Schwierigkeiten.
Ersten, könnte
ein Computer-Saboteur in den Treuhand-Server eindringen und gespeicherte
biometrische Daten entwenden oder manipulieren. Deshalb wird die
Geheimhaltung ein Problem. Zweitens, könnte ein unautorisierter Server
falsche Indikatoren dahingehend ausgeben, dass bestimmte aufgezeichnete
Daten mit den gespeicherten Werten des Treuhand-Servers übereinstimmen
würden.
-
Die
Lösung
für den
Treuhand-Server ist, ein Smartcard basierendes System einzusetzen.
Eine Smartcard ist eine kleine tragbare Karte (weitestgehend wie
eine Kreditkarte), aufweisend einen Speicher, welcher die biometrischen
Daten dauerhaft speichert. Wenn ein Zugang zu einer bestimmten Einrichtung
gewünscht ist,
führt ein
Benutzer einfach die Smartcard in einen Smartcard-Leser ein und
der Leser extrahiert die biometrischen Daten aus der Smartcard.
Der Leser vergleicht die extrahierten biometrischen Daten anschließend mit den
erfassten biometrischen Daten des biometrischen Sensors. Alternativ
stellt der biometrische Sensor die gemessenen biometrischen Daten
der Smartcard für
eine Weiterverarbeitung bereit. Dieses Verfahren weist jedoch Nachteile
auf. Ein Nachteil ist, dass Smartcards aufgrund ihrer physikalischen
Einschränkungen, üblicherweise
Systeme mit geringer Leistung sind, welche einen hochentwickelten
Mikroprozessor nicht zulassen. Stattdessen wird einer auf einer
kleinen Befehlsliste basierender Mikroprozessor verwendet, welcher
eine begrenzte Rechenleistung und einen begrenzten Speicher aufweist.
Aufgrund der begrenzten Rechenleistung einer Smartcard, müssen Kompromisse
in Bezug auf die Genauigkeit gemacht werden, falls biometrische
Daten in einem angemessenen Zeitumfang verifiziert werden sollen.
Deshalb ist es möglich,
dass falls der Mikroprozessor der Smartcard versucht gemessene Daten
von einem biometrischen Sensor mit einer Vorlage, welche in der
Smartcard gespeichert ist, zu vergleichen, eine bestimmte Anzahl
von „falschen
Akzeptanzen" auftreten. Das
heißt,
dass die Smartcard irrtümlicherweise
biometrische Daten akzeptiert, welche nicht genau mit der gespeicherten
Vorlage übereinstimmen,
oder dass die Smartcard biometrische Daten akzeptiert, welche eine
Fälschung
des Objektes sind, von welchem biometrische Daten gesammelt wurden.
-
Ein
Beispiel eines existierenden Fingerabdruck-Abtast-Systems ist die Europäische Patentanmeldung mit
der Nummer
EP 0 862
131 A2 , des Anmelders NEC. Die NEC-Anmeldung beschreibt
ein Streifenmuster-Abgleich-System, um Streifen von Fingerabdrücken mit
Werten aus einer Datei zu vergleichen. Gemäß den Seiten 1 bis 4 der NEC-Anmeldung,
werden Minuzien zusammen mit Kern-Minuzien identifiziert und Streifen werden
erzeugt. Eine Anzahl von Referenz-Streifen-Mustern wird in einer
Datei gespeichert (beispielsweise entsprechend der Anzahl von Kriminellen).
Wenn ein nachfolgender Fingerabdruck analysiert werden soll, erzeugt
das System ein anderes Streifenmuster und vergleicht es mit den
Streifenmustern in der Datei. Abweichungen der x- und y-Koordinaten
werden aufgezeichnet.
-
Dann
beginnt das System die neu erzeugten Streifenmuster-Koordinaten mittels
Rotierens der Minuzien-Streifenmuster um die Koordinatenachse wieder
zu berechnen. NEC offenbart, dass die Koordinaten beginnend mit
einem für
das Streifenmuster festgelegten Rotationswinkel von –29,4° mittels
1,4°-Schritten
bis hin zu 28,0° gedreht
werden. Für
jeden Rotationsschritt des Minuzien-Streifen-Musters werden die
neu berechneten Koordinaten mit den Koordinaten in der gespeicherten
Streifen-Muster-Datei
verglichen und die Abweichungen zwischen diesen Koordinaten aufgezeichnet
("verschobene Koordinaten"). Wie die NEC-Anmeldung herausstellt,
können
sich aus diesem System mehr als 12 Millionen Minuzien-Extraktionen
und Berechnungen für
einen Fingerabdruck-Vergleich ergeben, welche NEC-Anmeldung ebenfalls
herausstellt, dass dies einfach nicht durchführbar ist (siehe Seite 4, Zeilen
35 bis 39, und Seite 4, Zeile 56 bis Seite 5, Zeile 3).
-
NEC
schlägt
dann eine Verbesserung gegenüber
dem früheren
System vor. Da die Anzahl von Vergleichen insbesondere in einer
kriminellen Übereinstimmungs-Umgebung
hoch ist, ist es einfach unwirtschaftlich individuelle Vergleiche
mit einer Datenbank von möglicherweise
Millionen von Kriminellen bereit zustellen. Unter Beachtung dieses,
offenbart NEC eine Möglichkeit
ein "Such-Streifen-Muster" zu erzeugen, so
dass die Anzahl von Vergleichen und Berechnungen bedeutend reduziert
werden können.
NEC verwendet die gleiche Berechnungsgrundlage wie zuvor, zum Ermitteln
von Übereinstimmungen
(Seite 7, Zeilen 1 bis 13 und Zeilen 42 bis 46), was aber den Vorteil
einer bedeutend verbesserten Bearbeitungszeit durch das Eliminieren
der Datei von Streifenmustern aufweist, welche eindeutig nicht verglichen
werden müssen:
NEC schlägt
also eine Art von "Vor-Verarbeitungs-Technik" vor, um schnell
Kandidaten auszusortieren. Tatsächlich
schlägt
NEC vor, ein "Fenster" der in einer Speichereinrichtung
gespeicherten Minuzien zu erzeugen, wobei das Fenster eine Toleranz
für das Übereinstimmen
von gespeicherten Streifenmustern angibt. Falls das Minutia eines
bestimmten gespeicherten Streifenmusters nicht in diesem "Fenster" enthalten ist, dann
wird es entfernt, bevor
-
Wie
NEC auf der Seite 8, in den Zeilen 25 bis 28 herausstellt, ist der
Unterschied zwischen ihrem System und dem Vorteil ihres Systems
gegenüber
den früheren
Systemen, dass ein ziemlich gut entsprechender Rotationswinkel,
und in Folge dessen verschobene Koordinaten berechnet werden können, so
dass ein ziemlich gut entsprechendes Such-Streifen-Muster spezifiziert
werden kann. Dies reduziert den Umfang und in Folge dessen die Zeit,
welche für
eine Suche nach einem übereinstimmenden
Streifenmuster benötigt
wird.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Ein
gemäß den Ansprüchen 1 und
12 definiertes Verfahren und System für das Detektieren einer falschen
Akzeptanz in einem biometrischen Authentifizierungs-System wird
bereitgestellt. Gemäß einem
Aspekt der Erfindung wird eine Sequenz von Schwellenwert-Überprüfungen an
erfassten biologischen Daten durchgeführt, nachdem sie mit gültigen gespeicherten
Daten verglichen wurden. Gemäß einer
Ausführungsform weist
die Schwellenwertüberprüfung eine
Abstands-Überprüfung, eine
Rotationswinkel-Überprüfung, und
optional, eine alternierenden Rotationswinkel-Überprüfung auf.
-
In
einer Fingerabdruck-Abtast-Umgebung, kontrolliert die Abstands-Überprüfung eine
Separation zwischen ausgewählten
Minuzien eines erfassten Fingerabdrucks und entsprechenden Minuzien
in einer gespeicherten Konstellation. In der Rotationswinkel-Überprüfung, wird
der gesamte Winkelunterschied zwischen ausgewählten Minuzien eines erfassten
Fingerabdrucks und entsprechende Minuzien in einer gespeicherten
Konstellation überprüft. In dem
alternierenden Rotationswinkel-Test, wird ein Gestalt-Rotations-Unterschied
zwischen ausgewählten
Minuzien des erfassten Fingerabdrucks und der gespeicherten Konstellation
bestimmt. Also, können
zwei unabhängige
Berechnungen des Rotationswinkels zwischen den abgetasteten und
gültigen Konstellationen
abgeglichen werden.
-
In
jeder der Überprüfungen,
stellen Schwellenwertparameter eine Abschaltung für das Akzeptieren oder
Zurückweisen
eines erfassten Fingerabdrucks bereit. Gemäß einer Ausführungsform
werden die Überprüfungen aufeinander
folgend durchgeführt,
und falls irgendeine Überprüfung fehlschlägt, werden
die abgeglichenen Minuzien als einen "falsche Akzeptanz" zurückgewiesen.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 stellt
ein Smartcard-System dar, welches eine Smartcard, einen Smartcard-Leser
und einen biometrischen Sensor aufweist.
-
2A stellt
einen Fingerabdruck und ausgewählte
Minuzien dar.
-
2B stellt
Datenparameter eines ausgewählten
Paars von Minuzien dar.
-
3 stellt
eine Datenstruktur in einer Fingerabdruck-Vorlage dar.
-
4 stellt
eine Datenstruktur für
abgeglichene Fingerabdruck-Minuzien dar.
-
5 ist
ein Flussdiagramm, welches eine verbesserte Fingerabdruck-Vorlage-Abgleich-Technik
darstellt.
-
6–7 sind
Flussdiagramme, welche die Falsch-Akzeptanz-Bearbeitung darstellen.
-
8A–C sind
konzeptionelle Graphiken einer Minuzien-Abstands-Überprüfung.
-
9A–C sind
konzeptionelle Graphiken einer Minuzien-Winkelüberprüfung.
-
10A–C sind
konzeptionelle Graphiken einer Minuzien-Rotationswinkel-Überprüfung.
-
DETAILIERTE BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
-
1 stellt
ein Smartcard-System dar, welches eine Smartcard 100, einen
Smartcard-Leser 110 und einen Sensor 116 für biometrische
Daten aufweist. Die Smartcard 100 weist typischerweise
einen Mikroprozessor 104 und ein RAM 106, ein
EEPROM 103 (oder entsprechend langlebige noch programmierbare Speichereinrichtung,
wie ein "Flash") und ein ROM 102 auf,
welche jeweils kommunizierbar mit dem Mikroprozessor 104 gekoppelt
sind. Ein ausführbarer
Software-Code (auch bezeichnet als "Computerprogramm") befindet sich in dem ROM 102.
Das RAM 106 wird für
das Speichern von Variablen oder anderen Laufzeitdaten verwendet,
welche durch den Mikroprozessor 104 benötigt werden. Der Smartcard-Leser 110 weist
einen Mikroprozessor 114 und ein RAM 112 auf.
Der Smartcard-Leser 110 kann ferner ein ROM aufweisen,
in welchem sich ausführbarer
Software-Code befindet, oder der Software-Code kann über einen Bus 124 aus
einem externen Speicher oder Computer geladen werden. Während des
Betriebs wird die Smartcard 100 in den Smartcard-Leser 110 eingeführt, wobei
die Daten entweder von der Smartcard zu dem Smartcard-Leser oder
von dem Smartcard-Leser 110 zu der Smartcard 100 übertragen
werden.
-
Das
Smartcard-System, welches in der 1 dargestellt
ist, weist ferner einen biometrischen Sensor 116 auf, welcher
vorzugsweise ein Fingerabdrucks-Sensor ist. Der Sensor 116 ist
eingerichtet, um einen Finger aufzunehmen. Wenn ein Finger über dem
Sensor 116 platziert wird, tastet der Sensor 116 den
Abdruck des Fingers ab, und erzeugt ein Fingerabdruck-Bild. (Es
ist erwähnenswert,
dass das Bild ein analoges Signal sein kann, welches später in eine
digitale Wiedergabe oder "Vorlage" umgewandelt wird).
Ein vorliegender bevorzugter Fingerabdruck-Sensor ist der von der
Veridicom Corporation in Santa Clara, Kalifornien <http://www.veridicom.com> erhältliche
FPS110 oder alternativ der periphere Sensor Veridicom 5th Sense(TM).
-
Ein
beispielhaftes abgetastetes Fingerabdruck-Bild 200 ist
in der 2A gezeigt. Eine Folge von Furchenrücken weisen
Endpunkte und Verzweigungen auf, welche üblicherweise als Minutia 204 beschrieben werden.
Ausgewählte
Minuzien eines abgetasteten Fingerabdrucks werden von ihrer abgetasteten
Form in eine digitale Form als eine Datenstruktur umgeformt, wobei eine
Ausführungsform
eine multidimensionale Fingerabdruck-Konstellation ist (oder vereinfacht "Konstellation"). Eine Ausführungsform
einer Konstellation wird nachfolgend in Bezug auf 3 beschrieben.
-
Falls
als eine Konstellation gespeichert, werden Parameter ausgewählt, um
die Beziehung zwischen individuellen Minuzien 204 und in
dem Fingerabdruck zu definieren. In Bezug auf 2B,
wird eine geometrische Darstellung 250 von zwei Minuzien
gezeigt. Ein erstes Minutia 254 wird als ein Referenz-Minutia
ausgewählt.
Eine Tangente 264 zu dem Furchenrücken des ersten Minutia 254 wird
ermittelt und dann extrapoliert, um eine x-Achse 272 zu
schneiden (beispielsweise eine x-Achse des Sensors 116).
Ein Winkel "Alpha" wird zwischen der
x-Achse 272 und der Linie der Tangente 264 gemessen.
Die x- und y-Koordinaten des Minutia 254 werden ebenfalls
aufgezeichnet. Das erste Minutia 254 wird dann als ein
Referenzpunkt verwendet, um relative Werte mit benachbarten Minuzien
zu vergleichen.
-
Zum
Beispiel, wird ein zweites Minutia 258 als ein Nachbar
des Minutia 254 ausgewählt.
Die x- und y-Koordinaten des zweiten Minutia 258 werden
aufgezeichnet, also kann ein Abstand 262 zwischen dem ersten
Minutia 254 und dem zweiten Minutia 258 ermittelt
werden, so wie ein Winkel "Beta" – welcher zwischen den Linien 272 und 268 ausgebildet
wird. Der Unterschied zwischen dem Winkel Alpha und dem Winkel Beta, oder
dem Winkel "Gamma" kann durch das subtrahieren
des einen Winkels von dem anderen berechnet werden. Der Winkel Gamma
kann als der Winkel, welcher zwischen der Linie der Tangente 264 (Minutia 254)
und der Linie der Tangente 268 (Minutia 258) dargestellt
werden.
-
Das
oben beschriebene Verfahren kann mittels Vergleichens eines dritten,
vierten, fünften,
etc. Minutia zu dem ersten Minutia 254 wiederholt werden.
Schließlich
kann eine multidimensionale Fingerabdruckskonstellation erzeugt
werden, welche die relativen Werte der ausgewählten Minuzien in einer bestimmten
Nachbarschaft repräsentiert. 3 stellt
eine solche Datenstruktur dar.
-
Die
multidimensionale Konstellation 300 weist einen Header 304 auf,
welcher dazu verwendet werden kann, um die Erzeugungsweise und die
Version der multidimensionalen Konstellation 300 zu identifizieren. Eine
Bezugzeichen 312 gibt x-, y- und Alpha-Werte für das Referenz-
(oder erste) Minutia an, welches die Basis für die relativen Werte in einer
Nachbarschafts-Konstellation 308 ist. Die Nachbarschafts-Konstellation 308 weist
ferner eine Mehrzahl von Datenwerten für die Nachbarn des Bezugszeichens 312 auf
(das heißt,
das zweite, dritte, vierte, etc. Minutia). Da können so viele da können so
viele Nachbarn 308 in einer multidimensionalen Fingerabdrucks-Konstellation 300 wie
gewünscht
sein. Gemäß einer
Ausführungsform
gibt es 100 Nachbarschafts-Konstellationen 308 in
einer multidimensionalen Konstellation 300.
-
Drei
Spalten repräsentieren
die relativen Werte zwischen den Minuzien in jeder Nachbarschafts-Konstellation 308.
Es gibt Spalten 320, 324 und 328, welche
jeweils einen relativen Abstand, einen Winkel, und einen relativen
Winkel-Unterschied repräsentieren,
wie es oben in Bezug auf 2B erläutert wurde.
Es gibt so viele Nachbarn 316 in einer Nachbarschafts-Konstellation 308 wie
gewünscht
werden. Gemäß einer
Ausführungsform,
gibt es 15 Nachbarn 316 in einer Nachbarschafts-Konstellation 308.
(Es ist erwähnenswert, dass
wenn Daten in der multidimensionalen Konstellation 300 gespeichert
werden, sie normiert werden kann, sodass die Werte eine einheitliche
Bitgröße aufweißen).
-
Zurückkehrend
zu 1, wie mit dem Smartcard-System verwendet, wird
das Fingerabdruck-Bild, welches durch den Sensor 116 erfasst
wurde, zu dem RAM 112 als eine multidimensionale Fingerabdrucks-Konstellation 300 übertragen.
Zum Zweck der Erläuterung,
wird die abgetastete multidimensionale Fingerabdrucks-Konstellation
nachstehend als "Vorlage
B" bezeichnet, während eine
gültige
multidimensionale Fingerabdrucks-Konstellation nachstehend als "Vorlage A" bezeichnet wird.
-
Wenn
die Smartcard 100 in den Smartcard-Leser 110 eingeführt wird,
wird Information über
einen Kommunikations-Kanal 120,
welcher physikalisch oder kabellos sein kann, zwischen der Smartcard 100 und dem
Smartcard-Leser 110 ausgetauscht. Gemäß einer Ausführungsform
der Erfindung wird die abgetastete Vorlage B seriell, eine Nachbarschaft
(oder Teilmenge der Vorlage B) zu einem Zeitpunkt, an das RAM 106 übertragen,
wo sie durch den Mikroprozessor 104 mit der gültigen Vorlage
A verglichen werden kann, welche in der Smartcard 100,
beispielsweise in dem EEPROM 103 gespeichert ist.
-
5 ist
ein Flussdiagramm, welches die verallgemeinerten Schritte zum Abgleichen
von Fingerabdrucks-Vorlagen
darstellt. Spezielle Details einer Ausführungsform der verallgemeinerten
Schritte, werden in der ebenfalls anhängigen US-Patentanmeldung mit
der Seriennummer 09/354,929 beschrieben.
-
In
Bezugnahme auf 1 und 5 werden
in Schritt 504 biometrische Daten, zum Beispiel ein Fingerabdruck,
von dem Sensor 116 gelesen. Eine Fingerabdrucks-Vorlage
(Vorlage B) wird erzeugt und in dem Schritt 508 in dem
RAM 112 platziert. Die ersten zwei Schritte werden von
dem Smartcard-Leser 110 und dem Sensor 116 durchgeführt, während die
nachfolgenden Schritte im Allgemeinen unter der Steuerung des Mikroprozessors 104 erfolgen.
-
In
Schritt 512 wird eine Teilmenge der Vorlage B von dem RAM 112 gelesen
und zu dem RAM 106 übertragen.
Die Teilmenge ist vorzugsweise eine Nachbarschafts-Konstellation 308.
In Schritt 520 wird die Teilmenge von Daten der Vorlage
B sequenziell mit gültigen
Nachbarschafts-Konstellationen der Vorlage A verglichen. Falls die
Vorlagendaten übereinstimmen,
dann übergibt
der Schritt 520 das Verarbeiten an den Schritt 528.
Andernfalls übergibt
der Schritt 520 das Verarbeiten an den Schritt 524,
bei welchem der Mikroprozessor 104 veranlasst, dass eine
nächste
Teilmenge der Vorlage B von dem RAM 112 zu dem RAM 106 übertragen wird.
-
In
dem Schritt 528 werden Vorlagen-Abgleich-Sätze für jeden
Referenzwert entsprechend der abgeglichen Minuzien in den Vorlagen
A und B erzeugt. Falls die Referenzwerte entsprechend der 2B verwendet
werden, werden drei Vorlagen-Abgleichungs-Sätze erzeugt – einer
für die
x-, y- und Beta-Werte.
-
4 stellt
einen Beispielhaften Vorlagen-Abgleich-Satz 400 dar. Eine
erste Spalte 404 hält
die abgeglichenen x-, y-, oder Beta-Werte für die Vorlage A bereit, und
eine zweite Spalte 408 hält die entsprechenden x-, y-
oder Beta-Werte für
die Vorlage B bereit. Es gibt so viele Zeilen 412 in den
Abgleich-Sätzen,
wie es abgeglichene Minuzien (oder „Übereinstimmungen") zwischen den Vorlagen
A und B gibt. Gemäß einer
Ausführungsform
hält jeder
Vorlagen-Abgleich-Satz 400 vier abgeglichene Paare bereit.
Jede Übereinstimmung
entspricht einem "score" Je höher die Übereinstimmung,
desto höher
das score.
-
In
Schritt 532 wird das score der Übereinstimmung mit einem ersten
Schwellenwert verglichen. Falls das score größer als der erste Schwellenwert
ist, werden die Übereinstimmungen
als gültig
und nicht als "falsche
Akzeptanzen" ermittelt.
Entsprechend schreitet die Verarbeitung zu dem Schritt 540 fort,
bei welchem die Minutia-Übereinstimmung
akzeptiert wird. Falls das score dennoch geringer ist oder gleich
dem ersten Schwellenwert ist, dann tritt eine Vor-Verarbeitung bei
dem Schritt 536 auf. Gemäß einer Ausführungsform
ist der erste Schwellenwert der Wert vier. Falls mehr als vier Übereinstimmungen
gefunden werden, sind die einzelnen Stücke einer falschen Akzeptanz
gering. Falls jedoch zwischen einer und vier Minutia-Übereinstimmungen
gefunden werden, sind einzelnen Stücke einer Falsch-Akzeptanz
höher,
so wird folglich eine feinere Granularität für das Überprüfen von Übereinstimmungen gewünscht.
-
6 ist
ein Flussdiagramm, welches die Vor-Verarbeitung einer Abgleich-Vorlage
darstellt, welche als potenzielle Falsch-Akzeptanzen gekennzeichnet
wurden. In Schritt 604 wird das score mit dem zweiten Schwellenwert
verglichen. Falls das Score geringer ist als der zweite Schwellenwert,
dann werden die Übereinstimmungen
zurückgewiesen – eine Überprüfung mit
einer feineren Granularität
ist möglich
aber nicht aussagekräftig.
Zum Beispiel kann der zweite Schwellenwert drei sein, so dass falls
eine oder zwei Übereinstimmungen
gefunden werden, diese dann in dem Schritt 608 als falsche
Akzeptanzen zurückgewiesen
werden, da mehr Sicherheit in den Übereinstimmungen gewünscht ist.
-
In
Schritt 612 wird eine gesamte Separation zwischen den Minuzien
in der Vorlage A und dann zwischen den Minuzien in der Vorlage B
berechnet. Die 8A–C zeigen
entsprechend dem Schritt 612, konzeptionelle Diagramme
einer Ausführungsform
einer Minutia-Abstands-Überprüfung. 8A zeigt
die gesamte Separation zwischen einer Serie von Minuzien in der
Vorlage A, während 8B das
Gleiche für
die Vorlage B zeigt. 8C zeigt wie die zwei gesamten
Separationen mit einem dritten Schwellenwert verglichen werden.
-
Die
gesamte Separation wird mittels eines gesamten Abstands-Unterschiedes
ermittelt. In der Gesamt-Abstands-Unterschieds-Überprüfung wird die gesamt Menge
von Separationen zwischen den Minuzien in jeder Vorlage berechnet.
Zum Beispiel, wird der x-Wert für
die zweite Übereinstimmung
der Vorlage A von dem x-Wert der ersten Übereinstimmung der Vorlage
A subtrahiert. Als nächstes
wird dieser Wert quadriert. Dann wird der y-Wert der zweiten Übereinstimmung
der Vorlage A von dem y-Wert der ersten Übereinstimmung der Vorlage
A subtrahiert. Dieses Ergebnis wird ebenfalls quadriert. Schließlich wird
eine Summe der Quadrate der gesamte x- und y-Differenzen berechnet,
welche eine vollständige
Abstands-Differenz oder "Separationswert" ergibt. Eine Gleichung
für die
gesamte Abstands-Differenz ist
-
-
Wie
in der Gleichung (1) angegeben, wird das Verfahren für jeden
x- und y-Wert wiederholt, welche in den Vorlagen-Abgleich-Sätzen entsprechend der Vorlage
A gespeichert sind. Es wird ebenfalls für die x- und y-Werte, welche
der Voralge B entsprechen wiederholt. In einer alternativen Ausführungsform
kann die Summe der absoluten Werte der Differenzen anstelle des
Quadrierens der Differenz verglichen werden, welches weniger als
eine vollständige
Inanspruchnahme der Rechenressourcen des Mikroprozessors ist.
-
In
Schritt 616 wird ein Rotationswinkel berechnet. Konzeptionelle
Diagramme einer Ausführungsform einer
Minuzien-Winkelüberprüfung entsprechend
dem Schritt 616 sind in den 9A–C gezeigt. 9A und 9B zeigen
jeweils die Winkel Beta zwischen jedem Minutia in der Vorlage A
und B. 9C, während diese nur einen einzelnen
Rotationswinkel zeigt, repräsentiert
das umfassende Konzept. Die Summe der Differenzen zwischen den Winkeln
Beta (zwischen der Vorlage A und B) ist wirklich das was mit dem
vierten Schwellenwert verglichen wird. Eine Gleichung für den gesamten
Rotationswinkel, welche die Menge von Rotationen zwischen den abgetasteten
und gültigen
Vorlagen repräsentiert,
ist:
-
-
In
Schritt 620 wird die in dem Schritt 612 berechnete
Separation mit einem dritten Schwellenwert verglichen. Die Menge
des dritten Schwellenwertes kann eine beliebige Menge sein, welche
durch jemanden, der die Erfindung ausführt, ausgewählt wird, und kann abhängig von
dem Typen der gewählten
Minuzien variieren. Zum Beispiel, kann eine größere Toleranz erwartet werden,
wenn die Minuzien derart ausgewählt
werden, so dass ihre Separation maximiert wird, oder wenn viele
Minuzien ausgewählt
werden. Dennoch kann eine geringere Menge an Toleranz gewünscht sein,
wenn die Minuzien basierend auf ihrer näheren Nachbarschaft zu dem
Referenz-Minutia ausgewählt
werden. Falls der Separationswert größer ist als der dritte Schwellenwert, dann
wird der Abgleich als eine falsche Akzeptanz in dem Schritt 624 zurückgewiesen.
Entsprechend einer alternativen Ausführungsform, falls die Anzahl
der Abgleiche, welche verglichen werden, innerhalb eines kleinen
Bereiches fallen, ist das Dividieren der Summe durch das Score nicht
notwendig, da die Anpassung für die Überbewertung
des Rotationswinkels bei der Wahl des vierten Schwellenwertes berechnet
werden kann.
-
Falls
jedoch der Separationswert nicht größer ist als der dritte Schwellenwert,
dann wird in dem Schritt 628 der Winkelfehler von dem Schritt 616 mit
dem vierten Schwellenwert verglichen. Falls der Winkelfehler außerhalb
des vierten Schwellenwertes liegt, wird der Abgleich als eine falsche
Akzeptanz in dem Schritt 632 zurückgewiesen. Erneut, kann der
vierte Schwellenwert von jemandem willkürlich gewählt werden, welcher die bis
hier hin beschriebene Erfindung implementiert. Je kleiner der Schwellenwert,
wie es in Schritt 620 der Fall war, desto geringer sind
die einzelnen Stücke,
dass eine falsche Akzeptanz auftreten wird und folglich größer in der
Bestimmtheit des aktuellen Vorlagenabgleichs.
-
Falls
der Rotationswinkel jedoch innerhalb des vierten Schwellenwertes
liegt, dann wird in Schritt 636 ein alternativer Rotationswinkel
zwischen den zwei Vorlagen (oder Nachbarn) berechnet. 10A–C sind konzeptionelle
Diagramme von dem, was mittels einer Berechnung eines alternierenden
Rotationswinkels erreicht werden kann. 10A ist
ein Diagramm der Minuzien der Vorlage A. 10B ist
ein Diagramm der Minuzien in der Vorlage B. 10C ist
ein Diagramm, welches den Rotationswinkel zwischen den Minuzien
der Vorlage A und Vorlage B zeigt, genauso wie den fünften Schwellenwert. 7,
welche im Folgenden detailliert beschrieben wird, zeigt eine Ausführungsform
für das
Berechnen eines alternierenden Rotationswinkels in dem Schritt 636.
-
In
Schritt 640 wird der alternierende Rotationswinkel mit
dem fünften
Schwellenwert verglichen. Falls der alternierende Rotationswinkel
innerhalb des fünften
Schwellenwertes liegt, dann werden die Vorlagenabgleiche in Schritt 648 akzeptiert.
Falls der alternierende Rotationswinkel jedoch nicht innerhalb des
fünften Schwellenwertes
liegt, dann wird er in Schritt 644 zurückgewiesen. Falls in dem Schritt 648 eine
Akzeptanz auftritt, dann wird ermittelt, dass die Vorlagenabgleiche
gültig
und keine falsche Akzeptanzen sind.
-
7 stellt
eine Ausführungsform
für das
Berechnen eines alternierenden Rotationswinkels dar. Gemäß einer
Ausführungsform
wird der alternierende Rotationswinkel derart berechnet, dass zwei
unabhängige Messungen
der Drehung zwischen den Vorlagen A und B verglichen werden können. Das
erste Verfahren verwendet die Differenz zwischen den Winkeln der
abgeglichenen Minuzien-Paare, welche über alle Paare gemittelt werden
(Schritt 616). Das zweite Verfahren, welches in der 7 und 10A–10C gezeigt ist, verwendet eine geometrische Konstruktion,
welche die Zentren der Sätze
von Abgleich-Minuzien in jeder Vorlage berechnet und eine Gestalt-Rotationsdifferenz
liefert.
-
In
Schritt 704 wird das Zentrum der Vorlage A berechnet. Dies
wird durch das separate Summieren der x- und dann der y-Werte für die Werte
der Vorlage A in der Abgleichvorlage 400 durchgeführt, wobei
anschließend
das gesamte durch die gesamte Anzahl von Abgleichen (oder score)
dividiert wird. Dies normiert die Zentren für die Nachbarschaften der Vorlagen
A und B. Das gleich Verfahren wird für die x- und y-Werte der Werte
der Voralge B in den Abgleichvorlagen 400 in dem Schritt 708 wiederholt.
-
Gleichung
(3) zeigt das Ergebnis, welches mittels der Schritte 712 bis
einschließlich 776 erhalten
wird. Insbesondere, repräsentieren
die Schritte 712 bis einschließlich 748 den Zähler der
Gleichung (3), während die
Schritte 752 bis einschließlich 772 den Nenner
der Gleichung (3) repräsentieren.
Der Schritt 776 zeigt die Division des Zählers durch
den Nenner, während
der Schritt 780 eine Ausführungsform davon zeigt, wie
zwei unabhängige
Berechnungen des Rotationswinkels verglichen werden können.
-
-
Das
Ergebnis der Gleichung (3) ist eine Approximation der Tangente des
Rotationswinkels (in Radianten). Wenn ein höherer Grad an Präzision benötigt wird,
um Approximations-Fehler zu vermeiden, können aufeinander folgend Approximations-Techniken
oder Verstärkungs-Verfahren
angewendet werden, wenn das Ergebnis einen Winkel liefert, welcher
sich 0° und
+/– 90° annähert. Darüber hinaus,
da die meisten Mikroprozessoren, welche in einer Smartcard verwendet
werden, nicht notwendigerweise die Fähigkeit haben, eine Fließkommaarithmetik
durchzuführen,
wird es bevorzugt, dass falls der Zähler oder der Nenner gleich
Null sind, dass für
die beiden Vorlagen eine entsprechende Drehung angenommen wird (zum
Beispiel 0° oder
90°). Obwohl
die meisten Mikroprozessoren in einer Smartcard 100 minimale
mathematische Funktionalitäten
aufweisen, kann die Approximation, welche mittels der Gleichung
(3) durchgeführt
wird, offensichtlich ersetzt werden, falls geometrische Funktionen
(zum Beispiel Sinus, Kosinus, Tangens) in die Befehlsliste des Mikroprozessors
eingefügt
werden.
-
Nach
dem Schritt 776 wird das Verfahren bei Schritt 780 fortgesetzt,
bei welchem der erste Rotationswinkel (616) von dem zweiten
(776) subtrahiert wird. In Schritt 784 springt
der Fluss zu dem Schritt 640 (6) zurück. Es wird
angemerkt, dass der Schritt 780 nicht notwendig ist, obwohl
dieser in der gegenwärtig
bevorzugten Ausführungsform
in einer Art Abgleich der ersten und zweiten unabhängigen Rotationswinkelberechnungen
verwendet wird – idealer
weise ist die Differenz zwischen den zwei Drehungen gleich Null.
-
Es
wird angemerkt, dass die Überprüfung in
Schritt 640 in Abhängigkeit
davon, ob der Schritt 780 durchgeführt wird, geändert werden
kann. Falls der Schritt 780 nicht durchgeführt wird,
dann kann der mittels der Gleichung (3) ermittelte Rotationswinkel
mit dem vierten Schwellenwert verglichen werden. Gemäß einer Ausführungsform
wird ein Rotationswinkel außerhalb
von 50° als
inakzeptabel betrachtet und der Abgleich wird als eine falsche Akzeptanz
zurückgewiesen.
Andernfalls, wird das Überprüfen fortgeführt und
die Abgleiche werden akzeptiert.
-
Die
Schritte für
eine biometrische Falsch-Akzeptanz-Fehler-Verarbeitung werden vorzugsweise
in einem ausführbaren
Computerprogramm, welches auf einem computerlesbaren Medium gespeichert
ist, wie beispielsweise dem ROM 102 gespeichert, als eine
oder mehrere Sequenzen von Befehlen eingebettet, welche einem Computer-Verarbeitungs-System
technische Funktionalitäten
verleihen.
-
Kurz
vor dem Ausführen
werden die eine oder mehreren Sequenzen von Befehlen in einem ausführbaren
Arbeitsspeicher-Bereich
des Mikroprozessors 104 geladen, von welchem sie schließlich ausgeführt werden.
Nicht alle der Schritte müssen
mittels eines einzelnen Mikroprozessors, wie beispielsweise des
Prozessors 104 ausgeführt
werden. Vielmehr können
einige der Befehle separat von der Smartcard 100 gespeichert werden
und mittels einer Verarbeitungseinheit vollständig unabhängig von der Smartcard 100 ausgeführt werden,
beispielsweise in einem Mikroprozessor 114, oder in einer
anderen entfernten Einheit, welche entweder mit der Smartcard 100 oder
dem Smartcard-Leser 110 gekoppelt ist. Darüber hinaus
können
ausgewählte Schritte
mittels eines ausführbaren
Objekt-Codes durchgeführt
werden, während
andere interpretiert und zur Laufzeit ausgeführt werden.
-
Gemäß einer
Ausführungsform
wird ein Arbeitsplatzrechner mit dem Smartcard-Leser und dem Fingerabdruck-Sensor
gekoppelt sein. Darüber
hinaus wird der Arbeitsplatzrechner eine Verbindung zu dem Internet
oder dem Intranet aufweisen, beispielsweise über einen Internetanschlussanbieter,
einen Internetdienstanbieter oder ein lokales Netzwerk. Ein entfernter
Server in dem Netzwerk fordert eine Authentifizierung für einen
Benutzer an dem Arbeitsplatzrechner an, wobei der Server ein Anwendungs-Programm, wie beispielsweise
das HTTP, CGI, ASP, Perl oder XLM basierendes Bank- oder Informationssystem
aufweist. Der Arbeitsplatzrechner wird seinerseits Befehle initiieren,
welche den biometrischen Sensor dazu veranlassen biometrische Daten
von dem Benutzer abzutasten, und dann den Smartcard-Leser dazu veranlasst
die abgetasteten Daten mit den Daten, welche auf der Smartcard gespeichert
sind, welche Smartcard in den Smartcard-Leser eingeführt ist,
zu validieren. Sobald die Smartcard die abgetasteten biometrischen
Daten validiert hat, wird ein Akzeptanz- oder Zurückweisungs-Signal
zurück
zu dem Arbeitsplatzrechner übertragen.
Der Arbeitsplatzrechner kann seinerseits das Akzeptanz-, Zurückweisungs-,
oder anderes Bestätigungs-Signal
zurück
an den entfernten Server senden. Netzwerkprotokolle, beispielsweise
TCP/IP oder ATM, welche gemäß dem Stand
der Technik allgemein bekannt sind, können die Verbindungs-Übertragung
zwischen Computer-Systemen in dem Netzwerk bereitstellen.
-
Mit
dem Rückblick
auf die detaillierten Beschreibung und die Zeichnungen kann ein
Fachmann bestimmte Modifikationen oder Verbesserungen des Gegenstands
der Erfindung durchführen,
welche noch nicht von dem gesamten Umfang abweichen. Zum Beispiel,
können
kryptografische Funktionen für
das Codieren von Daten auf der Smartcard 100 verwendet
werden, oder um Kommunikationskanäle für das mechanische Kopieren
zu schützen.
Zum Beispiel, können
die Techniken, welche in der US-Patentanmeldung
mit der Seriennummer 09/306,148, eingereicht am 26. April 1999 und
mit dem Titel: "HIGH
SECURITY BIOMETRIC AUTHENTICATION OF USE OF PUBLIC KEY IN A PUBLIC
KEY ENCRYPTION SYSTEM" verwendet
werden. In einer anderen Ausführungsform,
können
die gegenwärtige
Anfangs-Überprüfungen,
welche auf Vorlagen ausgeführt
werden, Überprüfungen für das Detektieren
von Manipulationen aufweisen. Zum Beispiel, können die Verfahren, welche
in der vorläufigen
US-Patentanmeldung 60/158,423, eingereicht am 7. Oktober 1999 und
mit dem Titel: "METHOD
AND APPARATUS FOR DETERMINING A LIVING FINGER ON A FINGERPRINT SENSOR" verwendet werden.
-
Ferner
können
die Falsch-Akzeptanz-Fehler-Verarbeitungs-Techniken vollständig von der Smartcard 100 entfernt
werden und in eine andere Vorrichtung, wie beispielsweise einen
Computer oder Server, welche mit dem Smartcard-Leser 110 oder
dem Sensor 116 verbunden sind, überführt werden.
-
Zahlreiche
weitere Modifikationen, wie beispielsweise unterschiedliche Möglichkeiten
für das
Vergleichen von erfassten Werten mit einem gültigen Wert, oder abgeglichenen
Werten mit Schwellwerten, können durchgeführt werden.
Auch können
andere Normierungstechniken, wie beispielsweise das Konvertieren
von Winkeln in bestimmte Quadranten, oder das Verwenden von absoluten
Werten der abgeglichenen Werte, verwendet werden. Sogar die Datenstrukturen
können
modifiziert werden, so dass sie geringfügig verschieden, oder eine Zusammenlegung
der oben beschriebenen Strukturen sind. Außerdem können Vergleiche mit den Schwellenwerten
durchgeführt
werden, nach dem individuelle oder bestimmte Berechnungen durchgeführt, oder
nach dem alle Berechnungen durchgeführt wurden, so dass eine minimale
Anzahl von Befehls-Zyklen verwendet
werden, wenn das Falsch-Akzeptanz-Fehler-Verarbeiten durchgeführt wird. Entsprechend, muss die
Erfindung stattdessen in Übereinstimmung
mit den beigefügten
Ansprüchen
interpretiert werden, als sie grundsätzlich auf die detaillierten
Ausführungsformen,
welche oben beschrieben wurden, zu beschränken.