פרטי כניסה דיגיטליים הם מסמכים שאפשר לאמת אותם באופן קריפטוגרפי, ואפשר להשתמש בהם כדי לאמת משתמשים, לתת להם הרשאות או לספק מידע עליהם בדרך אחרת. בדרך כלל מדובר בפריטים כמו רישיונות נהיגה לנייד, דרכונים דיגיטליים, כרטיסי עלייה למטוס וכו'. הם נמצאים במאגרי מידע וירטואליים שנקראים ארנקים דיגיטליים, והם חלק מתקן W3C שמפרט איך לגשת אליהם ולאחזר אותם. התקן הזה מיושם בתרחישי שימוש באינטרנט באמצעות W3C Credential Management API, וב-Android באמצעות DigitalCredential API של Credential Manager.
הסבר על אישורים דיגיטליים
בעולם הפיזי, אדם יכול לשמור את הזהות שלו בארנק ולהציג אותה לצד שמבקש לראות אותה:
במקרה כזה, למשתמש יש בדרך כלל ארנק אחד, והוא מאחזר את פרטי הכניסה המבוקשים מהארנק כדי להציג אותם למי שביקש אותם. ברוב המקרים, הארנקים דומים זה לזה ויכולים לשמור את אותם הדברים.
יש כמה הבדלים עיקריים בין תעודות דיגיטליות:
- למשתמשים צפויים להיות כמה ארנקים – שנקראים גם מחזיקים – שיכולים להכיל סוגים שונים של פרטי כניסה. הארנקים קובעים אילו פרטי כניסה אפשר לאחסן בהם.
- מגיש הבקשה הוא עכשיו אפליקציה ולא אדם אמיתי, והוא נקרא מאמת.
- הצגת פרטי הכניסה מתבצעת בתוכנה, כלומר ממשק API מאחזר ומציג את פרטי הכניסה – ב-Android, זהו Credential Manager.
לכן, מנהל האישורים ממלא כמה תפקידים שבעבר בוצעו על ידי המשתמש:
- ב-Android, אפליקציות ארנק צריכות לרשום את מטא-נתוני פרטי הכניסה שלהן ב-Credential Manager כדי שהן יופיעו בממשק המשתמש של Credential Manager.
- הכלי לניהול פרטי כניסה מתאים פרטי כניסה בין ארנקים על סמך הבקשה ומציג רשימה לבחירה של המשתמש.
- כשהמשתמש בוחר אמצעי תשלום מהרשימה, המערכת של Credential Manager מפעילה את הארנק, שמטפל בשאר העסקה (הצגת ממשקי משתמש וכו') ומחזיר את אמצעי התשלום לאפליקציה.
התהליך הזה מוצג כאן:
חוויית משתמש
כפי שמוצג בתהליך ב-Android, המשתמש צריך לבצע אינטראקציה אחת בלבד עם ממשק המשתמש של מנהל פרטי הכניסה כדי לבחור את פרטי הכניסה המתאימים. דוגמה למראה של הבורר:
תקנים
בקשות לפרטי כניסה דיגיטליים נוצרות באמצעות התקן OpenID4VP. דוגמאות לבקשות אפשר לראות באתר ההדגמה של אישורים דיגיטליים.
בדרך כלל, התשובות של אישורים דיגיטליים מוחזרות בפורמט אישורים סטנדרטי. הם מתוחזקים על ידי גופים שונים לקביעת תקנים, וכוללים את W3C Verifiable Credentials, sd-jwt ו-mdoc.
אפשר גם להשתמש בפרוטוקולים מותאמים אישית, אבל מומלץ להשתמש באחד מהפרוטוקולים הרגילים באפליקציה.
אני רוצה לנסות
אפשר לבדוק את תהליך האימות של פרטי הכניסה הדיגיטליים בפלטפורמות שונות באמצעות ארנק דיגיטלי ל-Android וכלי אימות מבוסס-אינטרנט:
- מתקינים את הדוגמה הציבורית של CMWallet בטלפון Android.
כדי לעשות את זה, צריך לשלוף מהמאגר ולהתקין ישירות מ-Android Studio או לעבור אל https://github.com/digitalcredentialsdev/CMWallet/actions ולבחור את הגרסה העדכנית ביותר כדי לגשת לקובץ
app-debug.apkהעדכני ביותר. - פותחים את CMWallet כדי לרשום את המטא-נתונים במנהל האישורים. חשוב לוודא שה-Bluetooth מופעל כדי שהמכשירים יוכלו להתחבר זה לזה.
- עוברים אל https://digital-credentials.dev/ ובוחרים באפשרות
Request Credentials (OpenID4VP). - מאשרים את ההנחיות לאזהרה, סורקים את קוד ה-QR באמצעות הטלפון, בוחרים באפשרות 'שימוש במפתח גישה' ומקישים על האישור כדי להציג את פרטי הכניסה הזמינים.
- בוחרים את פרטי הכניסה מ-CMWallet כדי לחזור לדפדפן. בדפדפן אמורים להופיע פרטי הכניסה שהוחזרו.
למידע נוסף
- מידע נוסף על שימוש ב-Credential Manager כדי לבקש אישורים דיגיטליים באפליקציה זמין בדף Credential Manager - Verifier API.
- כדי לקבל מידע נוסף על בניית ארנק דיגיטלי באמצעות Credential Manager, אפשר לקרוא את הדף Credential Manager - Holder API.