Biometrics Slides
Biometrics Slides
Andreas Uhl
Email-Address: uhl@cosy.sbg.ac.at.
Basis-URL: http://www.cosy.sbg.ac.at/˜uhl.
Office: FB Computerwissenschaften (Department of Computer
Sciences), Room 1.15, Jakob-Haringer Str. 2,
Salzburg-Itzling.
Telefon (Office): (0662) 8044-6303.
Telefon (Secretary): (0662) 8044-6328 or -6343.
Course-URL:
http://www.cosy.sbg.ac.at/˜uhl/student.html.
When: Di 8:30 - 10:00
Interval: weekly
Where: Lecture Room T02
Non-visual modalities
Key-stroke dynamics
On-line signatures
Biorhythms (heartbeat, ECG, EEG)
Speaker recognition
Uncommon modalities (odour, keystroke audio, gestures, ....)
Visual modalities
Iris recognition
Retina recognition
Fingerprint recognition
Face recognition
Vein recognition
Remarks on Gait, Ear, Foot, etc. recognition
Specific Journals
IEEE Transactions on Information Forensics and Security (TIFS)
IET Biometrics
Questionable quality: Int. Journal on Biometrics
Unspecific Journals
IEEE Transactions on Pattern Analysis and Machine Intelligence
Pattern Recognition
NOT: Biometrics
.... or in more general purpose Journals in the areas of Multimedia,
Signal Processing and Security (“CRYPTOGRAPHY MARRIES
MULTIMEDIA SIGNAL PROCESSING”).
Monographs
Iris Biometrics: From Segmentation to Template Security (Rathgeb,
Uhl, Wild; Springer, 2013).
Biometric Systems (Wayman, Kain, Maltoni, Maio; Springer 2005).
Handbooks of Fingerprint Recognition (Maltoni, Maio, Jain,
Prabhakar; Springer 2009), Face Recognition (Li, Jain; Springer
2004), and Iris Recognition (Bowyer, Philips, Ross; Springer 2015)
Palmprint Authentication (Zhang; Kluwer 2004)
Biometric User Authentication for IT Security (Vielhauer; Springer
2006)
Security and Privacy in Biometrics (Campisi; Springer 2013)
Handbook of Biometric Anti-Spoofing (Marcel, Nixon, Li; Springer
2014)
Age Factors in Biometric Processing (Fairhurst; IET 2013)
Recognition of animals
face and retina recognition in sheep
avian comb of poultry
nose-prints in cattle
skin texture: zebra stripes and fish skin (fish farm “surveillance”)
bird songs to classify species and variations within species
X 50.000.000 = 0.9999
public vs. private: refers to the question if the users of the system
are “customers” (public) or employees (private) of the organisation
that operates the biometric system. Governmental operated
biometrics is always public.
open vs. closed: will it ever be possible to exchange data with
another system ? A closed system may employ proprietory data
formats (like the FBI WSQ fingerprint representation), while an
open system needs to adhere to standards (e.g. JPEG2000).
Example: EU-ABC gates (Face recognition) – positive recognition,
cooperative, overt, non-attended, non-habituated, standard, public,
open.
* In biometric systems, it is
often preferred to directly
relate type I and type II
errors since their ranges fit
better.
* Cumulative Match
Characteristic (CMC):
displays the probability of
identification for numerous
ranks – probability of correct
identification at rank X
means the probability that
the correct match is
somewhere in the top X
similarity scores.
1 Attacks
Fake biometric trait (painted contact lens, rubber finger, 3D face
mask, reconstructed trait from template)
Image / Video replay attack: replay recorded biometric trait in front
of sensor
2 Countermeasures
Livenenss detection (pulse, colour changes, temperature, hippus,
variability in several samples, etc.)
Generic recapturing detection (e.g. interference frame rate / display
refresh rate, presence of two optical distortions, colour changes,
etc.)
While the industry has long claimed that one of the primary benefits of
biometric templates is that original biometric signals acquired to enroll
a data subject cannot be reconstructed from stored tem- plates,
several approaches (in fingerprint, iris, finger vein recognition) have
proven this claim wrong. Raw data can be reconstructed from
biometric templates allowing for verification and identification, albeit
not being identical to the raw data the template has been derived from.
c = g m · r n mod n2 .
L(c λ mod n2 )
m= mod n,
L(g λ mod n2 )
u−1
where L(u) = n .
Let m1 = (m1 [1] . . . m1 [k ]), m2 = (m2 [1] . . . m2 [k]) be two binary strings
of length k . Then
m1 ⊕ m2 = m1 [i] + m2 [i] − 2m1 [i]m2 [i], i = 1, . . . , k .
Andreas Uhl: Biometric Systems 79/257
Comparing Binary Templates with Homomorphic
Encryption II
As a consequence, we have to use bit-by-bit encryption of the Paillier
scheme and can finally perform the encrypted xor as follows:
EP (m1 [i] ⊕ m2 [i]) = EP (m1 [i]) · EP (m2 [i]) · (EP (m1 [i]))m̃2 [i] mod n2
where n is part of the public key for the Paillier cryptosystem and all
encryption steps also use the public key.
DB
Step 3
E(t′i , pk) k := No. of stored templates
i = rand(1, . . . , k)
Step 1 Step 2
template t E(t, pk)
Client AS
Step 6
granted: min(hi ) ≤ θ Step 4
denied: min(hi ) > θ E(xori ) := π(E(t, pk) ⊕ E(t′i , pk))
Step 5
hi := HW(D(E(xori ), sk))
M
Letting S[i] denote the location of key pair i inPthe sorted sample S, we
compute the distance between S and S 0 as: i |S[i] − S 0 [i]|
Andreas Uhl: Biometric Systems 92/257
Keystroke Dynamics: Shift Key Usage
For each key, either the right or left Shift key may be employed. This
can be used for habituated users as an additional feature. 4 classes of
shift key users can be hypthesized: strictly right or left shift users,
opposite-shift users, and chaotic shift users.
https://password.keytrac.net/en/tryout
http://fingerprint.tappy.pw/
http://www.keystroke-dynamics.com/
First, the IP-packets and their timings when writing passwords have to
be recognized from the network.
A Gaussian model was derived for all key pairs, and using this
information a brute force attack against the SSH su PWD could be
reduced to 2.7% of the PWD space (modelling was done using a
Hidden Markov Model: character pairs are the hidden states while the
latencies are the observed output; the Viterbi algorithm is used to
compute the most likely sequence of states from given latencies – see
Online Signatures !).
The procedure is simuilar to classical DTW but the matrix only contains
EPs and specific local path shapes are defined to allow for skipping
ripples (which is penalised in cost computations).
Andreas Uhl: Biometric Systems 122/257
EP-DTW Example
Xn+1 − Xn
xj0 = Xn + (xj − xn )
xn+1 − xn
Contrasting to classical DTW the original shape of the curve is less
detoriated.
In our example the hidden states are sun, clouds, rain, while the
observations are sogggy, damp, dryish, and dry with their
corresponding transition- (A) and confusion (B) matrices.
For example, this means that in the state sun the piece of wood is dry
with P = 0.6. A HMM is characterized by the triple (A, B, Π).
For signature modelling, usually about 6 states are used, however, this
can be optimised in training. Left-Right topology with optional state
skips is the classical solution.
Andreas Uhl: Biometric Systems 132/257
HMM: Evaluation
For computing the probability of a given HMM to emit a sequence of
visible states V T one could consider the probability of all potential
state sequences while emitting the sequence of visible states. Adding
up all these probabilites produces the overall probability P(V T ), where
T is the length of the observed sequence and n the number of hidden
states.
X
P(V T ) = P(V T |ω T )P(ω T )
where the sum is extended over all potential hidden state sequences
ω T = ω1 , . . . , ωT .
T
n Y
T
X
T
P(V ) = P(vt |ωt )P(ωt |ωt−1 )
t=1
Also for decoding one could compute the probabilities for all
sequences of hidden states emitting the sequence of observed states
and finally picking the one with the highest probability, but as seen, this
is too expensive. The solution is to apply the dynamic programming
priciple with maximising the probability, i.e. the identification of the
most probable state at each time t. For this purpose we define the
Viterbi variable δt (i) to be the largest probability to have V t emitted in
case the HMM is in state i at time t.
For initialisation t = 1 we have δ1 (j) = πj bj (v1 (k)). In general,
δt (j) = max1≤i≤n [δt−1 (i)aij ]bj (vt (k )). This means that from state to
state, we identify the path with the largest probability until we arrive in
j. Since the sequence of states is sought, the stes need to be stored in
a path φ(j): φt (j) = argmax1≤i≤n [δt−1 (i)aij ]. Having reached the final
state, the maximal value is traced along the path to t = 1.
p
X X X
ak s(n − k)s(n − i) = − s(n)s(n − i) ∀i = 1, 2, . . . , p
k=1 n n
SVC was a biannual contest under normed condition and has been
transformed into a contineous contest in the last years. Trainings data
is provided, submitted algorithms are evaluated on a standard test
data set resulting in a set of performance figures.
Two tasks are investigated: time-dependent coordinate data (more of
off-line type) and a second one which additionally has pressure and
pen orientation data (on- as well as off-line). Both datasets contain a
significant number of forgeries, however, for privacy reasons not the
real signatures of the subjects have been used (although this was
trained it is not really habituated execution which is a design
weakness).
There are significant differences among the submitted techniques and
there is no significant advantage of task 2 over task 1 which questions
the usefulness of intriniscally on-line features. These results have
been explained by the “non-habituated” signatures.
Most iris recognition schemes are similar wrt. items 1) - 4), major
differences are seen in item 5).
1) Acquisition: Commercial systems use NIR illumination, best
results are seen in case of imaging with user cooperation in terms
of optimal positioning and a small camera distance, altough recent
systems (“iris on the move”) capture data from moving subjects in
a tunnel-like system, which requires iris tracking and subsequent
capturing with a tele-lens.
2) Iris Localisation & Segmentation: In the eye greyscale image, the
iris is detected and segmented usually based on boundary
edge-chains.
3) The resulting annunus (almost circular ring) is difficult to be
processed further also due to different radii – using a transform
into polar coordinates, a rectangular data structure is generated.
Im{Ψ(x, y) ∗ I(x, y )}
φ(x, y ) = tan−1 .
Re{Ψ(x, y) ∗ I(x, y )}
Quantising this phase angle to two bits results in the so-called “Iris
Code”.
Andreas Uhl: Biometric Systems 186/257
The Daugman Algorithm: Gabor Features II
Gabor and DWT filtering (Daub4 filter) are applied to the normalised
iris texture, the resulting subbands are represented by their means and
standard deviations – methods of classical texture classification are
employed. The employed Gabor filter of opposite symmetry he (x, y)
and ho (x, y) are given as
Even though FP sensors have been developed over 30 years ago, still
an ink-based procedure is partially used in forensics: The finger is
covered with ink and pressed against cardboard. This procdure allows
to capture the FP form one side of the nail to the other providing more
information content compared to “flat” FP sensors. However, imprint
quality depends on a uniform ink application and the finger condition
(sweat, grease). In forensics, it is custom to take ten-prints,
constrasting to commercial applications. Captured prints are digitised
by scanners or cameras to be used in an AFIS (automated fingerprint
identification system). Thus, current forensic dataset often contain
off-line as well as on-line FPs, which complicates automated matching.
In forensics, “latent” FPs are specific – in case a finger touches an
object, a veil of moisture and grease is applied to the object representig
the structure of the ridges. Several techniques have been develop to
improve the quality of FP for acquisition and processing (e.g. powder).
1 X
Ji,j = gs gsT
b2
s∈B
8
X 8
X
Gxx = ∆x (xi + h, yj + k)2
h=−8 k=−8
8
X 8
X
Gyy = ∆y (xi + h, yj + k)2
h=−8 k=−8
7
X
PG,C (i, j) = angel(dk , d(k+1)mod8 )
k=0
The idea is to employ local minutiae structures which are less sensitive
against global transformations. Computational effort is lower, but the
same is true for distinctiveness. A possible application uses local
matching for alignment followed by a global FP matching stage.
Variants:
Feature vector contains the number of minutiae of different types
in an area.
Relative orientation to the orientation of a central minutia, distance
and ridge count to surrounding minutiae is also recorded.
Graph notation: A star connected to a minutia consists of the
nodes (minutiae in the neighbourhood) and the edges (connecting
lies to those minutiae). Each star in T is matched against each
star in I using different rotation angles.