Valutazione della sicurezza di Vasco's Digipass Mobile SDK per OTP?

5

Qualcuno ha collaborato o integrato il generatore OTP di Vasco Digipass Mobile SDK in un'app mobile personalizzata per dispositivi iOS?

Al momento sto eseguendo una valutazione completa della sicurezza della soluzione (end-to-end) e mi chiedevo se ci fosse già del lavoro svolto da altri su questo.

Sono interessato al processo di attivazione di un nuovo dispositivo, alle implementazioni crittografiche, all'archiviazione di dati locali sul dispositivo mobile, ai meccanismi di autenticazione, alla generazione di OTP e altre superfici di attacco.

    
posta user20197 30.01.2013 - 14:29
fonte

2 risposte

3

Non so in merito al "generatore OTP di Vasco Digipass Mobile SDK", ma in passato ho valutato i generatori di software OTP e queste sono cose che vorrei esaminare.

  • L'app è protetta da un PIN? Se è protetto da un PIN, cosa succede quando si digita un PIN errato? Genera ancora un OTP o segnala un messaggio di errore. La rilevanza di questa domanda: un generatore OTP utilizza una chiave segreta condivisa con il server di autenticazione. Ora la chiave segreta deve essere memorizzata da qualche parte sul dispositivo & quindi è vulnerabile se il dispositivo è perso. Quindi è meglio se l'app è protetta con un PIN. Ora la prossima domanda è dove è memorizzato il PIN? Se il codice PIN è memorizzato sul dispositivo, la protezione diventa nuovamente priva di significato. Perché proprio come la chiave segreta, anche il PIN potrebbe essere vulnerabile agli attacchi se il dispositivo viene perso. Quindi qual è l'alternativa? La prima alternativa è usare il PIN per crittografare la chiave segreta & non memorizzare il PIN sul dispositivo. Tuttavia, questo non è ancora un buon metodo perché, una volta perso il dispositivo, può essere forzato bruto. Quindi qual è l'alternativa migliore. La generazione OTP utilizza sia il PIN che l'amp; chiave segreta come input per l'algoritmo di generazione OTP. In questo caso, se si digita il PIN sbagliato, l'OTP è ancora generatore perché l'app non sa se il PIN è corretto o sbagliato. Tuttavia, se si digita il PIN errato, l'OTP generato sarebbe errato. Perché il server genererebbe l'OTP con il PIN corretto e quindi non corrisponderebbe a quello generato dall'app. il PIN è implicitamente verificato e non esplicitamente verificato. Quindi, come faresti a sapere se la tua app memorizza il PIN localmente o utilizza il PIN per crittografare la chiave segreta, in genere l'app fornisce un messaggio di errore quando digiti il PIN sbagliato. Considerando che, se il PIN non viene memorizzato localmente, l'app non fornisce un messaggio di errore con il PIN errato.

  • Quale algoritmo utilizza il generatore OTP? Utilizza un algoritmo basato sul tempo o un algoritmo basato su eventi (contatore). I generatori OTP hardware utilizzano sempre un algoritmo basato sul tempo, ma molte applicazioni di generazione OTP basate su software utilizzano eventi basati sul presupposto che l'ora sul dispositivo mobile potrebbe essere disattivata - potrebbe non essere sincronizzata con l'ora del server. Come è rilevante? Gli OTP basati sugli eventi non scadono mai. O in realtà scadono solo quando vengono utilizzati o quando viene utilizzato un OTP più recente. Se usi la tua app OTP generator per generare ora una OTP, puoi notare l'OTP & usalo dopo un numero qualsiasi di giorni purché non abbiate fatto altre autenticazioni intermedie. io se tu generi 2 ot e amp; annotarli, quindi se si utilizza il secondo OTP per un'autenticazione, funzionerà, ma il primo scadrà automaticamente. Poiché gli OTP basati su eventi (contatore) non scadono, sono un po 'più facilmente attaccati offline, quindi l'OTP basato sul tempo. C'è una soluzione per questo. Esiste un altro algoritmo OTP basato su eventi chiamato OCRA (Challenge Response based). Qui il server lancia una sfida che deve essere inserita nell'app prima che generi l'OTP. IMHO, per un dispositivo mobile (in cui potresti non essere in grado di utilizzare OTPS basato sul tempo), un evento basato su uno che utilizza il meccanismo Challenge Response potrebbe essere migliore di un semplice evento basato su uno. Tuttavia, per gli utenti non esperti, potrebbe essere un po 'di confusione.

  • Come viene eseguita l'attivazione? La chiave condivisa è inviata tramite SMS o qualcosa del genere? Questo potrebbe renderlo un po 'insicuro. Alcuni generatori OTP vengono attivati dalla negoziazione, ovvero il client e il server negoziano la chiave condivisa utilizzando alcuni standard come DSKPP. Questi possono essere più sicuri di quelli in cui la chiave viene inviata tramite SMS.

risposta data 26.12.2013 - 17:31
fonte
1
risposta data 21.05.2013 - 10:21
fonte

Leggi altre domande sui tag