Cihazımı Bul Ağ Aksesuarı Özellikleri

v1.3

Cihazımı Bul Ağı (FMDN) aksesuar spesifikasyonu, işaretçi Bluetooth Düşük Enerji (BLE) cihazlarını izlemek için uçtan uca şifrelenmiş bir yaklaşım tanımlar. Bu sayfada, FMDN, Hızlı Eşleme spesifikasyonunun bir uzantısı olarak açıklanmaktadır. Sağlayıcılar, FMDN ile uyumlu cihazları varsa ve bu cihazlarda konum takibi özelliğini etkinleştirmek istiyorsa bu uzantıyı etkinleştirmelidir.

GATT Spesifikasyonu

Hızlı Eşleme Hizmeti'ne aşağıdaki semantiklerle ek bir genel özellikler (GATT) özelliği eklenmelidir:

Hızlı Eşleme Hizmeti özelliği Şifrelenmiş İzinler UUID
İşaretçi işlemleri Hayır Okuma, yazma ve bildirim FE2C1238-8366-4814-8EB0-01DE32100BEA

Tablo 1: FMDN için Hızlı Eşleme Hizmeti özellikleri.

Kimlik doğrulama

Bu uzantı tarafından gereken işlemler, bir istek-yanıt mekanizmasıyla güvence altına alınan bir yazma işlemi olarak gerçekleştirilir. Arayıcı'nın herhangi bir işlem gerçekleştirmeden önce 1. tablodaki özellikten bir okuma işlemi gerçekleştirmesi beklenir. Bu işlem, aşağıdaki biçimde bir arabellekle sonuçlanır:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Protokol ana sürüm numarası 0x01
1 - 8 bayt dizisi Tek seferlik rastgele tek seferlik sayı değişir

Her okuma işlemi farklı bir tek seferlik rastgele sayı ile sonuçlanmalı ve tek bir tek seferlik rastgele sayı yalnızca tek bir işlem için geçerli olmalıdır. İşlem başarısız olsa bile tek seferlik sayı geçersiz kılınmalıdır.

Ardından, Arayıcı sonraki bir yazma isteğinde kullanılacak tek kullanımlık bir kimlik doğrulama anahtarı hesaplar. Kimlik doğrulama anahtarı, 2 ile 5 arasındaki tablolarda açıklandığı şekilde hesaplanır. İstekte bulunulan işleme bağlı olarak, arayan aşağıdaki anahtarlardan en az birini bildiğini kanıtlar:

İşlemler

Özelliğe yazılan verilerin biçimi 2 ila 5 arasındaki tablolarda verilmiştir. İşlemlerin her biri bu bölümün ilerleyen kısımlarında daha ayrıntılı olarak ele alınmaktadır.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x00: İşaretçi parametrelerini okuma
  • 0x01: Temel hazırlık durumunu okuma
  • 0x02: Geçici kimlik anahtarı ayarlama
  • 0x03: Geçici kimlik anahtarını temizle
1 uint8 Veri uzunluğu değişir
2 - 9 bayt dizisi Tek seferlik kimlik doğrulama anahtarı HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) değerinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x00: yok
  • 0x01: yok
  • 0x02: Geçici kimlik anahtarı olan 32 bayt, hesap anahtarıyla AES-ECB-128 ile şifrelenir. Sağlayıcının zaten geçici kimlik anahtarı grubu varsa SHA256(current ephemeral identity key || the last nonce read from the characteristic)
  • 0x03: SHA256(ephemeral identity key || the last nonce read from the characteristic) öğesinin ilk 8 baytı

Tablo 2: İşaretçi sağlama isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği 0x04: Geçici kimlik anahtarını kullanıcı izniyle okuma
1 uint8 Veri uzunluğu 0x08
2 - 9 bayt dizisi Tek seferlik kimlik doğrulama anahtarı HMAC-SHA256(recovery key, protocol major version number || the last nonce read from the characteristic || data ID || data length) değerinin ilk 8 baytı

Tablo 3: İşaretçi tedarik anahtarı kurtarma isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x05: Zil
  • 0x06: Çalma durumunu okuma
1 uint8 Veri uzunluğu değişir
2 - 9 bayt dizisi Tek seferlik kimlik doğrulama anahtarı HMAC-SHA256(ring key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) değerinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x05: Çalma durumunu, çalma süresini ve çalma sesini gösteren 4 bayt.
  • 0x06: yok

Tablo 4: Çalma isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x07: İstenmeyen izleme koruma modunu etkinleştir
  • 0x08: İstenmeyen Takip Koruması modunu devre dışı bırakma
1 uint8 Veri uzunluğu değişir
2 - 9 bayt dizisi Tek seferlik kimlik doğrulama anahtarı HMAC-SHA256(unwanted tracking protection key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data) değerinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x07: 1 baytlık kontrol işaretleri (isteğe bağlı)
  • 0x08: SHA256(ephemeral identity key || the last nonce read from the characteristic) değerinin ilk 8 baytı

Tablo 5: İstenmeyen Takip Koruması isteği.

Başarılı yazma işlemleri, tablo 6'da listelenen bildirimleri tetikler.

0x05: Zil durumu değişikliği dışında bir veri kimliğine sahip bildirimler, bildirimi tetikleyen yazma işlemi tamamlanmadan önce, yani yazma isteği için bir yanıt PDU'su gönderilmeden önce gönderilmelidir.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x00: İşaretçi parametrelerini okuma
  • 0x01: Temel hazırlık durumunu okuma
  • 0x02: Geçici kimlik anahtarı ayarlama
  • 0x03: Geçici kimlik anahtarını temizle
  • 0x04: Geçici kimlik anahtarını kullanıcı izniyle okuma
  • 0x05: Zil durumu değişikliği
  • 0x06: Çalma durumunu okuma
  • 0x07: İstenmeyen izleme koruma modunu etkinleştir
  • 0x08: İstenmeyen Takip Koruması modunu devre dışı bırakma
1 uint8 Veri uzunluğu değişir
2 - 9 bayt dizisi Kimlik doğrulama İşlem başına ayrıntılı
10 - var bayt dizisi Ek veriler
  • 0x00: İletim gücünü, saat değerini, şifreleme yöntemini ve zil çalma özelliklerini belirten 8 bayt. Hesap anahtarıyla AES-ECB-128 ile şifrelenir (sıfırla doldurulur).
  • 0x01: Hazırlama durumunu belirten 1 bayt ve ardından geçerli geçici kimlik (varsa 20 veya 32 bayt)
  • 0x04: Geçici kimlik anahtarı olan 32 bayt, hesap anahtarıyla AES-ECB-128 ile şifrelenir
  • 0x05: Yeni durumu ve değişikliğin tetikleyicisini belirten 4 bayt
  • 0x06: Etkin olarak çalmakta olan bileşenleri ve çalmaya kalan ondalık saniye sayısını belirten 3 bayt
  • Diğer veri kimlikleri boş ek veriler kullanır

Tablo 6: İşaretçi hizmeti yanıtı.

Tablo 7'de, işlemler tarafından döndürülen olası GATT hata kodları listelenmektedir.

Kod Açıklama Notlar
0x80 Kimliği doğrulanmamış Kimlik doğrulama başarısız olduğunda (eski bir tek seferlik sayı kullanıldığı durumlar dahil) bir yazma isteğine yanıt olarak döndürülür.
0x81 Geçersiz değer Geçersiz bir değer sağlandığında veya alınan veriler beklenmedik sayıda bayt içerdiğinde döndürülür.
0x82 Kullanıcı izni yok Cihaz eşleme modunda değilken 0x04: Geçici kimlik anahtarını kullanıcı izniyle oku veri kimliğine sahip bir yazma isteğine yanıt olarak döndürülür.

Tablo 7: GATT hata kodları.

İşaretçinin parametresini okuma

Arayıcı, 2. tablodan 0x00 veri kimliğiyle gelen bir istek içeren özelliğe yazma işlemi gerçekleştirerek sağlayıcıdan işaretçi parametrelerini sorgulayabilir. Sağlayıcı, sağlanan tek seferlik kimlik doğrulama anahtarının cihazda depolanan hesap anahtarlarından biriyle eşleştiğini doğrular.

Doğrulama başarısız olursa sağlayıcı, kimlik doğrulanmamış bir hata döndürür.

İşlem başarılı olursa Sağlayıcı, 0x00 veri kimliği içeren 6. tablodan bir yanıtla bildirimde bulunur. Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Kalibre edilmiş güç 0 m'de alındığı şekilde kalibre edilmiş güç ([-100, 20] aralığında bir değer). 1 dBm çözünürlükle işaretli bir tam sayı olarak gösterilir.
1 - 4 uint32 Saat değeri Saniye cinsinden mevcut saat değeri (büyük endian).
5 uint8 Eğri seçimi Şifreleme için kullanılan elips biçimli eğri:
  • 0x00 (varsayılan): SECP160R1
  • 0x01: SECP256R1 (genişletilmiş reklamcılık gerektirir)
6 uint8 Bileşenler Çalabilir bileşenlerin sayısı:
  • 0x00: Cihazın çalmadığını gösterir.
  • 0x01: Yalnızca tek bir bileşenin çalabileceğini gösterir.
  • 0x02: Sol ve sağ kulaklıkların bağımsız olarak çalabileceğini gösterir.
  • 0x03: Sol ve sağ kulaklıkların ve kılıfın bağımsız olarak çalabileceğini gösterir.
7 uint8 Çalma özellikleri Desteklenen seçenekler:
  • 0x00: Zil sesi seviyesi seçimi kullanılamıyor.
  • 0x01: Zil sesi seçimi kullanılabilir. Ayarlanırsa Sağlayıcı, Çağrı işlemi bölümünde belirtildiği gibi 3 ses seviyesini kabul edip işlemelidir.
8-15 bayt dizisi Dolgu AES şifrelemesi için sıfır dolgu.

Veriler, isteğin kimliğini doğrulamak için kullanılan hesap anahtarıyla AES-ECB-128 şifrelenmelidir.

Kimlik doğrulama segmenti, HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data after encryption || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

İşaretçinin temel hazırlama durumunu okuma

Arayıcı, 2. tablodan 0x01 veri kimliği içeren bir istek içeren özelliğe yazma işlemi gerçekleştirerek sağlayıcıdan işaretçinin temel hazırlığı durumunu sorgulayabilir. Sağlayıcı, sağlanan tek seferlik kimlik doğrulama anahtarının cihazda depolanan hesap anahtarlarından biriyle eşleşip eşleşmediğini doğrular.

Doğrulama başarısız olursa sağlayıcı, kimlik doğrulanmamış bir hata döndürür.

İşlem başarılı olursa Sağlayıcı, 0x01 veri kimliği içeren 6. tablodan bir yanıtla bildirimde bulunur. Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Temel hazırlık durumu Aşağıdaki değerleri içeren bir bit maskesi:
  • 1. bit (0x01): Cihaz için geçici kimlik anahtarı ayarlandıysa ayarlanır.
  • 2. bit (0x02): Sağlanan tek kullanımlık kimlik doğrulama anahtarının sahip hesabı anahtarıyla eşleşip eşleşmediğini belirtir.
1 - 20 veya 32 bayt dizisi Geçici tanımlayıcı Cihaz için ayarlanmışsa işaretçi tarafından reklamı yapılan mevcut geçici kimliği belirten 20 veya 32 bayt (kullanılan şifreleme yöntemine bağlı olarak).

Kimlik doğrulama segmenti, HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Geçici kimlik anahtarı ayarlama

Temel hazırlığı yapılmamış bir sağlayıcıyı FMDN işaretçisi olarak temel hazırlamak veya temel hazırlığı yapılmış bir sağlayıcının geçici kimlik anahtarını değiştirmek için arayan, 2. tablodan 0x02 veri kimliğiyle gelen bir istek içeren özelliğe yazma işlemi gerçekleştirir. Sağlayıcı şunları doğrular:

  • Sağlanan tek seferlik kimlik doğrulama anahtarı, sahip hesabı anahtarıyla eşleşiyor.
  • Geçici kimlik anahtarının karması sağlandıysa karma oluşturma işlemi uygulanmış geçici kimlik anahtarı, mevcut geçici kimlik anahtarıyla eşleşir.
  • Geçici kimlik anahtarının karması sağlanmadıysa sağlayıcının FMDN işaretçisi olarak önceden temel hazırlığı yapılmadığını doğrulayın.

Doğrulama başarısız olursa sağlayıcı, kimlik doğrulanmamış bir hata döndürür.

İşlem başarılı olursa geçici kimlik anahtarı, eşleşen hesap anahtarı kullanılarak AES-ECB-128 ile şifresi çözülerek kurtarılır. Anahtar cihazda kalıcı olmalıdır ve bu noktadan itibaren Sağlayıcı, FMDN çerçevelerinin reklamını yapmaya başlamalıdır. Yeni geçici kimlik anahtarı, BLE bağlantısı sona erdikten hemen sonra geçerli olur. Sağlayıcı, 0x02 veri kimliğine sahip 6. tablodan bir yanıtla bildirimde bulunur.

Kimlik doğrulama segmenti, HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Geçici kimlik anahtarını temizleme

Arayıcı, sağlayıcının işaretçi bölümünün temel hazırlığını kaldırmak için özellik üzerinde bir yazma işlemi gerçekleştirir. Bu işlem, 2. tablodan 0x03 veri kimliği içeren bir istek içerir. Sağlayıcı şunları doğrular:

  • Sağlanan tek seferlik kimlik doğrulama anahtarı, sahip hesabı anahtarıyla eşleşiyor.
  • Karma oluşturma işlemi uygulanmış geçici kimlik anahtarı, mevcut geçici kimlik anahtarıyla eşleşiyor.

Sağlayıcı, FMDN işaretçisi olarak temel hazırlığı yapılmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür.

İşlem başarılı olduğunda sağlayıcı anahtarı unutur ve FMDN çerçevelerinin reklamını yapmayı durdurur. Sağlayıcı, 0x03 veri kimliğiyle 6. tablodan bir yanıtla bildirimde bulunur. Kimlik doğrulama segmenti, HMAC-SHA256(account key, protocol major version number || the last nonce read from the characteristic || data ID || data length || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Geçici kimlik anahtarını kullanıcı izniyle okuma

Anahtar yalnızca Arayan tarafından yerel olarak depolandığından bu seçenek yalnızca kayıp bir anahtarı kurtarmak için kullanılabilir. Bu nedenle, bu özellik yalnızca cihaz eşleme modundayken veya cihazdaki fiziksel bir düğmeye basıldıktan sonra sınırlı bir süre boyunca (kullanıcı iznini oluşturur) kullanılabilir.

Arayıcı, açık metin anahtarını kurtarabilmek için kurtarma anahtarını arka uçta saklamalıdır ancak açık metin anahtarının kendisini saklamaz.

EIK'yi okumak için Arayıcı, özellik üzerinde 0x04 veri kimliğine sahip 3. tablodan bir istek içeren bir yazma işlemi gerçekleştirir. Sağlayıcı şunları doğrular:

  • Karma oluşturma işlemi uygulanmış kurtarma anahtarı, beklenen kurtarma anahtarıyla eşleşiyor.
  • Cihaz, EIK kurtarma modunda.

Doğrulama başarısız olursa sağlayıcı, kimlik doğrulanmamış bir hata döndürür.

Cihaz eşleme modunda değilse Sağlayıcı, Kullanıcıdan İzin Alınmadı hatası döndürür.

İşlem başarılı olursa Sağlayıcı, 0x04 veri kimliğiyle 6. tablodan bir yanıt göndererek bildirimde bulunur.

Kimlik doğrulama segmenti, HMAC-SHA256(recovery key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Çalma işlemi

Arayıcı, 4. tablodan 0x05 veri kimliğiyle bir istek içeren özellik üzerinde yazma işlemi gerçekleştirerek Sağlayıcı'dan ses çalmasını isteyebilir. Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Çalma işlemi Aşağıdaki değerleri içeren bir bit maskesi:
  • 1. bit (0x01): Sağ kulaklığın zili çaldır
  • Bit 2 (0x02): Sol kulaklığın zili çaldır
  • 3. bit (0x04): Halka kılıfı
  • 0xFF: Tüm bileşenleri çaldır
  • 0x00: Çalmayı durdur
1 - 2 uint16 Zaman aşımı Zaman aşımı (desisaniye cinsinden). Sıfır olmamalı ve 10 dakikaya eşit veya daha büyük olmamalıdır.
Sağlayıcı, kendisini susturmadan önce ne kadar süre çaldıracağını belirlemek için bu değeri kullanır. Cihazın herhangi bir bileşeni zaten çalmaya başladıysa zaman aşımı, geçerli olan zaman aşımını geçersiz kılar.

Çağrı işlemi 0x00 olarak ayarlanırsa zaman aşımı yoksayılır.
3 uint8 Ses
  • 0x00: Varsayılan
  • 0x01: Düşük
  • 0x02: Orta
  • 0x03: Yüksek
Bu değerlerin tam anlamı uygulamaya bağlıdır.

Hizmet sağlayıcı, talebi aldıktan sonra şunları doğrular:

  • Sağlanan tek seferlik kimlik doğrulama anahtarı, halka anahtarıyla eşleşiyor.
  • İstenen durum, zil çalabilen bileşenlerle eşleşiyor.

Sağlayıcı, FMDN işaretçisi olarak temel hazırlığı yapılmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür. Ancak, Sağlayıcı'nın istenmeyen izleme koruması etkinse ve istenmeyen izleme koruması isteğini tetikleyen istekte zil çaldırma kimlik doğrulamasını atlama işareti açıksa Sağlayıcı bu kontrolü atlamalıdır. Kimlik doğrulama verilerinin yine Arayıcı tarafından sağlanması beklenir ancak bu veriler rastgele bir değere ayarlanabilir.

Çalma sesi başladığında veya sona erdiğinde, tablo 6'da belirtildiği gibi 0x05 veri kimliğiyle bir bildirim gönderilir. Bildirimin içeriği aşağıdaki şekilde tanımlanır:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Çalma durumu
  • 0x00: Başladı
  • 0x01: Başlatamadı veya durduramadı (isteklenen tüm bileşenler aralık dışında)
  • 0x02: Durduruldu (zaman aşımı)
  • 0x03: Durduruldu (düğmeye basıldı)
  • 0x04: Durduruldu (GATT isteği)
1 uint8 Çalma bileşenleri İstekte tanımlandığı şekilde, etkin olarak çalmakta olan bileşenlerin bit maskesi.
2 - 3 uint16 Zaman aşımı Çalma için kalan süre (desisaniye cinsinden). Cihazın zilinin çalması durduysa 0x0000 döndürülür.

Kimlik doğrulama segmenti, HMAC-SHA256(ring key, protocol major version number || the nonce used to initiate the ringing command || data ID || data length || additional data || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Cihaz, çaldırma veya çaldırmayı durdurma isteği aldığında zaten istenen çaldırma durumundaysa Sağlayıcı, sırasıyla çaldırma durumunu veya 0x00: Başladı ya da 0x04: Durduruldu (GATT isteği) değerini içeren bir bildirim göndermelidir. Bu istek, zil çalınma süresinin uzatılabilmesi için mevcut durumun parametrelerini geçersiz kılar.

Sağlayıcının fiziksel bir düğmesi varsa (veya dokunma sensörü etkinse) zil sesi etkinken bu düğmeye basıldığında zil sesi işlevi durdurulur.

İşaretçinin zil durumunu alma

Arayıcı, işaretçinin zil çalma durumunu almak için özellik üzerinde bir yazma işlemi gerçekleştirir. Bu işlem, 4. tablodan 0x06 veri kimliği içeren bir istek içerir. Sağlayıcı, sağlanan tek seferlik kimlik doğrulama anahtarının halka anahtarıyla eşleşip eşleşmediğini doğrular.

Sağlayıcı, FMDN işaretçisi olarak temel hazırlığı yapılmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürür.

İşlem başarılı olursa Sağlayıcı, 0x06 veri kimliğiyle 6. tablodan bir yanıt göndererek bildirimde bulunur. Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Çalma bileşenleri Çalma isteğinde tanımlandığı şekilde etkin olarak çalan bileşenler.
1 - 2 uint16 Zaman aşımı Çalma için kalan süre (desisaniye cinsinden). Cihaz çalmıyorsa 0x0000 değerinin döndürüleceğini unutmayın.

Kimlik doğrulama segmenti, HMAC-SHA256 (ring key, protocol major version number || the last nonce read from the characteristic || data ID || data length || additional data || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

İstenmeyen izleme koruma modu

İstenmeyen izleme koruma modu, herhangi bir istemcinin sunucu iletişimi olmadan kötüye kullanım amaçlı cihazları tanımlamasına olanak tanır. Sağlayıcı, varsayılan olarak tüm tanımlayıcıları Kimlik rotasyonu bölümünde açıklandığı şekilde döndürmelidir. Cihazımı Bul hizmeti, istenmeyen izleme koruma modu etkinleştirme isteğini Cihazımı Bul ağı üzerinden iletebilir. Bu sayede hizmet, sağlayıcının geçici olarak sabit bir MAC adresi kullanmasına neden olur. Bu da istemcilerin cihazı algılamasına ve kullanıcıyı olası istenmeyen izleme konusunda uyarmasına olanak tanır.

Arayıcı, işaretçinin istenmeyen izleme koruma modunu etkinleştirmek veya devre dışı bırakmak için özellikte sırasıyla 0x07 veya 0x08 veri kimliğine sahip 5. tablodan gelen bir istek içeren bir yazma işlemi gerçekleştirir.

İstenmeyen Takip Koruması modu etkinleştirildiğinde

Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Kontrol İşaretleri
  • 0x01: Çalma kimlik doğrulamasını atla. Bu ayar etkinleştirildiğinde, istenmeyen izleme koruması modundayken zil çalma isteklerinin kimliği doğrulanmaz.
Herhangi bir işaret ayarlanmıyorsa (baytın tamamı sıfırsa) veri bölümünü tamamen atlamak ve boş bir veri bölümü göndermek geçerlidir.
İşaretler yalnızca istenmeyen izleme koruması modu devre dışı bırakılana kadar geçerlidir.

Sağlayıcı, sağlanan tek kullanımlık kimlik doğrulama anahtarının istenmeyen izleme koruma anahtarıyla eşleşip eşleşmediğini doğrular. Sağlayıcı, FMDN işaretçisi olarak temel hazırlığı yapılmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür.

İstenmeyen izleme koruması modu etkinleştirildiğinde, işaretçi MAC özel adresi rotasyon sıklığını 24 saatte bire düşürmelidir. Reklamı yapılan geçici tanımlayıcı her zamanki gibi dönmeye devam eder. Çerçeve türü 0x41 olarak ayarlanmalıdır. Durum, karma oluşturma işlemi uygulanmış işaretler bölümüne de yansıtılır.

İstenmeyen Takip Koruması modu devre dışı bırakıldığında

Sağlayıcı şunları doğrular:

  • Sağlanan tek seferlik kimlik doğrulama anahtarı, istenmeyen takip koruma anahtarıyla eşleşiyor.
  • Karma oluşturma işlemi uygulanmış geçici kimlik anahtarı, mevcut geçici kimlik anahtarıyla eşleşiyor.

Sağlayıcı, FMDN işaretçisi olarak temel hazırlığı yapılmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürür.

İstenmeyen izleme koruması modu devre dışı bırakıldığında, işaretçi MAC adresini geçici tanımlayıcı rotasyonuyla senkronize olarak tekrar normal hızda döndürmeye başlar. Çerçeve türü 0x40 olarak ayarlanmalıdır. Durum, karma oluşturma işaretleri bölümüne de yansıtılır.

Başarılı olduğunda Sağlayıcı, 6. tablodan 0x07 veya 0x08 veri kimliğine sahip bir yanıtla bildirimde bulunur.

Kimlik doğrulama segmenti, HMAC-SHA256(unwanted tracking protection key, protocol major version number || the last nonce read from the characteristic || data ID || data length || 0x01) değerinin ilk 8 baytı olarak tanımlanır.

Reklam çerçeveleri

Sağlayıcının, temel hazırlığı yaptıktan sonra FMDN çerçevelerinin reklamını en az 2 saniyede bir yapması beklenir. Hızlı Eşleme çerçevelerinin reklamı yapılıyorsa Sağlayıcı, FMDN çerçevelerini normal Hızlı Eşleme reklamları arasına yerleştirmelidir. Örneğin, sağlayıcı her iki saniyede bir yedi Fast Pair reklamı ve bir FMDN reklamı yayınlamalıdır.

FMDN reklamları için yürütülen Bluetooth iletim gücü en az 0 dBm olarak ayarlanmalıdır.

FMDN çerçevesi, kitle kaynaklı ağda katkıda bulunan herhangi bir destekleyici istemci tarafından konum raporlarını şifrelemek için kullanılan herkese açık bir anahtar içerir. İki tür eliptik eğri anahtarı vardır: eski BLE 4 çerçevelerine uyan 160 bitlik bir anahtar veya genişletilmiş reklamcılık özellikleriyle BLE 5 gerektiren 256 bitlik bir anahtar. Hangi eğrin kullanılacağını sağlayıcının uygulaması belirler.

FMDN çerçevesi aşağıdaki gibi yapılandırılmıştır.

Sekizlik Değer Açıklama
0 0x02 Uzunluk
1 0x01 İşaret veri türü değeri
2 0x06 İşaret verileri
3 0x18 veya 0x19 Uzunluk
4 0x16 Hizmet verileri veri türü değeri
5 0xAA 16 bit hizmet UUID'si
6 0xFE ...
7 0x40 veya 0x41 İstenmeyen izleme koruma modu göstergesi içeren FMDN çerçeve türü
8..27 20 baytlık geçici tanımlayıcı
28 Karma oluşturma işaretleri

Tablo 8: 160 bit eğriyi destekleyen FMDN çerçevesi.

Tablo 9'da, 256 bitlik bir eğri için bayt ofsetleri ve değerler gösterilmektedir.

Sekizlik Değer Açıklama
0 0x02 Uzunluk
1 0x01 İşaret veri türü değeri
2 0x06 İşaret verileri
3 0x24 veya 0x25 Uzunluk
4 0x16 Hizmet verileri veri türü değeri
5 0xAA 16 bit hizmet UUID'si
6 0xFE ...
7 0x40 veya 0x41 İstenmeyen izleme koruma modu göstergesi içeren FMDN çerçeve türü
8..39 32 baytlık geçici tanımlayıcı
40 Karma oluşturma işaretleri

Tablo 9: 256 bit eğriyi destekleyen FMDN çerçevesi.

Geçici tanımlayıcı (EID) hesaplaması

Aşağıdaki veri yapısını geçici kimlik anahtarıyla AES-ECB-256 ile şifreleyerek rastgele bir değer oluşturulur:

Sekizlik Alan Açıklama
0 - 10 Dolgu Değer = 0xFF
11 K Rotasyon süresi üssü
12 - 15 TS[0]...TS[3] 32 bit büyük endian biçiminde işaretçi zaman sayacı. K en düşük bitleri temizlenir.
16 - 26 Dolgu Değer = 0x00
27 K Rotasyon süresi üssü
28 - 31 TS[0]...TS[3] 32 bit büyük endian biçiminde işaretçi zaman sayacı. K en düşük bitleri temizlenir.

Tablo 10: Sanal rasgele sayı oluşturma.

Bu hesaplamanın sonucu, r' ile gösterilen 256 bitlik bir sayıdır.

Hesaplamanın geri kalanında, eliptik eğri kriptografik işlemleri için SECP160R1 veya SECP256R1 kullanılır. Aşağıda atıfta bulunulan Fp, n ve G parametrelerini tanımlayan SEC 2: Önerilen Eliptik Eğri Alan Parametreleri bölümündeki eğri tanımlarına bakın.

r', r = r' mod n hesaplanarak sonlu alan Fp'a yansıtılır. Son olarak, kullanılan genel anahtarı temsil eden eğri üzerindeki bir nokta olan R = r * G değerini hesaplayın. İşaretçi, geçici tanımlayıcısı olarak R'nin x koordinatı olan Rx'nin reklamını yapar.

Karma oluşturma işlemi uygulanmış işaretler

Karma oluşturma işlemi uygulanmış işaretler alanı aşağıdaki gibi hesaplanır (bitlere en anlamlıdan en az anlamlıya doğru referans verilir):

  • 0-4 bitleri: Ayrılmış (sıfır olarak ayarlanır).
  • 5. ve 6. bitler, cihazın pil seviyesini aşağıdaki gibi gösterir:
    • 00: Pil seviyesi göstergesi desteklenmiyor
    • 01: Normal pil seviyesi
    • 10: Düşük pil seviyesi
    • 11: Pil seviyesi çok düşük (pilin yakında değiştirilmesi gerekiyor)
  • İşaretçi istenmeyen izleme koruması modundaysa 7. bit 1'e, aksi takdirde 0'a ayarlanır.

Bu baytın nihai değerini oluşturmak için SHA256(r)'ün en az anlamlı baytıyla XOR işlemi yapılır.

r değerinin eğrinin boyutuyla uyumlu olması gerektiğini unutmayın. Temsil şekli 160 veya 256 bitten kısaysa en önemli bitler olarak sıfır ekleyin. Temsil şekli 160 veya 256 bitten uzunsa en önemli bitler kısaltılmalıdır.

İşaretçi, pil seviyesi göstergesini desteklemiyorsa ve istenmeyen izleme koruması modunda değilse bu baytın reklamdan tamamen çıkarılmasına izin verilir.

EID ile şifreleme

Bir m mesajını şifrelemek için gözlemci (işaretçiden Rx'ü okuyarak) aşağıdakileri yapar:

  1. EID hesaplaması bölümünde tanımlandığı gibi, Fp içinde rastgele bir sayı s seçin.
  2. S = s * G değerini hesaplayın.
  3. Eğri denkleminde yerine koyma işlemi yaparak ve olası sonuçlardan rastgele bir Ry değeri seçerek R = (Rx, Ry) değerini hesaplayın.
  4. (s * R)x, eğri çarpım sonucunun x koordinatı olduğu 256 bit AES anahtarı k = HKDF-SHA256((s * R)x)'ü hesaplayın. Tuz belirtilmemiş.
  5. URx ve LRx, büyük endian biçiminde sırasıyla Rx'nin üst ve alt 80 biti olsun. Benzer şekilde, S için USx ve LSx değerlerini tanımlayın.
  6. nonce = LRx || LSx değerini hesaplayın.
  7. (m’, tag) = AES-EAX-256-ENC(k, nonce, m) değerini hesaplayın.
  8. (URx, Sx, m’, tag) dosyasını, muhtemelen güvenilmeyen bir uzak hizmet üzerinden sahibe gönderin.

EID ile şifrelenmiş değerlerin şifresini çözme

EIK ve rotasyon dönemi üssüne sahip olan sahibin istemcisi, mesajın şifresini aşağıdaki gibi çözer:

  1. URx verildiğinde, URx'ün temel aldığı işaretçi zaman sayacı değerini alın. Bu işlem, sahibin istemcisi tarafından yakın geçmiş ve yakın gelecek için işaretçi zaman sayıcı değerlerine göre Rx değerleri hesaplanarak yapılabilir.
  2. URx değerinin temel aldığı işaretçi zaman sayacı değeri verildiğinde, EID hesaplaması bölümünde tanımlandığı şekilde r değerinin beklenen değerini hesaplayın.
  3. R = r * G değerini hesaplayın ve görüntüleyen tarafından sağlanan URx değeriyle eşleştiğini doğrulayın.
  4. Eğri denkleminde yerine koyma işlemi yaparak ve olası sonuçlardan rastgele bir Sy değeri seçerek S = (Sx, Sy) değerini hesaplayın.
  5. (r * S)x, eğri çarpımı sonucunun x koordinatı olduğu k = HKDF-SHA256((r * S)x) değerini hesaplayın.
  6. nonce = LRx || LSx değerini hesaplayın.
  7. m = AES-EAX-256-DEC(k, nonce, m’, tag) değerini hesaplayın.

Kimlik rotasyonu

Reklam amaçlı FMDN çerçeveleri için çözülebilir (RPA) veya çözülemez (NRPA) bir BLE adresi kullanılmalıdır. RPA, LE Audio (LEA) cihazlar için gereklidir ve bağlama kullanmayan bulucu etiketleri hariç diğer cihazlar için önerilir.

Hızlı Eşleme reklamı, FMDN reklamı ve ilgili BLE adresleri aynı anda dönmelidir. Döndürme işlemi ortalama 1024 saniyede bir gerçekleşmelidir. İşaretçinin yeni tanımlayıcıyı reklamını yapmaya başladığı tam nokta, aralık içinde rastgele seçilmelidir.

Rotasyon süresini rastgele ayarlamak için önerilen yaklaşım, bir sonraki tahmini rotasyon süresine (rastgele ayar uygulanmadıysa) artı 1 ila 204 saniye aralığında pozitif bir rastgele zaman faktörüne ayarlamaktır.

Cihaz istenmeyen takip koruma modundayken FMDN reklamının BLE adresi sabitlenmelidir ancak FP keşfedilemez reklamı (ör. Hızlı Eşleme) için RPA dönmeye devam etmelidir. Farklı protokoller için farklı adresler kullanılması kabul edilebilir.

Güç kaybından kurtarma

Geçici tanımlayıcının çözülmesi, reklamın yayınlandığı sıradaki saat değerine bağlıdır. Bu nedenle, güç kaybı yaşanırsa sağlayıcının saat değerini kurtarabilmesi önemlidir. Sağlayıcının mevcut saat değerini en az günde bir kez kalıcı olmayan belleğe yazması ve önyükleme sırasında, başlatılacak bir değer olup olmadığını görmek için NVM'yi kontrol etmesi önerilir. Geçici tanımlayıcının çözümleyicileri, hem makul saat kaymasına hem de bu tür güç kaybı kurtarma işlemlerine izin verecek yeterli bir zaman aralığında çözüm uygular.

Çözüm zaman aralığı sınırlı olduğundan sağlayıcılar, saat kaymalarını en aza indirmek için tüm çabaları göstermeye devam etmelidir. En az bir ek saat senkronizasyon yöntemi uygulanmalıdır (bulunamayan Hızlı Eşleme kareleri reklamı veya mesaj akışı'nın uygulanması).

Hızlı Eşleme uygulama yönergeleri

Bu bölümde, FMDN'yi destekleyen sağlayıcılarda Hızlı Eşleme uygulamasının özel yönleri açıklanmaktadır.

Konum etiketine özel yönergeler

  • Sağlayıcı eşlendiyse ancak FMDN 5 dakika içinde temel hazırlığı yapılmadıysa (veya cihaz eşlenmiş ancak FMDN temel hazırlığı yapılmamışken bir OTA güncellemesi uygulandıysa) Sağlayıcı, fabrika yapılandırmasına geri dönmeli ve depolanan hesap anahtarlarını temizlemelidir.
  • Sağlayıcı eşlendikten sonra, FMDN temel hazırlığı yapılana veya 5 dakika geçene kadar MAC adresini değiştirmemelidir.
  • Geçici kimlik anahtarı cihazdan silinirse cihaz fabrika ayarlarına sıfırlanır ve depolanan hesap anahtarları da silinir.
  • Sağlayıcı, normal Bluetooth eşleme girişimlerini reddetmeli ve yalnızca Hızlı Eşleme eşlemesini kabul etmelidir.
  • Sağlayıcı, kullanıcıların cihazı fabrika ayarlarına sıfırlamadan reklamları geçici olarak durdurmasına olanak tanıyan bir mekanizma (ör. bir düğme kombinasyonuna basma) içermelidir.
  • Güç kaybından sonra cihaz, işaretçi parametrelerini oku işlevi bir sonraki kez çağrılana kadar bulunamayan Hızlı Eşleme çerçevelerinin reklamını yapmalıdır. Bu sayede, önemli bir saat kayması olsa bile bulucu cihazı algılayabilir ve saati senkronize edebilir.
  • Keşfedilebilir olmayan Hızlı Eşleme çerçevelerinin reklamı yapılırken kullanıcı arayüzü göstergeleri etkinleştirilmemelidir.
  • Sağlayıcı FMDN için temel hazırlığı yaparken bulunabilir Hızlı Eşleme çerçeveleri reklamı yapılmamalıdır.
  • Sağlayıcı, kimlik bilgilerini (ör. adlar veya tanımlayıcılar) kimlik doğrulaması yapılmamış şekilde göstermemelidir.

Klasik Bluetooth cihazlarına özel yönergeler

Bu bölümde, FMDN'yi destekleyen klasik Bluetooth cihazların özel özellikleri açıklanmaktadır.

Halihazırda eşlenmiş cihazların FMDN temel hazırlığı

Sağlayıcı, arayanla eşlenirken her zaman FMDN için provizyon almaz, ancak bundan bir süre sonra provizyon alır. Bu durumda, sağlayıcının GATT bağlantısı kurmak için gereken güncel bir BLE MAC adresi olmayabilir. Arayanın eşlenmiş durumdayken BLE adresini alabilmesi için sağlayıcı aşağıdaki yöntemlerden en az birini desteklemelidir:

  • Sağlayıcı, Arayan'ın BLE taraması aracılığıyla BLE adresini bulmasına olanak tanıyan Hızlı Eşleme hesap verilerinin reklamını düzenli olarak yapabilir.
    Bu yaklaşım, mesaj akışını uygulamayan sağlayıcılar için uygundur.
  • Sağlayıcı, bu verileri klasik Bluetooth üzerinden Hızlı Eşleme mesaj akışı aracılığıyla sağlayabilir.
    Bu yaklaşım, Bluetooth üzerinden Arayan'a bağlıyken Hızlı Eşleme çerçevelerinin reklamını yapmayan Sağlayıcılar için uygundur.

Her iki yaklaşımı da desteklemek, kullanıcının cihazı FMDN için temel hazırlığı yapma olasılığını artırır.

Hızlı Eşleme mesaj akışı

Sağlayıcı, Hızlı Eşleme mesaj akışını uygulayabilir ve bu mesaj akışını kullanarak cihaz bilgileri hakkında Arayan'ı bilgilendirebilir. Mesaj akışı uygulandığında bu bölümde açıklanan belirli özellikler etkinleştirilir.

Sağlayıcı, mesaj akışı RFCOMM kanalı her oluşturulduğunda bir kez cihaz bilgileri mesajı göndermelidir.

Donanım yazılımı sürümü (cihaz bilgileri kodu 0x09) ve izleme özelliği

Bir donanım yazılımı güncellemesi, sağlayıcıya FMDN desteği eklediğinde bağlı bir arayan, kullanıcıyı bu konuda bilgilendirebilir ve temel hazırlığı yapmayı teklif edebilir. Aksi takdirde, kullanıcının FMDN temel hazırlığını başlatmak için Bluetooth cihaz listesine manuel olarak gitmesine gerek vardır.

Bunun için sağlayıcı, donanım yazılımı sürümünü temsil eden bir dize değeri bildirmek üzere Donanım yazılımı sürümü özelliğini (kod 0x09) kullanmalıdır. Ayrıca sağlayıcı, arayana donanım yazılımı güncellemeleri nedeniyle özellik değişiklikleri hakkında bilgi veren protokolü desteklemelidir.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Cihaz bilgileri etkinliği 0x03
1 uint8 Donanım yazılımı sürümü 0x09
2 - 3 uint16 Ek veri uzunluğu değişir
var bayt dizisi Sürüm dizesi değişir

Tablo 11: Cihaz bilgileri etkinliği: güncellenmiş donanım yazılımı sürümü.

Sağlayıcı, özellik güncelleme isteği (0x0601) aldıktan sonra FMDN izleme desteğini etkinleştirdiyse tablo 12'de gösterildiği gibi yanıt vermelidir.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Cihaz işlevi senkronizasyon etkinliği 0x06
1 uint8 FMDN izleme 0x03
2 - 3 uint16 Ek veri uzunluğu 0x0007
4 uint8 FMDN temel hazırlık durumu Hazırlanmadıysa 0x00, herhangi bir hesap tarafından hazırlandıysa 0x01
5 - 10 bayt dizisi Cihazın mevcut BDE MAC adresi değişir

Tablo 12: Cihaz işlevi senkronizasyon etkinliği: izleme işlevi eklendi.

Mevcut geçici tanımlayıcı (cihaz bilgileri kodu 0x0B)

Sağlayıcı, FMDN için temel hazırlığı yapıldığında geçerli EID'yi ve saat değerini bildirmek için geçerli geçici tanımlayıcıyı (kod 0x0B) kullanabilir. Bu, saat kayması (ör. pilin bitmesi nedeniyle) durumunda Aramayı yapan cihazı senkronize etmek için kullanılır. Aksi takdirde, arayan bu amaç için daha pahalı ve daha az güvenilir bir bağlantı başlatır.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Cihaz bilgileri etkinliği 0x03
1 uint8 Geçici tanımlayıcı 0x0B
2 - 3 uint16 Ek veri uzunluğu 0x0018 veya 0x0024
4 - 7 bayt dizisi Saat değeri Örnek: 0x13F9EA80
8 - 19 veya 31 bayt dizisi Mevcut EID Örnek: 0x1122334455667788990011223344556677889900

Tablo 13: Cihaz bilgileri etkinliği: saat senkronizasyonu.

Fabrika ayarlarına sıfırla

Fabrika ayarlarına sıfırlamayı destekleyen cihazlar için: Fabrika ayarlarına sıfırlama işlemi yapılırsa sağlayıcı, işaretçi göndermeyi durdurmalı ve geçici kimlik anahtarını ve sahibin hesap anahtarı da dahil olmak üzere depolanan tüm hesap anahtarlarını silmelidir.

Fabrika ayarlarına sıfırlama işleminden (manuel veya programatik) sonra sağlayıcı, eşleme akışının kullanıcı cihazı sildikten hemen sonra başlamasını önlemek için Hızlı Eşleme'nin reklamını hemen başlatmamalıdır.

İstenmeyen izlemeyi önleme

Sertifikalandırılmış FMDN cihazlar, İstenmeyen Konum İzleyicileri Tespit Etme (DULT) için platformlar arası spesifikasyonun uygulama sürümündeki koşulları da karşılamalıdır.

DULT spesifikasyonuna uygunluk için FMDN'ye özel ilgili yönergeler:

  • FMDN uyumlu tüm cihazlar Yakındaki Cihaz Konsolu'na kaydedilmiş ve "Cihazımı Bul" özelliği etkinleştirilmiş olmalıdır.
  • Cihaz, Aksesuar Bilgileri işlemleri ve Sahip olmayan kontrolleri de dahil olmak üzere DULT spesifikasyonunun uygulama sürümünde tanımlanan Aksesuar Sahibi Olmayan hizmetini ve özelliğini uygulamalıdır.
  • DULT spesifikasyonunda tanımlandığı gibi, geriye dönük uyumluluk döneminde bu belgede tanımlandığı şekilde reklamı yapılan çerçevede herhangi bir değişiklik yapılmaz.
  • Bu belgede tanımlanan "istenmeyen izleme koruma modu", DULT spesifikasyonu tarafından tanımlanan "ayrı durumda" ile eşlenir.
  • Aksesuar Bilgileri işlev kodlarını uygulamayla ilgili kurallar:
    • Get_Product_Data, konsol tarafından sağlanan model kimliğini 8 baytlık koşula uyacak şekilde sıfırla doldurarak döndürmelidir. Örneğin, 0xFFFFFF model kimliği 0x0000000000FFFFFF olarak döndürülür.
    • Get_Manufacturer_Name ve Get_Model_Name, konsolda sağlanan değerlerle eşleşmelidir.
    • Get_Accessory_Category, cihazın türüne daha uygun başka bir kategori yoksa genel "Konum İzleyici" değerini döndürebilir.
    • Get_Accessory_Capabilities, zil sesi ve BLE tanımlayıcı araması desteğini belirtmelidir.
    • Get_Network_ID, Google'ın tanımlayıcısını (0x02) döndürmelidir.
  • Get_Identifier kod komutunu uygulamayla ilgili kurallar:
    • İşlem, kullanıcı "tanımlama" modunu etkinleştirdikten sonra yalnızca 5 dakika boyunca geçerli bir yanıt döndürmelidir. Bu mod, düğme basma işlemlerinin bir kombinasyonunu gerektirir. Sağlayıcının bu moda girdiği, görsel veya işitsel bir sinyal ile kullanıcıya belirtilmelidir. Bu modu etkinleştirmeye yönelik modele özel talimatlar, sertifika şartı olarak Google'a sağlanmalı ve talimatlarda herhangi bir güncelleme veya değişiklik yapılmadan en az 10 gün önce gönderilmelidir.
    • Yanıt şu şekilde oluşturulur: Geçerli geçici tanımlayıcının ilk 10 baytı ve ardından HMAC-SHA256(recovery key, the truncated current ephemeral identifier) değerinin ilk 8 baytı.
  • NFC üzerinden Tanımlayıcı'yı uygulama kuralları:
    • URL olarak find-my.googleapis.com/lookup kullanın.
    • e parametresi olarak, Get_Identifier için oluşturulan ve onaltılık kodlanmış aynı yanıtı kullanın.
    • pid parametresi olarak, Get_Product_Data için oluşturulan ve onaltılık kodlanmış aynı yanıtı kullanın.
  • Cihazın ses çıkarıcı içermesi ve zil işlevini desteklemesi zorunludur. DULT spesifikasyonuna göre, ses üretici ISO 532-1:2017 tarafından tanımlanan en az 60 Phon tepe ses seviyesi ile ses çıkarmalıdır.
  • Sound_Start kod komutunu uygulamayla ilgili yönergeler:
    • Komut, mevcut tüm bileşenlerde zil sesini tetikler.
    • Desteklenen maksimum ses seviyesi kullanılmalıdır.
    • Çalma süresi için önerilen süre 12 saniyedir.
  • Konum belirleyici etiketler, kullanıcıların cihazı fabrika ayarlarına sıfırlamadan reklamları geçici olarak durdurmasına olanak tanıyan bir mekanizma içermelidir (ör. bir düğme kombinasyonuna basma).
    • Devre dışı bırakma talimatları, herkese açık bir URL'de belgelenmelidir ve sertifika şartı olarak Google'a sağlanmalıdır. Ayrıca, talimatlarda herhangi bir güncelleme veya değişiklik yapılmadan en az 10 gün önce sağlanmalıdır.
    • URL, yerelleştirmeyi desteklemelidir. Dil, istemciye bağlı olarak sorgu parametresi ("hl=tr") olarak veya "accept-language" HTTP üst bilgisi kullanılarak sağlanır.

Değiştirilebilir protokol yönergeleri

  • Aynı anda yalnızca bir protokol kullanılmalıdır. Cihazda aynı anda en fazla bir ağın çalışabildiğinden emin olun. Bu şart, farklı protokoller arasında hassas kullanıcı verilerinin karıştırılmamasını sağlamak için gereklidir.
  • Cihaza, kullanıcının cihazı farklı bir ağla yeniden kurmasına olanak tanıyan bir sert sıfırlama iş akışı eklenmesi önerilir.
  • Bir cihazı ağa güncelleme süreci, kullanıcı dostu ve ağlar arasında eşit olmalıdır. Kullanıcılar, ağlardan birine öncelik vermeden kullanmak istedikleri ağı seçebilmelidir. Bu akış, Google ekibi tarafından onaylanmalıdır.

Donanım yazılımı güncellemeleri

OTA güncellemelerinin süreci ve dağıtımı, iş ortağı tarafından kendi mobil veya web uygulaması iş akışını kullanarak yönetilmelidir.

Hızlı Eşleme, kullanıcıya OTA güncellemeleri hakkında bilgi veren bildirimler göndermeyi destekler. Bu mekanizmayı kullanmak için:

İzlemeyi önlemek için Firmware revizyonu özelliğine erişim kısıtlanmalıdır. Arayan, önce temel hazırlama durumunu okur ve bu spesifikasyonda tanımlandığı şekilde bir kimlik doğrulama anahtarı sağlar, ancak yalnızca bundan sonra donanım yazılımı revizyonunu okur. Bu işlem aynı bağlantı üzerinden yapılır. Donanım yazılımı revizyonunu okuma girişiminde bulunulur ve Sağlayıcı bağlanmazsa veya aynı bağlantı üzerinden kimliği doğrulanmış bir işlem başarıyla tamamlanmazsa Sağlayıcı, kimliği doğrulanmamış bir hata döndürmelidir.

Uyumluluk

Cihazımı Bul ağını kullanmak için Konum Hizmetleri'nin ve Bluetooth'un açık olması gerekir. Hücresel servis veya internet bağlantısı gerekir. Android 9 veya sonraki sürümlerde çalışır ve belirli ülkelerdeki yaşı uygun olan kullanıcılar tarafından kullanılabilir.

Değişiklik günlüğü

FMDN Sürümü Tarih Yorum
v1 Erken erişim için FMDN spesifikasyonunun ilk sürümü.
v1.1 Feb 2023
  • İstenmeyen Takip Koruması modunun açık metin açıklaması eklendi.
  • İstenmeyen izleme koruması modundayken zil çalma isteklerinin kimlik doğrulamasını atlama seçeneği eklendi.
v1.2 Nisan 2023
  • Sahibin AK'sının tanımı güncellendi.
  • Konum belirleyici etiketlerde güç kaybından kurtarma ile ilgili bir öneri eklendi.
  • MAC adresi rastgele oluşturma hakkında açıklama eklendi.
  • İstenmeyen Takip Koruması modundayken MAC adresi rotasyonu hakkında açıklama eklendi.
  • Bulucu etiketini devre dışı bırakmayla ilgili bir kural eklendi.
v1.3 Aralık 2023
  • Konum belirleyici etiketler tarafından açığa çıkarılan kimliği tanımlayabilecek bilgilerle ilgili bir açıklama eklendi.
  • İstenmeyen izlemeyi önleme spesifikasyonunu uygulama şartı eklendi.
  • Geçiş yapılabilir protokol cihazları için yönergeler eklendi.