Quali fattori aumentano la probabilità di duplicare un GUID?

4

È stato affermato che un GUID non fa un buon lavoro di essere un token di sicurezza una tantum , e ha senso perché i GUID non sono casuali.

Nel mio scenario: supponiamo che una determinata azienda stia utilizzando i GUID come token di sicurezza e deve vedere la matematica dietro la possibilità di una violazione della sicurezza, prima che considerino un problema di sicurezza ...

Detto questo:

What is the statistical probability of an outsider guessing a GUID?

Da quello che posso dire, la probabilità aumenta se l'utente malintenzionato conosce l'ora / data in cui è stato generato il GUID; ma non so come calcolare il grado / l'ambito della vulnerabilità.

La probabilità aumenta anche se il GUID viene generato sulla stessa macchina (e forse l'hacker lo sa) per la versione GUID 1 anche se 3. Non sono sicuro se questo si applica anche alla versione GUID 4.

    
posta random65537 18.12.2011 - 00:15
fonte

2 risposte

2

Un GUID è solo un formato di dati. Esistono molti modi per generare un GUID. La difficoltà di indovinare un GUID dipende da come viene generato.

Personalmente, sarei riluttante a utilizzare un GUID come token non visitabile. Non è stato progettato per quello scopo , e per alcuni metodi di generazione di un GUID, sarà insicuro. Non è una buona idea rendere la tua architettura di sicurezza basata su un meccanismo che non è stato progettato per la sicurezza ed è probabile che sia fragile.

Se hai bisogno di una citazione per questo, potresti fare peggio che citare la fonte originale: la sezione Considerazioni sulla sicurezza di RFC 4122 (la specifica GUID). Dice:

Do not assume that UUIDs are hard to guess; they should not be used
as security capabilities (identifiers whose mere possession grants
access), for example.

Vedi anche I GUID sono sicuri per i token una tantum? .

Invece, consiglio di usare un generatore pseudocasuale crittograficamente per generare un token monouso a 128 bit. È facile da fare; utilizzi solo CryptGenRandom() , /dev/urandom , java.security.SecureRandom o l'equivalente per la tua piattaforma per generare il token a uso singolo a 128 bit.

    
risposta data 19.12.2011 - 00:53
fonte
2

Ho visto spoofers GUID quindi ... Il concetto è là fuori. Sono certo che, dato il tempo, un aggressore determinato riuscirebbe a duplicare il GUID anche contro il nuovo standard.

Forse, un'alternativa sarebbe basata sull'autenticazione non basata sul tempo e sul posto ma, invece, garantire che l'autenticazione sia unica per il singolo (non per la macchina / terminale). In secondo luogo, i dati sono completamente crittografati dal mittente al destinatario. Mi viene in mente PGP ma, una volta iniziato a proteggere tutto, anche la rete deve essere pronta ad accettare il sovraccarico aggiunto.

Gli amministratori delle reti iniziano a lamentarsi in questo momento, e quindi i dirigenti vedono solo $$$, e declinano o diluiscono il processo in modo che venga eseguito, "piano ma, sicuramente ..."

Se ti stai preparando a presentare questo, ti suggerirei di mostrare loro che perderanno di più a lungo termine essendo insicuri allora, lo faranno se saranno protetti. Amano i numeri non importa se sono - o +. La loro lingua, come i termini tecnici, è nostra. Ricerca, ciò che gli hacker stanno ricercando. In questo caso, Google tornerà utile. Pensa come se l'aggressore avesse anche lui per un secondo, e vedi dove ti porta.

Spero che aiuti; -)

    
risposta data 18.12.2011 - 01:39
fonte

Leggi altre domande sui tag