Archiviazione della password dell'account sul portachiavi iOS per abilitare l'accesso Touch ID

3

Attualmente nel mezzo di un processo piuttosto lungo di decidere l'uso di TouchID all'interno di un'applicazione sviluppata a causa di problemi di sicurezza, e si chiedeva se qualcuno avesse qualche consiglio?

L'idea dal punto di vista del prodotto è che un utente può registrarsi con l'applicazione con un nome utente / password (flusso standard di bog in caso di ripiego per dispositivi senza ID touch) e successivamente in una data successiva, se attivato tramite le preferenze in-app, utilizzare il sistema TouchID per "accedere" all'applicazione invece di digitare nuovamente un nome utente / password.

La mia preoccupazione è che questo in qualche modo significhi che dobbiamo memorizzare qualcosa sul dispositivo (recuperabile dopo il tocco riuscito) che può quindi autenticare l'utente e consentire l'accesso all'API (tramite token JWT, ma probabilmente non importa).

Questo va contro quasi tutto ciò che ho letto e coinvolto nello sviluppo di applicazioni mobili, che sta memorizzando qualcosa di sensibile sul dispositivo client che si sta aprendo a un vettore di attacco.

Tuttavia, molte applicazioni lo fanno già, quindi mi chiedo quale sarebbe un processo tipico per abilitare tale funzione?

L'app è sensibile per natura, ha qualche gestione delle informazioni personali che sarebbe male se trapelasse, se questo fa la differenza per l'approccio!

Grazie in anticipo

    
posta watdo 30.06.2016 - 19:39
fonte

1 risposta

1

Supponi di avere un'app iOS che accetta nome utente e passcode. Queste informazioni di accesso verrebbero inserite dall'utente, quindi potreste memorizzare tale stato salvando le credenziali nel Portachiavi, che è l'unico posto abbastanza sicuro per memorizzare tali informazioni sul dispositivo.

Se quanto sopra è già in atto, l'aggiunta di Touch ID aumenta la sicurezza perché l'API Touch ID iOS funziona semplicemente sbloccando gli elementi portachiavi. Quindi dovresti usare il framework LocalAuthentication per chiedere l'autenticazione Touch ID. Questa API presenterà quindi l'interfaccia utente sullo schermo, invierà i dati delle impronte digitali crittografati all'enclave sicura e ti invierà un risultato che specifica semplicemente se la corrispondenza ha avuto successo o meno, sbloccando facoltativamente l'elemento portachiavi associato per l'elemento di accesso dell'utente. In nessun momento la tua app ha accesso ai dati delle impronte digitali e se hai bisogno di ulteriore autenticazione puoi associare un elemento portachiavi che verrebbe sbloccato in caso di successo.

    
risposta data 19.07.2016 - 04:55
fonte

Leggi altre domande sui tag