ב-WWDC ביום שני, אפל . בניגוד לסטנדרט , המסתמכת על התשתית הסלולרית וה-GPS של מכשיר שאבד, תכונת Find Me מסוגלת למצוא אפילו מכשירים без כרטיסי סים ו-GPS. לדוגמה, מחשבים ניידים, או אפילו , מצורף לכל פריט (אפל רק רמזה על כך במובן הרחב).
הרעיון הוא להפוך את כל רשת האייפונים הקיימת למערכת מיקור המונים בקנה מידה גדול למעקב אחר עצמים מסביב. כל מכשיר פעיל iPhone הוא יעקוב ללא הרף אחר הודעות BLE beacon ממכשירים אחרים. כאשר הוא מזהה אחד מהאותות הללו, הוא מתייג את החבילה עם קואורדינטות ה-GPS שלה ושולח אותה לשרתים של אפל. זה נהדר עבור אנשים חסרי מוח כמוני, שמאבדים דברים כל הזמן: אם אשאיר את התרמיל שלי במשרד באוטובוס תיירים בסין, במוקדם או במאוחר מישהו ייתקל באות שלו, ואני אדע מיד איפה למצוא אותו.
(ראוי לציין שאפל לא הגתה את הרעיון. למעשה, חברות אוהבות עובדים כבר די הרבה זמן. וכן, הם צריכים לדאוג לגבי העסק שלהם).
אם אינך מתרשם מהתיאור שלמעלה, הרשה לי לשאול את השאלה שאתה צריך לשאול: כיצד מערכת זו תגן מפני הפרות פרטיות מסיביות?
להלן רשימה של בעיות אפשריות:
- אם מכשיר כל הזמן פולט אות BLE שמזהה אותו באופן ייחודי, לכולם יש כעת דרך (אחרת) לעקוב אחריך. משווקים כבר משתמשים בכתובות WiFi ו-Bluetooth MAC בשביל זה, ובפונקציה מצא את יוצר ערוץ מעקב נוסף.
- זה גם מבטל את הסיווג של מי מעורב בתהליך. עכשיו האנשים האלה ישלחו את מיקומם הנוכחי לאפל (כנראה שהם כבר עושים את זה). אבל עכשיו הם יצטרכו לשתף את המידע הזה גם עם זרים ש"מאבדים" את המכשירים שלהם. זה עלול להיגמר רע.
- רמאים יכולים גם להפעיל התקפות אקטיביות שבהן הם מזייפים את מיקום המכשיר שלך. למרות שזה נראה לא סביר, אנשים תמיד מופתעים.
החדשות הטובות הן שאפל טוענת שהמערכת אכן מספקת פרטיות חזקה באמצעות שימוש חכם בקריפטוגרפיה. אבל, כרגיל, הם סירבו לספר פרטי יישום. אנדי גרינברג ב-Wired סיפר חלקית לפי אפל, וזה הגיוני מאוד. לרוע המזל, הנרטיב הזה עדיין משאיר פערים עצומים. אלה הם אלה שאני הולך למלא, ומציעים את התיאור הסביר ביותר של מה שאפל עושה בפועל.
אזהרה גדולה: הרבה דברים יכולים להיות שגויים לחלוטין. אני אדאג לעדכן את המאמר הזה כשאפל תחשוף יותר.
כמה בעיות עיקריות
כדי לפרוס את התרחיש, יש להכניס לתמונה מספר מכשירים. להשראה, קח את סדרת הטלוויזיה לאסי משנות החמישים.
המכשיר הראשון שנתקשר אליו טימי, "אבודים". U טימי יש משדר רדיו BLE, אבל אין GPS או חיבור לאינטרנט. למרבה המזל, זה כבר היה משויך למכשיר שני שנקרא רותמי שרוצה למצוא אותו. הדמות הראשית שלנו היא נערה: זהו האייפון של זר אקראי (ולא מודע) שלו (בהנחה) שיש לו לפחות חיבור לאינטרנט לסירוגין ו-GPS אמין. ולאסי היא ילדה טובה מאוד. התקני רשת מתקשרים דרך שרתי iCloud של אפל כפי שמוצג להלן:

(בגלל ה טימי и רות חייב להיות מזווג מראש, כנראה שניהם שייכים לאותו אדם. כבר הזכרתי שתצטרך לקנות два מכשירי אפל כדי שהמערכת תעבוד? זה מתאים לאפל בסדר גמור.)
אנחנו מסתכלים על מערכת אבטחה, אז השאלה הראשונה היא: מי האיש הרע? במצב זה התשובה לא נעימה: כל אחד יכול להיות תוקף פוטנציאלי. לכן הבעיה כל כך מעניינת.
שמירה על האנונימיות של טימי
ההיבט החשוב ביותר של המערכת הוא שאסור לאפשר לאנשים בלתי מורשים לעקוב טימי, במיוחד כשהוא לא אבוד. זה מבטל כמה החלטות ברורות למדי, כמו מתי המכשיר טימי רק צועק: "היי, שמי טימי, בבקשה תתקשר לאמא שלי רות ותודיע לה שאני אבוד.". זה גם שולל למעשה כל מזהה סטטי בלתי משתנה, אפילו כזה שהוא אטום ונראה אקראי.
דרישה אחרונה זו נובעת מהניסיון המצער של שירותים המנצלים לרעה מזהים סטטיים (למשל. ) כדי לעקוב אחר תנועת המכשירים. תפוח עץ נלחם במעקב זה על ידי הפצת מזהים אקראית כגון כתובות MAC. אם אפל תוסיף מזהה מעקב סטטי עבור "מצא את שלי", הבעיות רק יחמירו.
דרישה זו פירושה שכל ההודעות מועברות טימי, חייב להיות אטום. יתרה מכך, התוכן של הודעות אלה חייב להשתנות בתדירות גבוהה יחסית לערכים חדשים שלא ניתן לשייך לערכים ישנים. אחת הדרכים הברורות של המכשיר המותאם לזהות הודעות כאלה היא לאלץ טימי и רות מסכים על רשימה ארוכה של אקראיות"" ל טימי, לעזוב טימי בוחר בכל פעם אחר.
זה באמת עוזר. כל פעם מתי נערה רואה איזה מכשיר (לא ידוע) משדר מזהה, היא לא תדע אם הוא שייך אליו טימי: אבל היא יכולה לשלוח אותו לשרתים של אפל יחד עם מיקום ה-GPS שלה. אם טימי ילך לאיבוד רות יכול לבקש מאפל למצוא את כל הכינויים האפשריים טימי. במצב זה, אף אחד מחוץ לאפל לא יכיר את הרשימה, ואפילו אפל עצמה תדע אותה רק לאחר שמישהו ילך לאיבוד, כך שגישה זו מונעת את רוב אפשרויות המעקב.
דרך קצת יותר יעילה ליישם רעיון זה היא להשתמש בפונקציה קריפטוגרפית (כגון פונקציית MAC או Hash) כדי ליצור רשימה של כינויים מזרע קצר אחד, שהעתקים שלה מאוחסנים טימי и רות. זה טוב כי זה מפחית את כמות הנתונים המאוחסנים. אבל למצוא טימי, רות עדיין צריך לשלוח את כל הכינויים - או הזרעים - לאפל, שתצטרך לחפש כל כינוי במסד הנתונים שלה.
מסתיר את מיקומה של לאסי
הגישה המתוארת עם כינויים צריכה להסתתר היטב זהות טימי מ נערה ואפילו מאפל (עד לנקודה שבה רות מתחיל לחפש אותו). עם זאת יש חסרון גדול: זה לא מסתיר קואורדינטות GPS נערה.
זה רע לפחות מכמה סיבות. כל פעם מתי נערה מזהה כל מכשיר עם אות BLE, עליו לשדר את מיקומו הנוכחי (יחד עם הכינוי שהוא רואה) לשרתים של אפל. זה אומר ש נערה כל הזמן אומר לאפל איפה זה. ויותר מכך, גם אם אפל תבטיח לא לשמור את הזהות שלך נערה, התוצאה של כל ההודעות הללו היא מסד נתונים מרכזי ענק המציג את כל מיקומי ה-GPS היכן שזוהו כל מכשיר אפל.
שימו לב שמערך של נתונים כאלה מספק מידע רב. כן, מזהי מכשיר יכולים להיות כינויים - אבל זה לא הופך את המידע לחסר תועלת. לדוגמה, אם כמה מכשיר אפל משדר את אותן קואורדינטות בערבים, זה נותן את כתובת המגורים הנכונה של האדם.
הדרך הברורה למנוע מאפל לחשוף את הנתונים האלה היא להצפין אותם כך שרק מי שבאמת צריך לראות את המידע יוכל לראות אותו. צורך לדעת את מיקום המכשיר. אם נערה מקבל הודעה מ טימי, אז האדם היחיד שבאמת צריך לדעת את המיקום נערהזה רות. כדי לשמור על סודיות מידע זה, נערה חייב להצפין את הקואורדינטות שלו עם מפתח ציבורי רות.
כמובן, נשאלת השאלה: איך נערה יקבל את המפתח רות? הפתרון הברור עבור טימי - לצעוק את המפתח הציבורי רות בכל שידור. אבל זה יצור מזהה סטטי, אשר שוב מאפשר לך לעקוב טימי.
כדי לפתור בעיה זו אתה צריך רות זה היה מפתחות ציבוריים רבים שאינם מקושריםאל טימי יכול להנפיק מפתחות שונים עם כל שידור. אפשרות אחת היא להכריח רות и טימי ליצור זוגות מפתח משותפים רבים ושונים (או ליצור זוגות רבים כאלה מזרע משותף). אבל זה מעצבן ו רות תצטרך לאחסן מפתחות סודיים רבים. ואת המזהים שהוזכרו בסעיף הקודם ניתן להשיג על ידי hashing לכל מפתח ציבורי.
גישה קצת יותר טובה (שאפל עשויה להשתמש בה או לא) כוללת רנדומיזציה מפתחות. זוהי תכונה של מערכות קריפטו מסוימות, כגון : היא , כך שהוא לא יהיה קשור למקור בשום צורה. החלק הכי טוב בתכונה הזו הוא זה רות יכול להשתמש מפתח סודי אחד ללא קשר לגרסה אקראית של המפתח הציבורי שלו שימשה להצפנה.

כל זה מוביל לרעיון הסופי של הפרוטוקול. בכל שידור טימי מעביר כינוי חדש ועותק אקראי של המפתח הציבורי רות. מתי נערה מקבל את השידור, הוא מצפין את קואורדינטות ה-GPS שלו עם המפתח הציבורי ושולח הודעה מוצפנת לאפל. רות יכול לשלוח כינויים טימי לשרתים של אפל, ואם אפל תמצא התאמה, היא יכולה להשיג ולפענח את קואורדינטות ה-GPS.
האם זה פותר את כל הבעיות?
הדבר המצער הוא שאין פתרון מושלם להרבה מצבי קצה מוזרים. למשל, מה אם טימי כוונות רעות והוא רוצה לכפות נערה לחשוף את מיקומך באפל? מה אם הזקן סמית'רס ינסה לחטוף נערה?
בשלב מסוים, התשובה לשאלה זו מסתכמת בעובדה שעשינו כל מה שאפשר: יש להעביר את כל הבעיות שנותרו אל מחוץ לתחום מודל האיום. לפעמים אפילו לאסי יודעת מתי להפסיק.
מקור: www.habr.com
