Articles

Univerzálně jedinečný identifikátor

Pro obě varianty 1 a 2, pěti „verze“ jsou definovány v normách, a každá verze může být vhodnější než ostatní v konkrétních případech použití. Verze je označena M v reprezentaci řetězce.

Verze-1 Uuid jsou generovány z času a ID uzlu (obvykle MAC adresa); verze-2 Uuid jsou generovány z identifikátor (obvykle skupina nebo ID uživatele), čas a ID uzlu; verze 3 a 5 vyrábět deterministický Uuid generované hash obor názvů identifikátor a název; a verze-4 UUID jsou generovány pomocí náhodného nebo pseudonáhodného čísla.

Nil UUIDEdit

„nula“ UUID, zvláštní případ, je UUID 00000000-0000-0000-0000-000000000000; to znamená, že všechny bity nastaveny na nulu.

Verze 1 (datum-čas a MAC adresa)Upravit

Verze 1 zřetězí 48-bit MAC adresa „uzel“ (to znamená, že počítač generuje UUID), s 60-bit časové razítko, je počet na 100 nanosecond intervalech od půlnoci 15. října 1582 Koordinovaný Univerzální Čas (UTC), datum, kdy Gregoriánský kalendář byl poprvé přijat. RFC 4122 uvádí, že hodnota času převalí kolem 3400 AD:3 v závislosti na použitém algoritmu, což znamená, že 60-bit časové razítko je podepsáno množství. Nicméně nějaký software, jako je libuuid knihovna, zachází s časovým razítkem jako nepodepsaný, čímž se doba převrácení v roce 5236 NL. Doba převrácení definovaná ITU-T Rec. X. 667 je 3603 našeho letopočtu.:v

13 – nebo 14-bit „uniquifying“ hodiny sekvence prodlužuje časové razítko, aby rukojeť případech, kdy procesor hodiny není předem dostatečně rychle, nebo tam, kde jsou více procesorů a UUID generátory na uzel. Když Uuid jsou generovány rychleji než systémové hodiny může předem, nižší bity z pole časového razítka mohou být generovány narůstat pokaždé UUID je generován, simulovat high-rozlišení časové razítko. S každou verzí 1 UUID odpovídá jeden bod v prostoru (uzel) a čas (intervaly a hodiny sekvence), možnost dvou správně generovány verze-1 Uuid být neúmyslně stejné je prakticky nulová. Od časové a hodinové sekvence celkem 74 bitů, 274 (1 .8×1022 nebo 18 sextillion) verze – 1 UUID lze generovat na ID uzlu při maximální průměrné rychlosti 163 miliard za sekundu na ID uzlu.

na rozdíl od jiných UUID verze, verze-1 a -2 Uuid na základě MAC adresy ze síťové karty spoléhat na jejich jedinečnost v části na identifikátor vydaný centrální registrační úřad, a to Organizačně Jedinečný Identifikátor (OUI) část MAC adresy, které vydává IEEE, aby výrobci síťových zařízení. Jedinečnost verze 1 a verze 2 Uuid založené na síťových karet MAC adresy také závisí na síti-výrobci karet správně přiřadí unikátní MAC adresy, aby jejich karty, která je stejně jako ostatní výrobní procesy podléhají chyba.

použití MAC adresy síťové karty uzlu pro ID uzlu znamená, že UUID verze 1 lze sledovat zpět do počítače, který jej vytvořil. Dokumenty lze někdy vysledovat do počítačů, kde byly vytvořeny nebo upraveny pomocí UUID vložených do nich softwarem pro zpracování textu. Tato díra na soukromí byla použita při hledání tvůrce viru Melissa.

RFC 4122 neumožňuje MAC adresu ve verzi-1 (nebo 2) UUID být nahrazeny náhodným 48-bit ID uzlu, a to buď, protože uzel nemá MAC adresu, nebo proto, že to není žádoucí vystavit. V takovém případě RFC vyžaduje, aby nejméně významný bit prvního oktetu ID uzlu byl nastaven na 1. To odpovídá multicast bit MAC adresy a nastavení slouží k odlišení Uuid, kde uzel ID je náhodně generováno z Uuid na základě MAC adresy ze síťové karty, které obvykle mají unicast MAC adresy.

verze 2 (datum-čas a MAC adresa, dce security version)Edit

RFC 4122 vyhrazuje verzi 2 pro“ dce security “ UUID; ale neposkytuje žádné podrobnosti. Z tohoto důvodu mnoho implementací UUID vynechává verzi 2. SPECIFIKACE UUID verze-2 je však poskytována specifikací autentizačních a bezpečnostních služeb dce 1.1.

Verze-2 Uuid jsou podobné verzi 1, kromě toho, že nejméně významný 8 bitů hodiny sekvence jsou nahrazeny „místní domény“ číslo, a nejméně významné 32 bitů časové razítko jsou nahrazeny celé číslo identifikátor smysluplné ve stanovené místní domény. V systémech POSIX jsou čísla lokálních domén 0 a 1 určena pro ID uživatelů (UID) a ID skupin (Gid) a další čísla lokálních domén jsou definována na webu. V systémech, které nejsou POSIX, jsou všechna místní doménová čísla definována na webu.

schopnost zahrnout 40bitovou doménu / identifikátor do UUID přichází s kompromisem. Na jedné straně 40 bitů umožňuje přibližně 1 bilion hodnot domény / identifikátoru na ID uzlu. Na druhou stranu, s hodinami hodnotu zkrácen na 28 nejvýznamnějších bitů, ve srovnání s 60 bitů ve verzi 1, clock ve verzi 2 UUID bude „klíště“ pouze jednou za 429.49 sekund, o něco více než 7 minut, oproti každých 100 nanosekund pro verzi 1. A s hodinovou sekvencí pouze 6 bitů, ve srovnání se 14 bity ve verzi 1, lze vygenerovat pouze 64 jedinečných UUID na uzel / doménu / identifikátor za 7minutové hodiny, ve srovnání s 16 384 hodnotami hodinové sekvence pro verzi 1. Verze 2 tedy nemusí být vhodná pro případy, kdy jsou vyžadovány UUID na uzel / doménu / identifikátor rychlostí přesahující přibližně jednu každých sedm sekund.

Verze 3 a 5 (namespace name-based)Upravit

Verze 3 a verze-5 Uuid jsou generované hash obor názvů identifikátor a jméno. Verze 3 používá MD5 jako hashovací algoritmus a verze 5 používá SHA-1.

identifikátor jmenného prostoru je sám o sobě UUID. Specifikace poskytuje Uuid reprezentovat obory názvů na adresy Url, plně kvalifikovaná doménová jména, identifikátory objektů a X. 500 rozlišující názvy, ale všechny požadované UUID může být použit jako jmenný prostor označení.

Chcete-li určit verzi-3 UUID odpovídající danému oboru názvů a název, UUID jmenný prostor je transformován na řetězec bajtů, spojeny se vstupním jméno, pak s MD5 hash, poddajný 128 bitů. Pak jsou 6 nebo 7 bitů nahrazeny pevnými hodnotami, 4bitovou verzí (např. 00112 pro verzi 3), a 2 – nebo 3-bit UUID „varianta“ (např. 102 označující RFC 4122 Uuid, nebo 1102 uvedením odkazu Microsoft GUID). Protože 6 nebo 7 bitů je tedy předurčeno, pouze 121 nebo 122 bitů přispívá k jedinečnosti UUID.

Verze-5 UUID jsou podobné, ale místo MD5 se používá SHA-1. Protože SHA-1 generuje 160bitové digesty, je digest zkrácen na 128 bitů před výměnou verze a variantních bitů.

Verze-3 a verze-5 UUID mají vlastnost, že stejný jmenný prostor a název budou mapovat na stejný UUID. Z UUID však nelze určit jmenný prostor ani název, i když je zadán jeden z nich, s výjimkou vyhledávání hrubou silou. RFC 4122 doporučuje verzi 5 (SHA-1) oproti verzi 3 (MD5) a varuje před použitím UUID obou verzí jako bezpečnostních pověření.

verze 4 (random)Edit

verze 4 UUID je náhodně generován. Stejně jako v jiných UUID se 4 bity používají k označení verze 4 a 2 nebo 3 bity k označení varianty (102 nebo 1102 pro varianty 1 a 2). Tak, pro variantu 1 (to znamená, že většina Uuid) náhodné verze-4 UUID bude mít 6 předem stanovené varianty a verze bitů, přičemž 122 bitů za náhodně generované části, pro celkem 2122, nebo 5,3×1036 (5.3 undecillion) možné verze-4 varianta-1 Uuid. Existuje polovina tolik možné verze-4 varianta-2 UUID (starší GUID), protože tam je jeden méně náhodný bit k dispozici, 3 bity jsou spotřebovány pro variantu.