مشخصات لوازم جانبی شبکه دستگاه من را پیدا کنید

نسخه 1.3

مشخصات لوازم جانبی «شبکه دستگاه من را پیدا کن» (FMDN) یک رویکرد رمزگذاری شده سرتاسر برای ردیابی دستگاه‌های کم مصرف بلوتوث (BLE) را تعریف می‌کند. این صفحه FMDN را به عنوان یک افزونه برای مشخصات جفت سریع توصیف می کند. اگر ارائه‌دهندگان دستگاه‌هایی دارند که با FMDN سازگار هستند و می‌خواهند ردیابی مکان را برای آن دستگاه‌ها فعال کنند، باید این برنامه افزودنی را فعال کنند.

مشخصات گات

یک مشخصه خصوصیات عمومی اضافی (GATT) باید به سرویس جفت سریع با معنایی زیر اضافه شود:

ویژگی Fast Pair Service رمزگذاری شده است مجوزها UUID
اقدامات فانوس دریایی خیر بخوانید، بنویسید و اطلاع دهید FE2C1238-8366-4814-8EB0-01DE32100BEA

جدول 1: ویژگی های سرویس جفت سریع برای FMDN.

احراز هویت

عملیات مورد نیاز این برنامه افزودنی به عنوان یک عملیات نوشتن انجام می شود که توسط مکانیزم چالش-پاسخ ایمن شده است. قبل از انجام هر عملیاتی، از جستجوگر انتظار می رود که یک عملیات خواندن از مشخصه جدول 1 انجام دهد که منجر به ایجاد یک بافر در قالب زیر می شود:

اکتت نوع داده توضیحات ارزش
0 uint8 شماره نسخه اصلی پروتکل 0x01
1 - 8 آرایه بایت یک بار غیر تصادفی متفاوت است

هر عملیات خواندن باید به یک nonce متفاوت منجر شود و یک nonce منفرد باید فقط برای یک عملیات منفرد معتبر باشد. nonce باید باطل شود حتی اگر عملیات شکست بخورد.

سپس جستجوگر یک کلید احراز هویت یکبار مصرف را محاسبه می کند تا در درخواست نوشتن بعدی استفاده شود. کلید احراز هویت همانطور که در جداول 2 تا 5 توضیح داده شده محاسبه می شود. بسته به عملیات مورد درخواست، جستجوگر دانش یک یا چند مورد از کلیدهای زیر را اثبات می کند:

عملیات

قالب داده های نوشته شده بر روی مشخصه در جداول 2 تا 5 آورده شده است.

اکتت نوع داده توضیحات ارزش
0 uint8 شناسه داده
  • 0x00: خواندن پارامترهای beacon
  • 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: n/a
  • 0x01: n/a
  • 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: درخواست تامین چراغ.

اکتت نوع داده توضیحات ارزش
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: n/a

جدول 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: 1 بایت پرچم کنترل (اختیاری)
  • 0x08: 8 بایت اول SHA256(ephemeral identity key || the last nonce read from the characteristic)

جدول 5: درخواست حفاظت از ردیابی ناخواسته.

نوشتن موفقیت آمیز اعلان های راه اندازی همانطور که در جدول 6 فهرست شده است.

اعلان‌هایی با شناسه داده‌ای غیر از 0x05: تغییر حالت زنگ باید قبل از تکمیل تراکنش نوشتن که اعلان را آغاز می‌کند، یعنی قبل از ارسال پاسخ PDU برای درخواست نوشتن ارسال شود.

اکتت نوع داده توضیحات ارزش
0 uint8 شناسه داده
  • 0x00: خواندن پارامترهای beacon
  • 0x01: خواندن وضعیت تامین
  • 0x02: کلید هویت زودگذر را تنظیم کنید
  • 0x03: پاک کردن کلید هویت زودگذر
  • 0x04: خواندن کلید هویت زودگذر با رضایت کاربر
  • 0x05: تغییر حالت زنگ
  • 0x06: خواندن حالت زنگ
  • 0x07: حالت حفاظت ردیابی ناخواسته را فعال کنید
  • 0x08: حالت حفاظت ردیابی ناخواسته را غیرفعال کنید
1 uint8 طول داده متفاوت است
2 - 9 آرایه بایت احراز هویت جزئیات در هر عملیات
10 - var آرایه بایت داده های اضافی
  • 0x00: 8 بایت نشان دهنده قدرت انتقال، مقدار ساعت، روش رمزگذاری و قابلیت های زنگ، AES-ECB-128 رمزگذاری شده با کلید حساب (صفر padded)
  • 0x01: 1 بایت نشان دهنده وضعیت تامین، به دنبال آن شناسه زودگذر فعلی (20 یا 32 بایت) در صورت وجود
  • 0x04: 32 بایت که کلید هویت زودگذر است، AES-ECB-128 رمزگذاری شده با کلید حساب
  • 0x05: 4 بایت که وضعیت جدید و ماشه تغییر را نشان می دهد
  • 0x06: 3 بایت نشان می دهد که اجزا به طور فعال زنگ می زنند و تعداد دسی ثانیه های باقی مانده برای زنگ زدن
  • سایر شناسه‌های داده از داده‌های اضافی خالی استفاده می‌کنند

جدول 6: پاسخ خدمات Beacon.

جدول 7 کدهای خطای احتمالی GATT را که توسط عملیات برگردانده شده است فهرست می کند.

کد توضیحات یادداشت ها
0x80 بدون احراز هویت هنگامی که احراز هویت ناموفق بود (از جمله مواردی که از nonce قدیمی استفاده شده بود) در پاسخ به یک درخواست نوشتن برگردانده شد.
0x81 مقدار نامعتبر است هنگامی که مقدار نامعتبری ارائه شود یا داده های دریافتی دارای تعداد غیرمنتظره ای از بایت باشند، برگردانده می شود.
0x82 بدون رضایت کاربر در پاسخ به درخواست نوشتن با شناسه داده 0x04 برگردانده شد: وقتی دستگاه در حالت جفت شدن نیست، کلید هویت زودگذر را با رضایت کاربر بخوانید .

جدول 7: کدهای خطای گات.

پارامتر چراغ را بخوانید

جستجوگر می‌تواند با انجام عملیات نوشتن برای مشخصه شامل درخواستی از جدول 2 با شناسه داده 0x00، از ارائه‌دهنده پارامترهای beacon پرس و جو کند. ارائه دهنده تأیید می کند که کلید احراز هویت یک بار ارائه شده با هر یک از کلیدهای حساب ذخیره شده در دستگاه مطابقت دارد.

اگر تأیید ناموفق باشد، ارائه دهنده یک خطای تأیید نشده برمی‌گرداند.

در صورت موفقیت، ارائه دهنده با پاسخی از جدول 6 با شناسه داده 0x00 اطلاع می دهد. ارائه دهنده بخش داده را به صورت زیر می سازد:

اکتت نوع داده توضیحات ارزش
0 uint8 قدرت کالیبره شده توان کالیبره شده همانطور که در 0 متر دریافت می شود (مقداری در محدوده [-100، 20]). به عنوان یک عدد صحیح امضا شده، با وضوح 1 dBm نشان داده شده است.
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 است. ارائه دهنده تأیید می کند که:

اگر تأیید ناموفق باشد، ارائه‌دهنده یک خطای تأیید نشده برمی‌گرداند.

در صورت موفقیت، کلید هویت زودگذر توسط 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) تعریف می شود.

کلید هویت زودگذر را پاک کنید

جستجوگر برای عدم ارائه بخش beacon ارائه‌دهنده، عملیات نوشتن بر روی مشخصه را انجام می‌دهد که شامل درخواستی از جدول 2 با شناسه داده 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 است. ارائه دهنده تأیید می کند که:

اگر تأیید ناموفق باشد، ارائه‌دهنده یک خطای تأیید نشده برمی‌گرداند.

اگر دستگاه در حالت جفت‌سازی نباشد، ارائه‌دهنده یک خطای عدم رضایت کاربر را برمی‌گرداند.

در صورت موفقیت، ارائه دهنده با پاسخی از جدول 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): محفظه حلقه
  • 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: Started یا 0x04: Stopped (درخواست 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) تعریف می شود.

حالت حفاظت ردیابی ناخواسته

حالت حفاظت ردیابی ناخواسته به این منظور در نظر گرفته شده است که به هر مشتری اجازه می دهد دستگاه های سوء استفاده کننده را بدون ارتباط سرور شناسایی کند. به‌طور پیش‌فرض، ارائه‌دهنده باید همه شناسه‌ها را همانطور که در چرخش ID توضیح داده شده است بچرخاند. سرویس Find My Device می‌تواند درخواست فعال‌سازی حالت حفاظت ردیابی ناخواسته را از طریق شبکه Find My Device ارسال کند. با انجام این کار، این سرویس باعث می شود که ارائه دهنده به طور موقت از یک آدرس MAC ثابت استفاده کند و به مشتریان امکان می دهد دستگاه را شناسایی کرده و به کاربر در مورد ردیابی ناخواسته احتمالی هشدار دهند.

برای فعال یا غیرفعال کردن حالت حفاظت ردیابی ناخواسته بیکن، جستجوگر یک عملیات نوشتن به مشخصه را انجام می دهد که شامل درخواستی از جدول 5 با شناسه داده 0x07 یا 0x08 است.

هنگام فعال کردن حالت حفاظت ردیابی ناخواسته

ارائه دهنده بخش داده را به صورت زیر می سازد:

اکتت نوع داده توضیحات ارزش
0 uint8 کنترل پرچم ها
  • 0x01: از احراز هویت زنگ رد شوید. وقتی تنظیم شود، درخواست‌های زنگ در حالت حفاظت از ردیابی ناخواسته احراز هویت نمی‌شوند.
اگر هیچ پرچمی تنظیم نشده باشد (بایت تماما صفر است)، حذف کامل بخش داده و ارسال یک بخش داده خالی معتبر است.
پرچم‌ها فقط تا زمانی که حالت حفاظت از ردیابی ناخواسته غیرفعال شود، اعمال می‌شوند.

ارائه دهنده تأیید می کند که کلید احراز هویت یک بار ارائه شده با کلید حفاظتی ردیابی ناخواسته مطابقت دارد. اگر ارائه‌دهنده به‌عنوان یک چراغ 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 را حداقل هر 2 ثانیه یک بار تبلیغ کند. اگر فریم‌های جفت سریع تبلیغ می‌شوند، ارائه‌دهنده باید فریم‌های FMDN را در تبلیغات معمولی جفت سریع قرار دهد. به عنوان مثال، هر دو ثانیه، ارائه دهنده باید هفت آگهی Fast Pair و یک تبلیغ FMDN را تبلیغ کند.

فریم 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 مقدار و مقدار بایت را برای یک منحنی 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 ک توان دوره چرخش
12 - 15 TS[0]...TS[3] زمان شمار بیکن، در قالب 32 بیتی big-endian. پایین ترین بیت های K پاک می شوند.
16 - 26 بالشتک مقدار = 0x00
27 ک توان دوره چرخش
28 - 31 TS[0]...TS[3] زمان شمار بیکن، در قالب 32 بیتی big-endian. پایین ترین بیت های K پاک می شوند.

جدول 10: ساخت یک عدد شبه تصادفی.

نتیجه این محاسبه یک عدد 256 بیتی است که r' نشان داده می شود.

برای بقیه محاسبات، SECP160R1 یا SECP256R1 برای عملیات رمزنگاری منحنی بیضوی استفاده می شود. تعاریف منحنی را در SEC 2 ببینید: پارامترهای دامنه منحنی بیضوی توصیه شده ، که Fp ، n و G را تعریف می‌کند.

r' اکنون با محاسبه r = r' mod n به میدان محدود Fp پیش بینی می شود. در نهایت، R = r * G را محاسبه کنید، که نقطه ای از منحنی است که نشان دهنده کلید عمومی مورد استفاده است. Beacon Rx که مختصات x R است را به عنوان شناسه زودگذر خود تبلیغ می کند.

پرچم های هش شده

فیلد پرچم های هش شده به صورت زیر محاسبه می شود (بیت ها از مهم ترین به کم اهمیت ترین ارجاع داده می شوند):

  • بیت های 0-4: رزرو شده (بر روی صفر تنظیم شده است).
  • بیت های 5-6 سطح باتری دستگاه را به صورت زیر نشان می دهد:
    • 00: نشانگر سطح باتری پشتیبانی نمی شود
    • 01: سطح باتری نرمال
    • 10: سطح باتری پایین
    • 11: سطح باتری بسیار پایین (به زودی نیاز به تعویض باتری است)
  • اگر چراغ در حالت حفاظت از ردیابی ناخواسته باشد، بیت 7 روی 1 و در غیر این صورت 0 تنظیم می شود.

برای تولید مقدار نهایی این بایت، آن را با کمترین بایت SHA256(r) xor می کنیم.

توجه داشته باشید که r باید با اندازه منحنی تراز شود. اگر نمایش آن کوتاه‌تر از 160 یا 256 بیت باشد، صفرها را به عنوان مهم‌ترین بیت‌ها اضافه کنید، یا اگر نمایش آن بزرگ‌تر از 160 یا 256 بیت باشد، مهم‌ترین بیت‌ها باید کوتاه شوند.

اگر چراغ نشانگر سطح باتری را پشتیبانی نمی کند و در حالت حفاظت از ردیابی ناخواسته قرار ندارد، مجاز است این بایت را به طور کامل از تبلیغات حذف کند.

رمزگذاری با EID

برای رمزگذاری یک پیام m ، یک بیننده (با خواندن Rx از چراغ دریایی) کارهای زیر را انجام می دهد:

  1. همانطور که در بخش محاسبه EID تعریف شده است، یک عدد تصادفی s در Fp انتخاب کنید.
  2. S = s * G را محاسبه کنید.
  3. R = (Rx, Ry) با جایگزینی در معادله منحنی و انتخاب یک مقدار Ry دلخواه از نتایج ممکن محاسبه کنید.
  4. کلید 256 بیتی AES k = HKDF-SHA256((s * R)x) را محاسبه کنید که در آن (s * R)x مختصات x حاصل ضرب منحنی است. نمک مشخص نشده است
  5. اجازه دهید URx و LRx به ترتیب 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) به مالک، احتمالاً از طریق یک سرویس راه دور غیرقابل اعتماد.

رمزگشایی مقادیر رمزگذاری شده با EID

مشتری مالک، که دارای EIK و توان دوره چرخش است، پیام را به صورت زیر رمزگشایی می کند:

  1. با توجه به URx ، مقدار شمارنده زمان چراغ را که URx بر اساس آن است، بدست آورید. این را می توان توسط مشتری مالک که مقادیر Rx برای مقادیر شمارنده زمان فانوس برای گذشته و آینده نزدیک محاسبه می کند، انجام داد.
  2. با توجه به مقدار شمارنده زمان چراغ که URx بر اساس آن است، مقدار پیش بینی شده r را همانطور که در بخش محاسبه EID تعریف شده است محاسبه کنید.
  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 ثانیه اتفاق بیفتد. نقطه دقیقی که در آن بیکن شروع به تبلیغ شناسه جدید می کند باید در پنجره به صورت تصادفی انتخاب شود.

روش توصیه شده برای تصادفی کردن زمان چرخش، تنظیم آن بر روی زمان چرخش پیش‌بینی‌شده بعدی (در صورت عدم استفاده از تصادفی‌سازی) به اضافه یک ضریب زمان تصادفی مثبت در محدوده 1 تا 204 ثانیه است.

هنگامی که دستگاه در حالت حفاظت از ردیابی ناخواسته است، آدرس BLE تبلیغات FMDN باید ثابت شود، اما RPA برای تبلیغات غیرقابل کشف FP (مانند جفت سریع) باید به چرخش ادامه دهد. استفاده از آدرس های مختلف برای پروتکل های مختلف قابل قبول است.

بازیابی از افت برق

حل کردن شناسه زودگذر به شدت به مقدار ساعت آن در زمان تبلیغات وابسته است، بنابراین مهم است که ارائه‌دهنده بتواند مقدار ساعت خود را در صورت قطع برق بازیابی کند. توصیه می‌شود که ارائه‌دهنده مقدار ساعت فعلی خود را حداقل یک بار در روز روی حافظه غیرفرار بنویسد، و در زمان راه‌اندازی، ارائه‌دهنده NVM را بررسی کند تا ببیند آیا مقداری برای مقداردهی اولیه وجود دارد یا خیر. حل‌کننده‌های شناسه زودگذر رزولوشن را در یک پنجره زمانی به اندازه‌ای اجرا می‌کنند که امکان رانش منطقی ساعت و این نوع بازیابی تلفات برق را فراهم می‌کند.

ارائه دهندگان همچنان باید تمام تلاش خود را برای به حداقل رساندن انحرافات ساعت انجام دهند، زیرا پنجره زمان وضوح محدود است. حداقل یک روش دیگر همگام سازی ساعت باید اجرا شود (تبلیغ فریم های جفت سریع غیرقابل کشف یا اجرای جریان پیام ).

دستورالعمل های پیاده سازی جفت سریع

این بخش جنبه های ویژه پیاده سازی جفت سریع را در ارائه دهندگانی که از FMDN پشتیبانی می کنند، توضیح می دهد.

دستورالعمل های خاص برچسب مکان یاب

  • اگر ارائه‌دهنده جفت شده است، اما FMDN در عرض 5 دقیقه ارائه نشده است (یا اگر یک به‌روزرسانی OTA در حالی که دستگاه جفت شده است اما FMDN ارائه نشده است اعمال شده است)، ارائه‌دهنده باید به پیکربندی کارخانه خود بازگردد و کلیدهای حساب ذخیره‌شده را پاک کند.
  • پس از جفت شدن ارائه دهنده، نباید آدرس MAC خود را تغییر دهد تا زمانی که FMDN ارائه شود یا تا 5 دقیقه بگذرد.
  • اگر کلید هویت زودگذر از دستگاه پاک شود، دستگاه باید بازنشانی کارخانه ای انجام دهد و کلیدهای حساب ذخیره شده را نیز پاک کند.
  • ارائه‌دهنده باید تلاش‌های معمولی مرتبط‌سازی بلوتوث را رد کند و فقط جفت‌سازی سریع را بپذیرد.
  • ارائه‌دهنده باید مکانیزمی داشته باشد که به کاربران اجازه می‌دهد تبلیغات را بدون بازنشانی کارخانه‌ای دستگاه (مثلاً فشار دادن ترکیبی از دکمه‌ها) به طور موقت متوقف کنند.
  • پس از قطع برق، دستگاه باید فریم‌های جفت سریع غیرقابل کشف را تا زمان فراخوانی بعدی پارامترهای بیکن خواندن تبلیغ کند. این به جستجوگر اجازه می‌دهد دستگاه را شناسایی کرده و ساعت را همگام‌سازی کند، حتی اگر تغییر ساعت قابل توجهی رخ داده باشد.
  • وقتی فریم‌های جفت سریع غیرقابل کشف را تبلیغ می‌کنید، نشانه‌های رابط کاربری نباید فعال شوند.
  • فریم های جفت سریع قابل کشف نباید در زمانی که ارائه دهنده برای FMDN تهیه شده است تبلیغ شود.
  • ارائه‌دهنده نباید هیچ گونه اطلاعات اطلاعات شناسایی را به صورت غیرقانونی (مثلاً نام‌ها یا شناسه‌ها) افشا کند.

دستورالعمل های خاص دستگاه بلوتوث کلاسیک

این بخش جنبه های ویژه دستگاه های بلوتوث کلاسیک را که از FMDN پشتیبانی می کنند، توضیح می دهد.

ارائه FMDN دستگاه های قبلاً جفت شده

هنگام جفت شدن با جستجوگر، ارائه دهنده همیشه برای FMDN ارائه نمی شود، اما مدتی پس از آن. در این صورت، ممکن است ارائه‌دهنده یک آدرس BLE MAC به‌روز که برای ایجاد یک اتصال GATT لازم است نداشته باشد. ارائه‌دهنده باید حداقل یکی از راه‌های زیر را پشتیبانی کند تا جستجوگر بتواند آدرس BLE خود را در حالی که قبلاً جفت شده است دریافت کند:

  • ارائه‌دهنده می‌تواند به صورت دوره‌ای اطلاعات حساب جفت سریع را تبلیغ کند که به جستجوگر اجازه می‌دهد آدرس BLE خود را از طریق اسکن BLE پیدا کند.
    این رویکرد مناسب ارائه دهندگانی است که جریان پیام را اجرا نمی کنند.
  • ارائه دهنده می تواند این داده ها را از طریق جریان پیام جفت سریع از طریق بلوتوث کلاسیک ارائه دهد.
    این رویکرد برای ارائه دهندگان مناسب است که قاب های جفت سریع را در حالی که به Seeker از طریق بلوتوث وصل می شوند ، تبلیغ نمی کنند.

پشتیبانی از هر دو روش ، احتمال اینکه کاربر بتواند دستگاه را برای FMDN تهیه کند ، افزایش می دهد.

جریان پیام سریع جفت

ارائه دهنده می تواند جریان پیام جفت سریع را پیاده سازی کرده و از آن برای اطلاع دهنده در مورد اطلاعات دستگاه استفاده کند. اجرای جریان پیام ، ویژگی های خاصی را که در این بخش توضیح داده شده است امکان پذیر می کند.

ارائه دهنده باید هر بار که کانال RFCOMM پیام جریان پیام را ایجاد کند ، پیام های اطلاعاتی دستگاه را ارسال کند.

نسخه سیستم عامل (کد اطلاعات دستگاه 0x09) و قابلیت ردیابی

هنگامی که یک به روزرسانی سیستم عامل پشتیبانی FMDN را به ارائه دهنده اضافه می کند ، یک جستجوگر متصل می تواند در مورد آن به کاربر اطلاع دهد و پیشنهاد آن را ارائه دهد. در غیر این صورت ، کاربر برای شروع تهیه FMDN باید به لیست دستگاه بلوتوث به صورت دستی حرکت کند.

برای اجازه این کار ، ارائه دهنده باید از ویژگی نسخه سیستم عامل (کد 0x09) استفاده کند تا مقدار رشته ای را نشان دهد که نسخه سیستم عامل را نشان می دهد. علاوه بر این ، ارائه دهنده باید از پروتکل پشتیبانی کند که به سالک اجازه می دهد از تغییرات قابلیت به دلیل به روزرسانی سیستم عامل آگاه باشد.

اکتت نوع داده توضیحات ارزش
0 uint8 رویداد اطلاعات دستگاه 0x03
1 uint8 نسخه سیستم عامل 0x09
2 - 3 uint16 طول داده های اضافی متفاوت است
var آرایه بایت رشته نسخه متفاوت است

جدول 11: رویداد اطلاعات دستگاه: نسخه سیستم عامل به روز شده.

پس از دریافت درخواست به روزرسانی قابلیت (0x0601) ، اگر ارائه دهنده پشتیبانی از ردیابی FMDN را فعال کرده باشد ، باید همانطور که در جدول 12 نشان داده شده است پاسخ دهد.

اکتت نوع داده توضیحات ارزش
0 uint8 رویداد همگام سازی قابلیت دستگاه 0x06
1 uint8 ردیابی FMDN 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 آرایه بایت عید فعلی مثال: 0x11223344556777899001122334455667789900

جدول 13: رویداد اطلاعات دستگاه: همگام سازی ساعت.

تنظیم مجدد کارخانه

برای دستگاه هایی که از تنظیم مجدد کارخانه پشتیبانی می کنند: اگر تنظیم مجدد کارخانه انجام شود ، ارائه دهنده باید چراغ را متوقف کرده و کلید هویت زودگذر و کلیه کلیدهای حساب ذخیره شده ، از جمله کلید حساب مالک را از بین ببرد.

پس از تنظیم مجدد کارخانه (یا دستی یا برنامه ای) ، ارائه دهنده نباید بلافاصله تبلیغات را سریعاً شروع کند تا جریان جفت شدن بلافاصله پس از حذف کاربر دستگاه شروع شود.

پیشگیری از ردیابی ناخواسته

دستگاه های معتبر FMDN همچنین باید الزامات موجود در نسخه اجرای مشخصات متقابل پلتفرم را برای تشخیص ردیاب های مکان ناخواسته (DULT) برآورده کنند.

دستورالعمل های مربوط به FMDN برای مطابقت با مشخصات DULT:

  • هر دستگاه سازگار با FMDN باید در کنسول دستگاه مجاور ثبت شود و قابلیت "پیدا کردن دستگاه من" را فعال کند.
  • دستگاه باید سرویس غیر ملک و مشخصه تعریف شده در نسخه اجرای مشخصات DULT ، از جمله عملیات اطلاعات لوازم جانبی و کنترل های غیر مالک را پیاده سازی کند.
  • در طول دوره سازگاری به عقب ، همانطور که در مشخصات DULT تعریف شده است ، هیچ تغییری در قاب تبلیغ شده همانطور که در این سند تعریف شده است وجود ندارد.
  • "حالت حفاظت از ردیابی ناخواسته" که در این سند تعریف شده است به "حالت جدا شده" که توسط مشخصات DULT تعریف شده است.
  • رهنمودهای اجرای اطلاعات لوازم جانبی OPCODES:
    • get_product_data باید شناسه مدل ارائه شده توسط کنسول را بازگرداند ، صفر بسته بندی شده تا متناسب با نیاز 8 بایت باشد. به عنوان مثال ، شناسه مدل 0xffffff به عنوان 0x0000000000FFFF بازگردانده می شود.
    • GET_MANUFOCTURR_NAME و GET_MODEL_NAME باید با مقادیر ارائه شده در کنسول مطابقت داشته باشد.
    • در صورتی که هیچ دسته دیگر بهتر از نوع دستگاه متناسب باشد ، می توانید مقدار عمومی "ردیاب مکان" را برگردانید.
    • GET_ACCESSORY_CAPABITALS باید پشتیبانی از زنگ زدن و همچنین جستجوی شناسه BLE را نشان دهد.
    • get_network_id باید شناسه Google (0x02) را برگرداند.
  • دستورالعمل های اجرای opcode get_identifier :
    • این عملیات فقط باید 5 دقیقه پس از فعال شدن کاربر در حالت "شناسایی" ، پاسخ معتبر را برگرداند ، که به ترکیبی از فشار دکمه نیاز دارد. یک سیگنال بصری یا صوتی باید به کاربر نشان دهد که ارائه دهنده آن حالت را وارد کرده است. دستورالعمل های خاص مدل برای فعال کردن آن حالت باید به عنوان الزامی برای صدور گواهینامه و حداقل 10 روز قبل از هرگونه بروزرسانی یا اصلاح در دستورالعمل ها به Google ارائه شود.
    • پاسخ به صورت: 10 بایت اول شناسه زودگذر فعلی ساخته شده است ، و به دنبال آن 8 بایت اول HMAC-SHA256(recovery key, the truncated current ephemeral identifier) .
  • دستورالعمل اجرای شناسه از طریق NFC:
    • به عنوان URL ، از find-my.googleapis.com/lookup استفاده کنید.
    • به عنوان پارامتر e ، از همان پاسخ ساخته شده برای get_identifier ، hex رمزگذاری شده استفاده کنید.
    • به عنوان پارامتر pid ، از همان پاسخ ساخته شده برای get_product_data ، hex رمزگذاری شده استفاده کنید.
  • دستورالعمل های اجرای Sound_Start Opcode:
    • این دستور باید زنگ زدن را در تمام مؤلفه های موجود ایجاد کند.
    • از حداکثر حجم پشتیبانی شده باید استفاده شود.
    • مدت زمان توصیه شده برای زنگ زدن 12 ثانیه است.
  • برچسب های یاب باید مکانیسمی را شامل شود که به کاربران امکان می دهد تبلیغات را به طور موقت متوقف کنند بدون تنظیم مجدد کارخانه دستگاه (به عنوان مثال ، فشار دادن ترکیبی از دکمه ها).
    • دستورالعمل های غیرفعال کردن باید در یک URL در دسترس عمومی ثبت شود و به عنوان الزامی برای صدور گواهینامه و حداقل 10 روز قبل از هرگونه بروزرسانی یا اصلاح در دستورالعمل ها به Google ارائه شود.
    • URL باید از محلی سازی پشتیبانی کند. بسته به مشتری ، زبان یا به عنوان یک پرس و جو پارام ("HL = en") یا با استفاده از عنوان HTTP "پذیرش-زبان" ارائه می شود.

دستورالعمل های پروتکل قابل تعویض

  • فقط یک پروتکل باید در یک زمان استفاده شود. اطمینان حاصل کنید که بیش از یک شبکه نمی تواند به طور همزمان روی دستگاه کار کند. این نیاز برای اطمینان از عدم وجود داده های حساس کاربر بین پروتکل های مختلف مورد نیاز است.
  • پیشنهاد می شود یک گردش کار تنظیم مجدد سخت در دستگاه وارد شود که به کاربر اجازه می دهد دستگاهی را با شبکه دیگری تنظیم کند.
  • فرایند به روزرسانی دستگاه به یک شبکه باید کاربر پسند و عادلانه بین شبکه ها باشد. یک کاربر باید بدون ترجیح دادن به یکی از شبکه ها بتواند از کدام شبکه بخواهد استفاده کند. این جریان باید توسط تیم Google تأیید شود.

به روز رسانی سیستم عامل

فرایند و توزیع به روزرسانی های OTA باید توسط شریک با استفاده از گردش کار موبایل یا برنامه وب خود مدیریت شود.

سازگاری

پیدا کردن شبکه دستگاه من نیاز به خدمات موقعیت مکانی و بلوتوث دارد. به خدمات تلفن همراه یا اتصال به اینترنت نیاز دارد. روی Android 9+ و در برخی کشورها برای کاربران واجد شرایط سنی کار می کند.

تغییرات

نسخه FMDN تاریخ نظر دهید
v1 انتشار اولیه مشخصات FMDN برای دسترسی زودهنگام.
نسخه 1.1 فوریه 2023
  • یک نشانه ClearText از حالت محافظت از ردیابی ناخواسته اضافه شده است.
  • گزینه ای را برای پرش از تأیید اعتبار درخواست های زنگ در حالی که در حالت محافظت از ردیابی ناخواسته است ، اضافه کرد.
نسخه 1.2 آوریل 2023
  • تعریف AK یک مالک را به روز کرد.
  • توصیه ای برای بازیابی از دست دادن برق در برچسب های یاب اضافه کرد.
  • برای تصادفی کردن آدرس MAC ، توضیح اضافه شده است.
  • در حالت محافظت از ردیابی ناخواسته ، توضیح در مورد چرخش آدرس MAC اضافه کرد.
  • راهنمایی در مورد داشتن راهی برای غیرفعال کردن برچسب یاب اضافه شده است.
نسخه 1.3 دسامبر 2023
  • توضیح در مورد شناسایی اطلاعات در معرض برچسب های یاب اضافه شده است.
  • یک الزام برای اجرای مشخصات پیشگیری از ردیابی ناخواسته اضافه شده است.
  • دستورالعمل های اضافه شده برای دستگاه های پروتکل قابل تعویض.