2009-08-20 11 views
11

Un gruppo nella mia azienda sta implementando un'API REST single-sign-on per le nostre applicazioni. Questo servizio di autenticazione ha una funzione di reimpostazione della password. L'applicazione invia il nome utente alla funzione di ripristino. Se tale nome utente è associato a un indirizzo email, viene inviata un'email a quell'indirizzo con una password temporanea.Reimpostazione della password tramite e-mail delle password temporanee

L'altro approccio sembra essere siti che inviano tramite posta elettronica un collegamento temporaneo e sicuro che presenta una pagina per l'utente che inserisce una nuova password. Questa pagina esiste solo per un breve periodo di tempo.

So che l'e-mail non è un protocollo sicuro, quindi le persone potrebbero annusare il traffico e recuperare la password temporanea o il collegamento temporaneo.

Ci sono motivi di sicurezza significativi per preferire un metodo rispetto all'altro? C'è un altro modo più sicuro per farlo?

risposta

9

In entrambi i casi, le informazioni private (password temporanea o collegamento di ripristino) vengono trasmesse sullo stesso supporto. Da questo punto di vista, non c'è differenza nella sicurezza. Tuttavia, il link di ripristino presenta alcuni vantaggi: costringi l'utente a scegliere una nuova password. Non appena lo fa, il link è nullo e non può essere abusato. Le password temporanee, al contrario, tendono a non essere temporanee come volete. Anche se si costringe l'utente a scegliere una nuova password all'accesso successivo, è probabile che inserisca nuovamente quella temporanea.

Inoltre, è possibile registrare l'IP di colui che utilizza il link di ripristino, quindi avere almeno qualcosa da consegnare alle autorità se necessario.

+2

È piuttosto banale rilevare qualcuno che utilizza una password temporanea e obbligarlo a modificarlo prima di procedere. – ceejayoz

4

Non c'è davvero un modo migliore per il grande pubblico. Se si tratta di un'app interna, è possibile che si inviino e-mail crittografate che gli utenti devono decodificare con PGP, ma che non sarebbero mai destinate a utenti esterni a meno che non si disponga di un prodotto di nicchia di valore molto elevato.

Se l'e-mail è esaurita, è necessario utilizzare qualcosa come domande di sicurezza, ma hanno le proprie (più significative, a mio parere) problemi. I problemi includono:

  • Indovinato. Domande come "colore preferito" sono abbastanza suscettibili a indovinare scelte comuni come "rosso", "blu", "verde" ecc.
  • Trovabile. Molte sono le cose fuori da un profilo Facebook/MySpace/Twitter/Flickr o altrimenti Googleable.
  • Da dimenticare. Ho selezionato "luogo di vacanza preferito" e poi un anno o due dopo non sono stato in grado di ricordare quello che avevo scelto.
  • Difficile da analizzare. Se scrivo "San Paolo" come nome di una città, ma poi torno con "San Paolo", sarebbe accettato?
+0

potresti approfondire i tuoi problemi con le domande di sicurezza? Le domande di sicurezza – andrewWinn

+3

o chiedono qualcosa che è già disponibile sul profilo Facebook di un utente o chiedono qualcosa che l'utente non ricorderà. – Patrick

+0

Patrick lo prende in uno. Sono spesso ipotizzabili (la raccolta in rosso, il blu per il "colore preferito" consente di ottenere una buona percentuale di account), rilevabile (Google per il profilo Facebook/Twitter/ecc. Di qualcuno) o dimenticabile (il "luogo di vacanza preferito" potrebbe cambiare - ora ho * due * password dimenticate!). – ceejayoz

0

Esistono molti altri modi sicuri per reimpostare una password. Tutti questi sono molto fastidiosi per gli utenti e costosi da mantenere. Avere che ogni utente ti mandi un campione di DNA e le impronte digitali e quindi chiedere loro di presentarsi di persona per essere verificato dovrebbe aiutare con la tua sicurezza. Sono sorpreso che la tua organizzazione top secret ti consenta di ottenere consigli sulla sicurezza sullo stackoverflow. A parte gli scherzi, quanto è sicura la tua applicazione? Gli utenti malintenzionati potranno davvero reimpostare le password dei tuoi utenti e quindi accedere alla loro posta elettronica?

XKCD dice sempre che la cosa migliore http://xkcd.com/538/

9

Esistono motivi di sicurezza significative per preferire un metodo rispetto all'altro?

Sì. Se si passa al percorso della password temporanea, chiunque può infastidire la schifezza di un utente premendo costantemente il link di reset e inserendo l'indirizzo e-mail dell'utente. Se si utilizzano i link di reimpostazione password, l'utente può semplicemente ignorarli ed eliminare le e-mail.

+0

L'utente non può ignorare le e-mail password temporanee? O pensavi che il percorso della password temporanea bloccasse anche l'utente? – Patrick

+1

Mi aspetto che la vecchia password valida sia nulla se viene inviata una nuova password. – Nifle

+0

Sì, prendo "password temporanea" per indicare "la vecchia password non è più valida, eccone una nuova". –

Problemi correlati