מדדי פרטיות

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

אנדרואיד 12 מספקת למשתמשים שקיפות על ידי הצגת אינדיקטורים כאשר אפליקציה משתמשת במקור נתונים פרטי דרך המצלמות והרשאות הפעלת האפליקציה של המיקרופון. App-ops מתעד גישה לממשקי API מוגנים בזמן ריצה.

App-op עוקב גם אחר סטטוס הפעילות וגם את מספר שיחות ה-API הבודדות, ומקיים אינטראקציה עם מחווני המיקרופון והמצלמה באנדרואיד 12 כדי להראות למשתמשים מתי אפליקציות ניגשו לנתוני אודיו ומצלמה במכשירים שלהם. כאשר משתמשים לוחצים על מחווני המיקרופון או המצלמה, הם רואים אילו אפליקציות ניגשו לנתונים שלהם. תכונה זו היא חובה עבור כל יצרני ה-OEM.

דרישות נראות מחוון

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

  • המחוונים חייבים להופיע בשורת המצב ולשמור על העדיפות החזותית הגבוהה ביותר (לדוגמה, ממוקמים במיקום הימני ביותר בפינה השמאלית העליונה).
  • המחוונים חייבים להיות ממוקמים באופן עקבי באותו מיקום, ואסור להם להיחסם על ידי אפליקציה בעת הפעלתה.
  • שני האינדיקטורים חייבים להיות בצבע ירוק (או וריאציה של ירוק).
  • לחיצה על אחד האינדיקטורים או שניהם חייבת להציג הודעה על ייחוס ייחוס לאפליקציה שעושה את הפעולות הבאות:
    • מציג את שם האפליקציה שמשתמשת במיקרופון ו(או) המצלמה
    • מציג את שם האפליקציה שהשתמשה במיקרופון ו(או) המצלמה ב-15 השניות האחרונות
    • מעביר את המשתמשים לדף הרשאות האפליקציה בהגדרות

שימוש ותכונות

באנדרואיד 12, ממשק המשתמש מבחין בין שימושים רצים לשימושים אחרונים. שימושים נחשבים "פעילים" אם הם מסומנים על ידי המערכת כ"פועלים", או שהם בני פחות מ-5 שניות.

  • סמלי שורת המצב מציגים בכל פעם שלאפליקציה יש גישה מתמשכת למיקרופון או למצלמה הרגישה למשתמש.
  • משתמשים יכולים ללחוץ על סמלים אלה ולראות אילו אפליקציות ניגשים למיקרופון, למצלמה או לשניהם.

Microphone and camera in-use indicators showing that access is active

איור 1. מחווני מיקרופון ומצלמה בשימוש המציגים גישה פעילה (פינה השמאלית העליונה)

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

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

Indicators for both active and recent access, and whether the access was from camera or microphone

איור 2. מחווני גישה פעילה ואחרונה

התמונה באיור 2 מציגה מחווני גישה פעילה כאשר גישה לנתונים ב-5 השניות האחרונות על ידי אפליקציה פועלת.

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

שלח והפעל

המחלקה PermissionManager מספקת שיטה לאכלוס תיבת הדו-שיח, שנמצאת בממשק המשתמש של המערכת.

  • ממשק המשתמש של המערכת מגיב למתג תצורת המכשיר: privacy/mic_camera_indicators_enabled .
  • המעבר נחוץ מכיוון שיש שני רכבי משלוח נפרדים, בסדר הזה:
    1. לִמְסוֹר.
    2. לְאַפשֵׁר.
  • אסור לממשק המשתמש לקרוס אם השיטה ב- PermissionManager לא יכולה לספק את הנתונים הדרושים.

זרימת תהליך

לפונקציונליות מחוון ההרשאה יש שלושה חלקים עיקריים:

  • האפליקציות
  • האינדיקטורים (מטופלים על ידי SystemUI)
  • דרך לקבוע אילו אפליקציות משתמשות בנתונים

PermissionController מספק את המנגנון לקבוע אילו אפליקציות משתמשות בנתונים. SystemUI מאזין לאפליקציות באמצעות נתונים פרטיים. ה-SystemUI מציג סמל בסרגל הניווט העליון התואם להרשאות שבהן נעשה שימוש. PermissionController מציג נתונים על שימושים כאשר משתמש לוחץ על סמל.

Process flow for Permission Indicator functions

איור 3. רכיבי מערכת ומעברי (UI) זרימת

המעברים הממוספרים באיור 3 מתוארים להלן:

1- אפליקציה מבקשת נתונים פרטיים מהמערכת.

2- המערכת בודקת הרשאות. אם ההרשאות מותרות, המערכת מודיעה לספק הנתונים ומציינת את השימוש באפליקציות.

3- ספק הנתונים נותן נתונים לאפליקציה.

4-5 המשתמש לוחץ על הסמלים. ממשק המשתמש של המערכת מבקש נתונים מ- PermissionManager ומציג את הדו-שיח למשתמש.

פרטי תהליך

  1. אפליקציות משתמשות במיקרופון ובמצלמה, וקוראות ל- AppOpsManager.startOp , stopOp ו-(או) noteOp . זה יוצר רשומות הפעלה של אפליקציות בשרת המערכת.
  2. ממשק המשתמש של המערכת מאזין לאפליקציות אופציות חדשות באמצעות המאזין AppOpsManager.OnOpActiveChangedInternalListener ו- OnOpNotedListener . כאשר נכנס שימוש חדש (באמצעות קריאה ל- startOp או noteOp ), ממשק המשתמש של המערכת מאמת שהשימוש הוא על ידי אפליקציית מערכת.
  3. אם ממשק המשתמש של המערכת מאמת את השימוש באפליקציית המערכת, ואם השימוש הוא עבור המיקרופון, ממשק המשתמש של המערכת בודק אם המיקרופון מושתק.
  4. אם ממשק המשתמש של המערכת מאמת שימוש באפליקציה שאינה מערכת, (ועבור שימוש במיקרופון, שהמיקרופון אינו מושתק; עבור שימוש במצלמה, שהמצלמה מופעלת), הוא מציג סמל המשקף שימוש כזה.

אם ממשק המשתמש של המערכת מקבל noteOp , שאין לו משך זמן, הוא מציג את הסמל למשך 5 שניות לפחות. אחרת, הסמל יראה עד שהוא מקבל stopOp , או למשך 5 שניות, הארוך מביניהם. המשתמש הלוחץ על סמל יוזם כוונה שעוברת אל ה- PermissionController כדי להתחיל את הדו-שיח.

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

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

טלפוניה חייבת ליישם שימוש בהרשאות (כדי לקחת בחשבון את ערימת המיקרופון הנפרדת המשמשת בשיחות טלפון), תוך כדי עבודה עם אפליקציית Google Search של Android (AGSA) ושירותי Google Mobile (GMS).