Bookmark UUID Link

0

Ho notato il seguente sito: nightchamber.com

Un account utente viene generato automaticamente alla prima visita e inserito in un uuid, l'ID viene quindi inserito nella sessione e utilizzato per creare un collegamento che l'utente può aggiungere ai segnalibri per tornare al proprio "account". Finché quel link / id rimane segreto, l'utente ha un account unico da utilizzare senza alcuno sforzo da parte sua.

Esistono alcuni inconvenienti immediati che utilizzano questo metodo per un accesso e / o registrazione super veloce?

    
posta JPrice 03.03.2016 - 17:36
fonte

2 risposte

1

Se si tratta di un UUID ben generato (ad esempio, non solo un numero sequenziale inceppato in qualcosa che sembra UUID-y), e il sito non contiene dati particolarmente sensibili (ad esempio informazioni sui pagamenti con carta di credito, indirizzi personali, ecc.) probabilmente non è male.

Il difetto principale è quello che hai menzionato: se non è segreto, chiunque ha accesso. Ciò implica che HTTPS deve essere utilizzato, con le intestazioni di controllo della cache impostate per impedire alle cache intermedie di memorizzare l'URL. Ci dovrebbe essere un metodo per disattivare un dato collegamento, dopo aver verificato un metodo diverso (ad esempio, inviare loro un link di disattivazione), in caso di perdita rilevata.

Ci si aspetta inoltre che il sito implementa ragionevoli precauzioni contro la modifica di altri dettagli, come richiedere una password prima di poter modificare l'indirizzo email registrato o richiedere un cookie.

Non vorremmo usarlo per qualcosa di sensibile, e certamente non per qualsiasi cosa che riguardi pagamenti, informazioni personali o relative alla salute, ma per un gioco online, o chatroom, o simili (non ho visitato il link!) è non terribile.

    
risposta data 03.03.2016 - 18:12
fonte
1

Esistono diversi metodi per generare UUID . Il metodo 4 implica l'uso di 122 bit da un generatore casuale. Se il generatore è crittograficamente strong , l'UUID è una buona chiave segreta. Ma può essere difficile accertare se un'implementazione specifica della generazione dell'UUID utilizza il metodo 4 con un PRNG strong. In generale, gli UUID sono pensati per unicità , non imprevedibilità . Per un token di autenticazione segreta, hai davvero bisogno di quest'ultimo. Ad esempio, se vengono utilizzati UUID di "tipo 1" (combinazione dell'indirizzo MAC di sistema e dell'ora corrente), gli autori di attacchi possono facilmente dedurre quale UUID il sistema produrrà per gli altri utenti.

Detto questo, in un dato sistema, potresti usare manualmente un PRNG strong per ottenere una sequenza imprevedibile a 128 bit, che sarebbe un UUID di ordinamento con le caratteristiche necessarie.

Fornire il token di autenticazione come parte di un URL che gli utenti possono aggiungere ai segnalibri presenta un altro problema, ovvero che gli lo lo inseriranno tra i preferiti. L'archiviazione dei valori segreti su un computer desktop richiede una certa attenzione. I browser applicano questa cura per i cookie, non per l'URL. In particolare, l'URL può essere visualizzato (e in genere lo farà). Questo sarebbe un problema esattamente nello stesso senso in cui non ti piacerebbe che una pagina Web mostrasse la tua password: le persone che hanno uno sguardo sul tuo schermo potrebbero guadagnare troppe informazioni.

Inoltre, i segnalibri sono sincronizzati (quando si utilizza tale funzione) mentre i cookie non sono . Anche l'URL accesso lo rende la "cronologia" salvata. Questo fa parte del pezzo "extra care" di cui stavo parlando. In generale, gli URL tendono a viaggiare e ad essere copiati molto più dei cookie e sono meno protetti da ispezioni indesiderate. Ciò li rende meno appropriati per i valori segreti, come un token di autenticazione.

    
risposta data 03.03.2016 - 19:36
fonte

Leggi altre domande sui tag