v1.3
تحدِّد مواصفات الملحقات في شبكة "العثور على جهازي" (FMDN) منهجًا مشفَّرًا من البداية إلى النهاية لتتبُّع الأجهزة التي تستخدم تقنية Bluetooth منخفض الطاقة (BLE) وتعمل كمرسَلات إشارات. توضّح هذه الصفحة معيار FMDN كإضافة إلى مواصفات Fast Pair. على مقدّمي الخدمة تفعيل هذا التوسيع إذا كانت لديهم أجهزة متوافقة مع FMDN وكانوا على استعداد لتفعيل ميزة تتبُّع الموقع الجغرافي لهذه الأجهزة.
مواصفات GATT
يجب إضافة سمة عامة إضافية (GATT) إلى خدمة الإقران السريع باستخدام الدلالات التالية:
سمة خدمة "الإقران السريع" | مشفَّر | الأذونات | معرِّف فريد عالمي (UUID) |
---|---|---|---|
إجراءات الإشارات | لا | القراءة والكتابة والإشعار | FE2C1238-8366-4814-8EB0-01DE32100BEA |
الجدول 1: خصائص خدمة "الإقران السريع" لنظام FMDN
المصادقة
يتم تنفيذ العمليات المطلوبة من خلال هذه الإضافة كعملية كتابة، ويتم تأمينها من خلال آلية طلب وتقديم إجابة. قبل تنفيذ أي عملية، من المتوقّع أن يُجري "المستكشِف" عملية قراءة من السمة الواردة فيجدول 1، ما يؤدي إلى إنشاء ذاكرة تخزين مؤقت بالتنسيق التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم الإصدار الرئيسي للبروتوكول | 0x01 |
1 - 8 | مصفوفة البايت | مفتاح تشفير عشوائي لمرة واحدة | تختلف |
يجب أن تؤدي كل عملية قراءة إلى إنشاء مفتاح تشفير عشوائي مختلف، ويجب ألا يكون مفتاح التشفير العشوائي الفردي صالحًا إلا لعملية واحدة. يجب إلغاء صلاحية المفتاح العشوائي حتى إذا تعذّر إتمام العملية.
بعد ذلك، يحسب "المستكشِف" مفتاح مصادقة صالحًا لمرة واحدة ليتم استخدامه في طلب كتابة لاحق. يتم احتساب مفتاح المصادقة على النحو الموضّح في الجداول من 2 إلى 5. استنادًا إلى العملية المطلوبة، يثبت "المطلوب" معرفة مفتاح واحد أو أكثر من المفاتيح التالية:
مفتاح الحساب: مفتاح حساب "الإقران السريع" الذي يتألف من 16 بايت، كما هو محدّد في مواصفات ميزة "الإقران السريع".
مفتاح حساب المالك: يختار "الموفّر" أحد مفاتيح الحساب الحالية كمفتاح حساب المالك في المرة الأولى التي يصل فيها "المستكشِف" إلى سمة "إجراءات ال beacon" . لا يمكن تغيير مفتاح حساب المالك المختار إلى أن تتم إعادة ضبط موفِّر الخدمة على الإعدادات الأصلية. يجب عدم إزالة مفتاح حساب المالك من قِبل مقدّم الخدمة عندما تنتهي خانات مفاتيح الحسابات المجانية.
يختار مقدّمو الخدمة الذين يتيحون استخدام بروتوكول FMDN عند الإقران للمرة الأولى (أو يتيحون استخدامه عند الإقران بعد إعادة الضبط على الإعدادات الأصلية) مفتاح الحساب الأول، لأنّه مفتاح الحساب الوحيد الحالي عندما يقرأ "المطّلِع" حالة الProvisioning أثناء الإقران.
يمكن لموفّري الخدمة الذين يحصلون على إمكانية استخدام بروتوكول FMDN بعد إقران الأجهزة (مثلاً، من خلال تحديث البرامج الثابتة) اختيار أي مفتاح حساب حالي. من المنطقي اختيار مفتاح الحساب الأول الذي يتم استخدامه لقراءة حالة الإعداد من سمة إجراءات الإشارة بعد تحديث البرامج الثابتة، بافتراض أنّ المستخدم الذي أجرى التحديث هو المالك الحالي لموفّر الخدمة.
مفتاح الهوية المؤقت (EIK): مفتاح مكوّن من 32 بايت يختاره "المستخدِم المُطلِب" بشكل عشوائي عند تنفيذ عملية توفير "شبكة البيانات الوصفية للفيديو". يُستخدَم هذا المفتاح لاشتقاق مفاتيح التشفير التي تُستخدَم في تشفير تقارير المواقع الجغرافية بشكل تام بين الأطراف. ولا يكشف "المحرِّك" عن ذلك أبدًا للخلفية.
مفتاح الاسترداد: يتم تعريفه على أنّه
SHA256(ephemeral identity key || 0x01)
، ويُقتطع إلى أول 8 بايت. يتم تخزين المفتاح في الخلفية ويمكن للمستخدِم استخدامه لاسترداد مفتاح EIK، شرط أن يُعرب المستخدِم عن موافقته من خلال الضغط على زرّ على الجهاز.مفتاح الحلقة: يتم تعريفه على أنّه
SHA256(ephemeral identity key || 0x02)
، ويتم اقتطاعه إلى أول 8 بايت. يتم تخزين المفتاح في الخلفية ويمكن للمُستخدِم استخدامه لتشغيل نغمة الجهاز فقط.مفتاح حماية التتبّع غير المرغوب فيه: يتم تعريفه على أنّه
SHA256(ephemeral identity key || 0x03)
، ويتم اقتطاعه إلى أول 8 بايت. يتم تخزين المفتاح في الخلفية ولا يمكن للمستخدِم استخدامه إلا لتفعيل وضع الحماية من التتبُّع غير المرغوب فيه.
العمليات
يتم عرض تنسيق البيانات المكتوبة في السمة في الجداول 2 إلى 5. تتم مناقشة كل عملية بالتفصيل لاحقًا في هذا القسم.
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم تعريف البيانات |
|
1 | uint8 | حجم البيانات | تختلف |
من 2 إلى 9 | مصفوفة البايت | مفتاح مصادقة صالح لمرة واحدة | أول 8 بايت من
HMAC-SHA256(account key, protocol major version number || the last nonce
read from the characteristic || data ID || data length || additional data) |
10 - var | مصفوفة البايت | البيانات الإضافية |
|
الجدول 2: طلب توفير إشارة Beacon
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم تعريف البيانات | 0x04: قراءة مفتاح الهوية المؤقتة بموافقة المستخدم |
1 | uint8 | حجم البيانات | 0x08 |
من 2 إلى 9 | مصفوفة البايت | مفتاح مصادقة صالح لمرة واحدة | أول 8 بايت من
HMAC-SHA256(recovery key, protocol major version number || the last nonce
read from the characteristic || data ID || data length) |
الجدول 3: طلب استرداد مفتاح إعداد ال beacon
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم تعريف البيانات |
|
1 | uint8 | حجم البيانات | تختلف |
من 2 إلى 9 | مصفوفة البايت | مفتاح مصادقة صالح لمرة واحدة | أول 8 بايت من
HMAC-SHA256(ring key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || additional data) |
10 - var | مصفوفة البايت | البيانات الإضافية |
|
الجدول 4: طلب الرنين
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم تعريف البيانات |
|
1 | uint8 | حجم البيانات | تختلف |
من 2 إلى 9 | مصفوفة البايت | مفتاح مصادقة صالح لمرة واحدة | أول 8 بايت من
HMAC-SHA256(unwanted tracking protection key, protocol major version number
|| the last nonce read from the characteristic || data ID || data length ||
additional data) |
10 - var | مصفوفة البايت | البيانات الإضافية |
|
الجدول 5: طلب الحماية من التتبُّع غير المرغوب فيه
تؤدي عمليات الكتابة الناجحة إلى تشغيل الإشعارات كما هو موضّح في الجدول 6.
يجب إرسال الإشعارات التي تحتوي على معرّف بيانات غير 0x05: تغيير حالة حلقة الإشعار قبل اكتمال معاملة الكتابة التي تؤدي إلى تشغيل الإشعار، أي قبل إرسال وحدة بيانات التحكم في الإرسال والاستقبال (PDU) للردّ على طلب الكتابة.
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | رقم تعريف البيانات |
|
1 | uint8 | حجم البيانات | تختلف |
من 2 إلى 9 | مصفوفة البايت | المصادقة | مفصّلة لكل عملية |
10 - var | مصفوفة البايت | البيانات الإضافية |
|
الجدول 6: استجابة خدمة الإشارة.
يسرد الجدول 7 رموز أخطاء GATT المحتملة التي تعرضها العمليات.
الرمز | الوصف | ملاحظات |
---|---|---|
0x80 | عدم الحصول على المصادقة | يتم إرجاعه استجابةً لطلب كتابة عند تعذُّر مصادقة العميل (بما في ذلك الحالة التي تم فيها استخدام مفتاح تشفير عشوائي قديم). |
0x81 | قيمة غير صالحة | يتم عرض هذا الرمز عند تقديم أي قيمة غير صالحة أو إذا كانت البيانات التي تم تلقّيها تحتوي على عدد غير متوقّع من البايتات. |
0x82 | عدم الحصول على موافقة المستخدِم | يتم إرجاع هذا الرمز استجابةً لطلب كتابة يحمل معرّف البيانات 0x04: قراءة مفتاح الهوية المؤقتة بموافقة المستخدم عندما لا يكون الجهاز في وضع الإقران. |
الجدول 7: رموز خطأ GATT
قراءة مَعلمة الإشارة
يمكن للجهاز المُطلِب الاستعلام من مقدّم الخدمة عن مَعلمات الإشارة من خلال تنفيذ عملية كتابة في السمة التي تتألف من طلب من الجدول 2 باستخدام رقم تعريف البيانات 0x00. يتحقّق مقدّم الخدمة من أنّ مفتاح المصادقة لمرة واحدة الذي تم تقديمه يتطابق مع أي من مفاتيح الحساب المخزّنة على الجهاز.
إذا تعذّر إثبات الملكية، يعرض موفّر الخدمة خطأ عدم مصادقة.
في حال نجاح العملية، يُرسِل مقدّم الخدمة إشعارًا يتضمّن ردًا من الجدول 6 مع معرّف البيانات 0x00. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | الطاقة المعايرة | الطاقة التي تم ضبطها كما تم قياسها على مسافة 0 متر (قيمة في النطاق [-100، 20]). يتم تمثيله كعدد صحيح بعلامة، بدقة 1 ديسيبل. |
1 - 4 | uint32 | قيمة الساعة | قيمة الساعة الحالية بالثواني (التنسيق الكبير أولاً) |
5 | uint8 | اختيار منحنى | المنحنى الإهليلجي المستخدَم للتشفير:
|
6 | uint8 | المكونات | عدد المكوّنات القادرة على الرنين:
|
7 | uint8 | إمكانات الرنين | في ما يلي الخيارات المتوافقة:
|
8-15 | مصفوفة البايت | مساحة متروكة | إضافة صفر لتشفير AES |
يجب أن تكون البيانات مشفّرة باستخدام معيار AES-ECB-128 ومفتاح الحساب المستخدَم في مصادقة الطلب.
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(account key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || additional data after
encryption || 0x01)
.
قراءة حالة إدارة الحسابات لإشارة الاستشعار
يمكن لجهاز البحث الاستعلام من مقدّم الخدمة عن حالة توفير الإشارة من خلال تنفيذ عملية كتابة للسمة التي تتألف من طلب من جدول 2 بمعرّف البيانات 0x01. يتحقّق مقدّم الخدمة من أنّ مفتاح المصادقة لمرة واحدة المقدَّم يتطابق مع أي من مفاتيح الحساب المخزّنة على الجهاز.
إذا تعذّر إثبات الملكية، يعرض موفّر الخدمة خطأً متعلّقًا بعدم المصادقة.
في حال نجاح العملية، يرسل مقدّم الخدمة إشعارًا يتضمّن ردًا من الجدول 6 مع معرّف البيانات 0x01. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حالة إدارة الحسابات | قناع بت يتضمّن القيم التالية:
|
من 1 إلى 20 أو 32 | مصفوفة البايت | المعرّف المؤقت الحالي | 20 أو 32 بايت (حسب طريقة التشفير المستخدَمة) تشير إلى المعرّف المؤقت العميق الحالي الذي تعرضه الإشارة، في حال ضبط معرّف للجهاز. |
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(account key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || additional data || 0x01)
.
ضبط مفتاح هوية مؤقت
لتوفير مقدّم خدمة لم يتم إعداده كمرشد FMDN أو تغيير مفتاح الهوية المؤقت لمقدّم خدمة تم إعداده من قبل، ينفِّذ جهاز البحث عملية كتابة في السمة التي تتألف من طلب من الجدول 2 باستخدام معرّف البيانات 0x02. يتحقّق مقدّم الخدمة مما يلي:
- يتطابق مفتاح المصادقة لمرة واحدة المقدَّم مع مفتاح حساب المالك.
- إذا تم تقديم تجزئة لمفتاح هوية مؤقت، يتطابق مفتاح الهوية المؤقت المجزّأ مع مفتاح الهوية المؤقت الحالي.
- إذا لم يتم تقديم تجزئة لمفتاح الهوية المؤقت، تأكَّد من أنّه لم يتم توفير مقدّم الخدمة كمرشد FMDN.
إذا تعذّر إثبات الملكية، يعرض موفّر الخدمة خطأً متعلّقًا بعدم المصادقة.
عند نجاح العملية، يتم استرداد مفتاح الهوية المؤقت من خلال فك تشفيره باستخدام AES-ECB-128 باستخدام مفتاح الحساب المطابق. من المفترض أن يتم الاحتفاظ بالمفتاح على الجهاز، ويجب أن يبدأ مزوّد الخدمة من تلك النقطة الإعلان عن إطارات FMDN. يسري مفعول مفتاح الهوية المؤقت الجديد فورًا بعد إنهاء اتصال BLE. يُرسِل مقدّم الخدمة إشعارًا من الجدول 6 بمعرّف البيانات 0x02.
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(account key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || 0x01)
.
محو مفتاح الهوية المؤقت
لإلغاء توفير جزء الإشارة من "المزوّد"، يُجري "المطّلِب" عملية كتابة في السمة، وتتألف من طلب من الجدول 2 باستخدام معرّف data 0x03. يتحقّق مقدّم الخدمة مما يلي:
- يتطابق مفتاح المصادقة لمرة واحدة المقدَّم مع مفتاح حساب المالك.
- يتطابق مفتاح الهوية المؤقتة المشفَّر مع مفتاح الهوية المؤقتة الحالي.
إذا لم يتم توفير مقدّم الخدمة كمرشد FMDN أو تعذّر إثبات ملكيته، سيعرض خطأ عدم مصادقة.
في حال نجاح العملية، يفقد مقدّم الخدمة المفتاح ويتوقف عن عرض إطارات FMDN.
يرسل موفِّر الخدمة إشعارًا من الجدول 6 باستخدام معرّف البيانات 0x03.
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(account key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || 0x01)
.
قراءة مفتاح الهوية المؤقتة بموافقة المستخدم
لا يتوفّر هذا الخيار إلا لاسترداد مفتاح مفقود، لأنّ المفتاح يتم تخزينه محليًا فقط من قِبل "المُستكشِف". وبالتالي، لا تتوفّر هذه الميزة إلا عندما يكون الجهاز في وضع الإقران أو لبعض الوقت بعد الضغط على زر مادي على الجهاز (ما يشكّل موافقة المستخدم).
يجب أن يخزِّن "المستخدِم المُطلِب" مفتاح الاسترداد في الخلفية لكي يتمكّن من استرداد مفتاح النص الواضح، ولكنّه لا يخزِّن مفتاح EIK نفسه.
لقراءة مفتاح EIK، يُجري "المطّلِب" عملية كتابة في السمة، تتألف من طلب من الجدول 3 بمعرّف البيانات 0x04. يتحقّق موفِّر الخدمة مما يلي:
- يتطابق مفتاح الاسترداد المشفَّر مع مفتاح الاسترداد المتوقّع.
- الجهاز في وضع الاسترداد EIK
إذا تعذّر إثبات الملكية، يعرض موفّر الخدمة خطأً متعلّقًا بعدم المصادقة.
إذا لم يكن الجهاز في وضع الإقران، يعرض مقدّم الخدمة خطأ "عدم الحصول على موافقة المستخدم".
في حال نجاح العملية، يُرسِل مقدّم الخدمة إشعارًا يتضمّن ردًا من الجدول 6 مع معرّف البيانات 0x04.
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(recovery key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || additional data || 0x01)
.
تشغيل الجهاز
يمكن لجهاز "المستخدِم" أن يطلب من جهاز "المقدّم" تشغيل صوت من خلال تنفيذ عملية كتابة في السمة، والتي تتألف من طلب من الجدول 4 مع معرّف البيانات 0x05. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | تشغيل الجهاز | قناع بت يتضمّن القيم التالية:
|
1 - 2 | uint16 | عملية استبعاد للقناة لمهلة معيّنة | المهلة بالديسي ثانية يجب ألا تكون القيمة صفرًا ويجب ألا
تكون أكبر من 10 دقائق. يستخدم الموفّر هذه القيمة لتحديد المدة التي يجب أن يرن فيها الجهاز قبل كتم الصوت تلقائيًا. تلغي مهلة الانتظار المهلة السارية في حال كان أي مكوّن من الجهاز يرنّ. في حال ضبط عملية الرنين على 0x00، يتم تجاهل مهلة الانتظار. |
3 | uint8 | مستوى الصوت |
|
عند استلام الطلب، يتحقّق مقدّم الخدمة مما يلي:
- يتطابق مفتاح المصادقة لمرة واحدة المقدَّم مع مفتاح الخاتم.
- تتطابق الحالة المطلوبة مع المكوّنات التي يمكنها الرنين.
إذا لم يتم توفير مقدّم الخدمة كمرشد FMDN أو تعذّر إثبات ملكيته، يتم عرض خطأ غير مصادق عليه. ومع ذلك، إذا كان لدى مقدّم الخدمة ميزة حماية من التتبّع غير المرغوب فيه مفعّلة، وكان طلب تفعيل ميزة الحماية من التتبّع غير المرغوب فيه قد فعّل علامة مصادقة "تخطّي الرنين"، على مقدّم الخدمة تخطّي عملية التحقّق هذه. لا يزال من المتوقّع أن يقدّم "المستخدِم الباحث" بيانات المصادقة، ولكن يمكن ضبطها على قيمة عشوائية.
عند بدء الرنين أو انتهائه، يتم إرسال إشعار كما هو موضّح في الجدول 6 مع معرّف البيانات 0x05. يتم تحديد محتوى الإشعار على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حالة الرنين |
|
1 | uint8 | مكونات الرنين | قناع بت لمكونات الرنين النشطة، كما هو موضح في الطلب |
من 2 إلى 3 | uint16 | عملية استبعاد للقناة لمهلة معيّنة | الوقت المتبقّي للرنين بالكيلو ثانية إذا توقّف الجهاز عن إصدار رنين، من المفترض أن يتم عرض القيمة 0x0000. |
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(ring key, protocol major version number || the nonce used to
initiate the ringing command || data ID || data length || additional data ||
0x01)
.
إذا كان الجهاز في حالة الرنين المطلوبة عند تلقّي طلب بالرنين أو إيقاف الرنين، على مقدّم الخدمة إرسال إشعار بالحالة الرنين أو 0x00: بدأ أو 0x04: توقّف (طلب GATT)، على التوالي. يتجاوز هذا الطلب مَعلمات الحالة الحالية، لكي يتم تمديد مدّة 🔔الرنين.
إذا كان لدى مقدّم الخدمة زرّ مادي (أو كانت ميزة "الاستشعار باللمس" مفعّلة)، يجب أن يؤدي هذا الزر إلى إيقاف وظيفة الرنين عند الضغط عليه أثناء تفعيل الرنين.
الحصول على حالة رنين الإشارة
للحصول على حالة الرنين في الإشارة، يُجري جهاز البحث عملية كتابة في السمة، التي تتألف من طلب من الجدول 4 بمعرّف البيانات 0x06. يتحقق المزوّد من أنّ مفتاح المصادقة لمرة واحدة المقدَّم يتطابق مع مفتاح الحلقة.
إذا لم يتم توفير مقدّم الخدمة كمرشد FMDN أو إذا تعذّر إثبات ملكيته، يعرض مقدّم الخدمة خطأ عدم مصادقة.
في حال نجاح العملية، يُرسِل مقدّم الخدمة إشعارًا يتضمّن ردًا من الجدول 6 مع معرّف البيانات 0x06. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | مكونات الرنين | المكونات التي تُصدر رنينًا بشكل نشط، كما هو محدّد في طلب الرنين |
1 - 2 | uint16 | عملية استبعاد للقناة لمهلة معيّنة | الوقت المتبقّي للرنين بالكيلو ثانية يُرجى العِلم أنّه إذا لم يكن الجهاز يرنّ، من المفترض أن يتم عرض القيمة 0x0000. |
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256 (ring key, protocol major version number || the last nonce read
from the characteristic || data ID || data length || additional data || 0x01)
.
وضع الحماية من التتبُّع غير المرغوب فيه
يهدف وضع "الحماية من التتبّع غير المرغوب فيه" إلى السماح لأي جهاز عميل بتحديد الأجهزة المسيئة بدون التواصل مع الخادم. يجب أن يغيّر موفِّر الخدمة تلقائيًا كل المَعلمات المتعلّقة بالتعرّف على المستخدمين على النحو الموضّح في تبديل أرقام التعريف. يمكن للخدمة "العثور على جهازي" relayإرسال طلب تفعيل وضع "الحماية من التتبُّع" غير المرغوب فيه من خلال شبكة "العثور على جهازي". من خلال إجراء ذلك، تتسبب الخدمة في استخدام مقدّم الخدمة عنوان MAC ثابتًا مؤقتًا، ما يسمح للعملاء برصد الجهاز وتحذير المستخدم من التتبّع غير المرغوب فيه المحتمل.
لتفعيل وضع الحماية من التتبّع غير المرغوب فيه في الإشارة، يُجري "المُستخدِم" عملية كتابة في السمة، وتتألف من طلب من الجدول 5 مع معرّف البيانات 0x07 أو 0x08 على التوالي.
عند تفعيل وضع "الحماية من التتبُّع غير المرغوب فيه"
ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | علامات التحكّم |
لا تسري الإشارات إلا إلى أن يتم إيقاف وضع "الحماية من التتبّع غير المرغوب فيه". |
يتحقّق "مقدّم الخدمة" من أنّ مفتاح المصادقة المقدَّم لمرة واحدة يتطابق مع مفتاح حماية التتبّع غير المرغوب فيه. إذا لم يتم توفير مقدّم الخدمة كمرشد إشارة FMDN أو تعذّر إثبات ملكيته، يتم عرض خطأ عدم مصادقة.
عند تفعيل وضع "الحماية من التتبّع غير المرغوب فيه"، من المفترض أن تقلل الإشارة من تكرار تبديل عنوان MAC الخاص إلى مرة واحدة كل 24 ساعة. يجب أن يستمر تبديل المعرّف المؤقّت المُعلَن عنه كالمعتاد. يجب ضبط نوع الإطار على 0x41. تظهر الحالة أيضًا في قسم العلامات المجزّأة.
عند إيقاف وضع "الحماية من التتبّع غير المرغوب فيه"
يتحقّق مقدّم الخدمة مما يلي:
- يتطابق مفتاح المصادقة المقدَّم لمرة واحدة مع مفتاح الحماية ضد التتبُّع غير المرغوب فيه.
- يتطابق مفتاح الهوية المؤقتة المجزّأ مع مفتاح الهوية المؤقتة الحالي.
إذا لم يتم توفير مقدّم الخدمة كمنارة FMDN أو تعذّر إثبات ملكيته، يعرض مقدّم الخدمة خطأ عدم مصادقة.
عند إيقاف وضع "الحماية من التتبّع غير المرغوب فيه"، من المفترض أن تبدأ الإشارة في تبديل عنوان MAC بمعدّل طبيعي مرة أخرى، مع مزامنة تبديل المعرّف المؤقت. يجب إعادة ضبط نوع الإطار على 0x40. تظهر الحالة أيضًا في قسم العلامات المجزّأة.
في حال نجاح العملية، يرسل مقدّم الخدمة إشعارًا يتضمّن ردًا من الجدول 6 مع رقم تعريف البيانات 0x07 أو 0x08.
يتم تعريف جزء المصادقة على أنّه أول 8 بايت من
HMAC-SHA256(unwanted tracking protection key, protocol major version number ||
the last nonce read from the characteristic || data ID || data length ||
0x01)
.
اللقطات المُعلَن عنها
بعد الإعداد، من المتوقّع أن يعلن مقدّم الخدمة عن إطارات FMDN مرتين على الأقل كل ثانيتَين. في حال عرض إطارات Fast Pair، على مقدّم الخدمة تداخل إطارات FMDN ضمن إعلانات Fast Pair العادية. على سبيل المثال، يجب أن يعرض الموفِّر كل ثانيتَين سبعة إعلانات عن ميزة "الإقران السريع" وإعلانًا واحدًا عن ميزة "الربط التلقائي للأجهزة التي تعمل بنظام التشغيل Android".
يجب ضبط طاقة الإرسال عبر البلوتوث لإعلانات FMDN على 0 ديسيبل على الأقل.
يحمل إطار FMDN مفتاحًا عامًا يُستخدَم في تشفير تقارير المواقع الجغرافية من قِبل أي عميل داعم يساهم في شبكة الحشد. يتوفّر نوعان من مفاتيح المنحنى الإليبسي: مفتاح 160 بت يناسب إطارات BLE 4 القديمة، أو مفتاح 256 بت يتطلب BLE 5 مع إمكانات إعلانية موسّعة. يحدِّد طريقة التنفيذ التي يتّبعها مقدّم الخدمة المنحنى المستخدَم.
يتم تنظيم إطار FMDN على النحو التالي.
وحدة ثمانيّة البت | القيمة | الوصف |
---|---|---|
0 | 0x02 | الطول |
1 | 0x01 | قيمة نوع البيانات التي تشير إلى خطأ |
2 | 0x06 | بيانات الإشارات |
3 | 0x18 أو 0x19 | الطول |
4 | 0x16 | قيمة نوع بيانات بيانات الخدمة |
5 | 0xAA | معرّف UUID للخدمة بسعة 16 بت |
6 | 0xFE | ... |
7 | 0x40 أو 0x41 | نوع إطار FMDN مع إشارة وضع الحماية من التتبُّع غير المرغوب فيه |
8.27 | معرّف مؤقت مكوّن من 20 بايت | |
28 | العلامات المجزّأة |
الجدول 8: إطار FMDN متوافق مع منحنى 160 بت
يعرض الجدول 9 Offsets البايت والقيم لمنحنى 256 بت.
وحدة ثمانيّة البت | القيمة | الوصف |
---|---|---|
0 | 0x02 | الطول |
1 | 0x01 | قيمة نوع البيانات التي تشير إلى خطأ |
2 | 0x06 | بيانات الإشارات |
3 | 0x24 أو 0x25 | الطول |
4 | 0x16 | قيمة نوع بيانات بيانات الخدمة |
5 | 0xAA | معرّف UUID للخدمة بسعة 16 بت |
6 | 0xFE | ... |
7 | 0x40 أو 0x41 | نوع إطار FMDN مع إشارة وضع الحماية من التتبّع غير المرغوب فيه |
8..39 | معرّف مؤقت بحجم 32 بايت | |
40 | العلامات المجزّأة |
الجدول 9: إطار FMDN متوافق مع منحنى 256 بت
احتساب المعرّف المؤقت (EID)
يتم إنشاء عدد عشوائي من خلال تشفير بنية البيانات التالية باستخدام AES-ECB-256 مع مفتاح التعريف المؤقت:
وحدة ثمانيّة البت | الحقل | الوصف |
---|---|---|
0 - 10 | مساحة متروكة | القيمة = 0xFF |
11 | K | الأس الخاص بفترة التدوير |
من 12 إلى 15 | TS[0]...TS[3] | مقياس وقت المنارة بتنسيق 32 بت بترتيب كبار السن. يتم محو Bits K الأقل. |
من 16 إلى 26 | مساحة متروكة | القيمة = 0x00 |
27 | K | أسّ فترة التدوير |
بين 28 و31 | TS[0]...TS[3] | مقياس وقت المنارة بتنسيق 32 بت بترتيب كبار السن. يتم محو Bits K الأقل. |
الجدول 10: إنشاء رقم عشوائي زائف
نتيجة هذا الحساب هي رقم مكوّن من 256 بت، ويُشار إليه بالرمز r'
.
بالنسبة إلى بقية العمليات الحسابية، يتم استخدام SECP160R1
أو SECP256R1
للقيام
بعمليات التشفير المستندة إلى المنحنى الإهليلجي. اطّلِع على تعريفات المنحنيات في
القسم 2: مَعلمات نطاق المنحنى الإهليجي المقترَحة، التي تحدِّد Fp
وn
وG
المُشار إليها بعد ذلك.
يتم الآن إسقاط r'
على الحقل المحدود Fp
من خلال احتساب r = r' mod n
.
أخيرًا، احتسِب R = r * G
، وهي نقطة على المنحنى تمثّل
المفتاح العام المستخدَم. تُعلِن الإشارة عن Rx
، وهي الإحداثيات x
لـ R
، بصفتها المعرّف المؤقت.
الأعلام المجزّأة
يتم احتساب حقل العلامات المجزّأة على النحو التالي (يتم الإشارة إلى الوحدات من الأكثر أهمية إلى الأقل أهمية):
- الوحدات من 0 إلى 4: محجوزة (يتم ضبطها على أصفار).
- تشير الأرقام الثنائيّة من 5 إلى 6 إلى مستوى شحن البطارية في الجهاز على النحو التالي:
- 00: لا تتوفّر إشارة لمستوى البطارية
- 01: مستوى شحن البطارية طبيعي
- 10: مستوى شحن البطارية منخفض
- 11: مستوى شحن البطارية منخفض جدًا (يجب استبدال البطارية قريبًا)
- يتم ضبط الرقّم الثنائي 7 على 1 إذا كانت الإشارة في وضع الحماية من التتبُّع غير المرغوب فيه، و0 بخلاف ذلك.
لإنتاج القيمة النهائية لهذا البايت، يتم إجراء عملية XOR عليه مع البايت الأقل أهمية
في SHA256(r)
.
يُرجى العِلم أنّه يجب محاذاة r مع حجم المنحنى. أضِف أصفارًا كأهم بتات إذا كان تمثيلها أقصر من 160 أو 256 بت، أو يجب اقتطاع أهم البتات إذا كان تمثيلها أكبر من 160 أو 256 بت.
إذا لم تكن الإشارة لا تتيح عرض مستوى شحن البطارية، ولم تكن في وضع حماية من التتبّع غير المرغوب فيه، يُسمح بحذف هذا البايت بالكامل من الإعلان.
التشفير باستخدام معرّف الجهاز
لتشفير رسالة m
، سينفّذ مراقب المرور (بعد قراءة Rx
من الإشارة)
الخطوات التالية:
- اختَر رقمًا عشوائيًا
s
فيFp
، كما هو محدّد في القسم احتساب معرّف الجهاز الجوّال. - الحساب
S = s * G
. - احتسِب
R = (Rx, Ry)
من خلال الاستبدال في معادلة المنحنى واختيار قيمةRy
عشوائية من النتائج المحتمَلة. - احتساب مفتاح AES بسعة 256 بت
k = HKDF-SHA256((s * R)x)
حيث يكون(s * R)x
هو إحداثيx
لنتيجة ضرب المنحنى لم يتم تحديد الملح. - لنفترض أنّ
URx
وLRx
هما أول 80 بت وآخر 80 بت منRx
، على التوالي، بتنسيق big-endian. وبالطريقة نفسها، حدِّدUSx
وLSx
لـS
. - الحساب
nonce = LRx || LSx
. - الحساب
(m’, tag) = AES-EAX-256-ENC(k, nonce, m)
. - إرسال
(URx, Sx, m’, tag)
إلى المالك، ربما من خلال خدمة عن بُعد غير موثوق بها
فك تشفير القيم المشفَّرة باستخدام معرّف المستخدِم
يفكّك برنامج العميل الخاص بالمالك، الذي يملك مفتاح EIK ومعرّف قاعدة بيانات العميل المرّب، تشفير الرسالة على النحو التالي:
- استنادًا إلى
URx
، احصل على قيمة مقياس الوقت في الإشارة التي تستند إليهاURx
. ويمكن إجراء ذلك من خلال العميل الخاص بالمالك الذي يحسب قيمRx
لوقت الإشارة وقيم العدّاد للوقت الماضي القريب والمستقبل القريب. - استنادًا إلى قيمة مقياس الوقت في ال beacon التي تستند إليها
URx
، احتسِب القيمة المتوقّعة لr
كما هو محدّد في القسم حساب معرّف الجهاز. - احتسِب
R = r * G
وتأكَّد من تطابقها مع قيمةURx
التي يقدّمها المُراقب. - احتسِب
S = (Sx, Sy)
من خلال الاستبدال في معادلة المنحنى واختيار قيمةSy
عشوائية من النتائج المحتمَلة. - احتسِب
k = HKDF-SHA256((r * S)x)
حيث يكون(r * S)x
هو الإحداثيx
لنتيجة ضرب منحنيات. - الحساب
nonce = LRx || LSx
. - الحساب
m = AES-EAX-256-DEC(k, nonce, m’, tag)
.
تغيير رقم التعريف
يجب استخدام عنوان BLE قابل للحلّ (RPA) أو غير قابل للحلّ (NRPA) ل إطارات FMDN الإعلانية. يجب استخدام تقنية RPA لأجهزة LE Audio (LEA) ويُنصح باستخدامها مع الأجهزة الأخرى، باستثناء علامات تحديد المواقع التي لا تستخدم الربط.
يجب أن يتم عرض إعلانات "الإقران السريع" وإعلانات FMDN وعناوين BLE المقابلة في الوقت نفسه. يجب أن يحدث الدوران كل 1024 ثانية في المتوسط. يجب أن تكون النقطة الدقيقة التي تبدأ فيها الإشارة في عرض المعرّف الجديد عشوائية خلال الفترة المحدّدة.
إنّ الطريقة المقترَحة لتعيين وقت التناوب عشوائيًا هي ضبطه على وقت التناوب التالي المتوقّع (في حال عدم تطبيق ترتيب عشوائي) بالإضافة إلى عامل وقت موجب عشوائي في النطاق من ثانية واحدة إلى 204 ثانية.
عندما يكون الجهاز في وضع الحماية من التتبّع غير المرغوب فيه، يجب أن يكون عنوان BLE لإعلان FMDN ثابتًا، ولكن يجب أن يستمر تبديل RPA لإعلان FP غير القابل للاكتشاف (مثل Fast Pair). من المقبول استخدامعناوين مختلفة للبروتوكولات المختلفة.
استرداد البيانات بعد انقطاع الكهرباء
يرتبط حلّ المعرّف المؤقت ارتباطًا وثيقًا بقيمة الساعة في وقت عرض الإعلان، لذا من المهم أن يتمكّن مقدّم الخدمة من استرداد قيمة الساعة في حال انقطاع التيار الكهربائي. ننصح بأن يكتب الموفِّر قيمة الساعة الحالية في الذاكرة غير القابلة للفقدان مرة واحدة على الأقل في اليوم، وأن يتحقّق الموفِّر من الذاكرة غير القابلة للفقدان في وقت التمهيد لمعرفة ما إذا كانت هناك قيمة متوفّرة لبدء التشغيل منها. ستنفّذ أدوات حلّ المعرّف المؤقت عملية حلّه على مدار فترة زمنية كافية للسماح بانحراف معقول في دقة الساعة ونوع الاسترداد هذا عند انقطاع التيار الكهربائي.
على مقدّمي الخدمات بذل كل الجهود للحدّ من انحرافات الساعة، لأنّ فترة زمنية لحلّ المشاكل محدودة. يجب تنفيذ طريقة واحدة على الأقل إضافية لمزامنة الساعة (إعلان إطارات Fast Pair غير القابلة للاكتشاف أو تنفيذ بث الرسائل).
إرشادات تنفيذ ميزة "الإقران السريع"
يصف هذا القسم جوانب خاصة لتنفيذ ميزة "الإقران السريع" على الموفّرين الذين يتيحون استخدام معيار FMDN.
إرشادات خاصة بعلامة الموقع الجغرافي
- إذا تم إقران "المزوّد"، ولكن لم يتم توفير FMDN في غضون 5 دقائق (أو إذا تم تطبيق تحديث عبر الهواء عندما يكون الجهاز مقترنًا ولكن لم يتم توفير FMDN)، يجب أن يعود "المزوّد" إلى الإعدادات الأصلية وي clearing مفاتيح الحساب المخزّنة.
- بعد إقران جهاز "مزوّد الخدمة"، من المفترض ألا يغيّر عنوان MAC الخاص به إلى أن يتم Provisioning لـ "عنوان FMDN" أو مرور 5 دقائق.
- في حال محو مفتاح الهوية المؤقت من الجهاز، من المفترض أن يؤدي الجهاز إلى إعادة ضبطه على الإعدادات الأصلية ومحو مفاتيح الحساب المخزّنة أيضًا.
- يجب أن يرفض مقدّم الخدمة محاولات الإقران العادية عبر البلوتوث ولا يقبل سوى إقران Fast Pair.
- على مقدّم الخدمة تضمين آلية تتيح للمستخدمين إيقاف عرض الإعلانات مؤقتًا بدون إعادة ضبط الجهاز على الإعدادات الأصلية (على سبيل المثال، الضغط على مجموعة من الأزرار).
- بعد انقطاع التيار الكهربائي، من المفترض أن يُعلِن الجهاز عن إطارات الإقران السريع غير القابلة للاكتشاف إلى أن يتمّ تنفيذ قراءة مَعلمات ال beacon مرة أخرى. يتيح ذلك لجهاز "المتتبّع" رصد الجهاز ومزامنة الساعة حتى في حال حدوث انحراف كبير في الساعة.
- عند عرض إعلانات عن لقطات "الإقران السريع" غير القابلة للاكتشاف، يجب عدم تفعيل مؤشرات واجهة المستخدم.
- يجب عدم عرض إطارات ميزة "الإقران السريع" القابلة للاكتشاف أثناء إعداد موفِّر الخدمة لميزة "الربط التلقائي للأجهزة الجوّالة".
- يجب ألا يعرِض "الموفّر" أي معلومات تحدّد الهوية بطريقة غير معتمَدة (مثل الأسماء أو المعرّفات).
إرشادات خاصة بالأجهزة التي تتضمّن بلوتوث الكلاسيكي
يصف هذا القسم الجوانب الخاصة بأجهزة البلوتوث الكلاسيكية التي تتيح استخدام FMDN.
إعداد FMDN للأجهزة التي سبق إقرانها
لا يتم دائمًا توفير "الموفّر" لخدمة FMDN عند إقرانه بـ "المستكشِف"، ولكن بعد فترة. في هذه الحالة، قد لا يكون لدى الموفِّر عنوان MAC لبروتوكول BLE محدَّثًا، وهو مطلوب لإنشاء اتصال عبر بروتوكول GATT. يجب أن يقدّم "المزوّد" طريقة واحدة على الأقل من الطرق التالية لكي يتمكّن "جهاز البحث" من الحصول على عنوان BLE عندما يكون مقترنًا:
- يمكن للموفّر الإعلان بشكل دوري عن بيانات حساب Fast Pair
التي تتيح للجهاز المُستكشِف العثور على عنوان BLE من خلال فحص BLE.
يناسب هذا النهج مقدّمي الخدمات الذين لا ينفذون ميزة "بث الرسائل". - يمكن لموفّر الخدمة تقديم هذه البيانات من خلال بث رسائل ميزة "الإقران السريع" عبر تقنية
البلوتوث الكلاسيكية.
يناسب هذا النهج مقدّمي الخدمة الذين لا يعرضون إطارات ميزة "الإقران السريع" أثناء اتصالهم بجهاز "المطّلِع" عبر البلوتوث.
إنّ توفير كلتا المنهجيتين يزيد من فرص تمكّن المستخدم من إعداد الجهاز لاستخدام ميزة "إدارة الخدمات الجوّالة للمؤسسات".
بث رسائل ميزة "الإقران السريع"
يمكن للموفّر تنفيذ بث رسائل "الإقران السريع" واستخدامه لإعلام الجهاز المُستخدِم بمعلومات الجهاز. يتيح تطبيق ميزة "ساحة مشاركات الرسائل" ميزات معيّنة كما هو موضّح في هذا القسم.
على الموفّر إرسال رسائل معلومات الجهاز مرة واحدة في كل مرة يتم فيها إنشاء قناة RFCOMM لبث الرسائل.
إصدار البرامج الثابتة (رمز معلومات الجهاز 0x09) وإمكانية التتبّع
عندما يضيف تحديث البرامج الثابتة ميزة FMDN إلى "الموفّر"، يمكن لـ "المستكشِف" المتصل إعلام المستخدم بذلك وتقديم عرض لإعداده. بخلاف ذلك، على المستخدم الانتقال إلى قائمة أجهزة البلوتوث يدويًا لبدء عملية إعداد FMDN.
للسماح بذلك، على مقدّم الخدمة استخدام سمة "إصدار البرامج الثابتة" (الرمز 0x09) لإبلاغ عن قيمة سلسلة تمثل إصدار البرامج الثابتة. بالإضافة إلى ذلك، يجب أن يتوافق الموفّر مع البروتوكول الذي يُعلِم "المستخدِم" بتغييرات القدرات الناتجة عن تحديثات البرامج الثابتة.
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حدث معلومات الجهاز | 0x03 |
1 | uint8 | إصدار البرامج الثابتة | 0x09 |
من 2 إلى 3 | uint16 | طول البيانات الإضافية | تختلف |
var | مصفوفة البايت | سلسلة الإصدار | تختلف |
الجدول 11: حدث معلومات الجهاز: إصدار البرامج الثابتة المعدَّل
عند تلقّي طلب تعديل الإمكانات (0x0601)، إذا فعّل مقدّم الخدمة دعم تتبُّع FMDN، من المفترض أن يستجيب كما هو موضّح في الجدول 12.
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حدث مزامنة إمكانات الجهاز | 0x06 |
1 | uint8 | تتبُّع رقم الطلب الثابت | 0x03 |
من 2 إلى 3 | uint16 | طول البيانات الإضافية | 0x0007 |
4 | uint8 | حالة توفير المتطلبات اللازمة لخدمة FMDN | 0x00 في حال عدم توفيرها، و0x01 في حال توفيرها من خلال أي حساب |
5 - 10 | مصفوفة البايت | عنوان MAC الحالي لتقنية BLE للجهاز | تختلف |
الجدول 12: حدث مزامنة إمكانات الجهاز: تمت إضافة إمكانية التتبّع
المعرّف المؤقت الحالي (رمز معلومات الجهاز 0x0B)
يمكن لموفّر الخدمة استخدام المعرّف المؤقت الحالي (الرمز 0x0B) للإبلاغ عن قيمة المعرّف المؤقت الحالي وقيمة الساعة عند توفير موفّر الخدمة لخدمة FMDN، وذلك بهدف مزامنة أداة البحث في حال حدوث انحراف في الساعة (على سبيل المثال، بسبب استنزاف البطارية). بخلاف ذلك، يبدأ "المستكشف" عملية اتصال أكثر تكلفة وأقل موثوقية لهذا الغرض.
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حدث معلومات الجهاز | 0x03 |
1 | uint8 | المعرّف المؤقت الحالي | 0x0B |
من 2 إلى 3 | uint16 | طول البيانات الإضافية | 0x0018 أو 0x0024 |
من 4 إلى 7 | مصفوفة البايت | قيمة الساعة | مثال: 0x13F9EA80 |
من 8 إلى 19 أو 31 | مصفوفة البايت | رقم تعريف الجهاز الحالي | مثال: 0x1122334455667788990011223344556677889900 |
الجدول 13: حدث معلومات الجهاز: مزامنة الساعة
إعادة الضبط على الإعدادات الأصلية
بالنسبة إلى الأجهزة التي تتيح إعادة الضبط على الإعدادات الأصلية: في حال تنفيذ عملية إعادة ضبط على الإعدادات الأصلية، على العميل إيقاف إرسال الإشارات المرسَلة من الأجهزة ومحو مفتاح الهوية المؤقت وجميع مفاتيح الحسابات المخزّنة، بما في ذلك مفتاح حساب المالك.
بعد إعادة الضبط على الإعدادات الأصلية (إما يدويًا أو آليًا)، يجب ألا يبدأ مقدّم الخدمة بعرض ميزة "الإقران السريع" على الفور، لمنع بدء عملية الإقران فورًا بعد أن يحذف المستخدم الجهاز.
منع التتبّع غير المرغوب فيه
يجب أن تستوفي أيضًا أجهزة FMDN المعتمَدة المتطلبات الواردة في ملف تنفيذ إصدار مواصفات جميع المنصات لأجل رصد أجهزة تتبُّع الموقع الجغرافي غير المرغوب فيها (DULT).
الإرشادات ذات الصلة الخاصة بـ FMDN للامتثال لمواصفات DULT:
- يجب تسجيل أي جهاز متوافق مع معيار FMDN في "وحدة تحكّم الأجهزة المجاورة"، ويجب تفعيل ميزة "العثور على جهازي" عليه.
- يجب أن ينفِّذ الجهاز خدمة "غير مالك الملحق" والسمة المحدَّدة في إصدار التنفيذ لمواصفات DULT، بما في ذلك عمليات معلومات الملحق وعناصر التحكّم غير المملوكة.
- خلال فترة التوافق مع الإصدارات القديمة، على النحو المحدّد في مواصفات DULT، لن يتم إجراء أي تغييرات على الإطار المُعلَن عنه على النحو المحدّد في هذا المستند.
- يرتبط "وضع الحماية من التتبّع غير المرغوب فيه" المحدّد في هذا المستند بحالة "المفصَّلة" المحدّدة في مواصفات DULT.
- إرشادات تنفيذ أوامر التشغيل معلومات الملحق:
- من المفترض أن يعرض Get_Product_Data معرّف الطراز المقدَّم من وحدة التحكّم، مع إضافة صفر لملء المساحة المطلوبة التي تبلغ 8 بايت. على سبيل المثال، يتم عرض الرقم التعريفي للنموذج 0xFFFFFF بالتنسيق 0x0000000000FFFFFF.
- يجب أن تتطابق القيمة المعروضة في العنصرَين Get_Manufacturer_Name وGet_Model_Name مع القيمة المقدَّمة في وحدة التحكّم.
- يمكن أن يعرض Get_Accessory_Category القيمة العامة "جهاز تتبُّع الموقع الجغرافي" إذا لم يكن هناك فئة أخرى تناسب نوع الجهاز بشكل أفضل.
- يجب أن تشير سمة Get_Accessory_Capabilities إلى إمكانية استخدام نغمة الرنين وكذلك البحث عن معرّف BLE.
- من المفترض أن يعرض Get_Network_ID معرّف Google (0x02).
- إرشادات لتنفيذ رمز التشغيل Get_Identifier:
- من المفترض ألا تعرِض العملية سوى استجابة صالحة لمدة 5 دقائق بعد أن يشغِّل المستخدم وضع "التعرّف" الذي يتطلّب مجموعة من ضغطات الأزرار. يجب أن تشير إشارة مرئية أو صوتية إلى المستخدم بأنّه دخل مقدّم الخدمة في هذا الوضع. يجب تقديم التعليمات الخاصة بالنموذج ل activation of that mode إلى Google كشرط للحصول على الاعتماد، وقبل 10 أيام على الأقل من إجراء أي تعديل أو تغيير على التعليمات.
- يتم إنشاء الردّ على النحو التالي: أوّل 10 بايت من العلامة
المؤقتة الحالية، متبوعًا بأوّل 8 بايت من
HMAC-SHA256(recovery key, the truncated current ephemeral identifier)
.
- إرشادات لتنفيذ المعرّف عبر NFC:
- استخدِم
find-my.googleapis.com/lookup
كعنوان URL. - استخدِم كقيمة للمَعلمة
e
الردّ نفسه الذي تم إنشاؤه لسمة Get_Identifier، مع ترميز سداسي. - استخدِم الردّ نفسه الذي تم إنشاؤه لطلب
Get_Product_Data، مع ترميزه باستخدام التنسيق السداسي، وذلك كمَعلمة
pid
.
- استخدِم
- يجب أن يتضمّن الجهاز أداة لإصدار الصوت وأن يتيح ميزة الرنين. وفقًا لمواصفات DULT، يجب أن يُصدِر صانع الصوت صوتًا بحد أدنى من 60 فونًا لذروة مستوى الصوت كما هو محدّد في ISO 532-1:2017.
- إرشادات لتنفيذ رمز التشغيل Sound_Start:
- من المفترض أن يؤدي الأمر إلى تشغيل الرنين في جميع المكوّنات المتاحة.
- يجب استخدام الحد الأقصى المسموح به من الصوت.
- المدة المُقترَحة للرنّ هي 12 ثانية.
- يجب أن تتضمّن علامات تحديد الموقع آلية تتيح للمستخدمين إيقاف الإعلانات مؤقتًا بدون إعادة ضبط الجهاز على الإعدادات الأصلية (على سبيل المثال، الضغط على مجموعة من الأزرار).
- يجب توثيق تعليمات إيقاف الميزة في عنوان URL متاح للجميع، وتقديمها إلى Google كشرط للحصول على الاعتماد، وقبل 10 أيام على الأقل من إجراء أي تعديل أو تغيير على التعليمات.
- يجب أن يتيح عنوان URL الأقلمة. استنادًا إلى العميل، سيتم تقديم اللغة إما كمَعلمة طلب بحث ("hl=ar") أو باستخدام عنوان HTTP "accept-language".
إرشادات البروتوكول القابل للتبديل
- يجب استخدام بروتوكول واحد فقط في كل مرة. تأكَّد من أنّه لا يمكن تشغيل سوى شبكة واحدة على الجهاز في الوقت نفسه. يجب استيفاء هذا الشرط لضمان عدم اختلاط بيانات المستخدمين الحسّاسة بين مختلف بروتوكولات.
- ننصحك بدمج سير عمل إعادة الضبط على الجهاز الذي يسمح للمستخدم بإعادة ضبط الجهاز باستخدام شبكة مختلفة.
- يجب أن تكون عملية تحديث الجهاز على الشبكة سهلة الاستخدام ومتسقة بين الشبكات. يجب أن يتمكّن المستخدم من اختيار الشبكة التي يريد استخدامها بدون منح الأولوية لأحد الشبكات. يجب أن يوافق فريق Google على هذه العملية.
تحديثات البرامج الثابتة
يجب أن يدير الشريك عملية تحديثات OTA وتوزيعها باستخدام سير العمل الخاص به في تطبيق الويب أو التطبيق المتوافق مع الأجهزة الجوّالة.
تتيح ميزة "الإقران السريع" إرسال إشعارات إلى المستخدم لإعلامه بتوفر تحديثات عبر الهواء. لاستخدام هذه الآلية:
- من المفترض أن يكون أحدث إصدار من البرامج الثابتة محدّثًا في "وحدة تحكّم الأجهزة المجاورة".
- يجب إعداد تطبيق مصاحب في "وحدة تحكّم الأجهزة المجاورة". يجب أن يتوافق مع intent لتعديل البرامج الثابتة.
- على مقدّم الخدمة تنفيذ سمة GATT مراجعة البرامج الثابتة.
لمنع التتبُّع، يجب حظر الوصول إلى سمة إصدار البرامج الثابتة. سيقرأ جهاز Seeker أولاً حالة الإعداد ويقدّم مفتاح مصادقة، كما هو محدّد في هذه المواصفات، وبعد ذلك فقط سيقرأ مراجعة البرامج الثابتة. وسيتم إجراء ذلك من خلال الاتصال نفسه. إذا تم إجراء محاولة قراءة التعديل الأخير للبرامج الثابتة، ولم يكن الموفِّر مرتبطًا ولم تكتمل عملية مصادقة بنجاح من خلال عملية الاتصال نفسها، يجب أن يعرض الموفِّر خطأ عدم مصادقة.
التوافق
تتطلّب شبكة "العثور على جهازي" تفعيل خدمات الموقع الجغرافي والبلوتوث. ويجب توفُّر اتصال شبكة جوّال أو اتصال إنترنت. الميزة متاحة لأجهزة Android 9 والإصدارات الأحدث وفي بُلدان محدَّدة وللمستخدمين المؤهَّلين حسب الفئة العمرية.
سجلّ التغييرات
إصدار FMDN | التاريخ | تعليق |
---|---|---|
v1 | الإصدار الأولي لمواصفات FMDN للاستخدام المبكر | |
v1.1 | Feb 2023 |
|
v1.2 | نيسان (أبريل) 2023 |
|
v1.3 | كانون الأول (ديسمبر) 2023 |
|