GUID (Global Unique IDentifier)


Identificateur unique, le GUID est un numéro permettant d'identifier de manière unique et certaine un composant matériel ou logiciel d'un ordinateur, ou l'ordinateur lui-même.


+ d'infos :

Un GUID sert habituellement d'identifiant unique pour un composant logiciel, par exemple un plugin. Sa taille est de 16 octets, soit 128 bits, décomposés en (exemple : {3F2504E0-4F89-11D3-9A0C-0305E82C3301}) 4 octets, 3 groupes de 2 octets, 6 octets.

Quatre versions ont été spécifiées par Microsoft :
version 1 : basée sur l’horloge de l'ordinateur et l’adresse MAC (avant Windows 2000)
version 2 : réservée (non utilisée en pratique)
version 3 : basée sur un nom, les différents champs sont produits à partir de ce nom
version 4 : basée sur des nombres issus d’un générateur de nombres pseudo-aléatoires cryptographique (Windows 2000 et ultérieur).

À noter que sur les 128 bits (dont 4 bits pour la version et 2 pour la variante), seuls 122 sont réellement aléatoires, ce qui fait quand même plus de 5 000 000 000 000 000 000 000 000 000 000 000 000 combinaisons possibles.

Des GUID sont aussi insérés dans des documents Microsoft Office. Même les flots audio et vidéo dans le codec ASF sont identifiés par un GUID.
Dans le modèle COM (utilisé par ActiveX), les CLSID sont utilisés uniquement pour différencier les différentes classes des objets. Cela veut dire que deux versions d'un composant peuvent avoir exactement le même nom, mais être discernable par leur CLSID. Chacune de ces classes implémente différentes interfaces identifiées chacune par un IID.

La base de registre de Windows contient de nombreux GUID, CLSID et IID.
En particulier, la clé HKEY_CLASSES_ROOT\CLSID (équivalent à HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\) contient de très nombreux CLSID.
Certains logiciels espions ajoutent des CLSID. N'étant pas très lisibles, l'opération peut passer inaperçue même pour un utilisateur averti qui connaît le maniement de regedit. Pour donner un exemple de logiciel espion modifiant les CLSID, on peut mentionner : Parent Tools, en juillet 2005 et PC Watch en juin 2005 (exemples indiqués par Symantec).
Dans certaines versions de Windows, les clés de registre HWID (Hardware ID) et MSID (Microsoft ID) servent pour générer un GUID identifiant un ordinateur de façon unique (dans l'arborescence CurrentControlSet de HKEY_LOCAL_MACHINE). Certains logiciels anti-spyware les éliminent.

En 1999, l'auteur du ver Melissa a été identifié en partie grâce au champ GUID de documents Microsoft Office, qui, à l'époque contenaient l'adresse MAC. Ce ver exploitait une faiblesse de Word 97. Dans les versions suivantes des logiciels Microsoft, l'algorithme qui génère le GUID a été modifié pour respecter la vie privée des utilisateurs : l'adresse MAC a été retirée.