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

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. استنادًا إلى العملية المطلوبة، يثبت "المطلوب" معرفة مفتاح واحد أو أكثر من المفاتيح التالية:

العمليات

يتم عرض تنسيق البيانات المكتوبة في السمة في الجداول 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: طلب توفير إشارة 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 رقم تعريف البيانات
  • 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: طلب الرنين

وحدة ثمانيّة البت نوع البيانات الوصف القيمة
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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

وحدة ثمانيّة البت نوع البيانات الوصف القيمة
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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

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

وحدة ثمانيّة البت نوع البيانات الوصف القيمة
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. يتم تحديد محتوى الإشعار على النحو التالي:

وحدة ثمانيّة البت نوع البيانات الوصف القيمة
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. ينشئ موفِّر البيانات شريحة البيانات على النحو التالي:

وحدة ثمانيّة البت نوع البيانات الوصف القيمة
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 علامات التحكّم
  • ‫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 على 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 من الإشارة) الخطوات التالية:

  1. اختَر رقمًا عشوائيًا s في Fp، كما هو محدّد في القسم احتساب معرّف الجهاز الجوّال.
  2. الحساب 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 بت وآخر 80 بت من Rx، على التوالي، بتنسيق big-endian. وبالطريقة نفسها، حدِّد USx وLSx لـ S.
  6. الحساب nonce = LRx || LSx.
  7. الحساب (m’, tag) = AES-EAX-256-ENC(k, nonce, m).
  8. إرسال (URx, Sx, m’, tag) إلى المالك، ربما من خلال خدمة عن بُعد غير موثوق بها

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

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

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

تتيح ميزة "الإقران السريع" إرسال إشعارات إلى المستخدم لإعلامه بتوفر تحديثات عبر الهواء. لاستخدام هذه الآلية:

لمنع التتبُّع، يجب حظر الوصول إلى سمة إصدار البرامج الثابتة. سيقرأ جهاز Seeker أولاً حالة الإعداد ويقدّم مفتاح مصادقة، كما هو محدّد في هذه المواصفات، وبعد ذلك فقط سيقرأ مراجعة البرامج الثابتة. وسيتم إجراء ذلك من خلال الاتصال نفسه. إذا تم إجراء محاولة قراءة التعديل الأخير للبرامج الثابتة، ولم يكن الموفِّر مرتبطًا ولم تكتمل عملية مصادقة بنجاح من خلال عملية الاتصال نفسها، يجب أن يعرض الموفِّر خطأ عدم مصادقة.

التوافق

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

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

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