3.4 KiB
Lo spoofing consiste nell'ingannare un sistema biometrico assumendo un'identità che non ci appartiene. La differenza con il camouflage (camuffamento) è data dal fatto che nel primo l'obiettivo è essere riconosciuti con un'altra identità, nel secondo invece si tenta di non far riconoscere la propria identità.
L'attacco di spoofing può essere:
- Diretto (1): avviene al momento dell'acquisizione (attacchi di presentazione)
- Indiretto (2-8): avviene nelle fasi successive della pipeline
!
Face spoofing
si classificano in attacchi di spoofing 2D e 3D
- Print/photo attack: viene presentata un'immagine del soggetto da identificare. Questo attacco può essere facilmente iderntificato (cambia il modo in cui riflette la luce ecc., LBP viene d'aiuto), oppure possiamo rilevare cose tipo il battito delle ciglia...
- Video attack: (o replay attack) viene presentato un video. Anche qui viene usato LBP nel tentativo di prevenire l'attacco
- Maschera facciale: viene prodotta una maschera 3D. Un modo per prevenirlo è vedere come la luce riflette sulla pelle (la plastica della maschera rifletterà in modo un po' diverso)
Se, in fase di valutazione, prendiamo in considerazione anche gli attacchi di spoofing, dobbiamo utilizzare una metrica diversa dal classico FAR, ovvero lo Spoofing-FAR, che prende quindi in considerazione anche i casi in cui gli impostori vengono accettati grazie allo spoofing.
Face antispoofing - Liveness Detection
Liveness detection
La differenza essenziale tra una faccia vera e una foto è che la faccia è un oggetto tridimensionale, il movimento della faccia può aiutare a distinguere una persona vera da una foto (optical flow). Stimare la profondità da delle immagini 2D è difficile però, e la stima è molto sensibile al rumore e all'illuminazione. Inoltre, è vulnerabile al movimento della foto o la deformazione (bending) di questa (se curvo il foglio con la foto stampata tipo). Si potrebbe anche provare a riconoscere le texture della carta.
Un altro modo è riconoscere il battito di ciglia, considerando che un battito dura circa 250ms e avviene tra i 2 e i 4 secondi, ci bastano circa 15 fps. Però è spoofabile perché si potrebbero ad es. fare dei buchi per gli occhi a una maschera.
[!PDF|yellow] LEZIONE8_Face antispoofing, p.27
The work by Pan et al. models
modello Pan et al.
!
Hidden Markov model, modella la sequenza di stati di un occhio. (aggiungere altro)
// LBP per riconoscere difetti di stampa analizzando le micro-texture della carta. Si basa sul fatto che nessuna stampante è perfetta, ogni foto ha dei "difetti" di stampa che possono essere riconosciuti con un po' di feature extraction.
- la faccia e le stampe riflettono la luce in modo diverso
- le proprietà della superficie di una faccia e di una stampa sono diverse Le feature possono essere estrratte usando multi-scale local binary patterns (LBP), si possono poi usare per trainare una SVM, che poi determinerà se le feature estratte caratterizzano una persona o una stampa.
!
vera foto vs stampa e rispettive immagini LBP.
Prima di applicare LBP la faccia viene riconosciuta, croppata e normalizzata come immagine 64x64.
!
LBP viene applicato