Cihaz Takip Merkezi Ağı Aksesuar Özellikleri

v1.3

Cihaz Takip Merkezi Ağı (FHN) aksesuar spesifikasyonu, Bluetooth Düşük Enerji (BLE) cihazlarının izlenmesi için uçtan uca şifrelenmiş bir yaklaşım tanımlar. Bu sayfada, FHN'nin Fast Pair spesifikasyonunun bir uzantısı olduğu açıklanmaktadır. FHN ile uyumlu cihazları olan ve bu cihazlarda konum takibini etkinleştirmek isteyen sağlayıcılar bu uzantıyı etkinleştirmelidir.

GATT Spesifikasyonu

Aşağıdaki semantiklerle Fast Pair Hizmeti'ne ek bir genel özellik (GATT) eklenmelidir:

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

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

Kimlik doğrulama

Bu uzantının gerektirdiği işlemler, meydan okuma-yanıt mekanizmasıyla güvenli hale getirilmiş bir yazma işlemi olarak gerçekleştirilir. Herhangi bir işlem gerçekleştirmeden önce, Arayan'ın Tablo 1'deki özellikten bir okuma işlemi gerçekleştirmesi beklenir. Bu işlem, aşağıdaki biçimde bir arabelleğe neden olur:

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

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

Daha sonra Seeker, sonraki bir yazma isteğinde kullanılacak tek kullanımlık bir kimlik doğrulama anahtarı hesaplar. Kimlik doğrulama anahtarı, 2-5. tablolarda açıklandığı şekilde hesaplanır. İstenen işleme bağlı olarak, Talep Sahibi aşağıdaki anahtarlardan bir veya daha fazlası hakkında bilgi sahibi olduğunu kanıtlar:

İşlemler

Özelliğe yazılan verilerin biçimi, 2-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ınmıştır.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x00: Read beacon parametreleri
  • 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) öğesinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x00: n/a
  • 0x01: n/a
  • 0x02: Geçici kimlik anahtarı olan, hesap anahtarıyla AES-ECB-128 şifrelenmiş 32 bayt. Sağlayıcıda zaten geçici bir kimlik anahtarı grubu varsa SHA256(current ephemeral identity key || the last nonce read from the characteristic) öğesinin ilk 8 baytını da gönderin.
  • 0x03: SHA256(ephemeral identity key || the last nonce read from the characteristic) değerinin ilk 8 baytı

Tablo 2: Beacon sağlama isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği 0x04: Kullanıcı izniyle geçici kimlik anahtarını 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) öğesinin ilk 8 baytı

Tablo 3: Beacon sağlama anahtarı kurtarma isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x05: Zil
  • 0x06: Zil ç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) öğesinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x05: Çalma durumunu, çalma süresini ve çalma sesini gösteren 4 bayt.
  • 0x06: n/a

Tablo 4: Çaldırma isteği.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x07: İstenmeyen takibe karşı koruma modunu etkinleştirme
  • 0x08: İstenmeyen izlemeye karşı koruma 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) öğesinin ilk 8 baytı
10 - var bayt dizisi Ek veriler
  • 0x07: 1 bayt kontrol işareti (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ışındaki veri kimliğine sahip bildirimler, bildirimi tetikleyen yazma işlemi tamamlanmadan önce, yani yazma isteği için yanıt PDU'su gönderilmeden önce gönderilmelidir.

Sekizlik Veri Türü Açıklama Değer
0 uint8 Veri kimliği
  • 0x00: Read beacon parametreleri
  • 0x01: Temel hazırlık durumunu okuma
  • 0x02: Geçici kimlik anahtarı ayarlama
  • 0x03: Geçici kimlik anahtarını temizle
  • 0x04: Kullanıcı izniyle geçici kimlik anahtarını okuma
  • 0x05: Zil durumunda değişiklik
  • 0x06: Zil çalma durumunu okuma
  • 0x07: İstenmeyen takibe karşı koruma modunu etkinleştirme
  • 0x08: İstenmeyen izlemeye karşı koruma 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 gösteren 8 bayt. Hesap anahtarıyla (sıfır doldurulmuş) AES-ECB-128 şifrelenir.
  • 0x01: Sağlama durumunu gösteren 1 bayt ve varsa geçerli kısa süreli kimlik (20 veya 32 bayt)
  • 0x04: Geçici kimlik anahtarı olan, hesap anahtarıyla AES-ECB-128 şifrelenmiş 32 bayt
  • 0x05: Yeni durumu ve değişikliğin tetikleyicisini belirten 4 bayt
  • 0x06: Çalmakta olan bileşenleri ve çalma için kalan desisaniye sayısını gösteren 3 bayt
  • Diğer veri kimlikleri boş ek veriler kullanıyor

Tablo 6: Beacon 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 nonce kullanıldığı durum 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 veri kimliği 0x04: Read ephemeral identity key with user consent olan bir yazma isteğine yanıt olarak döndürülür.

Tablo 7: GATT hata kodları.

Beacon'ın parametresini okuma

Arayan, tablo 2'deki bir isteği 0x00 veri kimliğiyle içeren karakteristik üzerinde yazma işlemi yaparak Sağlayıcı'ya sinyalin parametrelerini sorabilir. 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ı, kimliği doğrulanmamış bir hata döndürür.

Başarılı olursa Sağlayıcı, tablo 6'dan bir yanıtla veri kimliği 0x00 olacak şekilde 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ınan kalibre edilmiş güç ([-100, 20] aralığında bir değer). 1 dBm çözünürlükle işaretli tam sayı olarak gösterilir.
1 - 4 uint32 Saat değeri Mevcut saat değeri (saniye cinsinden, big 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ş reklam gerektirir)
6 uint8 Bileşenler Çaldırılabilen bileşen sayısı:
  • 0x00: Cihazın zilinin çalamadığını gösterir.
  • 0x01: Yalnızca tek bir bileşenin zili çalabileceğini gösterir.
  • 0x02: Sol ve sağ kulaklık olmak üzere iki bileşenin bağımsız olarak çalabileceğini gösterir.
  • 0x03: Üç bileşenin (sol ve sağ kulaklıklar ile kılıf) bağımsız olarak çalabileceğini gösterir.
7 uint8 Zili çaldırma özellikleri Desteklenen seçenekler şunlardır:
  • 0x00: Zil sesi düzeyi seçimi kullanılamıyor.
  • 0x01: Zil sesi seviyesi seçimi kullanılabilir. Ayarlanmışsa Sağlayıcı, Zil çalma işlemi bölümünde belirtildiği gibi 3 ses seviyesini kabul etmeli ve işlemelidir.
8-15 bayt dizisi Dolgu AES şifrelemesi için sıfır doldurma.

Veriler, isteğin kimliğini doğrulamak için kullanılan hesap anahtarıyla AES-ECB-128 kullanılarak ş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) öğesinin ilk 8 baytı olarak tanımlanır.

Beacon'ın temel hazırlık durumunu okuma

Arayan, tablo 2'deki bir istekten oluşan ve veri kimliği 0x01 olan özelliğe bir yazma işlemi uygulayarak Sağlayıcı'ya sinyalin sağlama durumu hakkında sorgu gönderebilir. 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ı, kimliği doğrulanmamış bir hata döndürür.

Başarılı olursa Sağlayıcı, tablo 6'dan bir yanıtla veri kimliği 0x01'i bildirir. 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ğerlere sahip bir bit maskesi:
  • Bit 1 (0x01): Cihaz için geçici bir kimlik anahtarı ayarlanmışsa ayarlanır.
  • Bit 2 (0x02): Sağlanan tek seferlik kimlik doğrulama anahtarı, sahip hesabı anahtarıyla eşleşiyorsa ayarlanır.
1-20 veya 32 bayt dizisi Geçerli kısa ömürlü tanımlayıcı Cihaz için ayarlanmışsa 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) öğesinin ilk 8 baytı olarak tanımlanır.

Geçici kimlik anahtarı ayarlama

Temel hazırlığı yapılmamış bir Sağlayıcıyı FHN sinyali olarak sağlamak veya temel hazırlığı yapılmış bir Sağlayıcının kısa ömürlü kimlik anahtarını değiştirmek için Arayan, Tablo 2'deki bir isteği içeren ve veri kimliği 0x02 olan özelliğe bir 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 karması oluşturulmuş 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 daha önce FHN sinyali olarak sağlanmadığını doğrulayın.

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

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ı olarak saklanmalı ve bu noktadan itibaren Sağlayıcı, FHN çerçevelerinin reklamını yapmaya başlamalıdır. Yeni geçici kimlik anahtarı, BLE bağlantısı sonlandırıldıktan hemen sonra geçerli olur. Sağlayıcı, tablo 6'dan 0x02 veri kimlikli 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) öğesinin ilk 8 baytı olarak tanımlanır.

Geçici kimlik anahtarını temizleme

Sağlayıcının işaretçi bölümünün devre dışı bırakılması için Arayan, tablo 2'den gelen ve veri kimliği 0x03 olan bir isteği içeren, özelliğe yönelik bir 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.
  • Karma oluşturulmuş kısa ömürlü kimlik anahtarı, mevcut kısa ömürlü kimlik anahtarıyla eşleşiyor.

Sağlayıcı, FHN sinyali olarak sağlanmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür.

Başarılı olursa Sağlayıcı anahtarı unutur ve FHN çerçevelerinin reklamını durdurur. Sağlayıcı, tablo 6'dan 0x03 veri kimlikli 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) öğesinin ilk 8 baytı olarak tanımlanır.

Kullanıcı izniyle kısa ömürlü kimlik anahtarını okuma

Bu seçenek yalnızca kaybolan bir anahtarı kurtarmak için kullanılabilir. Anahtar yalnızca Arayan tarafından yerel olarak saklanır. Bu nedenle, bu özellik yalnızca cihaz eşleme modundayken veya cihazda fiziksel bir düğmeye basıldıktan sonra sınırlı bir süre boyunca (kullanıcı rızası olarak kabul edilir) kullanılabilir.

İsteyen taraf, düz metin anahtarını kurtarabilmek için kurtarma anahtarını arka uçta saklamalıdır ancak EIK'yi saklamaz.

EIK'yi okumak için Arayan, tablo 3'ten gelen ve veri kimliği 0x04 olan bir istekle karakteristiğe yazma işlemi gerçekleştirir. Sağlayıcı, aşağıdakileri doğrular:

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

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

Cihaz eşleme modunda değilse Sağlayıcı, No User Consent (Kullanıcı İzni Yok) hatası döndürür.

Başarılı olursa Sağlayıcı, tablo 6'dan veri kimliği 0x04 olan bir yanıtla 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) öğesinin ilk 8 baytı olarak tanımlanır.

Çaldırma işlemi

İsteyen, tablo 4'teki 0x05 veri kimlikli bir isteği içeren karakteristik üzerinde yazma işlemi yaparak 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 Çaldırma işlemi Aşağıdaki değerlere sahip bir bit maskesi:
  • Bit 1 (0x01): Sağ kulaklığın zilini çaldır
  • Bit 2 (0x02): Sol kulaklığın zilini çaldır
  • Bit 3 (0x04): Zil sesi kutusu
  • 0xFF: Tüm bileşenleri çaldır
  • 0x00: Zilin çalmasını durdurma
1 - 2 uint16 Zaman aşımı Zaman aşımı süresi (desisaniye). Sıfır olmamalı ve 10 dakikaya eşdeğer süreden uzun olmamalıdır.
Sağlayıcı, kendini sessize almadan önce ne kadar süre çalması gerektiğini belirlemek için bu değeri kullanır. Cihazın herhangi bir bileşeni zaten çalıyorsa zaman aşımı, halihazırda geçerli olan zaman aşımını geçersiz kılar.

Zil çalma 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.

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

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

Sağlayıcı, FHN sinyali olarak sağlanmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür. Ancak Sağlayıcı'da istenmeyen izlemeye karşı koruma etkinse ve tetikleyici istenmeyen izlemeye karşı koruma isteğinde zil sesini atlama kimlik doğrulama işareti etkinse Sağlayıcı bu kontrolü atlamalıdır. Kimlik doğrulama verilerinin yine Arayan tarafından sağlanması beklenir ancak bu veriler rastgele bir değere ayarlanabilir.

Çalma işlemi 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 Zil çaldırma durumu
  • 0x00: Başladı
  • 0x01: Başlatılamadı veya durdurulamadı (istenen 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 Zil çaldırma bileşenleri İstek içinde tanımlandığı şekilde, aktif olarak çalan bileşenlerin bit maskesi.
2 - 3 uint16 Zaman aşımı Çalmaya devam etmek için kalan süre (saniyenin onda biri cinsinden). Cihazın zili çalmayı durdurduysa 0x0000 döndürülmelidir.

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) öğesinin ilk 8 baytı olarak tanımlanır.

Cihaz, çalma veya çalmayı durdurma isteği alındığında zaten istenen çalma durumundaysa Sağlayıcı, sırasıyla çalma durumu veya 0x00: Başlatıldı ya da 0x04: Durduruldu (GATT isteği) ile ilgili bir bildirim göndermelidir. Bu istek, mevcut durumun parametrelerini geçersiz kılarak çaldırma süresinin uzatılmasını sağlar.

Sağlayıcı'nın fiziksel bir düğmesi varsa (veya dokunma algılama özelliği etkinse) bu düğme, zil çalma etkin durumdayken basıldığında zil çalma işlevini durdurmalıdır.

Beacon'ın zil çalma durumunu alma

Arayan, Beacon'ın çalma durumunu almak için 0x06 veri kimliğine sahip 4. tablodan gelen bir istekten oluşan karakteristik üzerinde yazma işlemi gerçekleştirir. Sağlayıcı, sağlanan tek seferlik kimlik doğrulama anahtarının yüzük anahtarıyla eşleştiğini doğrular.

Sağlayıcı, FHN sinyali olarak sağlanmamışsa veya doğrulama başarısız olursa sağlayıcı, kimliği doğrulanmamış bir hata döndürür.

Başarılı olursa Sağlayıcı, tablo 6'dan bir yanıtla veri kimliği 0x06'yı bildirir. Sağlayıcı, veri segmentini aşağıdaki şekilde oluşturur:

Sekizlik Veri Türü Açıklama Değer
0 uint8 Zil çaldırma bileşenleri Çalma isteğinde tanımlandığı şekilde aktif olarak çalan bileşenler.
1 - 2 uint16 Zaman aşımı Çalmaya devam etmek için kalan süre (saniyenin onda biri cinsinden). Cihazın zili çalmıyorsa 0x0000 döndürülmesi gerektiğ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) öğesinin ilk 8 baytı olarak tanımlanır.

İstenmeyen takibe karşı koruma modu

İstenmeyen izlemeye karşı koruma modu, herhangi bir istemcinin sunucu iletişimi olmadan kötüye kullanım amaçlı cihazları tanımlamasına olanak tanımayı amaçlar. Varsayılan olarak, Sağlayıcı, Kimlik döndürme bölümünde açıklandığı gibi tüm tanımlayıcıları döndürmelidir. Cihaz Takip Merkezi hizmeti, Cihaz Takip Merkezi ağı üzerinden istenmeyen bir takip koruma modu etkinleştirme isteğini iletebilir. Bu sayede hizmet, Sağlayıcı'nın geçici olarak sabit bir MAC adresi kullanmasına neden olur. Böylece istemciler cihazı algılayabilir ve kullanıcıyı olası istenmeyen izleme konusunda uyarabilir.

Beacon'ın istenmeyen izleme koruması modunu etkinleştirmek veya devre dışı bırakmak için Seeker, sırasıyla veri kimliği 0x07 veya 0x08 olan tablo 5'ten gelen bir istekten oluşan özelliğe 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: Zil sesi kimlik doğrulamasını atlayın. Ayarlandığında, istenmeyen izlemeye karşı koruma modundayken zil çalma isteklerinin kimliği doğrulanmaz.
Hiçbir işaret ayarlanmamışsa (bayt tamamen sıfırlardan oluşuyorsa) veri bölümünü tamamen atlamak ve boş bir veri bölümü göndermek geçerlidir.
İşaretler yalnızca istenmeyen izlemeye karşı koruma 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 takip koruması anahtarıyla eşleştiğini doğrular. Sağlayıcı, FHN işaretçisi olarak sağlanmamışsa veya doğrulama başarısız olursa kimliği doğrulanmamış bir hata döndürülür.

İstenmeyen izlemeye karşı koruma modu etkinleştirildiğinde işaret, MAC özel adres döndürme sıklığını 24 saatte bir olacak şekilde azaltmalıdır. Reklamı yapılan kısa ömürlü tanımlayıcı, her zamanki gibi değişmeye devam etmelidir. Ç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 takibe karşı koruma anahtarıyla eşleşiyor.
  • Karma oluşturulmuş kısa ömürlü kimlik anahtarı, mevcut kısa ömürlü kimlik anahtarıyla eşleşiyor.

Sağlayıcı, FHN sinyali olarak sağlanmamışsa veya doğrulama başarısız olursa Sağlayıcı, kimliği doğrulanmamış bir hata döndürür.

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

Başarılı olursa Sağlayıcı, 0x07 veya 0x08 veri kimliğine sahip 6. tablodaki bir yanıtla bildirir.

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) öğesinin ilk 8 baytı olarak tanımlanır.

Reklam çerçeveleri

Sağlama işleminden sonra Sağlayıcı'nın FHN çerçevelerini en az 2 saniyede bir kez yayınlaması beklenir. Hızlı Eşleme çerçeveleri reklamı yapılıyorsa Sağlayıcı, FHN çerçevelerini normal Hızlı Eşleme reklamlarına yerleştirmelidir. Örneğin, Sağlayıcı her iki saniyede yedi Fast Pair reklamı ve bir FHN reklamı yayınlamalıdır.

FHN reklamları için yapılan Bluetooth iletim gücü en az 0 dBm olarak ayarlanmalıdır.

FHN çerçevesi, kitle kaynaklı ağa katkıda bulunan tüm destekleyici istemciler tarafından konum raporlarını şifrelemek için kullanılan bir ortak anahtar taşır. İki tür eliptik eğri anahtarı vardır: eski BLE 4 çerçevelerine uyan 160 bitlik anahtar veya genişletilmiş reklamcılık özelliklerine sahip BLE 5 gerektiren 256 bitlik anahtar. Hangi eğrinin kullanılacağını Sağlayıcı'nın uygulaması belirler.

Bir FHN çerçevesi aşağıdaki gibi yapılandırılır.

Sekizlik Değer Açıklama
0 0x02 Uzunluk
1 0x01 İşaretler veri türü değeri
2 0x06 Bayrak 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 izlemeye karşı koruma modu göstergesi içeren FHN çerçeve türü
8..27 20 baytlık kısa ömürlü tanımlayıcı
28 Karma oluşturulmuş işaretler

Tablo 8: 160 bitlik bir eğriyi destekleyen FHN çerçevesi.

Tablo 9'da, 256 bitlik bir eğri için bayt uzaklıkları ve değerleri gösterilmektedir.

Sekizlik Değer Açıklama
0 0x02 Uzunluk
1 0x01 İşaretler veri türü değeri
2 0x06 Bayrak 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 izlemeye karşı koruma modu göstergesi içeren FHN çerçeve türü
8..39 32 baytlık kısa ömürlü tanımlayıcı
40 Karma oluşturulmuş işaretler

Tablo 9: 256 bitlik bir eğriyi destekleyen FHN çerçevesi.

Kısa ömürlü tanımlayıcı (EID) hesaplama

Aşağıdaki veri yapısı, geçici kimlik anahtarıyla AES-ECB-256 kullanılarak şifrelenerek rastgele bir sayı oluşturulur:

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

Tablo 10: Sözde rastgele sayı oluşturma.

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

Hesaplamanın geri kalanında, SECP160R1 veya SECP256R1, eliptik eğri kriptografik işlemleri için kullanılır. Fp, n ve G değerlerini tanımlayan SEC 2: Recommended Elliptic Curve Domain Parameters bölümündeki eğri tanımlarına bakın.

r' artık r = r' mod n hesaplanarak sonlu alan Fp'a yansıtılıyor. Son olarak, kullanılan genel anahtarı temsil eden eğri üzerindeki bir nokta olan R = r * G değerini hesaplayın. Beacon, geçici tanımlayıcısı olarak Rx reklamını yapar. Bu, R öğesinin x koordinatıdır.

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

Karma oluşturulmuş işaretler alanı aşağıdaki gibi hesaplanır (bitler en anlamlıdan en az anlamlıya doğru referans alınır):

  • Bit 0-4: Ayrılmış (sıfır olarak ayarlanır).
  • 5-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 (pili yakında değiştirmeniz gerekiyor)
  • Beacon istenmeyen izlemeye karşı koruma modundaysa 7. bit 1, aksi takdirde 0 olarak ayarlanır.

Bu baytın son değerini oluşturmak için SHA256(r) değerinin en az anlamlı baytı ile XOR işlemi yapılır.

r'nin eğrinin boyutuyla uyumlu olması gerektiğini unutmayın. Gösterimi 160 veya 256 bit'ten kısaysa en anlamlı bitler olarak sıfır ekleyin ya da gösterimi 160 veya 256 bit'ten büyükse en anlamlı bitler kesilmelidir.

Beacon, pil seviyesi göstergesini desteklemiyorsa ve istenmeyen izlemeye karşı koruma modunda değilse bu baytın reklamdan tamamen çıkarılmasına izin verilir.

EID ile şifreleme

Bir mesajı şifrelemek m için gözlemci (işaretten Rx okumuş olan) şunları yapar:

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

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

EIK'ye ve rotasyon dönemi üssüne sahip olan sahibin istemcisi, mesajı aşağıdaki şekilde çözer:

  1. URx değeri verildiğinde URx değerinin temel alındığı işaretçi zaman sayacı değerini alın. Bu işlem, son geçmiş ve yakın gelecekteki işaretçi zamanı sayaç değerleri için sahibin istemci bilgisayarının Rx değerleri kullanılarak yapılabilir.
  2. URx değerinin dayandığı işaretçi zaman sayacı değeri göz önüne alındığında, r değerinin beklenen değerini EID hesaplama bölümünde tanımlandığı şekilde hesaplayın.
  3. R = r * G değerini hesaplayın ve gözlemci tarafından sağlanan URx değeriyle eşleşip eşleşmediğini doğrulayın.
  4. Eğri denkleminde yerine koyma işlemi yaparak ve olası sonuçlar arasından rastgele bir Sy değeri seçerek S = (Sx, Sy) değerini hesaplayın.
  5. k = HKDF-SHA256((r * S)x) değerini hesaplayın. Burada (r * S)x, eğri çarpma işleminin sonucunun x koordinatıdır.
  6. İşlem nonce = LRx || LSx.
  7. İşlem m = AES-EAX-256-DEC(k, nonce, m’, tag).

Kimlik rotasyonu

FHN çerçevelerinin reklamı için çözümlenebilir (RPA) veya çözümlenemeyen (NRPA) bir BLE adresi kullanılmalıdır. RPA, LE Audio (LEA) cihazları için gereklidir ve bağlama kullanmayan konum belirleme etiketleri hariç diğer cihazlar için önerilir.

Fast Pair reklamı, FHN reklamı ve ilgili BLE adresleri aynı anda döndürülmelidir. Rotasyon ortalama olarak her 1.024 saniyede bir gerçekleşmelidir. Beacon'ın yeni tanımlayıcının reklamını yapmaya başladığı nokta, pencere içinde rastgele belirlenmelidir.

Rotasyon süresini rastgele hale getirmek için önerilen yaklaşım, süreyi bir sonraki beklenen rotasyon süresine (rastgeleleştirme uygulanmadıysa) artı 1 ila 204 saniye arasında pozitif bir rastgeleleştirilmiş süre faktörüne ayarlamaktır.

Cihaz, istenmeyen takibe karşı koruma modundayken FHN reklamının BLE adresi sabit olmalıdır ancak FP'nin bulunamayan reklamı (ör. Hızlı Eşleme) için RPA dönmeye devam etmelidir. Farklı protokoller için farklı adresler kullanabilirsiniz.

Güç kaybından kurtarma

Geçici tanımlayıcının çözümlenmesi, reklamın gösterildiği sırada saat değeriyle yakından ilişkilidir. Bu nedenle, güç kaybı olursa sağlayıcının saat değerini kurtarabilmesi önemlidir. Sağlayıcının, mevcut saat değerini günde en az bir kez kalıcı olmayan belleğe yazması ve başlatma sırasında NVM'yi kontrol ederek başlatılacak bir değerin olup olmadığını görmesi önerilir. Geçici tanımlayıcı çözümleyicileri, hem makul saat sapmasına hem de bu tür güç kaybı kurtarmasına izin verecek kadar uzun bir zaman aralığında çözümleme uygular.

Çözüm süresi sınırlı olduğundan sağlayıcılar, saat kaymalarını en aza indirmek için tüm çabayı göstermelidir. En az bir ek saat senkronizasyonu yöntemi uygulanmalıdır (bulunabilir olmayan Fast Pair çerçevelerinin reklamını yapma veya mesaj akışını uygulama).

Hızlı Eşleme uygulama yönergeleri

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

Konum etiketiyle ilgili özel yönergeler

  • Sağlayıcı eşleştirildiyse ancak 5 dakika içinde FHN sağlanmadıysa (veya cihaz eşleştirilmiş ancak FHN sağlanmamışken 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 FHN sağlanana veya 5 dakika geçene kadar MAC adresini değiştirmemelidir.
  • Geçici kimlik anahtarı cihazdan temizlenirse cihazın fabrika ayarlarına sıfırlanması ve depolanan hesap anahtarlarının da temizlenmesi gerekir.
  • Sağlayıcı, normal Bluetooth eşleme girişimlerini reddetmeli ve yalnızca Fast Pair eşlemeyi 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, read beacon parameters bir sonraki çağrılana kadar bulunamayan Hızlı Eşleme çerçevelerini yayınlamalıdır. Bu sayede, önemli bir saat sapması olsa bile Arayan, cihazı algılayabilir ve saati senkronize edebilir.
  • Bulunabilir olmayan Hızlı Eşleme çerçevelerinin reklamı yapılırken kullanıcı arayüzü göstergeleri etkinleştirilmemelidir.
  • Hızlı Eşleme'de bulunabilen çerçeveler, Sağlayıcı FHN için sağlandığı sırada reklamı yapılmamalıdır.
  • Sağlayıcı, kimlik bilgilerini kimlik doğrulaması yapılmamış bir şekilde (ör. adlar veya tanımlayıcılar) ifşa etmemelidir.

Klasik Bluetooth cihazına özel yönergeler

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

Zaten eşlenmiş cihazların FHN temel hazırlığı

Sağlayıcı, Arayan ile eşleştirilirken her zaman FHN için sağlanmaz ancak bir süre sonra sağlanır. Bu durumda, Sağlayıcı'nın GATT bağlantısı kurmak için gerekli olan güncel bir BLE MAC adresi olmayabilir. Sağlayıcı, Arayan'ın zaten eşlenmiş durumdayken BLE adresini alması için aşağıdaki yöntemlerden en az birini desteklemelidir:

  • Sağlayıcı, Arayan'ın BLE taramasıyla BLE adresini bulmasını sağlayan Fast Pair hesap verilerini düzenli olarak tanıtabilir.
    Bu yaklaşım, ileti 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ı FHN için sağlama olasılığını artırır.

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

Sağlayıcı, Hızlı Eşleme mesaj akışını uygulayabilir ve Cihaz bilgileri hakkında Arayan'ı bilgilendirmek için kullanabilir. İleti akışının uygulanması, bu bölümde açıklanan belirli özelliklerin etkinleştirilmesini sağlar.

Sağlayıcı, mesaj akışı RFCOMM kanalı her kurulduğunda bir kez cihaz bilgisi mesajları göndermelidir.

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

Bir yazılım güncellemesi, sağlayıcıya FHN desteği eklediğinde bağlı bir arayan, kullanıcıyı bu konuda bilgilendirebilir ve FHN'yi sağlamayı teklif edebilir. Aksi takdirde, kullanıcının FHN temel hazırlığını başlatmak için Bluetooth cihaz listesine manuel olarak gitmesi gerekir.

Buna izin vermek 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ı, firmware güncellemeleri nedeniyle Capability değişiklikleri hakkında Arayan'ı bilgilendiren 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üncellenen donanım yazılımı sürümü.

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

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

Tablo 12: Cihaz işlevi senkronizasyonu etkinliği: İzleme işlevi eklendi.

Geçerli geçici tanımlayıcı (cihaz bilgisi kodu 0x0B)

Sağlayıcı, FHN için sağlandığında mevcut EID ve saat değerini bildirmek, saat kayması (ör. pilin bitmesi nedeniyle) durumunda Arayan'ı senkronize etmek için geçici tanımlayıcıyı (kod 0x0B) kullanabilir. Aksi takdirde, Arayan bu amaçla 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çerli kısa ömürlü 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 SIM kimliği Örnek: 0x1122334455667788990011223344556677889900

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

Fabrika ayarlarına sıfırla

Fabrika ayarlarına sıfırlamayı destekleyen cihazlar: Fabrika ayarlarına sıfırlama işlemi gerçekleştirilirse Sağlayıcı, sinyal göndermeyi durdurmalı ve geçici kimlik anahtarını ile sahip hesabı anahtarı da dahil olmak üzere tüm depolanmış hesap anahtarlarını silmelidir.

Fabrika ayarlarına sıfırlama işleminden sonra (manuel veya programatik), kullanıcının cihazı silmesinden hemen sonra eşleme akışının başlamasını önlemek için Sağlayıcı, Fast Pair reklamını hemen yayınlamaya başlamamalıdır.

İstenmeyen takibi önleme

Sertifikalı FHN cihazları, İstenmeyen Konum Takip Cihazlarını Algılama (DULT) ile ilgili platformlar arası spesifikasyonun uygulama sürümündeki şartları da karşılamalıdır.

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

  • FHN ile uyumlu tüm cihazların Yakındaki Cihaz Konsolu'na kaydedilmesi ve "Hub'ı bul" özelliğinin etkinleştirilmesi gerekir.
  • Cihaz, DULT spesifikasyonunun uygulama sürümünde tanımlanan Accessory Non-Owner hizmetini ve özelliğini (Accessory Information işlemleri ve Non-owner controls dahil) uygulamalıdır.
  • DULT spesifikasyonunda tanımlandığı şekilde, geriye dönük uyumluluk döneminde bu belgede tanımlanan reklamı yapılan çerçevede herhangi bir değişiklik yapılmaz.
  • Bu belgede tanımlanan "istenmeyen izlemeye karşı koruma modu", DULT spesifikasyonunda tanımlanan "ayrılmış durum" ile eşleşir.
  • Accessory Information (Aksesuar Bilgileri) işlem kodlarını uygulama kuralları:
    • Get_Product_Data, konsol tarafından sağlanan ve 8 baytlık koşula uyacak şekilde sıfırlarla doldurulmuş model kimliğini 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, başka bir kategori cihaz türüne daha iyi uymuyorsa genel "Konum Takibi" değerini döndürebilir.
    • Get_Accessory_Capabilities, zilin çalınması 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 opcode'unu uygulama yönergeleri:
    • İşlem, kullanıcının "tanımlama" modunu etkinleştirmesinden sonra yalnızca 5 dakika boyunca geçerli bir yanıt döndürmelidir. Bu mod, düğmelere belirli bir sırayla basılmasını gerektirir. Görsel veya işitsel bir sinyal, kullanıcının sağlayıcının bu moda girdiğini anlamasını sağlamalıdır. Bu modun etkinleştirilmesiyle ilgili modele özgü talimatlar, sertifika için zorunlu olarak ve talimatlarda yapılacak herhangi bir güncelleme veya değişiklikten en az 10 gün önce Google'a sağlanmalıdır.
    • Yanıt şu şekilde oluşturulur: Geçici tanımlayıcının ilk 10 baytı ve ardından HMAC-SHA256(recovery key, the truncated current ephemeral identifier)'nın ilk 8 baytı.
  • NFC üzerinden tanımlayıcı uygulama yönergeleri:
    • URL olarak find-my.googleapis.com/lookup adresini kullanın.
    • e parametresi olarak, Get_Identifier için oluşturulan yanıtı onaltılık kodlanmış şekilde kullanın.
    • pid parametresi olarak, Get_Product_Data için oluşturulan yanıtı onaltılık kodlanmış şekilde kullanın.
  • Cihazda ses çıkarıcı bulunması ve zil çalma işlevinin desteklenmesi zorunludur. DULT spesifikasyonuna göre, ses üreticinin ISO 532-1:2017'de tanımlandığı şekilde en az 60 fonluk tepe ses yüksekliğine sahip bir ses yayması gerekir.
  • Sound_Start opcode'unu uygulama yönergeleri:
    • Komut, mevcut tüm bileşenlerde zil çalmayı tetiklemelidir.
    • Desteklenen maksimum hacim kullanılmalıdır.
    • Zilin çalması için önerilen süre 12 saniyedir.
  • Bulucu etiketleri, kullanıcıların cihazı fabrika ayarlarına sıfırlamadan reklamları geçici olarak durdurmasına olanak tanıyan bir mekanizma içermelidir (örneğin, bir düğme kombinasyonuna basma).
    • Devre dışı bırakma talimatları, herkese açık bir URL'de belgelenmeli ve sertifika için bir koşul olarak Google'a sağlanmalıdır. Ayrıca, talimatlarda yapılacak herhangi bir güncelleme veya değişiklikten en az 10 gün önce sağlanmalıdır.
    • URL, yerelleştirmeyi desteklemelidir. İstemciye bağlı olarak dil, sorgu parametresi ("hl=en") 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 birden fazla ağın çalışmadığından emin olun. Bu koşul, 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 zorunlu sıfırlama iş akışı eklenmesi önerilir.
  • Bir cihazın ağa güncellenmesi süreci kullanıcı dostu olmalı ve ağlar arasında eşitlik sağlanmalıdır. Kullanıcı, ağlardan birine öncelik vermeden hangi ağı kullanmak istediğini seçebilmelidir. Bu akışın Google ekibi tarafından onaylanması gerekir.

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ışı kullanılarak yönetilmelidir.

Hızlı Eşleme, kullanıcılara bildirim göndermeyi ve mevcut OTA güncellemeleri hakkında bilgi vermeyi destekler. Bu mekanizmayı kullanmak için:

İzlemeyi önlemek için Firmware revision (Donanım yazılımı sürümü) özelliğine erişim kısıtlanmalıdır. Seeker, önce sağlama durumunu okuyacak ve bu spesifikasyonda tanımlandığı gibi bir kimlik doğrulama anahtarı sağlayacak, ardından yalnızca bellenim revizyonunu okuyacaktır. Bu işlem aynı bağlantı üzerinden yapılır. Donanım yazılımı sürümünü okuma girişimi yapılırsa ve Sağlayıcı bağlı değilse veya aynı bağlantı üzerinden kimliği doğrulanmış bir işlem başarıyla tamamlanmadıysa Sağlayıcı, kimliği doğrulanmamış bir hata döndürmelidir.

Uyumluluk

Cihaz Takip Merkezi ağını kullanmak için konum hizmetleri 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üğü

FHN Sürümü Tarih Yorum
v1 Erken erişim için FHN spesifikasyonunun ilk sürümü.
v1.1 Feb 2023
  • İstenmeyen takibe karşı koruma modunun açık metin göstergesi eklendi.
  • İstenmeyen takip koruması modundayken zil çalma isteklerinin kimlik doğrulamasını atlama seçeneği eklendi.
v1.2 Nisan 2023
  • Sahibin AK'sinin tanımı güncellendi.
  • Bulucu etiketlerinde güç kaybından kurtulmayla ilgili bir öneri eklendi.
  • MAC adresi rastgeleleştirme ile ilgili açıklama eklendi.
  • İstenmeyen izlemeye karşı koruma modundayken MAC adresi döndürme hakkında açıklama eklendi.
  • Bulucu etiketini devre dışı bırakma yöntemiyle ilgili bir yönerge eklendi.
v1.3 Aralık 2023
  • Konum belirleme etiketleri tarafından açığa çıkarılan tanımlayıcı bilgiler hakkında açıklama eklendi.
  • İstenmeyen izlemeyi önleme spesifikasyonunun uygulanması şartı eklendi.
  • Değiştirilebilir protokol cihazlarıyla ilgili yönergeler eklendi.