סקירה כללית על פרטי כניסה דיגיטליים

פרטי כניסה דיגיטליים הם מסמכים שאפשר לאמת אותם באופן קריפטוגרפי, ואפשר להשתמש בהם כדי לאמת משתמשים, לתת להם הרשאות או לספק מידע עליהם בדרך אחרת. בדרך כלל מדובר בפריטים כמו רישיונות נהיגה לנייד, דרכונים דיגיטליים, כרטיסי עלייה למטוס וכו'. הם נמצאים במאגרי מידע וירטואליים שנקראים ארנקים דיגיטליים, והם חלק מתקן W3C שמפרט איך לגשת אליהם ולאחזר אותם. התקן הזה מיושם בתרחישי שימוש באינטרנט באמצעות W3C Credential Management API, וב-Android באמצעות DigitalCredential API של Credential Manager.

הסבר על אישורים דיגיטליים

בעולם הפיזי, אדם יכול לשמור את הזהות שלו בארנק ולהציג אותה לצד שמבקש לראות אותה:

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

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

יש כמה הבדלים עיקריים בין תעודות דיגיטליות:

  1. למשתמשים צפויים להיות כמה ארנקים – שנקראים גם מחזיקים – שיכולים להכיל סוגים שונים של פרטי כניסה. הארנקים קובעים אילו פרטי כניסה אפשר לאחסן בהם.
  2. מגיש הבקשה הוא עכשיו אפליקציה ולא אדם אמיתי, והוא נקרא מאמת.
  3. הצגת פרטי הכניסה מתבצעת בתוכנה, כלומר ממשק API מאחזר ומציג את פרטי הכניסה – ב-Android, זהו Credential Manager.

לכן, מנהל האישורים ממלא כמה תפקידים שבעבר בוצעו על ידי המשתמש:

  1. ב-Android, אפליקציות ארנק צריכות לרשום את מטא-נתוני פרטי הכניסה שלהן ב-Credential Manager כדי שהן יופיעו בממשק המשתמש של Credential Manager.
  2. הכלי לניהול פרטי כניסה מתאים פרטי כניסה בין ארנקים על סמך הבקשה ומציג רשימה לבחירה של המשתמש.
  3. כשהמשתמש בוחר אמצעי תשלום מהרשימה, המערכת של Credential Manager מפעילה את הארנק, שמטפל בשאר העסקה (הצגת ממשקי משתמש וכו') ומחזיר את אמצעי התשלום לאפליקציה.

התהליך הזה מוצג כאן:

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

חוויית משתמש

כפי שמוצג בתהליך ב-Android, המשתמש צריך לבצע אינטראקציה אחת בלבד עם ממשק המשתמש של מנהל פרטי הכניסה כדי לבחור את פרטי הכניסה המתאימים. דוגמה למראה של הבורר:

תמונה שבה מוצג ממשק המשתמש של פרטי הכניסה הדיגיטליים בכלי לניהול פרטי כניסה
איור 3. ממשק המשתמש של פרטי הכניסה הדיגיטליים.

תקנים

בקשות לפרטי כניסה דיגיטליים נוצרות באמצעות התקן OpenID4VP. דוגמאות לבקשות אפשר לראות באתר ההדגמה של אישורים דיגיטליים.

בדרך כלל, התשובות של אישורים דיגיטליים מוחזרות בפורמט אישורים סטנדרטי. הם מתוחזקים על ידי גופים שונים לקביעת תקנים, וכוללים את W3C Verifiable Credentials,‏ sd-jwt ו-mdoc.

אפשר גם להשתמש בפרוטוקולים מותאמים אישית, אבל מומלץ להשתמש באחד מהפרוטוקולים הרגילים באפליקציה.

אני רוצה לנסות

אפשר לבדוק את תהליך האימות של פרטי הכניסה הדיגיטליים בפלטפורמות שונות באמצעות ארנק דיגיטלי ל-Android וכלי אימות מבוסס-אינטרנט:

  1. מתקינים את הדוגמה הציבורית של CMWallet בטלפון Android. כדי לעשות את זה, צריך לשלוף מהמאגר ולהתקין ישירות מ-Android Studio או לעבור אל https://github.com/digitalcredentialsdev/CMWallet/actions ולבחור את הגרסה העדכנית ביותר כדי לגשת לקובץ app-debug.apk העדכני ביותר.
  2. פותחים את CMWallet כדי לרשום את המטא-נתונים במנהל האישורים. חשוב לוודא שה-Bluetooth מופעל כדי שהמכשירים יוכלו להתחבר זה לזה.
  3. עוברים אל https://digital-credentials.dev/‎ ובוחרים באפשרות Request Credentials (OpenID4VP).
  4. מאשרים את ההנחיות לאזהרה, סורקים את קוד ה-QR באמצעות הטלפון, בוחרים באפשרות 'שימוש במפתח גישה' ומקישים על האישור כדי להציג את פרטי הכניסה הזמינים.
  5. בוחרים את פרטי הכניסה מ-CMWallet כדי לחזור לדפדפן. בדפדפן אמורים להופיע פרטי הכניסה שהוחזרו.

למידע נוסף

  • מידע נוסף על שימוש ב-Credential Manager כדי לבקש אישורים דיגיטליים באפליקציה זמין בדף Credential Manager - Verifier API.
  • כדי לקבל מידע נוסף על בניית ארנק דיגיטלי באמצעות Credential Manager, אפשר לקרוא את הדף Credential Manager - Holder API.