Suchen

Definition „Universally Unique Identifier“ Was ist eine UUID?

Autor / Redakteur: chrissikraus / Stephan Augsten

Wer Informationen zuverlässig unverwechselbar machen möchte, bedient sich einer UUID. Diese standardisierte Identifikationsnummer gilt als universell einzigartig.

Firma zum Thema

Eine UUID dient dank Standardsisierung als nahezu einzigsartiges Identifikationsmerkmal zur Kennzeichnung von Informationen.
Eine UUID dient dank Standardsisierung als nahezu einzigsartiges Identifikationsmerkmal zur Kennzeichnung von Informationen.
(Bild gemeinfrei: stux - Pixabay.com)

Der Universally Unique Identifier, kurz UUID, ist ein Standard für Identifikationsnummern. Wie in einem Personalausweis soll die Nummer dazu dienen, zwei Komponenten zweifelsfrei auseinanderhalten zu können. Jeder Personalausweis hat eine eigene ID, die eine Person unabhängig von Name oder Geburtsdatum identifiziert – diese Informationen sind nämlich nicht eindeutig und können auf beliebig viele Personen zutreffen.

IDs sind auch in der Softwareentwicklung ein wichtiges Hilfsmittel. Immer dann, wenn Informationen zweifelsfrei auseinandergehalten werden müssen, kann eine einzigartige ID helfen. Solche IDs werden normalerweise vom Entwickler selbst bestimmt, sobald sie im Projekt benötigt werden.

UUIDs gehen einen Schritt weiter: Sie gelten als weltweit eindeutig und garantieren mehr oder weniger, dass niemand sonst dieselbe Identifikationsnummer verwendet.

Einzigartige Identifikation ohne Absprache

Die Open Software Foundation hat einen Standard festgelegt, nach dem UUIDs generiert werden. Der Standard soll dabei helfen, die UUIDs zuverlässig einzigartig zu halten. Wenn er korrekt umgesetzt wird, ist es also sehr unwahrscheinlich, dass versehentlich doppelte UUIDs generiert werden.

Hauptsächlich kommen UUIDs in verteilten Systemen zum Einsatz. Sie sollen dabei helfen, Informationen als eindeutig zu kennzeichnen, ohne dass eine entsprechende Absprache zwischen den einzelnen Entwicklern stattfinden muss.

Die Identifikationsnummern lassen sich aber auch dazu verwenden, in Datenbanken zukunftssichere Primärschlüssel zu realisieren. So kann man sicher sein, dass Tabellen später ohne Konflikte zusammengeführt werden können. In der Regel handelt es sich um eine hexadezimale Zahl, die 16 Byte (128 Bit) groß ist.

UUIDs in fünf Versionen

Im Laufe der Zeit haben sich verschiedene Versionen der UUID etabliert:

Version 1:

Dies ist die älteste Version der UUID. Sie basiert auf einem Zeitstempel und der MAC-Adresse der Maschine, auf der sie erzeugt wurde. Wenn diese Version verwendet wird sollte beachtet werden, dass Zeitstempel und MAC-Adresse Rückschlüsse zur Identität des Erstellers liefern können. In besonders sicherheitskritischen Szenarien kommt diese Version daher nicht zum Einsatz.

Version 2:

Diese Version ist eine Abwandlung der Version 1. Hier werden einige Stellen des Zeitstempels durch Zeichen aus der lokalen Domäne ersetzt.

Version 3:

Diese Version basiert auf einem nicht näher spezifizierten Namen, der innerhalb eines Namensraums eindeutig sein muss (z. B. DNS). Der so generierte Wert wird dann mit MD5 gehasht und der Hash wird gemeinsam mit der zuvor gebildeten UUID zur endgültigen UUID zusammengefügt. Es ist festgelegt, dass ein bestimmter Name aus einem bestimmten Namensraum immer dieselbe UUID erzeugen muss.

Version 4:

In dieser Version werden alle frei belegbaren Stellen durch zufällig generierte Zeichen aufgefüllt. Es ist zwar möglich, auf diese Weise doppelte UUIDs zu erzeugen. Doch die Wahrscheinlichkeit ist so gering, dass sie als praktisch irrelevant gilt.

Version 5:

Diese Version basiert ebenfalls auf einem Namen und wird ähnlich wie Version 3 gebildet. Statt MD5 wird SHA1 für den Hash verwendet.

(ID:45677962)