OT: GUID tan único es?

11/02/2008 - 22:39 por news.microsoft.com | Informe spam
Hola grupo:

He leido que GUID es un número aleatorio que se genera, y que es único, no
se puede generar otro igual.
Pero me gustaría saber por qué es tan seguro que no haya otro igual, cómo se
calcula?
Ustedes lo han utilizado y nunca tuvieron problemas porque aparecio otro
igual?
Saludos gracias

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
12/02/2008 - 08:18 | Informe spam
"news.microsoft.com" wrote in message
news:%
He leido que GUID es un número aleatorio que se genera, y que es único, no
se puede generar otro igual.
Pero me gustaría saber por qué es tan seguro que no haya otro igual, cómo
se calcula?



Parte del GUID se toma de la dirección MAC de la placa de red del
equipo. Como estas direcciones son únicas, no se puede generar el mismo GUID
en dos equipos diferentes. Y dentro del mismo equipo, otra parte del GUID es
secuencial (creo que depende de la fecha y hora) con lo que tampoco se
pueden generar dos GUIDs iguales en el mismo equipo.
Respuesta Responder a este mensaje
#2 Lluis Franco
12/02/2008 - 11:21 | Informe spam
:-)
Dale un vistazo a:
http://es.wikipedia.org/wiki/Global...Identifier

Alberto: Yo también pensaba lo mismo, pero se ve que ahora ha cambiado:
[...] Al principio, la dirección MAC de la tarjeta de red del usuario se
usaba como base para varios dígitos GUID, lo que significa, por ejemplo, que
un documento podía ayudar a averiguar qué ordenador lo había creado. Este
agujero en la privacidad se utilizó para localizar al creador del gusano
Melissa. Después de que esto se descubriera, Microsoft cambió el algoritmo,
por lo que ya no contiene la dirección MAC.

Curioso, no?

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
NUG: http://andorradotnet.com
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Respuesta Responder a este mensaje
#3 RFOG
12/02/2008 - 23:40 | Informe spam
Yo me fiaría de la wikipedia. Si no recuerdo mal, el número todal de
GUIID es algo superior al número total de partículas elementales de que
se supone está compuesto el universo, o algo así. En resumen: que se
trata de un número lo suficientemente grande como para que tomado como
número aleatorio sea siempre diferente.

El problema con los PCs es que no tienen un generador aleatorio de
verdad. Teóricamente, dos ordenadores encendidos a la vez y ejecutando
simultaneamente el mismo software generarían los mismos números
aleatorios... pero una pequeña variación en cualquier momento hace
diverger la serie... siempre que el generador esté asociado al reloj,
los ticks del sistema o incluso al contenido de áreas de la memoria,
como supongo que esté el generador de UIDs, porque si está basado en el
típico generador de semilla, mal vamos.

Suponiendo esto, lo único realmente diferente en un ordenador (haciendo
abstracción de TPM, números de serie de procesadores, etc) es la MAC de
una tarjeta de red. Cada fabricante tiene su parte del código y la
complementa con un número diferente para cada tarjeta. Eso, claro está,
si cumple con su obligación.

Haciendo abstracción del hecho de que hay software para cambiar la MAC,
o para que el sistema operativo vea otra MAC a de la tarjeta de red (y
entonces podría haber dos ordenadores con la misma MAC), es
prácticamente imposible que dos UIDs coincidan, incluso si tuvieran la
misma MAC por el tema de la divergencia del reloj y demás menesteres
expuestos.

Independientemente de que todo lo expuesto fallara: dos MAC iguales, la
misma semilla para el reloj, usar un generador aleatorio de semilla con
la misma semilla, etc, resulta bastante difícil que dos ordenadores
generaran un mismo UID, ya que deberían haber inicializado muchas cosas
de igual forma y en el mismo momento.

De hecho, imagino que se sigue usando la MAC, pero tomando un HASH (en
principio los hash no son reversibles), aunque aquí sí que podrían
generase dos hash iguales para diferentes MAC... Lo cierto es que no es
un tema sencillo.

Pero el tema de los UID es tan fiable que existen varios métodos de
protección basados en ellos. La aplicación genera un UID que pasa a un
chip hardware que devuelve otro UID basado en el pasado por la
aplicación y su propio UID. Una serie de operaciones sobre ambos UID
determinan si la aplicación se corresponde con el hard o no...



It happens that news.microsoft.com formulated :
En el foro de sql server pregunte lo mismo y me pasaron este link
http://technet.microsoft.com/es-es/...90215.aspx

Que dice entre otras cosas
"generan nuevos valores uniqueidentifier a partir del número de
identificación de su tarjeta de red más un número exclusivo del reloj de la
CPU. Cada tarjeta de red tiene un número de identificación exclusivo."

Saludos y gracias

"Lluis Franco" escribió en el mensaje
news:
:-)
Dale un vistazo a:
http://es.wikipedia.org/wiki/Global...Identifier

Alberto: Yo también pensaba lo mismo, pero se ve que ahora ha cambiado:
[...] Al principio, la dirección MAC de la tarjeta de red del usuario se
usaba como base para varios dígitos GUID, lo que significa, por ejemplo,
que un documento podía ayudar a averiguar qué ordenador lo había creado.
Este agujero en la privacidad se utilizó para localizar al creador del
gusano Melissa. Después de que esto se descubriera, Microsoft cambió el
algoritmo, por lo que ya no contiene la dirección MAC.

Curioso, no?

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
NUG: http://andorradotnet.com
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.





Microsoft Visual C++ MVP
==Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación

Unos nacen con estrella, y otros nacen estrellados.
Respuesta Responder a este mensaje
#4 news.microsoft.com
12/02/2008 - 23:43 | Informe spam
En el foro de sql server pregunte lo mismo y me pasaron este link
http://technet.microsoft.com/es-es/...90215.aspx

Que dice entre otras cosas
"generan nuevos valores uniqueidentifier a partir del número de
identificación de su tarjeta de red más un número exclusivo del reloj de la
CPU. Cada tarjeta de red tiene un número de identificación exclusivo."


Saludos y gracias


"Lluis Franco" escribió en el mensaje
news:
:-)
Dale un vistazo a:
http://es.wikipedia.org/wiki/Global...Identifier

Alberto: Yo también pensaba lo mismo, pero se ve que ahora ha cambiado:
[...] Al principio, la dirección MAC de la tarjeta de red del usuario se
usaba como base para varios dígitos GUID, lo que significa, por ejemplo,
que un documento podía ayudar a averiguar qué ordenador lo había creado.
Este agujero en la privacidad se utilizó para localizar al creador del
gusano Melissa. Después de que esto se descubriera, Microsoft cambió el
algoritmo, por lo que ya no contiene la dirección MAC.

Curioso, no?

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
NUG: http://andorradotnet.com
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no
rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.
Respuesta Responder a este mensaje
#5 Heberto Villavicencio
12/02/2008 - 23:55 | Informe spam
Interesante lo del GUID pero en la wikipedia dice que el algoritmo que usa
microsoft para generarlo ya NO contiene el numero de la mac de la tarjeta de
red:

"El algoritmo empleado para generar nuevos GUIDs ha sido ampliamente
criticado. Al principio, la dirección MAC de la tarjeta de red del usuario
se usaba como base para varios dígitos GUID, lo que significa, por ejemplo,
que un documento podía ayudar a averiguar qué ordenador lo había creado.
Este agujero en la privacidad se utilizó para localizar al creador del
gusano Melissa. Después de que esto se descubriera, Microsoft cambió el
algoritmo, por lo que ya no contiene la dirección MAC."



"RFOG" wrote in message
news:
Yo me fiaría de la wikipedia. Si no recuerdo mal, el número todal de GUIID
es algo superior al número total de partículas elementales de que se
supone está compuesto el universo, o algo así. En resumen: que se trata de
un número lo suficientemente grande como para que tomado como número
aleatorio sea siempre diferente.

El problema con los PCs es que no tienen un generador aleatorio de verdad.
Teóricamente, dos ordenadores encendidos a la vez y ejecutando
simultaneamente el mismo software generarían los mismos números
aleatorios... pero una pequeña variación en cualquier momento hace
diverger la serie... siempre que el generador esté asociado al reloj, los
ticks del sistema o incluso al contenido de áreas de la memoria, como
supongo que esté el generador de UIDs, porque si está basado en el típico
generador de semilla, mal vamos.

Suponiendo esto, lo único realmente diferente en un ordenador (haciendo
abstracción de TPM, números de serie de procesadores, etc) es la MAC de
una tarjeta de red. Cada fabricante tiene su parte del código y la
complementa con un número diferente para cada tarjeta. Eso, claro está, si
cumple con su obligación.

Haciendo abstracción del hecho de que hay software para cambiar la MAC, o
para que el sistema operativo vea otra MAC a de la tarjeta de red (y
entonces podría haber dos ordenadores con la misma MAC), es prácticamente
imposible que dos UIDs coincidan, incluso si tuvieran la misma MAC por el
tema de la divergencia del reloj y demás menesteres expuestos.

Independientemente de que todo lo expuesto fallara: dos MAC iguales, la
misma semilla para el reloj, usar un generador aleatorio de semilla con la
misma semilla, etc, resulta bastante difícil que dos ordenadores generaran
un mismo UID, ya que deberían haber inicializado muchas cosas de igual
forma y en el mismo momento.

De hecho, imagino que se sigue usando la MAC, pero tomando un HASH (en
principio los hash no son reversibles), aunque aquí sí que podrían
generase dos hash iguales para diferentes MAC... Lo cierto es que no es un
tema sencillo.

Pero el tema de los UID es tan fiable que existen varios métodos de
protección basados en ellos. La aplicación genera un UID que pasa a un
chip hardware que devuelve otro UID basado en el pasado por la aplicación
y su propio UID. Una serie de operaciones sobre ambos UID determinan si la
aplicación se corresponde con el hard o no...



It happens that news.microsoft.com formulated :
En el foro de sql server pregunte lo mismo y me pasaron este link
http://technet.microsoft.com/es-es/...90215.aspx

Que dice entre otras cosas
"generan nuevos valores uniqueidentifier a partir del número de
identificación de su tarjeta de red más un número exclusivo del reloj de
la CPU. Cada tarjeta de red tiene un número de identificación exclusivo."

Saludos y gracias

"Lluis Franco" escribió en el mensaje
news:
:-)
Dale un vistazo a:
http://es.wikipedia.org/wiki/Global...Identifier

Alberto: Yo también pensaba lo mismo, pero se ve que ahora ha cambiado:
[...] Al principio, la dirección MAC de la tarjeta de red del usuario se
usaba como base para varios dígitos GUID, lo que significa, por ejemplo,
que un documento podía ayudar a averiguar qué ordenador lo había creado.
Este agujero en la privacidad se utilizó para localizar al creador del
gusano Melissa. Después de que esto se descubriera, Microsoft cambió el
algoritmo, por lo que ya no contiene la dirección MAC.

Curioso, no?

Saludos,

Lluís Franco i Montanyés
[MS-MVP-MCP Visual Basic]
NUG: http://andorradotnet.com
Web: http://sps.uyssoft.com
Blog: http://msmvps.com/blogs/lfranco
Geeks: http://geeks.ms/blogs/lfranco
(Guía de netiquette de los foros)
http://sps.uyssoft.com/Foros%20onli...uette.aspx
FIMARGE, S.A.
Principat d'Andorra

Tel.: +376 805 100
Fax: +376 824 500
Mi Perfil MVP en:
https://mvp.support.microsoft.com/profile/Lluis
This posting is provided "AS IS" with no warranties, and confers no
rights.
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho.





Microsoft Visual C++ MVP
==> Mi blog sobre programación: http://geeks.ms/blogs/rfog
Mi blog sobre literatura: http://rfog.blogsome.com
Libros, ciencia ficción y programación
>
Unos nacen con estrella, y otros nacen estrellados.


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida