לפני שאתם עוברים לסביבת הייצור, ודאו שהשילוב פועל מקצה לקצה בסביבת ה-Sandbox באמצעות מסמכי הזיהוי לבדיקה, ואז הקליטו סרטון הדגמה של התהליך המלא. Google בודקת את הסרטון הזה במהלך תהליך ההצטרפות בשלב 5.
בחירת שיטת האימות RP, Verifier Registrar או אימות פנים אל פנים
השלבים בדף הזה
מקורות מידע חיוניים לבדיקות
אישורים ומאפיינים נתמכים
בודקים את המזהים המדויקים של doctype_value ואת נתיבי ההצהרה שנתמכים ברישיונות נהיגה בנייד, במסמכי זיהוי ובתעודות מזהות עם תמונה.
מוסדות מנפיקים נתמכים ואישורי IACA
מורידים את אישורי הבסיס של IACA של המנפיק בסביבת הייצור ואת האישור של Utopia Sandbox.
כלי אינטראקטיבי לאימות אתרים
משווים את השילוב שלכם מול מאמת ההפניות שמתארח ב-OpenWallet Foundation.
שלב א': מוודאים שהגדרת הבדיקה בארגז החול תקינה
לפני שמריצים את הבדיקה מקצה לקצה, צריך לוודא שארבע הדרישות המוקדמות הבאות מתקיימות:
- מכשיר במצב ארגז חול עם מזהה בדיקה: מכשיר הבדיקה שלכם עם Android מועבר למצב SANDBOX (שלב 1) ונוספו לו מסמכי זיהוי של Utopia ב-Google Wallet (שלב 2).
- חתימה על בקשות בארגז חול (sandbox):
- גורמים מסתמכים: השרת שלכם חותם על בקשות חתומות באמצעות זוג המפתחות והמטא-נתונים לבדיקה בארגז החול, שמהימנים מראש.
- רשמי אימות: Google אישרה שרשות אישורי הבסיס שלכם לארגז החול נמצאת במאגר האישורים של ארגז החול, ושהשרת שלכם חותם על בקשות חתומות באמצעות אישור קצה שמקושר לרשות אישורי הבסיס שלכם לארגז החול וכולל את ה-
gw_rp_metadata_bytesבקידוד CBOR (שלב 3א: מפרטי VR).
- הבקשה כוללת סוג מסמך של מסמכי זיהוי: מכיוון שמזהה הבדיקה של ארגז החול הוא מסמך זיהוי, האפליקציה
dcql_queryמבקשת אתcom.google.wallet.idcard.1או אתorg.iso.23220.photoid.1(או משתמשת בבקשה לכמה מסמכי זיהוי משלב 3.א'). - השרת נותן אמון באישור של Utopia Sandbox: מאגר האישורים של השרת כולל את האישור של Utopia Sandbox, ולכן אימות החתימה של
issuerAuthמצליח במזהה הבדיקה של Utopia.
שלב ב': בודקים את הבקשה, את חוויית המשתמש ואת הטיפול בשגיאות
מבצעים את כל הבדיקות הבאות בכל פלטפורמה שבה אתם תומכים (אפליקציה ל-Android, אינטרנט לנייד ואינטרנט חוצה-מכשירים למחשב):
- נקודת כניסה גלויה: כפתור ברור (כמו "אימות באמצעות תעודה מזהה דיגיטלית") שמתחיל את הבקשה כשהמשתמש לוחץ עליו.
- אפליקציה ל-Android (אם רלוונטי):
CredentialManager.getCredential()פותחת את בורר פרטי הכניסה ב-Android ומציגה את מסמכי הזיהוי לבדיקה בארגז החול. - אינטרנט (אם רלוונטי):
navigator.credentials.get()פותח את בורר פרטי הכניסה בדפדפנים בנייד, ומציג את קוד ה-QR בין מכשירים בדפדפנים במחשב כשמשתמשים בבקשות חתומות. - מסך ההסכמה של Google Wallet: לחיצה על פרטי הכניסה פותחת את Google Wallet ומציגה את השם המוצג, הלוגו והקישור למדיניות הפרטיות של
gw_rp_metadata_bytes, יחד עם המאפיינים שביקשת בלבד. - הגבלה על איסוף המידע: המערכת מבקשת רק את המאפיינים שנדרשים לתרחיש שימוש (ראו אישורים ומאפיינים נתמכים), והערך של
intent_to_retainמוגדר בצורה מדויקת לכל הצהרה. - ביטול על ידי המשתמש וחלופות: ביטול הגיליון (
GetCredentialCancellationExceptionב-Android או הבטחה שנדחתה באינטרנט) או בדיקה ללא מזהה תואם (NoCredentialException) מטופלים בצורה חלקה בממשק המשתמש.
שלב ג': בדיקת הפענוח בצד השרת והאימות הקריפטוגרפי
אחרי שמאשרים את מסך ההסכמה ב-Google Wallet, מוודאים שהשרת מבצע את כל הבדיקות הקריפטוגרפיות הנדרשות:
- פענוח JWE: השרת שלכם מפענח את ה-
identityTokenשהוחזר באמצעות המפתח הפרטי שתואם למפתח ההצפנה הציבוריclient_metadata.jwks, ומחלץ את ה-vp_token. - שחזור
SessionTranscript: השרת משחזר אתSessionTranscriptבאמצעותOpenID4VPDCAPIHandoverעםnonceהמדויק של הבקשה, טביעת האצבע של JWK להצפנה ומקור הפלטפורמה (android:apk-key-hash:...או כתובת ה-URL המקורית באינטרנט). - אימות שרשרת האישורים של IACA (
issuerAuth): השרת שלכם מחלץ את שרשרת האישורים של המנפיק מ-issuerAuthומאמת אותה מול האישור של Utopia Sandbox בארגז החול, ומול אישורי הבסיס הרשמיים של סביבת הייצור במנפיקים נתמכים ואישורי IACA לסביבת הייצור. אף פעם אל תדלגו על הבדיקה הזו. - אימות של MSO,
ValueDigestsו-deviceSignature: השרת מאמת את החתימה של אובייקט האבטחה לנייד (MSO), מוודא ש-ValueDigestsתואם לרכיבי הנתונים שהוחזרו ומאמת אתdeviceSignature(סעיפים 9.1.2 ו-9.1.3 בתקן ISO/IEC 18013-5). - הוכחות באפס ידיעה (אם הוטמעו): אם מבקשים את
mso_mdoc_zk, השרת מאמת את ההוכחה שהוחזרה באמצעות longfellow-zk.
שלב ד': מצלמים סרטון הדגמה מקצה לקצה
אחרי שהשילוב יעבור את שלבים ב' וג', צריך להקליט סרטון של צילום מסך שמדגים את התהליך שעובר המשתמש מהאפליקציה או מהאתר שלכם, דרך ההסכמה ב-Google Wallet ובחזרה למצב המאומת. בטבלה הבאה מפורט מה צריך לכלול בהתאם למסלול ההצטרפות:
| דרישות לגבי הסרטונים | גורמים מסתמכים (ישירים) | רשמים מאמתים (אתרי אגרגטור) |
|---|---|---|
| מסכים להצגה | התהליך המלא שעובר המשתמש: מסך כניסה ← בחירת פרטי כניסה ← הסכמה ואימות ב-Google Wallet ← תוצאה מאומתת באפליקציה או באתר שלכם | התהליך המלא שעובר המשתמש בצד המסתמך (RP) הראשוני (הראשון) במורד הזרם |
| תהליכים שצריך לתעד | תהליך השילוב של אפליקציית Android או האתר | תהליכים באירוח של הגורם המאמת (אירוח עצמי) ובאירוח של המוכר (אירוח של הגורם המסתמך), לפי הצורך |
| מיתוג ונכסי תצוגה | השם המוצג, הלוגו וכתובות ה-URL של מדיניות הפרטיות והתנאים וההגבלות בפועל | נכסי התצוגה של המוכר בפועל (שם, לוגו, כתובת URL של התנאים וההגבלות) וגם נכסי התצוגה של האתר שלכם |
השלב הבא
כדי לשלוח את הסרטון ולהשיק אותו בסביבת הייצור, צריך לבחור את מסלול ההצטרפות: