106 lines
4.2 KiB
XML
106 lines
4.2 KiB
XML
<?xml version="1.0"?>
|
||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
|
||
]>
|
||
<chapter id="intro" xmlns:xi="http://www.w3.org/2003/XInclude">
|
||
<title>Introduction</title>
|
||
|
||
<para>
|
||
libfprint is an open source library to provide access to fingerprint
|
||
scanning devices. For more info, see the
|
||
<ulink url="https://fprint.freedesktop.org/">libfprint project homepage</ulink>.
|
||
</para>
|
||
|
||
<para>
|
||
This documentation is aimed at application developers who wish to integrate
|
||
fingerprint-related functionality into their software. libfprint has been
|
||
designed so that you only have to do this once – by integrating your
|
||
software with libfprint, you'll be supporting all the fingerprint readers
|
||
that we have got our hands on. As such, the API is rather general (and
|
||
therefore hopefully easy to comprehend!), and does its best to hide the
|
||
technical details that required to operate the hardware.
|
||
</para>
|
||
|
||
<para>
|
||
This documentation is not aimed at developers wishing to develop and
|
||
contribute fingerprint device drivers to libfprint.
|
||
</para>
|
||
|
||
<para>
|
||
Feedback on this API and its associated documentation is appreciated. Was
|
||
anything unclear? Does anything seem unreasonably complicated? Is anything
|
||
missing? Let us know on the
|
||
<ulink url="https://lists.freedesktop.org/mailman/listinfo/fprint">mailing list</ulink>.
|
||
</para>
|
||
|
||
<refsect2 id="enrollment">
|
||
<title>Enrollment</title>
|
||
|
||
<para>
|
||
Before you dive into the API, it's worth introducing a couple of concepts.
|
||
</para>
|
||
|
||
<para>
|
||
The process of enrolling a finger is where you effectively scan your
|
||
finger for the purposes of teaching the system what your finger looks like.
|
||
This means that you scan your fingerprint, then the system processes it and
|
||
stores some data about your fingerprint to refer to later.
|
||
</para>
|
||
</refsect2>
|
||
|
||
<refsect2 id="verification">
|
||
<title>Verification</title>
|
||
|
||
<para>
|
||
Verification is what most people think of when they think about fingerprint
|
||
scanning. The process of verification is effectively performing a fresh
|
||
fingerprint scan, and then comparing that scan to a finger that was
|
||
previously enrolled.
|
||
</para>
|
||
|
||
<para>
|
||
As an example scenario, verification can be used to implement what people
|
||
would picture as fingerprint login (i.e. fingerprint replaces password).
|
||
For example:
|
||
</para>
|
||
<itemizedlist mark='dot'>
|
||
<listitem>
|
||
I enroll my fingerprint through some software that trusts I am who I say
|
||
I am. This is a prerequisite before I can perform fingerprint-based
|
||
login for my account.
|
||
</listitem>
|
||
<listitem>
|
||
Some time later, I want to login to my computer. I enter my username,
|
||
but instead of prompting me for a password, it asks me to scan my finger.
|
||
I scan my finger.
|
||
</listitem>
|
||
<listitem>
|
||
The system compares the finger I just scanned to the one that was
|
||
enrolled earlier. If the system decides that the fingerprints match,
|
||
I am successfully logged in. Otherwise, the system informs me that I am
|
||
not authorised to login as that user.
|
||
</listitem>
|
||
</itemizedlist>
|
||
</refsect2>
|
||
|
||
<refsect2 id="identification">
|
||
<title>Identification</title>
|
||
|
||
<para>
|
||
Identification is the process of comparing a freshly scanned fingerprint
|
||
to a <emphasis>collection</emphasis> of previously enrolled fingerprints. For example,
|
||
imagine there are 100 people in an organisation, and they all have enrolled
|
||
their fingerprints. One user walks up to a fingerprint scanner and scans
|
||
their finger. With <emphasis>no other knowledge</emphasis> of who that user might be,
|
||
the system examines their fingerprint, looks in the database, and determines
|
||
that the user is user number #61.
|
||
</para>
|
||
|
||
<para>
|
||
In other words, verification might be seen as a one-to-one fingerprint
|
||
comparison where you know the identity of the user that you wish to
|
||
authenticate, whereas identification is a one-to-many comparison where you
|
||
do not know the identity of the user that you wish to authenticate.
|
||
</para>
|
||
</refsect2>
|
||
</chapter>
|