UUID v4 è crittograficamente sicuro per le password? [duplicare]

0

In termini di sufficiente entropia per la casualità, possiamo considerare UUID v4 sicuro?

Ad esempio, generare una password casuale come

>>> import uuid
>>> uuid.uuid4().hex

sarebbe sufficiente?

Ho letto che era un'entropia di 3.4e38, il che sembra ragionevole, ma la mia preoccupazione è maggiore se è potenzialmente ipotizzabile (ad esempio UUID v1 perde l'indirizzo MAC, e altre fonti come / dev / random potrebbero non essere completamente cassetta di sicurezza).

    
posta Mariano Anaya 25.07.2017 - 16:11
fonte

1 risposta

2

UUID4 non fa affidamento sull'indirizzo MAC della macchina, dalla documentazione :

If all you want is a unique ID, you should probably call uuid1() or uuid4(). Note that uuid1() may compromise privacy since it creates a UUID > containing the computer’s network address. uuid4() creates a random UUID.

Tuttavia, gli UUID di qualsiasi tipo non promettono di essere crittograficamente sicuri in quanto non sono garantiti nella RFC . Alcune implementazioni possono utilizzare un generatore di numeri casuali crittograficamente sicuro, ma non ci farei affidamento. Sceglierei di usare un'altra libreria se è ciò che è necessario. Se stai usando Python3 puoi usare la libreria secrets che ha le funzioni per fare proprio questo.

    
risposta data 25.07.2017 - 16:49
fonte

Leggi altre domande sui tag