quali sono i difetti di sicurezza nel fornire l'accesso agli utenti attraverso un URL non elencato / privato / token / firmato?

1

Alcune applicazioni Web consentono agli utenti registrati di concedere l'accesso temporaneo alle applicazioni agli utenti non registrati che inviano token / private / non elencati / URL firmati (ignoro la terminologia esatta per questo), che vengono quindi utilizzati per inviare informazioni riservate / confidenziali. Il motivo dell'utilizzo di tale meccanismo è quello di esonerare questi utenti dal richiedere un account, in quanto sono molto poco frequenti per il sistema. Questo sistema di autenticazione / identificazione degli URL potrebbe assomigliare ai meccanismi utilizzati per convalidare o reimpostare gli account utente, con la differenza che sono disponibili per un periodo di tempo più lungo (ad esempio una o due settimane).

Quali sono i possibili difetti di sicurezza nell'utilizzo di questo meccanismo per garantire l'accesso agli utenti? Dalla mia comprensione, la pubblicazione di informazioni riservate può essere garantita con SSL, tuttavia la condivisione di questi collegamenti tramite e-mail è suscettibile di qualcuno che intercetta l'e-mail in grado di soppiantare l'utente mentre il collegamento non è scaduto, il che potrebbe portare a informazioni non richieste inviate al server. Suppongo che un modo per ridurre al minimo i rischi sia quello di consentire alle persone di utilizzare l'URL solo per i contenuti POST, in modo che nessuno (non lo stesso utente legittimo) abbia accesso a qualsiasi dato precedentemente inviato tramite lo stesso link. Quindi, presumendo che non mi manchi altro, questa scelta di progettazione dell'autenticazione è giustificata o è nel complesso una pratica non raccomandata?

Aggiornamento:

L'alternativa a questo è chiedere anche agli utenti non frequenti di creare un nome utente / pwd. Con questo, ti assicuri che nessuno faccia richieste indesiderate al tuo server, e inoltre, puoi scegliere di visualizzare le informazioni personali dall'utente in qualsiasi momento.

    
posta jibiel 21.05.2014 - 14:24
fonte

1 risposta

1

Finché non si concede l'accesso a nessuna informazione e si accetta solo l'input, non c'è davvero uno svantaggio, ma in realtà non c'è nemmeno bisogno. Cosa stai guadagnando inviando un tale link? Non sai nulla di più sull'utente di quello che hai se sono andati sul tuo sito web (a parte forse che hanno accesso (legittimo o meno) a qualsiasi meccanismo di comunicazione a cui hai inviato il link.

Questo potrebbe essere fatto prima o dopo l'immissione delle informazioni e fino a quando non viene rivelata alcuna informazione, non vi è alcun problema di sicurezza apparente dato che tutto ciò che qualcuno potrebbe fare è convincerti che qualcun altro è effettivamente qualcuno che non lo è se la persona che stanno fingendo di essere d'accordo con essa.

Devi semplicemente assicurarti che il token sia abbastanza casuale da non poter essere indovinato da un utente malintenzionato. Un modo possibile per farlo è utilizzare due informazioni e implementare un lockout se vengono provati troppi token per un determinato identificatore.

    
risposta data 21.05.2014 - 15:37
fonte

Leggi altre domande sui tag