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:
Hesap anahtarı: Hızlı Eşleme spesifikasyonunda tanımlandığı gibi 16 baytlık Hızlı Eşleme hesap anahtarı.
Sahip hesap anahtarı: Bir Arayan ilk kez İşaretçi İşlemleri özelliğine eriştiğinde Sağlayıcı, mevcut hesap anahtarlarından birini sahip hesap anahtarı olarak seçer. Sağlayıcı fabrika ayarlarına sıfırlanana kadar seçilen sahip hesabı anahtarı değiştirilemez. Sağlayıcı, ücretsiz hesap anahtarı yuvası kalmadığında sahip hesabı anahtarını kaldırmamalıdır.
İlk kez eşlenirken FMDN'yi zaten destekleyen (veya fabrika ayarlarına sıfırlandıktan sonra eşlenirken destekleyen) sağlayıcılar, arayan eşleme sırasında temel hazırlama durumunu okurken mevcut olan tek hesap anahtarı olduğundan ilk hesap anahtarını seçer.
Eşlendikten sonra (ör. donanım yazılımı güncellemesi aracılığıyla) FMDN desteği alan sağlayıcılar, mevcut hesap anahtarlarını seçebilir. Güncellemeyi gerçekleştiren kullanıcının Sağlayıcı'nın mevcut sahibi olduğu varsayılarak, donanım yazılımı güncellemesinden sonra işaretçi işlemleri özelliğinden temel hazırlama durumunu okumak için kullanılan ilk hesap anahtarını seçmek mantıklıdır.
Geçici kimlik anahtarı (EIK): FMDN temel hazırlığı işlemini gerçekleştirirken Arayıcı tarafından rastgele seçilen 32 baytlık bir anahtardır. Bu anahtar, konum raporlarını uçtan uca şifrelemek için kullanılan kriptografik anahtarları türetmek amacıyla kullanılır. Arayan, bu bilgileri arka uçta hiçbir zaman göstermez.
Kurtarma anahtarı:
SHA256(ephemeral identity key || 0x01)
olarak tanımlanır ve ilk 8 bayta kısaltılır. Anahtar arka uçta depolanır ve kullanıcı cihazdaki bir düğmeye basarak izin vermesi koşuluyla EIK'yi kurtarmak için Arayıcı tarafından kullanılabilir.Halka anahtarı:
SHA256(ephemeral identity key || 0x02)
olarak tanımlanır ve ilk 8 bayta kısaltılır. Anahtar arka uçta saklanır ve arayan, anahtarı yalnızca cihazı çaldırmak için kullanabilir.İstenmeyen izleme koruma anahtarı:
SHA256(ephemeral identity key || 0x03)
olarak tanımlanır ve ilk 8 bayta kısaltılır. Anahtar arka uçta depolanır ve Arayıcı yalnızca istenmeyen izleme koruma modunu etkinleştirmek için bu anahtarı kullanabilir.
İş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 |
|
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 |
|
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 |
|
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 |
|
Tablo 4: Çalma isteği.
Sekizlik | Veri Türü | Açıklama | Değer |
---|---|---|---|
0 | uint8 | Veri kimliği |
|
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 |
|
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 |
|
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 |
|
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:
|
6 | uint8 | Bileşenler | Çalabilir bileşenlerin sayısı:
|
7 | uint8 | Çalma özellikleri | Desteklenen seçenekler:
|
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 - 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 - 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 |
|
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 |
|
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 |
İş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:
- EID hesaplaması bölümünde tanımlandığı gibi,
Fp
içinde rastgele bir sayıs
seçin. S = s * G
değerini hesaplayın.- Eğri denkleminde yerine koyma işlemi yaparak ve olası sonuçlardan rastgele bir
Ry
değeri seçerekR = (Rx, Ry)
değerini hesaplayın. (s * R)x
, eğri çarpım sonucununx
koordinatı olduğu 256 bit AES anahtarık = HKDF-SHA256((s * R)x)
'ü hesaplayın. Tuz belirtilmemiş.URx
veLRx
, büyük endian biçiminde sırasıylaRx
'nin üst ve alt 80 biti olsun. Benzer şekilde,S
içinUSx
veLSx
değerlerini tanımlayın.nonce = LRx || LSx
değerini hesaplayın.(m’, tag) = AES-EAX-256-ENC(k, nonce, m)
değerini hesaplayın.(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:
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öreRx
değerleri hesaplanarak yapılabilir.URx
değerinin temel aldığı işaretçi zaman sayacı değeri verildiğinde, EID hesaplaması bölümünde tanımlandığı şekilder
değerinin beklenen değerini hesaplayın.R = r * G
değerini hesaplayın ve görüntüleyen tarafından sağlananURx
değeriyle eşleştiğini doğrulayın.- Eğri denkleminde yerine koyma işlemi yaparak ve olası sonuçlardan rastgele bir
Sy
değeri seçerekS = (Sx, Sy)
değerini hesaplayın. (r * S)x
, eğri çarpımı sonucununx
koordinatı olduğuk = HKDF-SHA256((r * S)x)
değerini hesaplayın.nonce = LRx || LSx
değerini hesaplayın.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.
- URL olarak
- 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:
- En son donanım yazılımı sürümü, Yakındaki Cihaz Konsolu'nda güncellenmelidir.
- Yakındaki Cihaz Konsolu'nda bir tamamlayıcı uygulama ayarlanmalıdır. Donanım yazılımı güncelleme intent'ini desteklemelidir.
- Sağlayıcı, Donanım yazılımı revizyonu GATT özelliğini uygulamalıdır.
İ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 |
|
v1.2 | Nisan 2023 |
|
v1.3 | Aralık 2023 |
|