Autenticazione di un utente tramite SMS

7

Sono coinvolto in un progetto che sta creando un chat-bot che gli utenti possono comunicare via SMS dai loro telefoni cellulari. Vorremmo che gli utenti fossero in grado di utilizzare il bot per svolgere alcune attività di gestione degli account di base tramite SMS per i loro account con noi - cambiando il loro piano di base, acquistando funzionalità aggiuntive, ecc.

Ci chiediamo se esiste un modo per (ragionevolmente) identificare in modo sicuro che l'utente che invia il messaggio di testo sia veramente il proprietario dell'account? Le opzioni che abbiamo considerato sono 1) chiedi gli ultimi 4 della carta di credito dell'utente e 2) invia un codice di accesso utilizzabile una sola volta per email.

Ovviamente, nessuno di questi fornisce sicurezza a tenuta d'aria, ma la responsabilità qui è piuttosto bassa. Se qualcuno perde il loro smartphone, le accuse che il ladro potrebbe fare usando questo chat bot sarebbe l'ultima delle preoccupazioni della persona. Nel raro caso in cui il telefono di qualcuno fosse compromesso, saremmo disposti a mangiare i costi necessari per rendere l'utente integro.

Tuttavia, vorremmo comunque rendere questo processo di identificazione il più sicuro possibile. Problemi che vediamo:

Con lo scenario 1, gli ultimi 4 della carta di credito sono potenzialmente lasciati nella cronologia degli SMS, quindi chiunque riceva il telefono (o installi un'app dannosa) ha accesso agli ultimi 4 della carta e ora può autenticarsi.

Con lo scenario 2, chiunque abbia accesso al telefono ha accesso all'e-mail, quindi non si tratta di un miglioramento superiore a 1.

Esistono altre tecniche che potrebbero essere utilizzate per l'autenticazione che potrebbero fornire maggiore sicurezza rispetto a questi due metodi? Sono consapevole che nulla sarà a tenuta d'aria, ma sto cercando dei buoni suggerimenti.

Ho preso in considerazione qualcosa come send a salt, farli calcolare un hash del loro ultimo-4 e inviarlo indietro, ma questo è proibitivamente complesso, e ancora non molto di un miglioramento della sicurezza.

    
posta John Chrysostom 29.03.2016 - 17:05
fonte

3 risposte

6

Sembra che quello che stai cercando sia un codice o un token "fuori banda". Questo significa che vuoi qualcosa che non è accessibile a qualcuno che fisicamente ha il telefono. Quindi cose come email e Google Authenticator sono fuori.

Suppongo che gli utenti faranno (almeno) la configurazione dell'account per la prima volta tramite un browser Web, che ne dici di farli inserire un "PIN SMS" che verrà successivamente richiesto da chatbot?

Questo è simile all'utilizzo delle ultime 4 cifre del loro numero di carta di credito in quanto sarà nella loro cronologia degli SMS e un ladro di telefono può addebitare al proprio bot di chat. Ciò che mi rende nervoso per le cifre CC è che, per comodità del servizio, si aumenta il rischio di furto di identità degli utenti.

Come hai sottolineato nella tua domanda: se l'utente ruba il proprio telefono e l'attaccante supera la schermata di blocco, è comunque affondato. Quello che stai davvero proteggendo è qualcuno che impersona il tuo utente da un telefono diverso tramite SMS spoofing %numero di codice. A questo proposito, una e-mail con una sola password o un pin pre-impostato ti fornirà la sicurezza di cui hai bisogno.

    
risposta data 29.03.2016 - 17:44
fonte
2

Una piccola app per dispositivi mobili sarebbe fuori discussione?

Gestirebbe tutti i messaggi in entrata e in uscita (per i messaggi rilevanti ovviamente) eliminerebbe tutti i messaggi inviati e ricevuti (dall'app). Richiederebbe un numero pin per accedere al quale l'utente dovrebbe inserire ogni volta. Forse anche qualche crittografia di base del messaggio?

Come ulteriore vantaggio aumenterebbe l'usabilità in quanto potrebbe creare l'SMS utilizzando i prompt piuttosto che dover ricordare le giuste abbreviazioni e la formattazione dei messaggi.

    
risposta data 30.03.2016 - 15:21
fonte
0

Escludendo qualcosa di strano, come passare a qualcosa come la chiamata di robot invece di SMS, questo sembra un problema che l'utente deve affrontare purtroppo. Se sei definitivamente bloccato usando gli SMS per autenticarti, c'è pochissimo che puoi fare da parte tua per gestire l'accesso fisico da parte di un utente malintenzionato.

Forse, assicurati di ricordare agli utenti dopo ogni messaggio di autenticazione di utilizzare password telefoniche forti e di cancellare la loro cronologia di testo con il bot della chat.

Non è davvero una soluzione per dire, ma se un utente malintenzionato ha accesso fisico e può superare la password sul telefono stesso, c'è un problema più grande rispetto al caricamento sul tuo chat bot.

E come suggerito da Mike, prova a non usare le cifre di cc per autenticare, è solo una cattiva pratica.

    
risposta data 29.03.2016 - 17:53
fonte

Leggi altre domande sui tag