مواصفات ملحق شبكة "العثور على جهازي"

v1.3

تحدِّد مواصفات الملحقات في شبكة "العثور على جهازي" (FMDN) منهجًا مشفَّرًا من البداية إلى النهاية لتتبُّع الأجهزة التي تبث إشارات Bluetooth منخفضة الطاقة (BLE). توضّح هذه الصفحة معيار FMDN كإضافة إلى مواصفات Fast Pair. على مقدّمي الخدمة تفعيل هذا التوسيع إذا كانت لديهم أجهزة متوافقة مع FMDN وكانوا على استعداد لتفعيل ميزة تتبُّع الموقع الجغرافي لهذه الأجهزة.

مواصفات GATT

يجب إضافة سمة عامة إضافية (GATT) إلى خدمة الإقران السريع باستخدام الدلالات التالية:

سمة خدمة "الإقران السريع" مشفَّر الأذونات معرِّف فريد عالمي (UUID)
إجراءات الإشارة لا القراءة والكتابة والإشعار FE2C1238-8366-4814-8EB0-01DE32100BEA

الجدول 1: خصائص خدمة "الإقران السريع" لـ FMDN.

المصادقة

يتم تنفيذ العمليات المطلوبة من خلال هذه الإضافة كعملية كتابة، ويُمنَح لها الأمان من خلال آلية طلب وجواب. قبل تنفيذ أي عملية، من المتوقّع أن يُجري "المستكشِف" عملية قراءة من السمة الواردة فيجدول 1، ما يؤدي إلى إنشاء ذاكرة تخزين مؤقت بالتنسيق التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 رقم الإصدار الرئيسي للبروتوكول 0x01
1 - 8 مصفوفة البايت مفتاح تشفير عشوائي لمرة واحدة تختلف

يجب أن تؤدي كل عملية قراءة إلى إنشاء مفتاح تشفير عشوائي مختلف، ويجب ألا يكون مفتاح التشفير العشوائي الفردي صالحًا إلا لعملية واحدة. يجب إلغاء صلاحية الرقم التعريفي حتى في حال فشل العملية.

بعد ذلك، يحسب "المستكشِف" مفتاح مصادقة صالحًا لمرة واحدة ليتم استخدامه في طلب كتابة لاحق. يتم احتساب مفتاح المصادقة على النحو الموضّح في الجداول من 2 إلى 5. استنادًا إلى العملية المطلوبة، يثبت "المطلوب" معرفة مفتاح واحد أو أكثر من المفاتيح التالية:

العمليات

يتم توضيح تنسيق البيانات المكتوبة للخاصية في الجداول من 2 إلى 5. تتم مناقشة كل عملية بالتفصيل لاحقًا في هذا القسم.

ثُمانِي واحد نوع البيانات الوصف القيمة
0 uint8 رقم تعريف البيانات
  • 0x00: قراءة مَعلمات الإشارة
  • 0x01: قراءة حالة توفير المتطلبات اللازمة
  • 0x02: ضبط مفتاح الهوية المؤقتة
  • 0x03: مفتاح الهوية المؤقتة الواضح
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 مصفوفة البايت البيانات الإضافية
  • 0x00: لا ينطبق
  • 0x01: لا ينطبق
  • 0x02: 32 بايتًا تشكّل مفتاح الهوية المؤقت، وهو AES-ECB-128 مشفَّر بمفتاح الحساب. إذا كان لدى مقدّم الخدمة مجموعة مفاتيح هوية مؤقتة، أرسِل أيضًا أول 8 بايت من SHA256(current ephemeral identity key || the last nonce read from the characteristic)
  • 0x03: أول 8 بايت من SHA256(ephemeral identity key || the last nonce read from the characteristic)

الجدول 2: طلب توفير المتطلبات اللازمة للإشارات.

Octet نوع البيانات الوصف القيمة
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

Octet نوع البيانات الوصف القيمة
0 uint8 معرِّف البيانات
  • 0x05: حلقة
  • 0x06: قراءة حالة الرنين
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 مصفوفة البايت البيانات الإضافية
  • 0x05: 4 بايت تشير إلى حالة الرنين ومدة الرنين ومستوى صوت الرنين.
  • ‫0x06: لا ينطبق

الجدول 4: طلب الرنين

Octet نوع البيانات الوصف القيمة
0 uint8 رقم تعريف البيانات
  • 0x07: تفعيل "وضع الحماية من التتبُّع غير المرغوب فيه"
  • 0x08: إيقاف وضع "الحماية من التتبُّع غير المرغوب فيه"
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 مصفوفة البايت البيانات الإضافية
  • 0x07: باييت واحد من علامات التحكّم (اختياري)
  • 0x08: أول 8 بايت من SHA256(ephemeral identity key || the last nonce read from the characteristic)

الجدول 5: طلب الحماية من التتبُّع غير المرغوب فيه

تؤدي عمليات الكتابة الناجحة إلى تشغيل الإشعارات كما هو موضّح في الجدول 6.

يجب إرسال إشعارات تتضمن معرِّف بيانات بخلاف 0x05: تغيير حالة الرنين قبل اكتمال معاملة الكتابة التي تؤدي إلى ظهور الإشعار، أي قبل إرسال ملف PDU الخاص بالاستجابة لطلب الكتابة.

ثُمانِي واحد نوع البيانات الوصف القيمة
0 uint8 معرِّف البيانات
  • 0x00: قراءة مَعلمات الإشارة
  • 0x01: قراءة حالة توفير المتطلبات اللازمة
  • 0x02: ضبط مفتاح الهوية المؤقتة
  • 0x03: مفتاح الهوية المؤقتة الواضح
  • 0x04: قراءة مفتاح الهوية المؤقتة بموافقة المستخدم
  • 0x05: تغيير حالة نغمة الرنين
  • 0x06: قراءة حالة الرنين
  • 0x07: تفعيل وضع الحماية من التتبُّع غير المرغوب فيه
  • 0x08: إيقاف وضع "الحماية من التتبُّع غير المرغوب فيه"
1 uint8 حجم البيانات تختلف
من 2 إلى 9 مصفوفة البايت المصادقة مفصّلة لكل عملية
10 - var مصفوفة البايت البيانات الإضافية
  • 0x00: 8 بايت تشير إلى قوة الإرسال وقيمة الساعة وطريقة التشفير وإمكانيات نغمة الردّ، مشفَّرة بتنسيق AES-ECB-128 باستخدام مفتاح الحساب (مكمّلة بصفر)
  • 0x01: بايت واحد يشير إلى حالة التوفير، متبوعًا بالمعرّف الحالي المؤقت (20 أو 32 بايت) إن أمكن
  • 0x04: 32 بايت تمثل مفتاح التعريف المؤقت، وهو AES-ECB-128 مشفَّر بمفتاح الحساب
  • 0x05: 4 بايت تشير إلى الحالة الجديدة وسبب التغيير
  • 0x06: 3 بايت تشير إلى إصدار رنين من المكوّنات بشكل نشط وعدد الثواني المتبقية للرنين
  • تستخدم معرّفات البيانات الأخرى بيانات إضافية فارغة.

الجدول 6: استجابة خدمة الإشارة.

يسرد الجدول 7 رموز خطأ GATT المحتملة التي تعرضها العمليات.

الرمز الوصف ملاحظات
0x80 عدم الحصول على المصادقة يتم إرجاعه استجابةً لطلب كتابة عند تعذُّر مصادقة العميل (بما في ذلك الحالة التي تم فيها استخدام مفتاح تشفير عشوائي قديم).
0x81 قيمة غير صالحة يتم عرض هذا الرمز عند تقديم أي قيمة غير صالحة أو إذا كانت البيانات التي تم تلقّيها تحتوي على عدد غير متوقّع من البايتات.
0x82 عدم موافقة المستخدم يتم إرجاع هذا الرمز استجابةً لطلب كتابة يحمل معرّف البيانات 0x04: قراءة مفتاح الهوية المؤقتة بموافقة المستخدم عندما لا يكون الجهاز في وضع الإقران.

الجدول 7: رموز خطأ GATT.

قراءة معلَمة المرشد

يمكن للجهاز المُطلِب الاستعلام من مقدّم الخدمة عن مَعلمات الإشارة من خلال تنفيذ عملية كتابة في السمة التي تتألف من طلب من الجدول 2 باستخدام رقم تعريف البيانات 0x00. يتحقّق مقدّم الخدمة من أنّ مفتاح المصادقة لمرة واحدة الذي تم تقديمه يتطابق مع أي من مفاتيح الحساب المخزّنة على الجهاز.

إذا تعذّر إثبات الملكية، يعرض موفّر الخدمة خطأً متعلّقًا بعدم المصادقة.

عند نجاح الإجراء، يرسل موفّر الخدمة إشعارًا من الجدول 6 بمعرّف البيانات 0x00. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 الطاقة المعايرة الطاقة التي تم ضبطها كما تم قياسها على مسافة 0 متر (قيمة في النطاق [-100، 20]). يتم تمثيله كعدد صحيح بعلامة، بدقة 1 ديسيبل.
1 - 4 uint32 قيمة الساعة قيمة الساعة الحالية بالثواني (نهاية كبيرة).
5 uint8 اختيار منحنى المنحنى الإهليلجي المستخدَم للتشفير:
  • 0x00 (التلقائي): SECP160R1
  • 0x01: ‫SECP256R1 (يتطلب الإعلان الموسّع)
6 uint8 المكونات عدد المكوّنات القادرة على الرنين:
  • 0x00: يشير إلى أنّ الجهاز غير قادر على الرنين.
  • 0x01: يشير إلى أنّ مكوّنًا واحدًا فقط يمكنه الرنين.
  • 0x02: يشير إلى أنّ المكوّنين، أي سمّاعات الأذن اليمنى واليسرى، قادران على الرنين بشكل مستقل.
  • 0x03: يشير إلى أنّ ثلاثة مكونات، هما سمّاعات الأذن اليمنى واليسرى والصندوق، يمكنها إصدار رنين بشكل مستقل.
7 uint8 إمكانات الرنين في ما يلي الخيارات المتوافقة:
  • 0x00: اختيار مستوى صوت الرنين غير متاح.
  • ‫0x01: يتوفّر خيار اختيار مستوى صوت الرنين. في حال ضبط هذه السياسة، على موفّر الخدمة أن يقبل 3 مستويات صوت ويتعامل معها على النحو الموضَّح في عملية الرنين.
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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 حالة إدارة الحسابات قناع بت يتضمّن القيم التالية:
  • البتّ 1 (0x01): يتم ضبطه إذا تم ضبط مفتاح هوية مؤقت للجهاز.
  • Bit 2 (0x02): اضبط ما إذا كان مفتاح المصادقة الذي تم تقديمه لمرة واحدة يتطابق مع مفتاح حساب المالك.
من 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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 تشغيل الجهاز قناع بت يتضمّن القيم التالية:
  • البتّ 1 (0x01): رنين السماعة اليمنى
  • البت 2 (0x02): رنين لليسار
  • البتّ 3 (0x04): حالة Ring
  • 0xFF: رنّن جميع المكوّنات
  • 0x00: إيقاف الرنين
1 - 2 uint16 عملية استبعاد للقناة لمهلة معيّنة المهلة بالديسي ثانية يجب ألا تكون القيمة صفرًا ويجب ألا تكون أكبر من 10 دقائق.
يستخدم الموفّر هذه القيمة لتحديد المدة التي يجب أن يرن فيها الجهاز قبل كتم الصوت تلقائيًا. تلغي المهلة المهلة السارية بالفعل إذا كان هناك أي مكون من الجهاز يرن بالفعل.

في حال ضبط عملية الرنين على 0x00، يتم تجاهل مهلة الانتظار.
3 uint8 مستوى الصوت
  • 0x00: الإعداد التلقائي
  • 0x01: منخفض
  • ‫0x02: متوسط
  • 0x03: مرتفع
يعتمد المعنى الدقيق لهذه القيم على عملية التنفيذ.

عند استلام الطلب، يتحقّق "مقدّم الخدمة" مما يلي:

  • يتطابق مفتاح المصادقة لمرة واحدة المقدَّم مع مفتاح الخاتم.
  • تتطابق الحالة المطلوبة مع المكوّنات التي يمكنها الرنين.

إذا لم يتم توفير الموفّر كإشارة FMDN أو تعذَّرت عملية التحقق، سيتم عرض خطأ لم تتم مصادقته. ومع ذلك، إذا كان لدى مقدّم الخدمة ميزة حماية من التتبّع غير المرغوب فيه مفعّلة، وكان طلب تفعيل ميزة الحماية من التتبّع غير المرغوب فيه قد فعّل علامة مصادقة "تخطّي الرنين"، على مقدّم الخدمة تخطّي عملية التحقّق هذه. لا يزال من المتوقّع أن يقدّم "المستخدِم الباحث" بيانات المصادقة، ولكن يمكن ضبطها على قيمة عشوائية.

عند بدء الرنين أو انتهائه، يتم إرسال إشعار كما هو موضّح في الجدول 6 مع معرّف البيانات 0x05. يتم تحديد محتوى الإشعار على النحو التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 حالة الرنين
  • 0x00: تم البدء
  • 0x01: تعذّر بدء التشغيل أو الإيقاف (جميع المكوّنات المطلوبة خارج النطاق)
  • 0x02: تم الإيقاف (مهلة)
  • 0x03: تم إيقافه (الضغط على الزر)
  • 0x04: توقّف (طلب GATT)
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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

Octet نوع البيانات الوصف القيمة
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 على التوالي.

عند تفعيل "وضع الحماية من التتبُّع غير المرغوب فيه"

ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

Octet نوع البيانات الوصف القيمة
0 uint8 علامات التحكّم
  • ‫0x01: تخطّي مصادقة الرنين عند ضبط هذا الخيار، لن تتم مصادقة طلبات الرنين أثناء تفعيل وضع الحماية من التتبُّع غير المرغوب فيه.
في حال عدم ضبط أي علامة (تكون القيمة الثنائية كلها أصفارًا)، يكون من الصحيح حذف قسم data بالكامل وإرسال قسم بيانات فارغ.
لا تسري عمليات الإبلاغ إلا إلى أن يتم إيقاف "وضع الحماية من التتبُّع غير المرغوب فيه".

يتحقّق "مقدّم الخدمة" من أنّ مفتاح المصادقة المقدَّم لمرة واحدة يتطابق مع مفتاح حماية التتبّع غير المرغوب فيه. إذا لم يتم توفير موفّر الخدمة كإشارة 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 مفتاحًا عامًا يُستخدم لتشفير تقارير الموقع من قبل أي عميل داعم يساهم في شبكة حشد الموارد. يتوفّر نوعان من مفاتيح المنحنى الإهليلجي: مفتاح 160 بت يناسب إطارات BLE 4 القديمة، أو مفتاح 256 بت يتطلّب تقنية BLE 5 مع إمكانات إعلانية موسّعة. يحدد تنفيذ الموفر المنحنى المستخدم.

يتم تنظيم إطار FMDN على النحو التالي.

Octet القيمة الوصف
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 مع مفتاح التعريف المؤقت:

Octet الحقل الوصف
0 - 10 مساحة متروكة القيمة = 0xFF
11 K أسّ فترة التدوير
من 12 إلى 15 TS[0]...TS[3] مقياس وقت المنارة بتنسيق 32 بت بترتيب كبار السن. يتم محو أقل وحدات البت K.
من 16 إلى 26 مساحة متروكة القيمة = 0x00
27 K الأس الخاص بفترة التدوير
بين 28 و31 TS[0]...TS[3] مقياس وقت المنارة بتنسيق 32 بت بترتيب كبار السن. يتم محو 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 من الإشارة) الخطوات التالية:

  1. اختَر رقمًا عشوائيًا s في Fp، كما هو محدّد في القسم احتساب معرّف الجهاز الجوّال.
  2. Compute S = s * G.
  3. احتسِب R = (Rx, Ry) من خلال الاستبدال في معادلة المنحنى واختيار قيمة Ry عشوائية من النتائج المحتمَلة.
  4. احسب مفتاح AES بحجم 256 بت k = HKDF-SHA256((s * R)x) حيث يكون (s * R)x هو الإحداثي x لنتيجة ضرب المنحنى. لم يتم تحديد الملح.
  5. لنفترض أن URx وLRx هما قيمتا 80 بت العليا والسفلي من Rx، على التوالي، بالتنسيق الكبير. وبالطريقة نفسها، حدِّد USx وLSx لـ S.
  6. Compute nonce = LRx || LSx.
  7. احتساب (m’, tag) = AES-EAX-256-ENC(k, nonce, m).
  8. إرسال (URx, Sx, m’, tag) إلى المالك، ربما من خلال خدمة عن بُعد غير موثوق بها

فك تشفير القيم المشفَّرة باستخدام معرّف المستخدِم

يفكّك برنامج العميل الخاص بالمالك، الذي يملك مفتاح EIK ومعرّف قاعدة بيانات العميل المرّب، تشفير الرسالة على النحو التالي:

  1. استنادًا إلى URx، احصل على قيمة مقياس الوقت في الإشارة التي تستند إليها URx. ويمكن إجراء ذلك من خلال حساب عميل المالك لقيم Rx لقيم عدّاد وقت الإشارة للماضي الحديث والمستقبل القريب.
  2. عليك احتساب القيمة المتوقّعة لـ r كما هو محدّد في قسم احتساب معرّف شريحة SIM المضمّنة (EID) استنادًا إلى قيمة عدّاد وقت الإشارة التي تستند إليها URx.
  3. احسب قيمة R = r * G، وتحقق من المطابقة لقيمة URx التي قدّمها المشاهد.
  4. يمكنك حساب S = (Sx, Sy) من خلال التعويض في معادلة المنحنى واختيار قيمة Sy عشوائية من النتائج المحتملة.
  5. احتسِب k = HKDF-SHA256((r * S)x) حيث يكون (r * S)x هو الإحداثي x لنتيجة ضرب منحنيات.
  6. Compute nonce = LRx || LSx.
  7. Compute 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 دقائق.
  • إذا تم محو مفتاح الهوية المؤقتة من الجهاز، فينبغي على الجهاز إعادة الضبط على الإعدادات الأصلية ومحو مفاتيح الحساب المخزَّنة أيضًا.
  • يجب أن يرفض مقدّم الخدمة محاولات الاقتران العادية عبر البلوتوث ولا يقبل سوى إقران "الاقتران السريع".
  • يجب أن يوفّر موفّر الخدمة آلية تتيح للمستخدمين إيقاف الإعلان مؤقتًا بدون إعادة ضبط الجهاز على الإعدادات الأصلية (مثل الضغط على مجموعة من الأزرار).
  • بعد انقطاع التيار الكهربائي، من المفترض أن يعلن الجهاز عن إطارات الإقران السريع غير القابلة للاكتشاف إلى أن يتمّ تنفيذ قراءة مَعلمات ال beacon مرة أخرى. يتيح ذلك لجهاز "المكتشف" رصد الجهاز ومزامنة الساعة حتى في حال حدوث انحراف كبير في الساعة.
  • عند الإعلان عن إطارات "الإقران السريع" غير القابلة للاكتشاف، يجب عدم تفعيل مؤشرات واجهة المستخدم.
  • يجب عدم عرض إطارات ميزة "الإقران السريع" القابلة للاكتشاف أثناء إعداد موفِّر الخدمة لميزة "الربط التلقائي للأجهزة الجوّالة".
  • يجب ألا يعرِض "الموفّر" أي معلومات تحدّد الهوية بطريقة غير معتمَدة (مثل الأسماء أو المعرّفات).

إرشادات خاصة بالأجهزة التي تتضمّن بلوتوث الكلاسيكي

يصف هذا القسم الجوانب الخاصة بأجهزة البلوتوث الكلاسيكية التي تتيح استخدام FMDN.

إعداد FMDN للأجهزة التي سبق إقرانها

لا يتم دائمًا توفير "الموفّر" لخدمة FMDN عند الإقران مع "المستكشِف"، ولكن بعد فترة. في هذه الحالة، قد لا يكون لدى الموفِّر عنوان MAC لبروتوكول BLE محدَّثًا، وهو مطلوب لإنشاء اتصال عبر بروتوكول GATT. يجب أن يقدّم "المزوّد" طريقة واحدة على الأقل من الطرق التالية لكي يتمكّن "جهاز البحث" من الحصول على عنوان BLE عندما يكون مقترنًا:

  • يمكن للموفّر الإعلان بشكل دوري عن بيانات حساب Fast Pair التي تتيح للجهاز المُستكشِف العثور على عنوان BLE من خلال فحص BLE.
    يناسب هذا النهج مقدّمي الخدمات الذين لا ينفذون ميزة "بث الرسائل".
  • يمكن لموفّر الخدمة تقديم هذه البيانات من خلال بث رسائل ميزة "الإقران السريع" عبر تقنية البلوتوث الكلاسيكية.
    يناسب هذا النهج مقدّمي الخدمة الذين لا يعرضون إطارات ميزة "الإقران السريع" أثناء الاتصال بجهاز البحث عبر البلوتوث.

إنّ توفير كلتا المنهجيتين يزيد من فرص تمكّن المستخدم من إعداد الجهاز لاستخدام ميزة "إدارة الخدمات الجوّالة للمؤسسات".

بث رسائل ميزة "الإقران السريع"

يمكن للموفّر تنفيذ بث رسائل "الإقران السريع" واستخدامه لإعلام المُستخدِم الذي يبحث عن الجهاز بمعلومات الجهاز. يؤدي تنفيذ تدفق الرسائل إلى تفعيل ميزات معينة كما هو موضح في هذا القسم.

على الموفّر إرسال رسائل معلومات الجهاز مرة واحدة في كل مرة يتم فيها إنشاء قناة RFCOMM لبث الرسائل.

إصدار البرامج الثابتة (رمز معلومات الجهاز 0x09) وإمكانية التتبّع

عندما يضيف تحديث البرامج الثابتة ميزة FMDN إلى "الموفّر"، يمكن لـ "المستكشِف" المتصل إعلام المستخدم بذلك وتقديم عرض لإعداده. بخلاف ذلك، على المستخدم الانتقال إلى قائمة أجهزة البلوتوث يدويًا لبدء توفير FMDN.

للسماح بذلك، يجب على موفّر الخدمة استخدام خاصية إصدار البرامج الثابتة (الرمز 0x09) للإبلاغ عن قيمة سلسلة تمثل إصدار البرامج الثابتة. بالإضافة إلى ذلك، يجب أن يتوافق الموفّر مع البروتوكول الذي يُعلِم "المستخدِم" بتغييرات القدرات الناتجة عن تحديثات البرامج الثابتة.

Octet نوع البيانات الوصف القيمة
0 uint8 حدث معلومات الجهاز 0x03
1 uint8 إصدار البرامج الثابتة 0x09
من 2 إلى 3 uint16 طول البيانات الإضافية تختلف
var مصفوفة البايت سلسلة الإصدار تختلف

الجدول 11: حدث معلومات الجهاز: إصدار البرامج الثابتة المعدَّل

عند تلقّي طلب تحديث الإمكانية (0x0601)، في حال تفعيل موفّر الخدمة لتتبُّع FMDN، يجب أن يستجيب كما هو موضّح في الجدول 12.

Octet نوع البيانات الوصف القيمة
0 uint8 حدث مزامنة إمكانات الجهاز 0x06
1 uint8 تتبُّع رقم الطلب الثابت 0x03
من 2 إلى 3 uint16 طول البيانات الإضافية 0x0007
4 uint8 حالة توفير FMDN 0x00 إذا لم يتم توفير المتطلبات اللازمة له، و0x01 إذا كان متاحًا من خلال أي حساب
5 - 10 مصفوفة البايت عنوان MAC الحالي لتقنية BLE للجهاز تختلف

الجدول 12: حدث مزامنة إمكانات الجهاز: تمت إضافة إمكانية التتبّع

المعرّف المؤقت الحالي (رمز معلومات الجهاز 0x0B)

يمكن لموفّر الخدمة استخدام المعرّف المؤقت الحالي (الرمز 0x0B) للإبلاغ عن معرّف شريحة SIM المضمّنة (EID) الحالية وقيمة الساعة عندما يتوفر لدى الموفّر خدمة FMDN، لمزامنة Seeker في حال تغيير الساعة (بسبب استنزاف البطارية مثلاً). خلاف ذلك، يبدأ الباحث اتصالاً أكثر تكلفة وأقل موثوقية لهذا الغرض.

Octet نوع البيانات الوصف القيمة
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:
    • وفي عنوان URL، استخدِم find-my.googleapis.com/lookup.
    • استخدِم كقيمة للمَعلمة e الردّ نفسه الذي تم إنشاؤه لسمة Get_Identifier، مع ترميز سداسي.
    • استخدِم الردّ نفسه الذي تم إنشاؤه لطلب Get_Product_Data، مع ترميزه باستخدام التنسيق السداسي، وذلك كمَعلمة pid.
  • إرشادات لتنفيذ رمز التشغيل Sound_Start:
    • من المفترض أن يؤدي الأمر إلى تشغيل الرنين في جميع المكوّنات المتاحة.
    • يجب استخدام أقصى مستوى صوت متوافق.
    • المدة المُقترَحة للرنّ هي 12 ثانية.
  • يجب أن تتضمّن علامات تحديد الموقع آلية تتيح للمستخدمين إيقاف الإعلانات مؤقتًا بدون إعادة ضبط الجهاز على الإعدادات الأصلية (على سبيل المثال، الضغط على مجموعة من الأزرار).
    • يجب توثيق تعليمات إيقاف الميزة في عنوان URL متاح للجميع، وتقديمها إلى Google كشرط للحصول على الاعتماد، وقبل 10 أيام على الأقل من إجراء أي تعديل أو تغيير على التعليمات.
    • يجب أن يتيح عنوان URL الأقلمة. استنادًا إلى العميل، سيتم تقديم اللغة إما كمَعلمة طلب بحث ("hl=ar") أو باستخدام عنوان HTTP "accept-language".

إرشادات البروتوكول القابل للتبديل

  • يجب استخدام بروتوكول واحد فقط في كل مرة. تأكَّد من أنّه لا يمكن تشغيل سوى شبكة واحدة على الجهاز في الوقت نفسه. وهذا الشرط ضروري لضمان عدم دمج بيانات المستخدمين الحساسة بين البروتوكولات المختلفة.
  • نقترح دمج سير عمل إعادة الضبط على الجهاز الذي يسمح للمستخدم بإعادة ضبط الجهاز باستخدام شبكة مختلفة.
  • يجب أن تكون عملية تحديث الجهاز على الشبكة سهلة الاستخدام ومتسقة بين الشبكات. يجب أن يتمكّن المستخدم من اختيار الشبكة التي يريد استخدامها بدون منح الأولوية لأحد الشبكات. يجب أن يوافق فريق Google على هذا التدفق.

تحديثات البرامج الثابتة

يجب أن يدير الشريك عملية تحديث التحديثات عبر الهواء وتوزيعها باستخدام سير العمل الخاص بها على الجهاز الجوّال أو تطبيق الويب.

التوافق

تتطلّب شبكة "العثور على جهازي" تفعيل خدمات الموقع الجغرافي والبلوتوث. ويجب توفُّر اتصال شبكة جوّال أو اتصال إنترنت. الميزة متاحة لأجهزة Android 9 والإصدارات الأحدث وفي بُلدان محدَّدة للمستخدمين المؤهَّلين حسب الفئة العمرية.

سجلّ التغييرات

إصدار FMDN التاريخ تعليق
v1 الإصدار الأولي لمواصفات FMDN للاستخدام المبكر
v1.1 Feb 2023
  • تمت إضافة إشارة نصية واضحة لوضع الحماية من التتبّع غير المرغوب فيه.
  • تمت إضافة خيار لتخطّي مصادقة طلبات الرنين أثناء تفعيل ميزة الحماية من التتبّع غير المرغوب فيه.
v1.2 نيسان (أبريل) 2023
  • تم تعديل تعريف مفتاح AK الخاص بالمالك.
  • تمت إضافة اقتراح لاسترداد بيانات جهاز تحديد المواقع المكان في حال انقطاع الطاقة.
  • تمت إضافة توضيح لميزة إنشاء عناوين MAC عشوائية.
  • تمت إضافة توضيح حول دوران عنوان MAC أثناء استخدام وضع الحماية للتتبُّع غير المرغوب فيه.
  • تمت إضافة إرشادات حول توفُّر طريقة لإيقاف علامة أداة تحديد الموقع الجغرافي.
v1.3 كانون الأول (ديسمبر) 2023
  • تمت إضافة توضيح بشأن المعلومات التعريفية التي تعرضها علامات محددات المواقع الجغرافية.
  • تمت إضافة شرط لتنفيذ مواصفات منع التتبّع غير المرغوب فيه.
  • تمت إضافة إرشادات لأجهزة البروتوكول القابلة للتبديل.