¿Qué problemas generales de seguridad podrían surgir al usar UUID versión 1 que expone la dirección MAC?

4

Estoy codificando GENERIC_WEB_SERVICE, que potencialmente podría estar ejecutándose como varias instancias en múltiples máquinas en la línea. Estoy usando los UUID como identificadores, y aún no he decidido si usar la versión 1 o la versión 4.

En este caso, no tengo la menor idea de cuáles son las implicaciones de exponer la dirección MAC utilizando la versión 1. No creo que me preocupe exponer el tiempo de generación.

Entonces:

  • ¿Hay problemas potenciales?
  • Podría aplicar una máscara XOR sobre la parte del UUID que representa la dirección MAC. La misma máscara sería utilizada por cada instancia del servicio en ejecución. ¿Maneja esto suficientemente los problemas potenciales antes mencionados?
pregunta Nan L 22.03.2013 - 19:34
fuente

1 respuesta

5

Un UUID significa, por construcción, ser único en todo el mundo. Los UUID de la versión 1 lo logran en un contexto de entidades cooperantes . Sin embargo, las direcciones MAC y la hora actual no son exactamente valores secretos; Si alguien observa varios UUID de la versión 1 producidos por una máquina determinada, puede predecir el valor del futuro UUID producido por la misma máquina. Dependiendo de para qué use el UUID, esto puede o no ser un problema. Tenga en cuenta que ocultar el MAC con una máscara XOR o algo así no soluciona el problema.

El UUID de la versión 4 utiliza 122 bits de un PRNG criptográficamente fuerte , lo que los hace impredecibles. Eso es más fuerte, y mejor. Esto asegura la singularidad incluso en presencia de entidades hostiles .

Resumen: si no está seguro, use el UUID v4.

    
respondido por el Thomas Pornin 22.03.2013 - 20:09
fuente

Lea otras preguntas en las etiquetas