Protezione dei modelli di impronte digitali memorizzati sul server di autenticazione Web

1

Ho un server di autenticazione web a più fattori, che oltre alle normali password utilizza le impronte digitali per l'autenticazione dell'utente.

Qualcuno può pensare a un difetto di sicurezza nel seguente scenario:

Ho un server di risorse che ospita risorse preziose, il proprietario della risorsa deve fornire la propria impronta digitale a un server di autenticazione per concedere l'accesso alle sue risorse.

La protezione dei dati delle impronte digitali è fondamentale. Prima che l'utente possa utilizzare il sistema. Deve installare un plugin per browser web. Durante l'installazione del plugin il plugin si collega al server di autenticazione e ottiene un certificato digitale dal server (una chiave pubblica del server).

Ora quando l'utente accede alla pagina web del server delle risorse, digita il suo nome utente / password e la pagina web gli chiede di scansionare l'impronta digitale. Quindi, il plug-in del browser Web si collega allo scanner per impronte digitali e attiva lo scanner per eseguire la scansione dell'impronta digitale dell'utente.

Il plug-in preleva l'impronta dallo scanner e lo crittografa utilizzando una chiave AES generata casualmente da 256 e quindi crittografa questo AES utilizzando la chiave pubblica del server di autenticazione.

Quindi il plugin restituisce un oggetto JSON contenente l'impronta digitale crittografata e la chiave AES crittografata. Successivamente uno script Java dalla pagina di accesso del server delle risorse che utilizza AJAX invia l'oggetto JSON al server delle risorse. Il server delle risorse inoltra l'oggetto JSON al server di autenticazione.

Il server di autenticazione decodifica la chiave AES utilizzando la sua chiave privata e quindi utilizza AES ripristinato per decrittografare i dati delle impronte digitali. Infine, confronta i dati delle impronte digitali ricevute con il modello di impronte digitali memorizzato e restituisce il risultato al server delle risorse. In base al risultato, il server delle risorse nega o concede l'accesso all'utente.

I modelli di impronte digitali sul server di autenticazione sono memorizzati in un database crittografato utilizzando una chiave AES 256.

    
posta Ubaidah 04.08.2014 - 10:52
fonte

2 risposte

1

The plugin gets the fingerprint from the scanner and encrypts it using a randomly generated 256 AES key and then encrypts this AES using the authentication server public key.

Sì ... la grande domanda è ....

Dove stai memorizzando la chiave privata del server?

Se è su un HSM allora fantastico. Altrimenti, c'è un link debole ...

    
risposta data 04.08.2014 - 18:42
fonte
0
  1. "Il sistema di identificazione biometrica alle porte della CIA il quartier generale funziona perché c'è una guardia con un grosso cannone certo nessuno sta cercando di ingannare il sistema. " Bruce Schneier, 2009 . Un lettore di impronte digitali senza la guardia che lo guarda niente come sicuro.

  2. In secondo luogo, il tuo plug-in del browser non è un software proprietario di che il massimo che puoi dire è che il venditore afferma che è sicuro, & non hai sentito di essere in reverse engineering e amp; spoofed ... ancora. Non è?

In un contesto commerciale, guarderei chi corre il rischio se il sistema viene violato. Il contratto del fornitore offre indennizzi o assicurazioni? Soprattutto quando ti attribuisce una colpa parziale, ad es. dipendente ha lasciato il laptop sul treno o un server sotto la tua gestione è stato violato.

I token fisici non sono più semplici e molto più collaudati per il tuo secondo fattore rispetto alla biometria?

    
risposta data 05.09.2014 - 12:25
fonte

Leggi altre domande sui tag