IBM Research 

Nalini K Ratha* Exploratory Computer Vision Group 

IBM T. J. Watson Research Center 

Hawthorne, NY 10532 

Performance evaluation of cancelable biometrics 

*Joint work with members of biometrics research team 
IBM Research 

Cancelable Biometrics  Intentional repeatable distortion 

 Generates a similar signal each 

time for the same user 

 Compromised scenario: 

 a new distortion creates a new 

biometrics 

 Comparison scenario: 

 different distortions for different 

accounts 

 Backwards compatibility 

 Representation is not changed. 

© New Yorker Magazine (Char

2 
IBM Research 

Cancelability requirements of the transform 

1. The intrinsic strength (individuality) of the biometric should not be 

after transformation. (Constraint on FAR) 

D(x , x ) > t  D(T(x ),T(x )) > t 1 2 1 2 

2. The transformation should be tolerant to intra-user variatio

(Constraint on FRR) 

D(x , x ) < t  D(T(x ),T(x )) < t 1 2 1 2 

3. The original should not match with the transform, 

D(x,T(x)) > t

4. Different transforms of the same user should not match wit

other D(T1(x),T2 (x)) > t

3 
Registration based 

IBM Research 
T 

Transformation 

T 

Registration 

IBM Research 

Challenges 5 
IBM Research 

Feature Domain Transformation 

Polar Transform

Feature Extraction 

Cartesian Transformation Surface Folding Transfor

6 
Same transform for all users Different transforms for 

GOOD 

BAD 

Annoyance Convenience 

IBM Research 

How does it affect accuracy? 

High security Low security 

• Results reported in 

• “Cancelable biometrics: A case study in Fingerprints”, ICPR 06 • “Generating cancelable fingerprint templates”,IEEE PAMI 

7 
Registration free 

IBM Research 
IBM Research 

Enrollment 

Print 

1 2 1 3 2 1 1 1 

9 
IBM Research 

Verification 

9697 .00914 .0

1976 .1

9976 .0

2914 .06976 .0

10 
y

Random P

x'

y'

x

y

y'

IBM Research 

Cancelable methods 

•Can we avoid storing the original patch signatures? Preferred: Or

•Ways to transform/hide the feature vector projec

•Encryption - representation too unstable for encryption •Polynomial transformation •Random projection- fits well with NDP distance 

Polynomial transformation 

11 
IBM Research 

Cancelability (2) 

yxd = 0914 .0),( 

xBT

yAT

xAT x

y

BT y

Each patch can be used to produce multiple transforms 

12 
IBM Research 

Cancelability (3) 

yxd = 0914 .0),( yxd = 0914 .0),( 

yBxd = 0328 .1),( T

yxBd = 0352 .1),( T

BT x x

y

BT y

Original match among themselves Transforms match among themselves 

Transform does not match with original 

13 
x y

AT AT x y

yxd = 0914 .0),( yxd = 0914 .0),( yxd = 0914 .0),( 

9256 .09697 .08474 .0

8433 .0

BT BT x y

IBM Research 

Cancelability (4) 

Score more than 0.5 is a mismatch 

Different Transforms don’t match with each other 

14 




Original features 

Cancelable features 

IBM Research 

Empirical Results (1) 

Patch based verification 

 Performance is less than geom

matchers (62% GAR at 0.01% 

Cancelabilility 

 Complete separation (100% GA

achieved by having separate tra

separate individuals 

Diversity of key space 

 Complete separation (100% GA

achieved for separate (188) tran

same individual. 

Non invertiblity 

 Complete separation (100% GA

achieved for non-invertible cons

 Perfect performance because uses entropy from key also  If everyone uses the same key performance will not chan

because distances are preserved 

15 
IBM Research 

Increasing security: Two factor transformation 

 The current construction is invertible 

If we have the projecting matrix B, and the transform T(x) = BT x

x = BT(x) = BBT x, can be recovered 

 Can we increase security?  Two factor transformation 

 The projection matrix B is constructed using two orthonormal matrices U,V 

B =UVT

T T T T UU =U U =VV =V V = I

T T T T T BB = (UV )VU =U(V V )U = I

U,V are obtained by performing SVD on a random matrix R =USVT

S is not recorded anywhere in the system. U, V do not leak information about each other 

 U and V can be separately stored separately (e.g. split between user and  Symmetric key, public key comparison 

16 
Define, 

1T T if B x > 0, (B UV ) = T(x)= 0 otherwise 

IBM Research 

More security: Non-invertibility 

 We can make the construction non-invertible 

by introducing some non-linearity 

 Thus, even if U, V, T(x) are known, it is 

impossible to recover x from T(x) 

 Advantages: 

 The construction is non-invertible 

 Disadvantages 

 Brute force attack is easier. (More pre-images 

BT of x produce the same sign) Score distributions for 

non-invertible con

17 
a1

a2

a3 

s1

. 

.

. .

Exploratory Computer Vision Group 

Invariant features 

 Independent triangle features 

– The sides 

 Dependent triangle feature 

– Height at largest side 

 Fingerprint features 

– Minutiae angles with respect to triangle 

a2 

h

s3 

s2 

a3

s1 

a1 
0 

1 2 3 4 

... ... ... 

2 (3 x p) 

= 

1 2 

. . 

. 

(3 x p)

.2 

 Quantize  Constrain side l

(s1 s2 s3) 

Impossible and 

possible triangles 

(s’1 s’2 s’3) 

= 

Exploratory Computer Vision Group 

Triangles can be enumerated 

s1, s2, s3 quantized using p bits 
Minutia Triangle Triangle Binarization Mutation Randomizat

Indexing Hashing Triplets 

001 010 000 1010 1100 1011 010 

A1 A2 A3 S1 S2 S3 H Index #

2k 

... ... 

: 

... ... 

2 1 0 

1 0 1 

: 

3 2 0 1 0 

001 010 000 1000 1010 1110 010 

A1 A2 A3 S1 S2 S3 H 

1 0 1 

: 

0 0 0 1 0 

0 0 1 

: 

1 0 0 1 0 

Exploratory Computer Vision Group 

Enrolment 
Exploratory Computer Vision Group 

Verification 

001 010 000 1010 1100 1011 010 

A1 A2 A3 S1 S2 S3 H 

Index #

2k 

... ... 

: 

... ... 

2 1 0 

1 0 1 

: 

2 1 0 1 0 

1 0 1 

: 

0 

0 0 1 0 

001 010 000 1000 1010 1110 010 

A1 A2 A3 S1 S2 S3 H 

1 0 0 

: 

0 1 0 1 0 

Enrolled 
Exploratory Computer Vision Group 

Steps in building a cancelable iris system 

 Segmentation  Feature extraction  Cancelable techniques 


Exploratory Computer Vision Group 

0 

-1 

1 

-4 -6 

4 

-3 -1 

Method 1: GRAY COMBO 

 template based row shift and combination 

– Step 1: for each row shift circularly: – Step 2: combine two rows together to get a new one: 

• Intensity +, -• One row can be used more than once • Easy methods: odd+even, fold like a mirror 

Combine rows 1, 3 to the new 1st row 

Combine rows 2, 8 to the new 2nd row 

Combine rows 4, 6 to the new 3rd row 

Combine rows 5, 7 to the new 4th row 
Exploratory Computer Vision Group 

Method 2: BIN COMBO 

 code based row shift and combination 

– Step 1: for each row shift circularly: 

0 

-1 

1 

-4 -6 

4 

-3 -1 

– Step 2: combine two rows together to get a new one: 

• Binary XOR, or NXOR • One row can be used more than once • Easy methods: odd+even, fold like a mirror 

Combine rows 1, 3 to the new 1st row 

Combine rows 2, 8 to the new 2nd row 

Combine rows 4, 6 to the new 3rd row 

Combine rows 5, 7 to the new 4th row 
Exploratory Computer Vision Group 

Method 3: GRAY SALT 

 template based salty noise 

– Just plus a unique pattern --- random noise, random pattern or ran

synthetic iris texture 

– Generate new code according to the new texture 
Exploratory Computer Vision Group 

Method 4: BIN SALT 

 code based salty noise 

– Just plus a unique binary pattern --- random noise , random patter

random synthetic iris code 
Exploratory Computer Vision Group 

Matcher 

 Assume head tilt is not heavy  Matching algorithm need to be modified: 

Gallery + Nois

Probe 

+ 

Noise 

+ 
Exploratory Computer Vision Group 

Key performance metrics 

 Accuracy 

– How do the error rates change? 

• Same transform vs. different transform 

 Transform space 

– How many transforms are possible? – Brute force non-invertible strength of the transform 

 Backward compatibility  Impact on speed 
Thank you 

IBM Research