Quanto è sicuro l'url token per i subappaltatori senza account?

0

Immagina di essere una compagnia di taxi che subappalta autisti indipendenti per guidare all'interno di determinate città e paesi.

Si invia al subappaltatore un collegamento a una pagina che contiene campi per il subappaltatore per inserire e inviare informazioni (ad esempio quanti soldi hanno fatto per un lavoro che è stato loro richiesto o commenti sul lavoro). Il subappaltatore non ha bisogno di credenziali (un account con username e password) per accedere a questo link. Hanno solo bisogno del collegamento, che è specificamente pensato per loro, e che ha un parametro stringa di query che è un token di accesso generato in modo casuale. Il subappaltatore che immette e invia le informazioni dalla pagina a cui accede tramite il link invia i dati al database dell'azienda.

Questo token di accesso alla fine dell'URL ha lo scopo di mantenere la pagina sicura e accessibile solo dal subappaltatore. Il token di accesso è anche basato sul tempo. Il subappaltatore ha 24 ore per inserire le informazioni da quel link.

Qual è la tua opinione? Quanto è sicuro questo? Questo mi ricorda i link di reimpostazione della password che i siti Web inviano. Cosa succede se invece di 24 ore il collegamento è durato per 1 mese?

    
posta Adé 01.09.2015 - 02:34
fonte

3 risposte

1

Ci sono diversi scenari a cui devi pensare. Se stai inviando l'URL su HTTP tu (e i tuoi clienti) sei vulnerabile a man-in-the-middle attacco (l'utente malintenzionato avrà accesso alle informazioni inviate dai subappaltatori) e anche se lo invii tramite SSL che proteggerà il tuo URL solo durante il transito e se ti affidi alle e-mail per inviarlo quindi SSL non ti proteggerà dalle insicurezze dell'email che potrebbero passare attraverso molti server prima di raggiungere il tuo cliente; e prima di tutto, è un metodo debole per farlo in quanto non è supportato dai meccanismi di autenticazione più semplici (come le sessioni).

Inoltre, il fatto che tu debba inviare il subappaltatore dell'URL ogni volta che richiedi le sue informazioni, con la sua validità per 24 ore, espone a più minacce mentre migliora la lunghezza del superficie di attacco . E se l'URL è memorizzato nella cache dal browser e un subappaltatore può utilizzarlo più di una volta (non l'hai specificato tramite la tua domanda), anche SSL è inutile per questo caso particolare.

Ci sono anche altre considerazioni su cui riflettere: che ne è di un routing interno, la registrazione del server?

Per la tua ultima domanda:

What if instead of 24hrs the link lasted for 1 month?

Anche in questo caso, se aumenti la validità temporale dell'URL, stai migliorando nello stesso tempo l'attacco di superficie in quanto l'email del subappaltatore (o il sistema con cui riceve il tuo URL) potrebbe essere compromessa dal tempo.

    
risposta data 01.09.2015 - 10:03
fonte
0

Tuttavia, questo sembra un compito a casa, è possibile che una persona tecnica a volte non capisca alcune cose.

Devi assicurarti che la persona che inserisce le informazioni sia quella che si intende per questo. I due metodi standard di controllo di john doe sono in realtà john doe è avere la loro e-mail e inviare il link alla loro e-mail, o avere il loro telefono (cellulare) e inviare un numero casuale tramite sms che devono inserire quando colpiscono il link.

Questo non parla di implosation o di altri problemi come lo spam. Dovrai fare un brainstorming e pensare a quelli.

    
risposta data 01.09.2015 - 07:28
fonte
0

Questo è abbastanza sicuro, supponendo che tu abbia messo in atto un modo di affrontare collisioni e qualcuno provi a caso a indovinare altre stringhe. Dato che è su ssl, e supponendo che sia end-to-end terminato esattamente sul tuo server, è resistente a chiunque provi ogni combinazione per il periodo di validità della stringa, e le ispe intermedie non stanno salvando l'url, dovrebbe essere ok.

    
risposta data 01.09.2015 - 10:55
fonte

Leggi altre domande sui tag