Para iniciar y definir guid, estoy usando un .NET framework Guid Esto es algo una situación hipotética Los usuarios al realizar una acción específica tienen guids generados. Cada usuario puede ver sus propias guías. Si un usuario conociera una de las pautas de otro usuario, habría un compromiso de seguridad.¿Se puede confiar en las guías para la seguridad, o son predecibles si se puede forzar al sistema a generar muchas guías conocidas?
¿Qué tan seguro es este sistema si asumimos que un usuario no tiene forma de robar el GUID de otro usuario y solo puede adivinarlo?
Entiendo que es imposible adivinar ciegamente guids. Incluso si tuvieran un millón de valores de éxito, todavía tendrían una probabilidad de 10^20 de una conjetura exitosa
Donde tengo miedo de que exista un problema es la predicción de guía. ¿Puede un usuario generar un gran número de solicitudes, ver las guías que obtuvo y conocer la fórmula de generación .net guid mejora en gran medida sus probabilidades de adivinar? ¿Pueden estas probabilidades reducirse a un punto en el que serían un problema de seguridad? En ese caso, ¿cómo deben generarse las claves de una manera única no adivinable?
Le pido a cualquiera que mencione las probabilidades de conjeturas/colisiones que le agreguen algún significado difícil. Ya sea un número exacto para definir probabilidades, o algo así, "se puede utilizar para almacenar datos de la cuenta, pero los datos no sensibles"
EDIT
esta pregunta parece ir bien en el territorio que originalmente buscaba explorar con esta pregunta Is a GUID a good key for (temporary) encryption?
GUID del no son exclusivos; por lo tanto, en teoría, dos usuarios podrían tener el mismo Guid. –
Probablemente similar a http://stackoverflow.com/questions/4517497/how-secure-are-guids-in-terms-of-predictability –
Para las guías aleatorias generadas correctamente, las posibilidades de colisión son suficientemente bajas para garantizar la singularidad en la práctica. – CodesInChaos