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