¿Qué tan seguros son los GUID en términos de previsibilidad?

Estamos usando .NET'sGuid.NewGuid() para generar códigos de activación y claves API actualmente. Me pregunto si eso plantea un problema de seguridad ya que su algoritmo está abierto.

.NET Guid usa Win32CoCreateGuid y no sé sus componentes internos (¿posiblemente dirección MAC + marca de tiempo?). ¿Alguien puede obtener un segundo GUID del primero, o puede golpearlo con algunas conjeturas inteligentes o la aleatoriedad es lo suficientemente buena como para que el espacio de búsqueda sea demasiado grande?

La generación de claves aleatorias tiene el problema de colisión, necesitan una doble verificación antes de agregar a una base de datos. Es por eso que nos quedamos con los GUID, pero no estoy seguro de su seguridad para estos fines.

Estas son las 4 salidas UUIDGEN consecutivas:

c44dc549-5d92-4330-b451-b29a87848993
d56d4c8d-bfba-4b95-8332-e86d7f204c1c
63cdf958-9d5a-4b63-ae65-74e4237888ea
6fd09369-0fbd-456d-9c06-27fef4c8eca5

Aquí hay 4 de ellos porGuid.NewGuid():

0652b193-64c6-4c5e-ad06-9990e1ee3791
374b6313-34a0-4c28-b336-bb2ecd879d0f
3c5a345f-3865-4420-a62c-1cdfd2defed9
5b09d7dc-8546-4ccf-9c85-de0bf4f43bf0

Respuestas a la pregunta(3)

Su respuesta a la pregunta