זיהוי התנהלות פוגעת חוזרת באמצעות שחזור נתונים שמשויכים למכשיר (בטא)

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

איך מתבצע ריקול של מכשיר?

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

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

דרישות מוקדמות ושיקולים לגבי שחזור ערכים לפי מכשיר

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

יש כמה דרישות מוקדמות לשימוש בתכונה 'שחזור הערכים לפי מכשיר':

  • אפשר להשתמש בזיכרון המכשיר בטלפונים, בטאבלטים, במכשירים מתקפלים, בטלוויזיות, ב-Auto וב-Wear OS. ב-Wear, האפשרות לשחזור ערכים לפי מכשיר זמינה רק במכשירים עם Wear OS 5 ואילך. שחזור ערכים לפי מכשיר לא אפשרי באמולטורים.
  • כדי להשתמש בזיכרון של המכשיר, צריך להתקין במכשיר גרסאות עדכניות של חנות Google Play ושל שירותי Google Play ולהפעיל אותן.
  • שחזור ערכים לפי מכשיר דורש שחשבון המשתמש יהיה בעל רישיון ל-Play, אחרת התוצאה תהיה לא מוערכת.

השיקולים הבאים רלוונטיים לגבי התזמון של שחזור הערכים לפי מכשיר:

  • אחרי שמאמתים את טוקן היושרה, יש עד 14 ימים להשתמש בו כדי לאחסן נתונים מותאמים אישית של שחזור ערכים לפי מכשיר.
  • שחזור ערכים לפי מכשיר כולל חותמות זמן, כך שאפשר לתת עדיפות גבוהה יותר לנתונים ששונו לאחרונה מאשר לנתונים ששונו לפני זמן רב. אחרי תקופה ארוכה מספיק, כדאי להתעלם מהנתונים או לאפס אותם כדי לקחת בחשבון שמכשירים יכולים לעבור מיד ליד או לעבור שיפוץ ואז להימכר מחדש.
  • הנתונים של ביטול השיתוף של מכשיר יישמרו למשך 3 שנים אחרי הפעם האחרונה שניתנה גישת קריאה או כתיבה.
  • אם אתם צריכים למחוק את כל הנתונים שמשויכים למכשיר, האפליקציה שלכם יכולה לאפס את כל שלושת הערכים במכשיר לערך false. פעולה כזו תאפס אוטומטית את חותמות הזמן.

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

  • לכל האפליקציות בחשבון המפתח שלכם ב-Google Play יש גישה לאותם שלושה ערכים לכל מכשיר. במילים אחרות, אם אחת מהאפליקציות שלכם משנה אחד מהערכים, כל האפליקציות יקראו את הערך ששונה כשהן מותקנות באותו מכשיר.
  • אם אפליקציה מועברת מחשבון מפתח אחד לחשבון מפתח אחר, התכונה'החזרת מכשיר' תשקף את הנתונים לכל מכשיר של חשבון המפתח החדש, ולא את הנתונים לכל מכשיר של חשבון המפתח הישן.

הפעלת שחזור הערכים לפי מכשיר

כשמוכנים, מפעילים את האפשרות 'שחזור ערכים לפי מכשיר' ב-Play Console:

  1. נכנסים ל-Play Console.
  2. בוחרים את האפליקציה שבה רוצים להשתמש בשחזור ערכים לפי מכשיר.
  3. בתפריט הימני, עוברים אל מוגן באמצעות Play.
  4. לצד Play Integrity API, לוחצים על ניהול.
  5. בקטע 'תשובות' בדף, לוחצים על שינוי התשובות.
  6. מפעילים את התכונה 'שחזור הערכים לפי מכשיר'.
  7. לוחצים על 'שמירת שינויים'.

כשמפעילים או משביתים את התכונה 'שחזור ערכים לפי מכשיר', כל תגובות הבדיקה של Play Integrity API שהגדרתם ב-Play Console יימחקו ותצטרכו ליצור אותן מחדש.

קריאת ערכים של שחזור נתונים לפי מכשיר

שחזור ערכים לפי מכשיר פועל גם בבקשות רגילות וגם בבקשות קלאסיות של Play Integrity API. בבקשות רגילות, שחזור ערכים לפי מכשיר מתרענן בקריאה בשלב ההפעלה של האפליקציה. במילים אחרות, אחרי שמשנים את הנתונים לפי מכשיר, צריך לבצע עוד חימום כדי לראות את הערך המעודכן. אחרי שמפעילים את התכונה 'שחזור ערכים לפי מכשיר', אפשר לקרוא את הערכים של התכונה הזו בתוצאות של בדיקת היושרה.

שינוי ערכי ההיזכרות של המכשיר

אפשר לשנות את ערכי הזיכרון של המכשיר על ידי ביצוע קריאת API משרת לשרת, בדומה לפענוח של תוצאת בדיקת היושרה. אם מגדירים ביט לערך true, תאריך הכתיבה שלו מתעדכן (גם אם הוא כבר היה true). אם מגדירים ביט לערך false, תאריך הכתיבה שלו מתאפס לערך ריק. כל הביטים שלא צוינו בבקשה יישארו ללא שינוי. יש עיכוב קל בהפצה בין כתיבת הביטים לבין האפשרות לקרוא אותם בחזרה בתוצאת הבדיקה. העיכוב הזה יכול להימשך עד 30 שניות, אבל בדרך כלל הוא קצר יותר. בקשות כתיבה של זיכרון המכשיר צריכות להיות פחות תכופות מבקשות של טוקן יושרה. הן לא נספרות במכסת הבקשות של טוקן היושרה, אבל הן כפופות למגבלות קצב נפרדות.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}