نسخه 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 توضیح داده شده محاسبه می شود. بسته به عملیات مورد درخواست، جستجوگر دانش یک یا چند مورد از کلیدهای زیر را اثبات می کند:
کلید حساب : کلید حساب جفت سریع 16 بایتی، همانطور که در مشخصات جفت سریع تعریف شده است.
کلید حساب مالک : ارائهدهنده یکی از کلیدهای حساب موجود را به عنوان کلید حساب مالک انتخاب میکند، اولین باری که جستجوگر به ویژگی Beacon Actions دسترسی پیدا میکند. کلید حساب مالک انتخاب شده را نمی توان تغییر داد تا زمانی که ارائه دهنده بازنشانی کارخانه ای انجام شود. ارائهدهنده نباید کلید حساب مالک را در صورت تمام شدن اسلات کلید رایگان حساب، حذف کند.
ارائه دهندگانی که قبلاً از FMDN هنگام جفت شدن برای اولین بار پشتیبانی می کنند (یا هنگام جفت شدن پس از تنظیم مجدد کارخانه از آن پشتیبانی می کنند) اولین کلید حساب را انتخاب می کنند، زیرا این تنها کلید حساب موجود است که جستجوگر وضعیت تأمین را در طول جفت شدن می خواند.
ارائه دهندگانی که پس از جفت شدن (مثلاً از طریق به روز رسانی سیستم عامل) از FMDN پشتیبانی می کنند، می توانند هر کلید حساب موجود را انتخاب کنند. منطقی است که اولین کلید حسابی را که برای خواندن وضعیت تامین استفاده میشود، از مشخصه عملکردهای چراغ بعد از بهروزرسانی میانافزار انتخاب کنید، با این فرض که کاربری که بهروزرسانی را انجام داده مالک فعلی ارائهدهنده است.
کلید هویت زودگذر (EIK) : یک کلید 32 بایتی که به طور تصادفی توسط جستجوگر هنگام انجام فرآیند تهیه FMDN انتخاب می شود. این کلید برای استخراج کلیدهای رمزنگاری که برای رمزگذاری سرتاسر گزارشهای مکان استفاده میشود، استفاده میشود. جستجوگر هرگز آن را به باطن فاش نمی کند.
کلید بازیابی : به عنوان
SHA256(ephemeral identity key || 0x01)
تعریف شده است که به 8 بایت اول کوتاه شده است. کلید در پشتیبان ذخیره میشود و جستجوگر میتواند از آن برای بازیابی EIK استفاده کند، مشروط بر اینکه کاربر با فشار دادن دکمهای روی دستگاه رضایت خود را اعلام کند.کلید حلقه : به عنوان
SHA256(ephemeral identity key || 0x02)
تعریف شده است که به 8 بایت اول کوتاه شده است. کلید در پشتیبان ذخیره می شود و جستجوگر می تواند از آن فقط برای زنگ زدن دستگاه استفاده کند.کلید حفاظتی ردیابی ناخواسته : به عنوان
SHA256(ephemeral identity key || 0x03)
تعریف شده است که به 8 بایت اول کوتاه شده است. کلید در باطن ذخیره می شود و جستجوگر می تواند از آن فقط برای فعال کردن حالت حفاظت ردیابی ناخواسته استفاده کند.
عملیات
قالب داده های نوشته شده بر روی مشخصه در جداول 2 تا 5 آورده شده است.
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | شناسه داده |
|
1 | uint8 | طول داده | متفاوت است |
2 - 9 | آرایه بایت | کلید احراز هویت یکبار مصرف | 8 بایت اول HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) |
10 - var | آرایه بایت | داده های اضافی |
|
جدول 2: درخواست تامین چراغ.
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | شناسه داده | 0x04: خواندن کلید هویت زودگذر با رضایت کاربر |
1 | uint8 | طول داده | 0x08 |
2 - 9 | آرایه بایت | کلید احراز هویت یکبار مصرف | 8 بایت اول HMAC-SHA256(recovery key, protocol major version number || the last nonce read from the characteristic || data ID || data length) |
جدول 3: درخواست بازیابی کلید تامین کننده Beacon.
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | شناسه داده |
|
1 | uint8 | طول داده | متفاوت است |
2 - 9 | آرایه بایت | کلید احراز هویت یکبار مصرف | 8 بایت اول HMAC-SHA256(ring key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) |
10 - var | آرایه بایت | داده های اضافی |
|
جدول 4: درخواست زنگ.
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | شناسه داده |
|
1 | uint8 | طول داده | متفاوت است |
2 - 9 | آرایه بایت | کلید احراز هویت یکبار مصرف | 8 بایت اول HMAC-SHA256(unwanted tracking protection key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) |
10 - var | آرایه بایت | داده های اضافی |
|
جدول 5: درخواست حفاظت از ردیابی ناخواسته.
نوشتن موفقیت آمیز اعلان های راه اندازی همانطور که در جدول 6 فهرست شده است.
اعلانهایی با شناسه دادهای غیر از 0x05: تغییر حالت زنگ باید قبل از تکمیل تراکنش نوشتن که اعلان را آغاز میکند، یعنی قبل از ارسال پاسخ PDU برای درخواست نوشتن ارسال شود.
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | شناسه داده |
|
1 | uint8 | طول داده | متفاوت است |
2 - 9 | آرایه بایت | احراز هویت | جزئیات در هر عملیات |
10 - var | آرایه بایت | داده های اضافی |
|
جدول 6: پاسخ خدمات 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 | انتخاب منحنی | منحنی بیضی که برای رمزگذاری استفاده می شود:
|
6 | uint8 | اجزاء | تعداد قطعاتی که قابلیت زنگ زدن دارند:
|
7 | uint8 | قابلیت زنگ زدن | گزینه های پشتیبانی شده عبارتند از:
|
8-15 | آرایه بایت | بالشتک | بالشتک صفر برای رمزگذاری AES. |
داده ها باید AES-ECB-128 رمزگذاری شده با کلید حساب مورد استفاده برای احراز هویت درخواست باشد.
بخش احراز هویت به عنوان 8 بایت اول HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data after encryption || 0x01)
تعریف می شود.
وضعیت تأمین چراغ را بخوانید
جستجوگر میتواند با انجام یک عملیات نوشتن برای مشخصه متشکل از درخواستی از جدول 2 با شناسه داده 0x01، از ارائهدهنده وضعیت تأمین چراغ را جویا شود. ارائه دهنده تأیید می کند که کلید احراز هویت یک بار ارائه شده با هر یک از کلیدهای حساب ذخیره شده در دستگاه مطابقت دارد.
اگر تأیید ناموفق باشد، ارائهدهنده یک خطای تأیید نشده برمیگرداند.
در صورت موفقیت، ارائه دهنده با پاسخی از جدول 6 با شناسه داده 0x01 اطلاع می دهد. ارائه دهنده بخش داده را به صورت زیر می سازد:
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | وضعیت تامین | یک بیت ماسک با مقادیر زیر:
|
1 - 20 یا 32 | آرایه بایت | شناسه زودگذر فعلی | 20 یا 32 بایت (بسته به روش رمزگذاری مورد استفاده) که نشان دهنده شناسه زودگذر فعلی تبلیغ شده توسط بیکن است، در صورتی که برای دستگاه تنظیم شده باشد. |
بخش احراز هویت به عنوان 8 بایت اول HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data || 0x01)
تعریف می شود.
یک کلید هویت زودگذر تنظیم کنید
برای ارائه یک ارائهدهنده ارائهنشده بهعنوان یک چراغ FMDN، یا تغییر کلید هویت زودگذر ارائهدهنده از قبل ارائهشده، جستجوگر یک عملیات نوشتن بر روی مشخصه را انجام میدهد که شامل درخواستی از جدول 2 با شناسه داده 0x02 است. ارائه دهنده تأیید می کند که:
- کلید احراز هویت یک بار ارائه شده با کلید حساب مالک مطابقت دارد.
- اگر هش یک کلید هویت زودگذر ارائه شده باشد، کلید هویت زودگذر هش شده با کلید هویت زودگذر فعلی مطابقت دارد.
- اگر هش یک کلید هویت زودگذر ارائه نشده است، بررسی کنید که ارائهدهنده قبلاً بهعنوان چراغ FMDN ارائه نشده است.
اگر تأیید ناموفق باشد، ارائهدهنده یک خطای تأیید نشده برمیگرداند.
در صورت موفقیت، کلید هویت زودگذر توسط AES-ECB-128 و رمزگشایی آن با استفاده از کلید حساب منطبق بازیابی می شود. کلید باید روی دستگاه باقی بماند و از آن نقطه به بعد ارائه دهنده باید تبلیغات فریم های FMDN را شروع کند. کلید هویت زودگذر جدید بلافاصله پس از پایان اتصال BLE اعمال می شود. ارائه دهنده با پاسخی از جدول 6 با شناسه داده 0x02 اطلاع می دهد.
بخش احراز هویت به عنوان 8 بایت اول HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || 0x01)
تعریف می شود.
کلید هویت زودگذر را پاک کنید
جستجوگر برای عدم ارائه بخش 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 است. ارائه دهنده تأیید می کند که:
- کلید بازیابی هش شده با کلید بازیابی مورد انتظار مطابقت دارد.
- دستگاه در حالت بازیابی EIK است.
اگر تأیید ناموفق باشد، ارائهدهنده یک خطای تأیید نشده برمیگرداند.
اگر دستگاه در حالت جفتسازی نباشد، ارائهدهنده یک خطای عدم رضایت کاربر را برمیگرداند.
در صورت موفقیت، ارائه دهنده با پاسخی از جدول 6 با شناسه داده 0x04 اطلاع می دهد.
بخش احراز هویت به عنوان 8 بایت اول HMAC-SHA256(recovery key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data || 0x01)
تعریف می شود.
عملیات حلقه
جستجوگر میتواند از ارائهدهنده بخواهد با انجام یک عملیات نوشتن روی مشخصه، شامل درخواستی از جدول 4 با شناسه داده 0x05، صدا را پخش کند. ارائه دهنده بخش داده را به صورت زیر می سازد:
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | عملیات حلقه | یک بیت ماسک با مقادیر زیر:
|
1 - 2 | uint16 | تایم اوت | تایم اوت در چند ثانیه نباید صفر باشد و نباید بزرگتر از 10 دقیقه باشد. ارائه دهنده از این مقدار برای تعیین مدت زمان زنگ زدن قبل از خاموش کردن خود استفاده می کند. اگر یکی از اجزای دستگاه از قبل زنگ میخورد، مهلت زمانی لغو میشود. اگر عملیات حلقه روی 0x00 تنظیم شده باشد، مهلت زمانی نادیده گرفته می شود. |
3 | uint8 | حجم |
|
پس از دریافت درخواست، ارائه دهنده تأیید می کند که:
- کلید احراز هویت یک بار ارائه شده با کلید حلقه مطابقت دارد.
- حالت درخواستی با اجزایی که می توانند زنگ بزنند مطابقت دارد.
اگر ارائهدهنده بهعنوان یک چراغ FMDN ارائه نشده باشد یا تأیید انجام نشود، یک خطای تأیید نشده برمیگرداند. با این حال، اگر ارائهدهنده حفاظت ردیابی ناخواسته فعال داشته باشد، و درخواست حفاظت از ردیابی ناخواسته راهاندازی شده باشد، پرچم احراز هویت زنگ رد شدن را روشن کرده باشد، ارائهدهنده باید آن بررسی را رد کند. هنوز انتظار می رود که داده های احراز هویت توسط جستجوگر ارائه شود، اما می توان آن را روی یک مقدار دلخواه تنظیم کرد.
هنگامی که زنگ شروع می شود یا پایان می یابد، یک اعلان همانطور که در جدول 6 نشان داده شده است با شناسه داده 0x05 ارسال می شود. مفاد اطلاعیه به شرح زیر تعریف شده است:
اکتت | نوع داده | توضیحات | ارزش |
---|---|---|---|
0 | uint8 | حالت زنگ زدن |
|
1 | uint8 | اجزای زنگ | بیت ماسکی از اجزایی که به طور فعال زنگ می زنند، همانطور که در درخواست تعریف شده است. |
2 - 3 | uint16 | تایم اوت | زمان باقیمانده برای زنگ زدن در چند ثانیه اگر زنگ دستگاه متوقف شده باشد، 0x0000 باید برگردانده شود. |
بخش احراز هویت به عنوان 8 بایت اول HMAC-SHA256(ring key, protocol major version number || the nonce used to initiate the ringing command || data ID || data length || additional data || 0x01)
تعریف می شود.
اگر زمانی که درخواست زنگ زدن یا توقف زنگ دریافت میشود، دستگاه قبلاً در حالت زنگ درخواستی است، ارائهدهنده باید به ترتیب اعلانی با حالت زنگ یا 0x00: 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 | کنترل پرچم ها |
پرچمها فقط تا زمانی که حالت حفاظت از ردیابی ناخواسته غیرفعال شود، اعمال میشوند. |
ارائه دهنده تأیید می کند که کلید احراز هویت یک بار ارائه شده با کلید حفاظتی ردیابی ناخواسته مطابقت دارد. اگر ارائهدهنده بهعنوان یک چراغ 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
از چراغ دریایی) کارهای زیر را انجام می دهد:
- همانطور که در بخش محاسبه EID تعریف شده است، یک عدد تصادفی
s
درFp
انتخاب کنید. -
S = s * G
را محاسبه کنید. -
R = (Rx, Ry)
با جایگزینی در معادله منحنی و انتخاب یک مقدارRy
دلخواه از نتایج ممکن محاسبه کنید. - کلید 256 بیتی AES
k = HKDF-SHA256((s * R)x)
را محاسبه کنید که در آن(s * R)x
مختصاتx
حاصل ضرب منحنی است. نمک مشخص نشده است - اجازه دهید
URx
وLRx
به ترتیب 80 بیت بالایی و پایینیRx
باشند، در قالب big-endian. به روشی مشابه،USx
وLSx
برایS
تعریف کنید. - محاسبه
nonce = LRx || LSx
- محاسبه
(m', tag) = AES-EAX-256-ENC(k, nonce, m)
. - ارسال
(URx, Sx, m', tag)
به مالک، احتمالاً از طریق یک سرویس راه دور غیرقابل اعتماد.
رمزگشایی مقادیر رمزگذاری شده با EID
مشتری مالک، که دارای EIK و توان دوره چرخش است، پیام را به صورت زیر رمزگشایی می کند:
- با توجه به
URx
، مقدار شمارنده زمان چراغ را کهURx
بر اساس آن است، بدست آورید. این را می توان توسط مشتری مالک که مقادیرRx
برای مقادیر شمارنده زمان فانوس برای گذشته و آینده نزدیک محاسبه می کند، انجام داد. - با توجه به مقدار شمارنده زمان چراغ که
URx
بر اساس آن است، مقدار پیش بینی شدهr
را همانطور که در بخش محاسبه EID تعریف شده است محاسبه کنید. -
R = r * G
را محاسبه کنید و مطابقت با مقدارURx
ارائه شده توسط بیننده را تأیید کنید. -
S = (Sx, Sy)
با جایگزینی در معادله منحنی و انتخاب یک مقدارSy
دلخواه از نتایج ممکن محاسبه کنید. -
k = HKDF-SHA256((r * S)x)
را محاسبه کنید که در آن(r * S)x
مختصاتx
حاصل ضرب منحنی است. - محاسبه
nonce = LRx || LSx
-
m = AES-EAX-256-DEC(k, nonce, m', tag)
را محاسبه کنید.
چرخش شناسه
یک آدرس BLE قابل حل (RPA) یا غیرقابل حل (NRPA) باید برای تبلیغات فریم های FMDN استفاده شود. RPA برای دستگاههای LE Audio (LEA) مورد نیاز است و برای دستگاههای دیگر توصیه میشود، به استثنای برچسبهای مکان یاب که از اتصال استفاده نمیکنند.
تبلیغات جفت سریع، تبلیغات FMDN و آدرس(های) BLE مربوطه باید همزمان بچرخند. چرخش باید به طور متوسط هر 1024 ثانیه اتفاق بیفتد. نقطه دقیقی که در آن بیکن شروع به تبلیغ شناسه جدید می کند باید در پنجره به صورت تصادفی انتخاب شود.
روش توصیه شده برای تصادفی کردن زمان چرخش، تنظیم آن بر روی زمان چرخش پیشبینیشده بعدی (در صورت عدم استفاده از تصادفیسازی) به اضافه یک ضریب زمان تصادفی مثبت در محدوده 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 رمزگذاری شده استفاده کنید.
- به عنوان URL ، از
- دستورالعمل های اجرای Sound_Start Opcode:
- این دستور باید زنگ زدن را در تمام مؤلفه های موجود ایجاد کند.
- از حداکثر حجم پشتیبانی شده باید استفاده شود.
- مدت زمان توصیه شده برای زنگ زدن 12 ثانیه است.
- برچسب های یاب باید مکانیسمی را شامل شود که به کاربران امکان می دهد تبلیغات را به طور موقت متوقف کنند بدون تنظیم مجدد کارخانه دستگاه (به عنوان مثال ، فشار دادن ترکیبی از دکمه ها).
- دستورالعمل های غیرفعال کردن باید در یک URL در دسترس عمومی ثبت شود و به عنوان الزامی برای صدور گواهینامه و حداقل 10 روز قبل از هرگونه بروزرسانی یا اصلاح در دستورالعمل ها به Google ارائه شود.
- URL باید از محلی سازی پشتیبانی کند. بسته به مشتری ، زبان یا به عنوان یک پرس و جو پارام ("HL = en") یا با استفاده از عنوان HTTP "پذیرش-زبان" ارائه می شود.
دستورالعمل های پروتکل قابل تعویض
- فقط یک پروتکل باید در یک زمان استفاده شود. اطمینان حاصل کنید که بیش از یک شبکه نمی تواند به طور همزمان روی دستگاه کار کند. این نیاز برای اطمینان از عدم وجود داده های حساس کاربر بین پروتکل های مختلف مورد نیاز است.
- پیشنهاد می شود یک گردش کار تنظیم مجدد سخت در دستگاه وارد شود که به کاربر اجازه می دهد دستگاهی را با شبکه دیگری تنظیم کند.
- فرایند به روزرسانی دستگاه به یک شبکه باید کاربر پسند و عادلانه بین شبکه ها باشد. یک کاربر باید بدون ترجیح دادن به یکی از شبکه ها بتواند از کدام شبکه بخواهد استفاده کند. این جریان باید توسط تیم Google تأیید شود.
به روز رسانی سیستم عامل
فرایند و توزیع به روزرسانی های OTA باید توسط شریک با استفاده از گردش کار موبایل یا برنامه وب خود مدیریت شود.
سازگاری
پیدا کردن شبکه دستگاه من نیاز به خدمات موقعیت مکانی و بلوتوث دارد. به خدمات تلفن همراه یا اتصال به اینترنت نیاز دارد. روی Android 9+ و در برخی کشورها برای کاربران واجد شرایط سنی کار می کند.
تغییرات
نسخه FMDN | تاریخ | نظر دهید |
---|---|---|
v1 | انتشار اولیه مشخصات FMDN برای دسترسی زودهنگام. | |
نسخه 1.1 | فوریه 2023 |
|
نسخه 1.2 | آوریل 2023 |
|
نسخه 1.3 | دسامبر 2023 |
|