<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
<article lang="">
  <title>Fingerprint GUI Benutzerhandbuch</title>

  <subtitle>(Version 1.06)</subtitle>

  <articleinfo>
    <author>
      <firstname>Wolfgang</firstname>

      <surname>Ullrich</surname>
    </author>

    <date>2014/09/19</date>
  </articleinfo>

  <sect1>
    <title>Einführung</title>

    <para>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.</para>

    <sect2>
      <title>Sicherheitshinweis</title>

      <para>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: <ulink
      url="http://www.bromba.com/faq/fpfaqd.htm">http://www.bromba.com/faq/fpfaqd.htm</ulink></para>
    </sect2>

    <sect2>
      <title>Lizenz</title>

      <para>Fingerprint GUI unterliegt der GNU General Public License Version
      2 (GPLv2) <ulink
      url="http://www.gnu.de/documents/gpl-2.0.de.html">http://www.gnu.de/documents/gpl-2.0.de.html</ulink></para>
    </sect2>
  </sect1>

  <sect1>
    <title>Registrierung von Fingerabdrücken</title>

    <para>Starten Sie das Programm „<application><command>Fingerprint
    GUI</command></application>“ aus dem Menü „<command>System |
    Einstellungen</command>“ oder durch das Kommando:</para>

    <para>&gt; <command>fingerprint-gui -d</command></para>

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

    <graphic fileref="start.png" />

    <para></para>

    <sect2>
      <title>Fingerprint-Scanner auswählen</title>

      <para>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.</para>
    </sect2>

    <sect2>
      <title>Finger auswählen</title>

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

      <graphic fileref="fingerchoice.png" />

      <para>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.</para>
    </sect2>

    <sect2>
      <title>Scannen und verifizieren</title>

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

      <graphic fileref="acquire.png" />

      <para>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.</para>

      <graphic fileref="saved.png" />

      <para>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.</para>

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

      <graphic fileref="verify.png" />

      <para>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.</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Einstellungen testen und Daten exportieren</title>

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

    <graphic fileref="settings.png" />

    <para>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
    „<filename>Fingerprints.tar.gz</filename>“ im ausgewählten Verzeichnis
    erzeugt.</para>

    <para>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.</para>

    <graphic fileref="test.png" />

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

    <graphic fileref="success.png" />

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

    <graphic fileref="failed.png" />

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

  <sect1>
    <title>Passwort speichern</title>

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

    <para><remark>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!</remark><graphic
    fileref="password.png" /></para>

    <para><remark>Zur Erklärung:</remark> 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.</para>

    <para><remark>Sicherheitswarnung:</remark> 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.</para>

    <para>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.</para>

    <graphic fileref="pwsave.png" />

    <para>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
    „<filename>.fingerprints</filename>“ erzeugt. In diesem Verzeichnis wird
    eine Datei „<filename>&lt;username&gt;@&lt;hostname&gt;.xml</filename>“
    angelegt, welche das verschlüsselte Login-Passwort enthält. Außerdem wird
    auf der lokalen Festplatte eine Datei
    „<filename>/var/lib/fingerprint-gui/&lt;username&gt;/config.xml</filename>“
    erzeugt, welche die UUID des betreffenden Mediums, den angegebenen Pfad
    sowie den Schlüssel zur Entschlüsselung des Login-Passworts
    enthält.</para>

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

    <para>Sie können nun das Programm mit dem „Finish“ Button beenden.</para>
  </sect1>

  <sect1>
    <title>Spezielle Einstellungen</title>

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

    <sect2>
      <title>Benutzerliste abschalten</title>

      <para>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
      "<filename>/etc/pam.d/gdm</filename>" ändern. Fügen Sie als erste Zeile
      den folgenden Text ein: <command>auth optional pam_fingerprint-gui.so
      -d</command></para>

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

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

    <sect2>
      <title>Authentifizierung mit Policykit-1</title>

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

    <sect2>
      <title>NVM Emulation</title>

      <para>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:</para>

      <para>1 Einleitung</para>

      <para>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.</para>

      <para>...</para>

      <para>2 Konfiguration der NVM-Emulation</para>

      <para>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 "<parameter>nvmprefix</parameter>"
      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 "<parameter>nvmprefix</parameter>"-Parameter kann wie folgt
      eingestellt werden:</para>

      <para>…</para>

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

      <para><command>nvmprefix="/var/upek_data/.NVM</command>"</para>

      <para>…</para>

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

      <para>...</para>

      <para>3 Zusätzliche DSN-Parameter</para>

      <para>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
      „<parameter>dualswipe</parameter>“ Parameter überschreiben.</para>

      <para>...</para>

      <para>Fügen Sie die folgende Zeile in die Datei
      „<filename>/etc/upek.cfg</filename>“ ein:</para>

      <para><command>dualswipe=0</command></para>

      <para>...</para>

      <para><remark>Anmerkung:</remark> Der
      '"<parameter>dualswipe</parameter>" Parameter muss immer gemeinsam mit
      dem "<parameter>nvmprefix</parameter>" Parameter angegeben
      werden.</para>

      <para>...</para>
    </sect2>
  </sect1>

  <sect1>
    <title>Problembehebung</title>

    <sect2>
      <title>Installierte Dateien und Hilfsprogramme</title>

      <para>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 <filename>/usr...</filename> oder
      <filename>/usr/local/...</filename>).</para>

      <orderedlist>
        <listitem>
          <para><filename>/usr/local/bin/fingerprint-gui</filename></para>

          <para>Hauptprogramm zur Erfassung und Verifizierung von
          Fingerabdrücken und für spezielle Einstellungen;</para>
        </listitem>

        <listitem>
          <para><filename>/usr/local/bin/fingerprint-identifier</filename></para>

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

        <listitem>
          <para><filename>/usr/local/lib/fingerprint-gui/fingerprint-helper</filename></para>

          <para>Hilfsanwendung zum Start des Fingerabdruck-Dialogs über
          PAM;</para>
        </listitem>

        <listitem>
          <para><filename>/usr/local/lib/fingerprint-gui/fingerprint-plugin</filename></para>

          <para>Hilfsanwendung zur Einbettung des Fingerabdruck-Dialogs in den
          gnome-screensaver anstelle einer Bildschirmtastatur;</para>
        </listitem>

        <listitem>
          <para><filename>/usr/local/lib/fingerprint-gui/fingerprint-suid</filename></para>

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

        <listitem>
          <para><filename>/usr/local/lib/fingerprint-gui/fingerprint-polkit-agent</filename></para>

          <para>Authentication Agent für policykit-1;</para>
        </listitem>

        <listitem>
          <para><filename>/lib/security/pam_fingerprint-gui.so</filename></para>

          <para>PAM-Bibliothek zur Authentifizierung und Identifizierung von
          Benutzern an Hand von Fingerabdrücken;</para>
        </listitem>

        <listitem>
          <para><filename>/var/lib/fingerprint-gui/&lt;benutzername&gt;</filename></para>

          <para>Verzeichnis zum Abspeichern von benutzerabhängigen
          Fingerabdruckdaten und Einstellungen.</para>
        </listitem>
      </orderedlist>
    </sect2>

    <sect2>
      <title>Debug-Ausgabe</title>

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

    <sect2>
      <title>Spezielle Argumente</title>

      <para>„<parameter>decorated</parameter>“ - Argument für den Aufruf von
      <command>fingerprint-identifier</command> auf der Kommandozeile. Zeigt
      den Fingerprint-Dialog als dekoriertes Fenster. Standard ist
      undekoriert;</para>

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

    <sect2>
      <title>Online-Hilfe</title>

      <para>Online-Hilfe erhält man im Fingerprint GUI Forum unter:</para>

      <para><ulink
      url="http://home.ullrich-online.cc/fingerprint/Forum">http://home.ullrich-online.cc/fingerprint/Forum</ulink></para>

      <para>oder auf der Homepage:</para>

      <para><ulink
      url="http://www.ullrich-online.cc/fingerprint/">http://www.ullrich-online.cc/fingerprint</ulink></para>

      <para></para>
    </sect2>
  </sect1>
</article>
