הגדרה
תפקידים
בפרופיל מוגדרים שני תפקידים: חיפוש התאמה מהירה וספק התאמה מהירה. האדם שחיפש הוא בדרך כלל טלפון, ומחפש מכשיר להתאמה איתו. הספק הוא מכשיר שמפרסם את הנוכחות שלו ואת המוכנות שלו להתאמה (למשל, זוג אוזניות).
מחפש ההתאמה המהירה ישתמש בתפקיד 'מרכז השותפים של Google Analytics'. לספק של ההתאמה המהירה יהיה תפקיד היקפי של GAP.
גילוי מכשירים
כדי לאפשר למשתמשים למצוא את המכשיר, ספק ההתאמה המהירה יפרסם מטען ייעודי (payload) שמציין את התמיכה של Google בהתאמה מהירה (עם הנתונים המתוארים בהמשך). הכלי לחיפוש ההתאמה המהירה יסרוק מדי פעם את מסגרות הפרסום של ספק ההתאמה המהירה, ויראה את הפעולה שלהן, ויפעל בהתאם.
מזהה דגם
לכל מודל ספק יש מזהה מודל של 24 ביט, ש-Google מספקת ברישום הדגם.
העברת מתח
המכשירים של הספקים צריכים לפרסם בהספק שידור נמוך (TxPower) כדי להגביל את חשיפת המכשיר שפורסם. עם זאת, עוצמת החשמל גבוהה מספיק כך שניתן יהיה לראות את המודעה במרחק של מטר אחד לפחות מכל טלפון.
כדי למצוא את הקרבה, צריך לדעת מי מחפש את ההתאמה המהירה כדי לדעת מה העוצמה של ספק ההתאמה המהירה. מבחינת הפרופיל הזה, TxPower מוגדר כעוצמת האות הנכנסת במקור (0 מטרים), שנמדדת ב-dBm (זוהי אותה הדרך שבה Addystone מגדיר אותה).
הערך שנמדד הזה יועבר באמצעות אחת מהשיטות הבאות:
- נכלל ברשומת הפרסומת
- המכשיר כולל את סוג הנתונים Tx Power Level, שם המצב. סעיף 1.5, בפרסומת שלו.
- הנתון ניתן בעת רישום המודל
- היצרן מספק ל-Google את כוח השידור ודגם המכשיר שמשמש למדידתו, במהלך רישום הדגם.
- כשמשתמשים באפשרות הזו, המכשיר חייב לשמור על עוצמת שידור קבועה בכל השידורים, כדי שמדידות המרחק יהיו מדויקות.
מפתחות: התאמת זוגות מפתחות ציבוריים/פרטיים
לאחר רישום הדגם, יחד עם מזהה הדגם, Google תפיץ מפתח פרטי נגד זיוף מפני 256-ביט (מספר שלם ב-[1,n-1] בעקומה האליפטית secp256r1). המפתח הזה נשמר באופן קבוע במכשיר של הספק, ורצוי לשמור אותו בתוך רכיב מאובטח (SE). חשוב לזכור שמומלץ מאוד להשתמש ברכיב אבטחה - בהיעדר רכיב, לא ניתן להבטיח שתוקפים לא יוכלו לזייף את תפקיד הספק, כי המפתח הפרטי עלול להדליף. דליפת המפתח הזה פותחת את היכולת של משתמש בהתקפות האמצעיות. לכן, אם מזוהה התחזות או ניצול לרעה, יכול להיות שתכונות ההתאמה המהירה שמשתמשות במפתח הזה יושבתו (לדוגמה, ההתראה 'יש להקיש כדי להתאים' כשהספק נמצא במצב התאמה).
המפתח הציבורי המתאים להגנה מפני זיוף אינו נמצא כרגע בשימוש אצל הספק. הדף משמש את מי שמצפין אותו כדי להצפין הודעה שתישלח לספק (כדאי לעיין בקטע התאמה לפי מפתח).
מפתחות: רשימת מפתחות חשבון
הספק יקצה מקום לאחסון רשימה קבועה של מפתחות חשבון באורך 128 ביט. כל מפתח חשבון מאפשר לזהות את הספק כשייך לחשבון משתמש מסוים.
הרשימה צריכה להיות מסוגלת לאחסן לפחות חמישה מפתחות (כלומר, צריכים להיות לפחות 80 בייטים של מרחב ייעודי לרשימה הזו). לחלופין, ספקים יכולים לאחסן יותר מכך, אבל הם צריכים לוודא שהמפתחות יתאימו לחבילות הפרסום שלהם. המספר המדויק שאפשר לאחסן יהיה תלוי במספר הבייטים הזמינים שזמינים בחבילת הפרסום. בקטע סינון מפתחות לחשבון תוכלו לקרוא מידע נוסף על כמות הבייטים שתנצל כל מפתח. לדוגמה, כדי לפרסם 10 מפתחות של חשבונות, 15 בייטים צריכים להיות זמינים בחבילה. אבל עבור מכשירים אישיים (למשל אוזניות), מספר מפתחות החשבון לא יכול להיות גדול מ-5. כך לא צריך להגדיל את מספר המפתחות בחשבון, ולכן המספר יכול להיות ייחודי וקל לעקוב אחריו.
בהתחלה הרשימה הזו ריקה, וצריך לנקות אותה אם הספק אופס להגדרות המקוריות (אם המשתמש מחק את רשימת המכשירים המותאמים). הרשימה מאוכלסת, כפי שמתואר בקטע מאפיין מפתח חשבון.
פרטי כתובת BLE
כדי למנוע מעקב, אתר החדשות של BLE צריך להשתמש בכתובת פרטית רנדומלית (RPA). הכתובת תנותב לפחות פעם ב-15 דקות בזמן שהמכשיר מתפרסם באופן פעיל, ובכל פעם שהמצב ישתנה מ'פרסום' ל'פרסום'. יש להשתמש בקיזוז אקראי כדי לשנות את המרווח האקראי של הכתובת.
משא ומתן על גודל MTU (פרוטוקול)
יש להשתמש בערך של 83 יחידות לתמסורת (MTU) כאשר יש אפשרות להשתמש בו, אבל ערך ברירת המחדל של 23 מותר.