Globally Unique Identifier

מתוך ויקיפדיה, האנציקלופדיה החופשית
קפיצה אל: ניווט, חיפוש

במחשבים Universal Unique Identifier (מזהה ייחודי אוניברסלי) או Globally Unique Identifier (מזהה ייחודי גלובלי), ובקיצור UUID או GUID הוא מספר פסאודו אקראי המשמש לזיהוי ייחודי של אובייקט בכל הקשר בו הוא עשוי להופיע‏‏‏[1]. קיימים 2^{128} מזהים כאלה כך שאף על פי שייתכן שמזהה מסוים יוגרל פעמיים הסבירות לכך נמוכה מאוד. הסבירות ששני מזהים זהים שהוגרלו יופיעו באותו הקשר קטנה אף יותר.

המונח UUID נטבע על ידי קבוצת Open Software foundation‏‏‏[2]. המונח GUID הומצא לראשונה על ידי חברת מיקרוסופט לשימוש בשיטה במערכות חלונות. כיום, השימוש בשני המונחים הוא כמילים נרדפות למרות שהשם GUID נפוץ יותר. האלגוריתמים מוגדרים בתקן ISO/IEC 11578:1996 ובתקן ISO/IEC 9834-8:2005

מבנה[עריכת קוד מקור | עריכה]

GUID הוא מספר באורך 16 בתים (128 סיביות). נהוג לכתוב את המזהה בבסיס הקסדצימלי מוקף בסוגריים מסולסלים (לדוגמה:
{3F2504E0-4F89-11D3-9A0C-0305E82C3301})‏‏‏[3] המזהה מורכב ממספר הגרסה שלו, מהזמן בו נוצר ומזהה ייחודי כלשהו.

  • גרסה 1: בגרסתו הראשונה של האלגוריתם המזהה הייחודי היה כתובת ה-MAC של המחשב עליו נוצר. שימוש בגרסה זו מאפשר לאתר את המחשב עליו נוצר ה-GUID. משיקולים של שמירת הפרטיות נזנח השימוש בגרסה זו לטובת גרסאות חדשות יותר.
  • גרסה 2: בגרסה זו מחושב המזהה הייחודי באמצעות שימוש בכתובת ה-MAC ומזהה הקשור לדומיין אליו משתייך המחשב.
  • גרסה 3: בגרסה זו מחושב ה-GUID באמצעות שימוש בפונקציית הגיבוב MD5 על מזהה ייחודי כלשהו של המחשב (למשל: URI, FQDN, OID).
  • גרסה 5: אופן השימוש בגרסה 5 זהה לאופן השימוש בגרסה 3 פרט לשימוש בפונקציה SHA1 במקום הפונקציה MD5.

שימושים[עריכת קוד מקור | עריכה]

כיוון שמספר המזהים האפשריים הוא עצום ניתן לזהות באופן ייחודי אובייקטים דומים אך לא זהים באמצעות GUID‏‏‏[4]. כך למשל, גרסאות שונות של אובייקטי COM יכולות לקבל שם זהה אך יבדלו ביניהן באמצעות ה-GUID שלהן‏[5]‏‏‏[6]‏‏‏[7]. GUID יכול גם לשמש כמפתח בבסיסי נתונים או בטבלאות גיבוב ללא צורך בפתרון התנגשויות. קבצים של מערכת ההפעלה חלונות (כגון קובצי Word ,Excel וקובצי ASF) מזוהים על ידי GUID.

בטיחות[עריכת קוד מקור | עריכה]

כיוון שבעת חישוב ה-GUID מוגרלות 122 סיביות מתוך 128 הסיביות באופן פסאודו-אקראי הסיכוי ליצירת שני מזהים זהים הוא x=2^{122}. כדי להעריך גודל זה ניתן להשתמש בחישוב מפרדוקס יום ההולדת הקובע כי הסיכוי להתנגשות לאחר יצירה של n מזהים הוא: p(n)\approx 1-e^{-\tfrac{n^2}{{2x}}}. אם נחשב את ההסתברות להתנגשות לאחר יצירת 2^{46} מזהים (מספר הכוכבים ביקום המוכר מוערך ב5 x 10^{22}) נקבל כי ההסתברות היא כ 4x10^{-10}.

על אף שהסיכוי להגריל באופן אקראי את אותו מזהה נמוכה מאוד, אין הדבר מגן על המערכת מפני האקר המנסה לנחש את המספר הבא. למעשה בהינתן סדרה של מספרים ואת נוסחת החישוב בה משתמשים, קל לנחש מה יהיה המזהה הבא שיתקבל. משום כך, אין להשתמש ב-GUID בישומים קריפטוגרפיים.

מחוללי מזהים ברשת[עריכת קוד מקור | עריכה]

קישורים חיצוניים[עריכת קוד מקור | עריכה]

לקריאה נוספת[עריכת קוד מקור | עריכה]

הערות שוליים[עריכת קוד מקור | עריכה]