# Authentification révocable pour la vérification basée texture d'empreintes digitales

Rima Belguechi, Baptiste Hemery, Christophe Rosenberger

► To cite this version:

Rima Belguechi, Baptiste Hemery, Christophe Rosenberger. Authentification révocable pour la vérification basée texture d'empreintes digitales. Congrès Francophone en Reconnaissance des Formes et l'Intelligence Artificielle (RFIA), Jan 2010, Caen, France. pp.1-8. hal-00999444

HAL Id: hal-00999444

https://hal.science/hal-00999444v1

Submitted on 12 Apr 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Authentification révocable pour la vérification basée texture d'empreintes digitales

Rima Belguechi<fnref n="1" />

Baptiste Hemery<fnref n="2" />

Christophe Rosenberger<fnref n="2" />

r_belguechi@esi.dz

baptiste.hemery@greyc.ensicean.fr

christophe.rosenberger@greyc.ensicaen.fr

## Résumé

Les défis lors du déploiement des systèmes biométriques sont de taille. Nous dénombrons plusieurs enjeux comme la performance, la protection de la vie privée, la sécurité du système et son acceptabilité par les utilisateurs. Dans ce contexte, nous avons conçu un système d'authentification par empreintes digitales dont la phase d'extraction du modèle discriminant se décompose en deux étapes. Dans la première étape, un vecteur représentatif de l'image d'empreinte est dérivé en utilisant un banc de filtres de Gabor. Un processus de détection de la région d'intérêt est préalablement opéré. Durant la seconde étape, le vecteur caractéristique est plongé dans un schéma de salage en utilisant une clé secrète K. Le modèle ainsi généré est un vecteur binaire appelé BioCode. Seul le BioCode sera sauvegardé pour la reconnaissance. Le BioCode ainsi obtenu offre une solution élégante pour la protection de la vie privée de l'individu comme le prouve notre phase de tests.

## Mots Clef

Empreinte digitale, crypto-biométrie, appariement, analyse de texture

## Abstract

The challenges during the deployment of biometric systems are numerous. We have to take into account performance, privacy, security and acceptability issues. In this context, we developed an authentication system using fingerprints whose extraction phase of the representative model breaks up into two stages. In the first stage, a vector characteristic of the fingerprint image is derived by using a Gabor filterbank. A detection process of the area of interest is operated beforehand. During the second stage, the characteristic vector is plunged in a salting scheme by using a secret key K. The model thus generated is a binary vector called BioCode.

Only the BioCode will be registered for the recognition. The BioCode thus obtained offers an elegant solution to the mentioned problems before as our phase of tests proves it.

## Keywords

Fingerprint, crypto-biometrics, matching, texture analysis

## 1 Introduction

La reconnaissance biométrique, qui est la science qui vérifie l'identité d'une personne à partir de ces attributs anatomiques ou comportementaux offre une solution possible au problème d'authentification dans les systèmes de gestion d'identité. Plusieurs études prévoient une explosion du marché de la biométrie en relation essentiellement avec le développement des transferts de données électroniques, en particulier sur Internet (télépaiement, etc.). L'engouement pour la biométrie s'explique par le fait qu'elle offre une manière ergonomique d'authentifier ou d'identifier une personne. De plus, elle constitue une manière élégante d'adresser le problème de non répudiation posé par les éléments d'authentification classiques tels que les mots de passe ou les tokens. Cependant, placer la biométrie dans une perspective de déploiement industriel suscite toujours des réticences et est actuellement sujet de controverse tant sur la plan social que juridique. Le recours à la biométrie présente des risques quant au respect des droits et des libertés fondamentales. Le corps humain est une composante de la vie privée et certains systèmes juridiques à l'instar du droit français stipulent que le corps humain ne peut faire l'objet de tractations commerciales. En plus du problème de l'invasion de la vie privée, s'ajoute le problème de l'irrévocabilité du gabarit biométrique. En effet, dans le cas d'une utilisation frauduleuse de la donnée biométrique (détournement,

<footnote n="1">¹Ecole nationale Supérieure d'Informatique ESI, Alger</footnote>

<footnote n="2">²Laboratoire GREYC, ENSICAEN - Université de Caen - CNRS, France</footnote>
falsification, contrefaçon), il n'y a pas de possibilité pour un usager de changer ses caractéristiques comme on le ferait pour un code PIN ou un mot de passe ! Il devient donc important et même crucial d'assurer la *protection de la donnée biométrique*.

Dans plusieurs situations, ceci est réalisé en stockant le modèle sur une carte à puce. Nonobstant, les systèmes *match-on-card* ne sont pas complètement vulgarisés (cout, déclin de performance) ce qui impose le transfert des données hors carte. Un administrateur avec les privilèges adéquats pourrait alors atteindre le modèle stocké. Parallèlement, d'un point de vue logiciel, nous assistons aujourd'hui au balbutiement des schémas de protection du modèle biométrique (*privacy protection schemes*) et qui offriraient en plus les propriétés de révocabilité (*cancelable biometric*) souhaitées.

A partir de cette problématique, nous présentons dans cet article, un système d'authentification biométrique qui s'inscrit dans ces nouveaux axes de recherche concernant la conception des systèmes biométriques. Cela se corrobore dans les sections suivantes : la section 2 fera le point sur les principales avancées dans ce domaine. Les sections 3,4, et 5 seront dédiées à la présentation de notre système. La section 6 est une analyse sur la sécurité du système proposé. La section 7 conclura ce travail, quelques perspectives y seront dévoilées.

## 2 Travaux antérieurs

C'est sans doute Ratha et al. [1] qui ont introduit pour la première fois le terme *cancelable biometric* dans leurs travaux. Depuis, ce domaine de recherche a évolué et nous pouvons aujourd'hui classer les méthodes existantes dans deux grandes familles, à savoir :

i- Les crypto-systèmes biométriques.

ii- Les fonctions de transformation.

Dans les crypto-systèmes, la donnée biométrique est combinée avec une clé de chiffrement afin de verrouiller le gabarit. Les codes correcteurs d'erreur sont alors principalement utilisés. Le schéma d'une telle méthode est résumé par la figure suivante :

<figure><img src="image_2.png" /><figcaption>**Fig 1.** Schéma classique d'un crypto-système biométrique</figcaption></figure>

La Fig 1. présente la méthode de base telle que proposée par Juels et Wattenberg [2], appelée aussi fuzzy commitment. Durant l'enrôlement, un mot de code $c \in \{0,1\}^n$ est calculé à partir de la clé $K$ de l'utilisateur $U$. La biométrie de l'utilisateur est représentée sous la forme d'une suite $x$ de $n$ bits. Seul le couple $(c \otimes x, H(k))$

sera stocké. Durant l'authentification, l'utilisateur $U$ se présente avec son signal biométrique $x'$. Pour vérifier l'engagement $(c \otimes x, H(k))$, la valeur $(c \otimes x \otimes x')$ est calculée pour pouvoir dériver ensuite la valeur de la clé $k'$. L'utilisateur est authentifié si $H(k) = H(k')$, $H$ étant une fonction de hachage. Même si cette approche ne nécessite pas le stockage du modèle biométrique, elle reste limitée pour un cas pratique du fait qu'elle suppose une représentation binaire stable en taille et ordonnée ce qui n'est pas souvent le cas, entre autres pour l'empreinte digitale lorsqu'elle est représentée par sa carte des minuties. En 2002, l'approche est réadaptée aux représentations partielles et non ordonnées dans [3] sous le nom de fuzzy vault où le principe d'interpolation polynomial a été utilisé. Le secret (clé $K$) est un polynôme $P$ de degré $d$. Lors de l'enrôlement, le système calcule un fuzzy vault $V$ à partir de $P$ et du modèle biométrique. L'utilisateur est authentifié lorsqu'il est possible de retrouver $P$ à partir de $V$ et de son modèle courant. En dépit d'un taux d'erreur important [4], cette méthode ne résout pas le problème de l'irrévocabilité. Parallèlement, dans les approches reposant sur une fonction de transformation il s'agit d'appliquer une fonction $F$ au modèle biométrique $T$ et de ne stocker que la transformation $F(T)$. L'idéal est que $F$ soit non inversible. Ratha [5] applique aux empreintes digitales nombre de transformations en se basant sur les minuties (i.e Fig 2). Cette méthode impose un compromis entre sécurité et faisabilité vu le taux d'erreur important (10%).

<figure><img src="image_3.png" /><figcaption>**Fig 2.** Exemple d'une fonction de transformation</figcaption></figure>

D'autre recherches combinent un secret $K$ pour aboutir à une transformation $F(T,K)$. Il s'agit dans ce cas d'un mécanisme à double authentifieur (biométrie $T$ et clé $K$) dont l'un des atouts est d'augmenter l'entropie de la biométrie grâce au secret $K$. Le BioHashing [6] est l'exemple typique d'une telle approche. Par la suite, nous utiliserons ce principe du BioHashing pour notre système d'authentification biométrique.

## 3 Méthode développée

Nous avons comme objectif principal la réalisation d'un système d'authentification biométrique qui réunirait quelques exigences de sécurité. Nous spécifions ses exigences par les points suivants :

- Nous avons besoin d'avoir un **système biométrique fiable** en termes de taux d'erreur.
- Les données biométriques doivent être protégées de telle façon qu'il serait impossible de remonter en un temps polynomial aux données biométriques originales à partir du gabarit, cela aura un impact sur le principe de protection de la vie privée.

- Nous avons besoin de limiter les **risques d'usurpation d'identité** (vol, etc.), notamment, en doublant le système biométrique avec d'autres moyens d'authentification et de recourir à des systèmes dans lesquels les créances utilisateurs sont intégrées à des dispositifs sécurisés, comme une carte à puce pour délimiter leur transfert sur le réseau.

- Nous avons besoin d'avoir **une biométrie qui peu être révocable**, en effet il devrait être simple de révoquer un gabarit compromis et de réémettre un nouvel identificateur en se basant sur la même donnée biométrique.

Pour ce faire nous avons conçu un système dont l'architecture est la suivante :

<figure><img src="image_4.png" /><figcaption>Fig 3. Architecture du système proposé</figcaption></figure>

Il s'agit d'une authentification forte où la carte à puce est utilisée comme un système match-on-card. Le scénario minimal de fonctionnement est résumé par la figure suivante :

<figure><img src="image_5.png" /><figcaption>Fig 4. Scénario de fonctionnement du système proposé</figcaption></figure>

Ainsi, le système se décompose en deux phases : une phase d'enrôlement et une phase de vérification.

## 4 Etape d'enrôlement

Durant cette phase, la modalité considérée est l'empreinte digitale de l'utilisateur et est acquise à l'aide d'un capteur optique. L'image d'empreinte sur 256 niveaux de gris est alors disponible sur le serveur. Des caractéristiques pertinentes sous forme de gabarit sont par la suite extraites de cette image par le module d'extraction. La sécurité de ce gabarit est ensuite renforcée par le module de protection en utilisant une clé secrète se trouvant sur le token.

### 4.1 Module d'extraction des descripteurs de texture

Une empreinte apparaît comme une surface alternée de crêtes et de vallées parallèles sur la plupart des régions. Les détails de minutie constituent la représentation la plus populaire pour une empreinte digitale. Les minuties représentent des discontinuités locales et marquent les positions où la crête se termine ou bifurque comme le montre la figure suivante :

<figure><img src="image_6.png" /><figcaption>Fig 5. Représentation en minuties</figcaption></figure>

Notre module de protection impose en entrée un vecteur caractéristique stable en taille et ordonné ce qui nous oblige à considérer des descripteurs de texture à partir de l'image et non sa carte des minuties pourtant reconnue plus fiable. Pour ce faire, nous utiliserons un banc de filtres de Gabor suivant les étapes algorithmiques explicitées comme suit :

#### i. Etape d'amélioration

A cause de l'état de l'épiderme (sécheresse, humidité, etc.) ou du dispositif d'acquisition, la qualité de l'image en entrée peut nettement décroître. Cela se traduit généralement par une cassure dans le flux global des crêtes et des vallées. Une mauvaise qualité d'image influera grandement le processus d'extraction. Pour remédier à cela, nous avons utilisé une technique d'amélioration qui repose sur l'analyse de fourrier rapide. L'algorithme proposé dans [7] est capable d'estimer simultanément l'orientation locale et la fréquence spatiale des crêtes. En effet, une région locale de l'image peut être modélisée par une onde sinusoïdale comme le montre la figure suivante :
<figure><img src="image_7.png" /><figcaption>**Fig 6.** Projection des niveaux de gris sur un bloc orienté</figcaption></figure>

Un filtrage contextuel basé sur cette information structurelle des crêtes (orientation *O* et fréquence *F*) appliqué sur chaque bloc de l'image est donc capable d'améliorer cette structure de crêtes. Le filtrage dans le domaine de Fourier est alors opéré comme suit :

### Pseudo-algorithme pour l'amélioration de l'image

Pour chaque bloc $B(x,y)$ de taille $W \times W$ dans l'image faire :

1. Calcul du filtre angulaire $F_a$ centré autour de l'orientation $O(x,y)$.

2. Calcul du filtre radial $F_r$ centré autour de la fréquence $F(x,y)$.

3. Filtrer le bloc dans le domaine FFT : $F = F \times F_a \times F_r$.

4. Calcul du bloc amélioré $B'(x,y) = IFFT(F)$.

La figure suivante montre l'application de ce procédé d'amélioration sur une image d'empreinte :

<figure><img src="image_8.png" /><figcaption>**Fig 7.** Résultat de la méthode d'amélioration</figcaption></figure>

## ii. Etape de localisation de la région d'intérêt (ROI)

Afin de prendre en compte les variations géométriques dues au problème de translation, nous allons localiser dans l'image améliorée le point central de l'image dit le point core. Ce point central se définit comme le point de courbure maximale. L'algorithme de l'indice du poincaré est utilisé pour la localisation du point core, son pseudo-algorithme est le suivant :

### Pseudo-algorithme de détection du point core

1. Estimation du champ d'orientation *O* par la méthode des moindres carrés présentée dans [8].

2. Lissage du champ d'orientation par un filtre gaussien 5x5.

3. calcul de $\xi$, la composante sinus de l'image d'orientation $O: \xi(i, j) = \sin(O(i, j))$.

4. Soit $A$ l'image étiquette initialisée à 0. Pour chaque pixels $(i,j)$ dans $\xi$, intégrer les intensités des pixels dans les régions $R_I$ et $R_{II}$ suivantes :

<figure><img src="image_9.png" /></figure>

De telle sorte que : $A(i, j) = \sum_{R_I} \xi(i, j) - \sum_{R_{II}} \xi(i, j)$

5. Les coordonnées de la valeur maximale dans $A$ seront celles du point core.

La région d'intérêt consiste en la sectorisation de l'image autour du point core. Cette sectorisation consiste en B bandes concentriques de largeur $b$. Chacune des bandes est divisée en 16 secteurs d'angle égal (22,5°) comme l'illustre la figure suivante :

<figure><img src="image_10.png" /><figcaption>**Fig 8.** Processus de détection de la région d'intérêt (ROI)</figcaption></figure>

La région d'intérêt est validée si elle se trouve dans les frontières de l'empreinte et tous les secteurs représentent une alternance de crêtes et de vallées. Nous avons exprimé cette alternance par l'énergie $E$ du spectre de Fourier dans chaque secteur de l'image :

- Si $E > T_r$ Alors secteur accepté sinon secteur rejeté. $T_r$ étant un seuil global estimé par la méthode d'Otsu.

La ROI est validée si tous ces secteurs sont acceptés.

## iii. Etape d'extraction du gabarit

Le gabarit extrait sera nommé FingerCode comme dans [8]. Pour ce faire nous avons d'abord besoin d'éliminer les effets du contraste de l'image $I$ par une étape de normalisation par rapport à chaque secteur :

$$ I(i, j) = \begin{cases} M_0 + \sqrt{\frac{Var_0(I(i, j) - M)^2}{Var}} & \text{Si } I(i, j) > M \\ M_0 - \sqrt{\frac{Var_0(I(i, j) - M)^2}{Var}} & \text{Sinon} \end{cases} $$

$M, Var$ sont les moyenne et variance de chaque secteur respectivement. $M_0$ et $Var_0$ ont été fixées à 100. Le
FingerCode sera calculé après application d'un banc de filtres de Gabor sur chaque secteur de l'image. Il s'agira d'un banc de filtres car 8 directions seront utilisées :

<figure><img src="image_11.png" /><figcaption>Fig 9. Le gabarit de l'image d'empreinte (FingerCode)</figcaption></figure>

L'extraction est explicitée par ce pseudo-algorithme :

### Pseudo-algorithme de calcul du gabarit

1. Soit FingerCode un tabelau de taille : nb_secteurs x nb directions (i.e. Bx16 x 8).

2. Pour $\theta = 0$ à $7\pi/8$ Faire

2.1. Construire la matrice de convolution en utilisant la composante symétrique de Gabor suivante :

$$G(x,y;T,\theta) = \exp\left(-\frac{1}{2}\left[\frac{x_{\theta}^2}{\delta_x^2} + \frac{y_{\theta}^2}{\delta_y^2}\right]\right) \cos\left(\frac{2\pi x_{\theta}}{T}\right)$$

Avec : $x_{\theta} = x \cos\theta + y \sin\theta$ et $y_{\theta} = -x \sin\theta + y \cos\theta$

T la période de la sinusoïde (Fig. 6), $\delta_x$ et $\delta_y$ les écarts types de l'enveloppe gaussienne. Ce filtre a des propriétés sélectives en orientation et en fréquence ce qui est bien adapté à la texture dans une empreinte.

2.2. Filtrer chaque secteur normalisé.

2.3. Stocker la valeur de la variance de chaque secteur filtré dans le tableau FingerCode.

3. Passage des valeurs du FingerCode vers l'intervalle $[0,255]$ (voir Fig.8).

## 4.2. Module de protection par un processus de salage

Le FingerCode ne sera pas stocké tel quel, il sera transformé par un processus de salage. Le salage, en cryptographie, est l'injection d'une donnée secrète souvent aléatoire appelée *sel* dans une fonction de hachage dan le but d'augmenter la complexité d'une attaque. En raison des variations du signal biométrique, nous ne pouvons appliquer les algorithmes de salage/hachage traditionnels comme on l'aurait fait pour un mot de passe en utilisant par exemple la méthode définie par le standard PKCS5. Pour remédier à cela, nous utiliserons le processus suivant inspiré du travail effectué dans [6] :

Le *sel* sera sous forme d'une matrice aléatoire générée à partir d'un seed unique à chaque utilisateur *U*. Le modèle final à stocker est un code binaire appelé *BioCode*.

La processus est résumé par la figure suivante :

<figure><img src="image_12.png" /><figcaption>Fig 10. Processus de salage pour la protection du FingerCode</figcaption></figure>

Le processus complet est détaillé comme suit :

### Pseudo-algorithme du processus de salage

1. Soit FingerCode le gabarit biométrique de l'utilisateur *U*. Sa longueur est *n*.

2. Soit BioCode un tableau de longueur *m*.

3. Soit ValeurSeed le seed attribué à l'utilisateur *U*.

4. Générer à partir du seed une matrice aléatoire dont le nombre de ligne est *n* et le nombre de colonne est *m*.

5. Appliquer le processus de Gram-Schmidt pour rendre cette matrice un repère orthonormé. Dans ce cas $m \le n$.

6. Projeter le vecteur FingerCode sur cette matrice :

$$ \text{FingerCode} \cdot \begin{bmatrix} or_{1,1} & \dots & or_{m,1} \\ \vdots & \ddots & \vdots \\ or_{1,n} & \dots & or_{m,n} \end{bmatrix} = \begin{bmatrix} b_1 & b_2 & \dots & b_m \end{bmatrix} $$

7. Quantification du BioCode par seuillage :

$$ b_i = \begin{cases} 0 & \text{si } b_i \le \tau \\ 1 & \text{sinon} \end{cases} \quad \text{Avec } \tau \text{ un seuil de} $$

quantification généralement pris à 0, $\forall i=1..m$.

## 4.3. Module de sauvegarde

Le BioCode peut être sauvegardé sur une base de données. Cependant, son aspect compact (*m* bits i.e. 100 bits) et la facilité de comparaison entre deux BioCodes (métrique de Hamming) nous incite à utiliser un système match-on-card sur javacard. On chargera une applet *Bio* sur la carte qui lors de la personnalisation contiendra les données suivantes :

- Informations personnelles + BioCode.

- L'angle d'orientation du point core pour prendre en charge le problème de rotation.

- Les codes PIN et PUK.

- Le certificat $T_C$ attribué à l'utilisateur *U* et signé par la clé privée $SK_{CA}$ de l'autorité de certification pour authentifier l'émetteur de la carte.

Pour la valeur du seed, elle sera stockée dans un token disposant d'un générateur pseudo-aléatoire.
## 5. Etape d'authentification (reconnaissance)

La figure suivante résume l'étape de reconnaissance :

<figure><img src="image_13.png" /><figcaption>Fig 11. Processus d'authentification sur carte à puce</figcaption></figure>

Après vérification du code PIN, la carte retourne le certificat. Si celui-ci est validé par l'autorité de certification, le client au niveau de la borne biométrique, introduira son empreinte ainsi que son token. D'abord le problème de rotation est pris en charge en effectuant une rotation de l'image suivant la valeur : angle du point core sauvegardé – angle du point core en cours. Les modules extraction et protection se chargerons par la suite du calcul du BioCode qui sera envoyé à la carte pour comparaison. Cette comparaison s'effectuera en terme de la distance de Hamming entre deux BioCodes, soit D cette distance. Si $D < T_s$ l'accès sera accepté sinon il sera refusé, $T_s$ étant un seuil de décision.

## 6. Evaluation du système

Fidèlement à nos objectifs de départ, nous évaluerons le système en termes de performance et de robustesse aux attaques. Seule l'attaque par vol ou par clonage sera considérée. Nous ne prenons pas en compte les attaques réseaux qui peuvent s'infiltrer dans la communication entre le capteur, la carte, le token et le serveur d'authentification, à fortiori, nous supposons que toute communication est chiffrée.

Les métriques de performance considérées sont :

- FTE (Fail To Enroll) ou taux d'échec à l'enregistrement : il correspond à la proportion d'utilisateurs qui n'ont pas pu être enrôlés dans le système car la région d'intérêt n'a pas été validée au bout d'un nombre d'acquisitions maximal (Ici, fixé à 5).

- FRR (False Rejection Rate) ou taux de faux rejets : il correspond à la proportion d'accès clients refusés.

- FAR (False Acceptance Rate) ou taux de fausses acceptations : il correspond à la proportion des imposteurs acceptés par le système.

- ERR (Equal Error Rate) ou taux d'erreur égale : correspond au point FRR=FAR, souvent utilisé comme valeur représentative des performances du système.

Nous disposons de deux bases de données : la FVC2002 qui est une base standard et une base propriétaire construire en utilisant notre capteur optique (Fig 11.). Les propriétés de cette base sont les suivantes :

- La taille de l'image est de 355 x 390 pixels.

- Les images des personnes ont été prises sur deux sessions différentes et pas d'efforts ont été faits pour assurer un minimum d'acquisition de qualité.

- L'image contient 80 individus et 8 acquisitions du même doigt par individu donnant un total de 640 images.

<figure><img src="image_14.png" /><figcaption>Fig 12. Exemples d'images de la BDD propriétaire</figcaption></figure>

### 6.1. BDD propriétaire

A présent, nous explicitons les résultats sur la deuxième BDD :

- FTE ; le meilleur résultat a été obtenu avec les paramètres suivants :

<table><thead><tr><td>Paramètres</td><td>FTE</td></tr></thead><tbody><tr><td>B (nombres de bandes) : 3</td><td rowspan="5">0,75%</td></tr><tr><td>b (largeur de la bande) : 20</td></tr><tr><td>Taille filtre Gabor : 9x9</td></tr><tr><td>Période filtre Gabor : 10</td></tr><tr><td>δ<sub>x</sub> et δ<sub>y</sub> : 4</td></tr><tr><td>Rayon région R<sub>I</sub>, R<sub>II</sub> : 5</td><td></td></tr></tbody></table>

- FRR, FAR, EER ; nous utiliserons la courbe ROC (Receiver Operating Characteristic) qui permet de représenter les performances du couple (FRR, FAR) en fonction des différentes valeurs possibles du seuil de décision $T_s$.

L'imposteur, au niveau de la borne, dispose de plusieurs scénarios possibles :
- **Scénario 1** : l'imposteur se présente à la borne après avoir pu obtenir la puce de l'utilisateur (en plus du PIN car sinon le processus s'arrêtera) sans avoir le bon seed (le bon token). La courbe ROC est la suivante :

<figure><img src="image_15.png" /><figcaption>**Fig 13.** Courbe ROC du scénario 1
n=384, m=184, τ=0</figcaption></figure>

Nous remarquons qu'après fixation des bons paramètres (taux de quantification et longueur du BioCode) le taux d'erreur 0% a été obtenu ce qui était impossible lors de l'utilisation de la biométrie seule. En effet, la courbe ROC en se basant sur le FingerCode est donnée par la figure suivante :

<figure><img src="image_16.png" /><figcaption>**Fig 14.** Courbe ROC en se basant sur la biométrie seule</figcaption></figure>

- **Scénario 2** : l'imposteur se présente à la borne en ayant le bon token (bon seed) sans avoir la puce. La borne va ainsi le refuser, auquel cas, il essayera de se fabriquer une carte mais le processus de validation du certificat la refusera.

- **Scénario 3** : l'imposteur se présente à la borne en ayant toutes les créances de l'utilisateur (puce, pin et token). Dans ce cas la courbe ROC est donnée comme suit :

<figure><img src="image_17.png" /><figcaption>**Fig 15.** Courbe ROC du scénario 3
n=384, m=184, τ=0</figcaption></figure>

Nous remarquons dans ce scénario que les performances sont plus faibles par rapport à l'utilisation de la biométrie seule. En augmentant le paramètre *m*, nous avons pu améliorer les résultats :

<table><caption>**Tab 1.** Influence de la longueur du BioCode sur les performances dans le cas de scénario 3</caption><thead><tr><td>m</td><td>EER(%)</td></tr></thead><tbody><tr><td>184</td><td>9,71</td></tr><tr><td>284</td><td>8,23</td></tr><tr><td>384</td><td>6,78</td></tr></tbody></table>

Le scénario 3 reste le pire de tous les cas de figure. Certes, la longueur du BioCode améliore les résultats mais elle reste bornée par la taille *n* du gabarit biométrique, en l'occurrence le FingerCode. Néanmoins, l'utilisateur en cas de vol aura la possibilité de révoquer ses créances à partir de la même donnée biométrique, il suffirait de lui attribuer une nouvelle valeur du seed. Cette gestion administrative du scénario après vol des créances améliore nettement l'utilisation des systèmes biométriques dans des applications de sécurité réelles. Pour ce qui a attrait à la protection de la vie privée, nous pouvons prétendre que le problème est en grande partie résolu par notre système. En effet, en ayant le BioCode seul sans le seed, il est très complexe de remonter au FingerCode. En ayant, le seed et le BioCode il devient trivial de remonter à un FingerCode proche de l'initial mais la protection du BioCode par le système match-on-card ne permet jamais sa migration hors carte ce qui handicape grandement ce types d'attaques.

## 6.2. FVC2002

Nous avons aussi testé ce système sur la DB2 de la BDD FVC2002. Cette BDD publique contient 800 images. 80 individus avec 10 acquisitions pour chacun d'entre eux. Nous comparons dans le tableau Tab 2. notre système nommé S1 avec un méthode référence présentée dans [15]
que nous nommons S2. Cette méthode est aussi basée sur la détection du point core ainsi que l'extraction des attributs de texture de l'image. Le processus de salage étant le même.

<table><caption>**Tab 2.** Comparaison de notre système S1 avec une méthode de référence S2</caption><thead><tr><td></td><td>EER(%)</td><td>m</td></tr></thead><tbody><tr><td>S1 sans vol</td><td>0%</td><td>384</td></tr><tr><td>S1 avec vol</td><td>8,44%</td><td>384</td></tr><tr><td>S2 sans vol</td><td>0%</td><td>100</td></tr><tr><td>S2 avec vol</td><td>15,5%</td><td>100</td></tr></tbody></table>

Nous remarquons que dans S1, la taille du BioCode *m* est plus grande que dans S2 ce qui a comme conséquence d'améliorer le résultat. La garantie d'un *m* à 384 pour toutes les images entrôlées dans le système, est appuyée par notre méthode de validation de la ROI auquel cas l'image sera rejetée par le processus d'enrôlement.

## 7 Conclusion

Nous avons développé un système d'authentification biométrique adapté aux exigences de sécurité et de protection de la vie privée de telle façon qu'il bénéficiera de l'acceptabilité du grand public. Une grande partie de ce travail a été dévolue à l'extraction du modèle biométrique à partir de l'empreinte digitale. Cette extraction qui repose sur la détection du point central de courbure maximale a été nettement fiabilisée par le processus d'amélioration. Pour protéger ce modèle extrait, une fonction de transformation inspirée des processus de salage a été utilisée. L'intégration d'un *sel* sous forme de clé secrète a de plus, grandement augmenté l'entropie du système biométrique engendrant ainsi un taux d'erreur pouvant atteindre le 0%. De surcroit, ce processus assure la révocabilité des créances de l'utilisateur. Cependant, la faiblesse inhérente à ce système reste palpable lorsqu'un imposteur est en possession de l'engagement d'un utilisateur enregistré dans le système, à savoir son *sel* et son BioCode. La fonction de salage est dans ce cas inversible et la vie privée de l'utilisateur devient menacée. Cependant, notre solution d'un système match-on-card continuera à pérenniser ce droit à la protection de la vie privée. Pour ce qui est du problème de performance, nous sommes actuellement en train de travailler cet axe en essayant de d'exploiter plusieurs pistes : la longueur du BioCode conditionne la performance du système. Il faudrait donc imaginer des mécanismes pour augmenter sa taille comme la fusion de plusieurs doigts. Les minitudes sont réputées plus fiables que les descripteurs de texture, dans [9] nous avons développé une approche robuste d'extraction des minitudes, nous essayerons donc d'utiliser ce gabarit biométrique plus solide.

## Bibliographie

[1] N.K. Ratha, J.H. Connelle, R. Bolle, Enhancing Security and Privacy in Biometrics-Based Authentication System, *IBM Systems J.*, vol. 40, pp. 614-634, 2001.

[2] A. Juels and M. Wattenberg, A fuzzy commitment scheme, *Proceedings of the 6th ACM conference on Computer and communications security*, pp.28–36, 1999.

[3] A. Juels and M. Sudan, A fuzzy vault scheme, *Proc. IEEE Int. Symp. Information Theory*, 2002.

[4] K. Nandakumar, A. Nagar, A.K. Jain, Hardening fingerprint fuzzy vault using password, *Proc of 2nd International Conference on Biometrics*, pp. 927-937, Seoul, South Korea, August 2007.

[5] N.K. Ratha, S. Chikkerur, J.H. Connell, R.M. Bolle, Generating cancelable fingerprint templates, *IEEE Trans on PAMI*, Vol. 29, pp. 561-572, 2007

[6] A. Teoh, D. Ngo, A. Goh, An integrated dual factor authenticator based on the face data and tokenised random number, *ICBA*, pp. 117–123, 2004.

[7] S. Chikkerur, N. Cartwright, V. Govindaraju, Fingerprint image enhancement using STFT analysis, *IEEE Proceedings in ICAPR*, pp. 20-29, 2005.

[8] A.K. Jain, S. Prabhakar, L. Hong, S. Pankanti, Filterbank-based fingerprint matching, *IEEE Trans. Image Process*, Vol 5, pp. 846–859, 2000

[9] R. Belguechi, C. Rosenberger, A Minutiae level fusion for AFIS systems, *European Signal Processing Conference (EUSIPCO)*, 2009.

[10] F. Hao, R. Anderson, J. Daugman, Combining cryptography with biometrics effectively, *Trans on computers*, pp. 1081-1088, 2006.

[11] A. Goh, D. Ngo, Computation of cryptographic keys from face biometrics, *Information Processing*, 2003.

[12] O. Song, T. Jin, D. Ngo, Application key release scheme from Biometrics, *Network Security Journal*, 2008.

[13] J. Daugman, Complete Discrete 2D Gabor Transform by Neural Networks for Image Analysis and Compression, *Trans on Acoustics, Speech and Signal Processing*, Vol.36, No.11, pp. 69–1179, 1988.

[14] D. Maltoni, D. Maio, A.K. Jain, S. Prabhakar. *Handbook of Fingerprint Recognition*, Springer, New York, 2003.

[15] A. Lumini, L. Nanni, *An improved biohashing for human authentication*, pattern recognition journal, 2006.