## Fingerprint GUI Benutzerhandbuch

### (Version 1.06)

### Wolfgang Ullrich

## Einführung

Fingerprint GUI ist eine Sammlung von Tools zur Benutzung von Fingerabdruck-Scannern unter Linux. Es ermöglicht die Erfassung und Überprüfung von Fingerabdruckdaten sowie Authentifizierung und Benutzer-Login mittels Fingerabdruck-Scanner.

### Sicherheitshinweis

Die Sicherheit und Zuverlässigkeit der Fingerabdruck-Erkennung hängt sehr stark von der verwendeten Hardware, den dazugehörenden Gerätetreibern und der verwendeten Software zur Verifizierung der biometrischen Daten ab. Nach derzeitigem Stand der Technik ist Fingerabdruck-Erkennung für sicherheitskritische Anwendungen nur bedingt geeignet. Weitere Informationen bezüglich der Sicherheit von Fingerabdrücken findet man hier: http://www.bromba.com/faq/fpfaqd.htm

### Lizenz

Fingerprint GUI unterliegt der GNU General Public License Version 2 (GPLv2) http://www.gnu.de/documents/gpl-2.0.de.html

## Registrierung von Fingerabdrücken

Starten Sie das Programm „Fingerprint GUI“ aus dem Menü „System | Einstellungen“ oder durch das Kommando:

> fingerprint-gui -d

in einer Komandozeile. Das Argument „`-d`“ erzeugt Debug-Informationen auf syslog (auth facility). Sie finden die Log-Ausgaben in der Regel unter `/var/log/auth.log`.

### Fingerprint-Scanner auswählen

Im Reiter „Devices“ wird unter „Attached USB Devices“ eine Liste aller erkannten USB-Geräte angezeigt. In der Combobox „Fingerprint Devices“ erscheint eine Auswahl der erkannten Fingerabdruck-Scanner. Sollten mehrere Fingerabdruck-Scanner erkannt worden sein, kann der gewünschte Scanner hier ausgewählt werden. Mit dem „Rescan“ Button kann eine erneute Prüfung am USB-Bus veranlasst werden. Mit der Auswahl „Show Vendor/Device“ bzw. „Show Drivername“ kann man zwischen der Anzeige des Gerätenamens bzw. des Gerätetreibers umschalten.

### Finger auswählen

Mit dem „Next“ Button oder durch Auswahl des Reiters „Finger“ erreicht man die Karte zur Finger-Auswahl.

Oberhalb der Finger befindet sich ein Auswahlknopf. Dabei sind die Finger, für die bereits ein Abdruck registriert wurde grün gekennzeichnet. Wählen Sie hier den zu erfassenden Finger aus.

### Scannen und verifizieren

Mit dem „Next“ Button oder durch Auswahl des Reiters „Scan/Verify“ erreicht man die Karte zur Erfassung oder Verifizierung des Fingerabdrucks.

Registrieren Sie nun den Fingerabdruck. Dabei müssen Sie in Abhängigkeit vom Scanner, dessen Treiber-Software und der Qualität der erfassten Daten diesen Vorgang so lange wiederholen, bis eine Meldung über die erfolgreiche Speicherung der Daten erfolgt ist.

Danach können Sie mit „Yes“ zur Fingerauswahl zurückkehren, wenn Sie einen weiteren Finger registrieren wollen. Klicken Sie „No“, wenn keine weiteren Finger registriert werden sollen.

Wurde ein Finger ausgewählt, für den bereits ein Abdruck registriert ist, erscheint ein Auswahl-Dialog zur Verifizierung oder erneuten Registrierung dieses Fingers.

Mit dem Button „Verify“ kann der bereits registrierte Fingerabdruck überprüft werden. Mit „Acquire new“ werden die vorhandenen Fingerabdruckdaten verworfen und ein neuer Abdruck erfasst. Mit „Cancel“ kehrt man zur Finger-Auswahl zurück.

## Einstellungen testen und Daten exportieren

Mit „Next“ oder durch Auswahl des Reiters „Settings“ erreicht man den Dialog zur Prüfung und Speicherung der Einstellungen.

Mit dem Button „Export now“ können die vorhandenen Fingerabdruck-Daten in einer Datei gesichert werden. Dies ist nur erforderlich, wenn diese Daten extern gesichert oder auch auf einem anderen Computer verwendet werden sollen. Es wird dann eine Datei „`Fingerprints.tar.gz`“ im ausgewählten Verzeichnis erzeugt.

Mit dem „Test“ Button können die Einstellungen zur Authentifizierung überprüft werden. Wählen Sie zunächst den zu überprüfenden Dienst „PAM service“ aus und klicken Sie dann auf Test. Sind alle PAM-Einstellungen korrekt, erscheint die Aufforderung zur Fingerabdruck-Authentifizierung in einem entsprechenden Dialog.

Wurde der Fingerabdruck erkannt und eine erfolgreiche Authentifizierung durchgeführt, erscheint eine entsprechende Ausgabe im Textfeld.

Falls der Dialog zur Authentifizierung nicht erscheint, kann man den Test mit der „Enter“-Taste abbrechen. Es erscheint dann im Textfeld eine entsprechende Fehlermeldung.

In diesem Fall sind die Einstellungen für den betreffenden Dienst unter „`/etc/pam.d/...`“ fehlerhaft und müssen korrigiert werden.

## Passwort speichern

Mit „Next“ oder durch Auswahl des Reiters „Password“ erreicht man den Dialog zur Passwort-Speicherung.

BITTE BENUTZEN SIE DIESE FUNKTION NUR, WENN SIE VOLLSTÄNDIG VERSTANDEN HABEN, WIE SIE FUNKTIONIERT. DIESE FUNKTION KANN EIN SICHERHEITSRISIKO FÜR IHRE DATEN SEIN!

Zur Erklärung: Bei der Verwendung von Fingerabdrücken zur Anmeldung (Login) an Ihrem System wird kein Passwort eingegeben, da Sie an Hand Ihres Fingerabdrucks erkannt wurden. Abhängig von der Konfiguration Ihres Systems wird jedoch eventuell ein Passwort zur Entschlüsselung wichtiger Daten benötigt. Dies ist z.B. der Fall, wenn Ihr Home-Verzeichnis oder der Gnome-Keyring mit Ihrem Login-Passwort verschlüsselt ist. Fingerprint GUI bietet eine Möglichkeit, Ihr Login-Passwort auf einem externen Speichermedium (USB-Stick) verschlüsselt zu speichern. Ist dieses Medium beim Login-Prozess mit dem Computer verbunden, kann das dort gespeicherte Login-Passwort zur Entschlüsselung des Home-Verzeichnisses oder des Gnome-Keyring verwendet werden.

Sicherheitswarnung: Jeder, der Zugriff sowohl auf Ihren Computer als auch auf das externe Speichermedium hat, kann das verschlüsselt gespeicherte Login-Passwort ausspionieren! Sorgen Sie deshalb stets dafür, dass der Computer und das Speichermedium sich niemals unbeaufsichtigt am gleichen Ort befinden! Verbinden Sie dieses Medium nur während des Login-Vorgangs und benutzen Sie es nicht, wenn andere Personen mit Root-Rechten Zugriff auf Ihren Computer haben.

Wenn Sie Ihr Login-Passwort speichern wollen, verbinden Sie zunächst das Speichermedium mit dem Computer. Das Medium muss gemountet sein, Sie müssen Schreibrechte auf diesem Medium haben und es muss sich um einen Wechseldatenträger handeln.

Wählen Sie den Pfad zum Medium, geben Sie In den Passwortfeldern Ihr Login-Passwort zweimal ein und klicken Sie auf „Save“. Es wird auf dem angegebenen Pfad ein verstecktes Verzeichnis „`.fingerprints`“ erzeugt. In diesem Verzeichnis wird eine Datei „`<username>@<hostname>.xml`“ angelegt, welche das verschlüsselte Login-Passwort enthält. Außerdem wird auf der lokalen Festplatte eine Datei „`/var/lib/fingerprint-gui/<username>/config.xml`“ erzeugt, welche die UUID des betreffenden Mediums, den angegebenen Pfad sowie den Schlüssel zur Entschlüsselung des Login-Passworts enthält.

Hinweis: Sollten Sie später Ihr Login-Passwort ändern, müssen Sie diesem Vorgang wiederholen.

Sie können nun das Programm mit dem „Finish“ Button beenden.

## Spezielle Einstellungen

Nachfolgend werden einige spezielle Einstellungen für fortgeschrittene Benutzer beschrieben, die nicht automatisch bei der Installation vorgenommen werden können.

### Benutzerliste abschalten

Unter "System | Systemverwaltung | Anmeldebildschirm" haben Sie die Möglichkeit, die Anzeige der Benutzerliste bei Login abzuschalten. Es erscheint dann am Login-Dialog nur noch ein Eingabefeld für den Benutzernamen. Damit unter diesem Eingabefeld der Dialog zur Eingabe des Fingerabdrucks angezeigt werden kann, müssen Sie die Datei "`/etc/pam.d/gdm`" ändern. Fügen Sie als erste Zeile den folgenden Text ein: auth optional pam_fingerprint-gui.so -d

Kontrollieren Sie bitte auch, ob in der Datei "`/etc/pam.d/common-auth`" in der Zeile mit dem Aufruf von pam_fingerprint-gui.so das Argument "`try_first_identified`" angegeben ist. Ggf. fügen Sie es an diese Zeile an. Sie benötigen root Rechte, um diese Änderungen vornehmen zu können.

Wenn Sie diese Einstellungen richtig vorgenommen haben und die Benutzerliste abgeschaltet ist, werden Sie beim Login an Hand Ihres Fingerabdrucks identifiziert und automatisch angemeldet.

### Authentifizierung mit Policykit-1

Für die Authentifizierung eines Benutzers über Policykit-1 wird in jeder Sitzung ein polkit-gnome-authentication-agent gestartet. Der Start erfolgt durch eine Starter-Datei "`/etc/xdg/autostart/polkit-gnome-authentication-agent.desktop`". Bei der Installation wird diesem Verzeichnis eine Starter-Datei "`/etc/xdg/autostart/fingerprint-polkit-agent.desktop`" hinzugefügt und damit der fingerprint-polkit-agent gestartet. Um einen Konflikt zwischen den beiden Agents zu vermeiden, müssen Sie die Datei "`polkit-gnome-authentication-agent.desktop`" aus dem Verzeichnis "`/etc/xdg/autostart`" löschen. Danach müssen Sie sich ab- und wieder anmelden, um eine Authentifizierung mittels Fingerprint über Policykit-1 zu ermöglichen.

### NVM Emulation

Das Installationspaket installiert Standardeinstellungen für UPEK Fingerprintscanner, die NVM-Emulation benutzen. Dennoch kann es erforderlich sein, ein Feintuning dieser Einstellungen vorzunehmen. Nachfolgend wird auszugsweise aus der Dokumentation für Fingerabdruck-Scanner der Firma UPEK zitiert:

1 Einleitung

UPEK TCD4C und TCD4E Sensoren gibt es in zwei Varianten - mit und ohne Chip-EEPROM. Die NVM-Funktionalität für Sensoren ohne EEPROM muss emuliert werden. BSAPI für Linux verwendet Datei-Emulation für NVM-Funktionalität. Dieses Dokument beschreibt die grundlegende Konfiguration.

...

2 Konfiguration der NVM-Emulation

Der NVM Inhalt für EEPROM-lose Sensoren ist in Dateien gespeichert. Es gibt eine Datei pro Sensor. Der Speicherort dieser Dateien wird durch den "`nvmprefix`" Konfigurationsparameter bestimmt. Dieser Parameter enthält einen Pfad zu den Dateien der NVM-Emulation und einen Präfix für die Dateinamen. Dies ermöglicht (zum Beispiel) versteckte Dateien (Namen beginnen mit '.'). Der "`nvmprefix`"-Parameter kann wie folgt eingestellt werden:

…

Erzeugen Sie als root die Konfigurationsdatei „`/etc/upek.cfg`“ mit der folgenden Zeile (Beispiel):

nvmprefix="/var/upek_data/.NVM"

…

Das Setup-Verzeichnis muss Lese- und Schreibrechte für alle Benutzer haben, die BSAPI verwenden können. Die Datei „`/etc/upek.cfg`“ muss für jedermann lesbar sein.

...

3 Zusätzliche DSN-Parameter

Die Sensoren ohne EEPROM sind für Durchzug in zwei Richtungen vorkonfiguriert. Wenn Sie es vorziehen, den Durchzug nur in eine Richtung zuzulassen, können Sie diese Einstellung ändern, indem Sie den „`dualswipe`“ Parameter überschreiben.

...

Fügen Sie die folgende Zeile in die Datei „`/etc/upek.cfg`“ ein:

dualswipe=0

...

Anmerkung: Der '"`dualswipe`" Parameter muss immer gemeinsam mit dem "`nvmprefix`" Parameter angegeben werden.

...

## Problembehebung

### Installierte Dateien und Hilfsprogramme

Fingerprint GUI benutzt folgende Programme, Hilfsprogramme, Bibliotheken und Dateien. Abhängig von Compilereinstellungen beim Erstellen der Installationspakete kann die Lokalisierung im Dateisystem leicht abweichen (vorhanden in `/usr...` oder `/usr/local/...`).

1. `/usr/local/bin/fingerprint-gui`

   Hauptprogramm zur Erfassung und Verifizierung von Fingerabdrücken und für spezielle Einstellungen;

2. `/usr/local/bin/fingerprint-identifier`

   Programm zum Test der Fingerabdruck-Identifikation, verwendbar in Scripten und anderen Programmen. Der Anmeldename des identifizierten Benutzers wird auf stdout ausgegeben;

3. `/usr/local/lib/fingerprint-gui/fingerprint-helper`

   Hilfsanwendung zum Start des Fingerabdruck-Dialogs über PAM;

4. `/usr/local/lib/fingerprint-gui/fingerprint-plugin`

   Hilfsanwendung zur Einbettung des Fingerabdruck-Dialogs in den gnome-screensaver anstelle einer Bildschirmtastatur;

5. `/usr/local/lib/fingerprint-gui/fingerprint-suid`

   Hilfsanwendung zum Anlegen der Verzeichnisstruktur für die Abspeicherung von Fingerabdruckdaten und Einstellungen der Benutzer mit den erforderlichen Zugriffsrechten;

6. `/usr/local/lib/fingerprint-gui/fingerprint-polkit-agent`

   Authentication Agent für policykit-1;

7. `/lib/security/pam_fingerprint-gui.so`

   PAM-Bibliothek zur Authentifizierung und Identifizierung von Benutzern an Hand von Fingerabdrücken;

8. `/var/lib/fingerprint-gui/<benutzername>`

   Verzeichnis zum Abspeichern von benutzerabhängigen Fingerabdruckdaten und Einstellungen.

### Debug-Ausgabe

Allen Programmmodule und Bibliotheken erzeugen Debug-Ausgaben über syslog (auth facility), wenn sie mit dem Argument „`-d`“ oder „`--debug`“ aufgerufen werden. In der Regel erfolgt die Ausgabe in `/var/log/auth.log`.

### Spezielle Argumente

„`decorated`“ - Argument für den Aufruf von fingerprint-identifier auf der Kommandozeile. Zeigt den Fingerprint-Dialog als dekoriertes Fenster. Standard ist undekoriert;

„`try_first_identified`“ - Argument für den Aufruf von pam_fingerprint-gui.so in den PAM Konfigurationsdateien, welches pam_fingerprint-gui.so veranlasst, sofort „PAM_SUCCESS“ zurückzugeben, falls der betreffende Benutzer bereits in einem früheren Aufruf des Moduls im gleichen PAM Stack identifiziert wurde.

### Online-Hilfe

Online-Hilfe erhält man im Fingerprint GUI Forum unter:

http://home.ullrich-online.cc/fingerprint/Forum

oder auf der Homepage:

http://www.ullrich-online.cc/fingerprint