Hızlı Eşleme Hizmeti

Hızlı Eşleme Sağlayıcı, aşağıdaki özellikleri içeren Hızlı Eşleme Hizmeti'ni (UUID 0xFE2C) uygulamalıdır.

Ad Şifrelenmiş İzinler UUID Zorunlu mu?
Model kimliği Hayır Okuma FE2C1233-8366-4814-8EB0-01DE32100BEA Zorunlu
Anahtar tabanlı eşleme Hayır Yaz ve bildir FE2C1234-8366-4814-8EB0-01DE32100BEA Zorunlu
Geçiş anahtarı Hayır Yaz ve bildir FE2C1235-8366-4814-8EB0-01DE32100BEA Zorunlu
Hesap anahtarı Hayır Yazma FE2C1236-8366-4814-8EB0-01DE32100BEA Zorunlu
Ek Veriler Hayır Yaz ve bildir FE2C1237-8366-4814-8EB0-01DE32100BEA *C1
Mesaj Akışı PSM'si Evet Okuma FE2C1239-8366-4814-8EB0-01DE32100BEA *C2
Ek Geçiş Anahtarı Hayır Okuma, yazma ve bildirim gönderme FE2C123A-8366-4814-8EB0-01DE32100BEA *C3
FP Cihaz İşlemi Hayır Yaz ve bildir FE2C123B-8366-4814-8EB0-01DE32100BEA *C4

Koşullu zorunlu

Özellik: Model Kimliği

Bu özellik, cihaz bulunabilir modda bildirme yaparken Araştırıcı'nın model kimliğini gerektiği gibi okumasına olanak tanır. Her zaman aşağıdaki verileri döndürmelidir:

Sekizli Veri türü Açıklama Değer
0 - 2 uint24 Model Kimliği değişir

Özellik: Anahtar Tabanlı Eşleme

Bu özellik, anahtar tabanlı eşleme prosedürünü kontrol eder. Bu prosedürde, Arayan ve Sağlayıcı'nın önceden paylaşılan bir anahtara sahip olduğu doğrulanarak belirli bir güven düzeyi oluşturulur. Anahtar her durumda farklıdır:

  • 1. Durum: Önceden paylaşılan anahtar, kimlik sahtekarlığına karşı koruma ortak/özel anahtar çiftini ve Arayıcı'nın her eşleme denemesinde değişecek olan kendi ortak/özel anahtar çiftini temel alır.

    • Sağlayıcı, eşleme modundadır.
    • Arayan, Sağlayıcı'nın adres sahteciliğini önleme özel anahtarına sahip olduğunu doğrular.

    Sağlayıcı, eşleme modundayken her zamanki yöntemle de eşleme yapabilir. Örneğin, Hızlı Eşleme'nin anahtar tabanlı eşleme özelliğini desteklemeyen bir cihazla eşleme yapabilir.

  • 2. durum: Önceden paylaşılan anahtar, hesap anahtarlarından biridir.

    • Sağlayıcı genellikle eşleme modunda değildir. (Ancak bu bir zorunluluk değildir. Sağlayıcı, eşleme modundayken bile hesap anahtarı kullanımını desteklemelidir.)
    • Arayan ve Sağlayıcı, diğer tarafın hesap anahtarına sahip olduğunu doğrular.

Kullanılan önceden paylaşılan anahtar dışında her iki durum da son derece benzer olduğundan prosedür bölümünde birleştirilmiştir.

Veri Biçimi

Her biçimin nasıl kullanıldığını öğrenmek için prosedürü inceleyin.

Sekizli Veri türü Açıklama Değer Zorunlu mu?
0 - 15 uint128 Şifrelenmiş İstek değişir Zorunlu
16 - 79 Ortak Anahtar değişir İsteğe bağlı

Tablo 1.1: Arayıcı tarafından özelliğe yazılan Şifrelenmiş İstek.

Sekizli Veri türü Açıklama Değer Zorunlu mu?
0 uint8 Mesaj türü 0x00 = Anahtar Tabanlı Eşleme İsteği Zorunlu
1 uint8 İşaretler
  • Bit 0 (MSB): Desteği sonlandırıldı ve Seeker tarafından yoksayılıyor.
  • Bit 1: Arayıcı, Sağlayıcı'nın bağlanma işlemini başlatmasını isterse ve bu istekte Arayıcı'nın BR/EDR adresi varsa 1. Aksi takdirde 0 değerini döndürür.
  • Bit 2: Arayan, Sağlayıcı'nın mevcut adı bildirmesini isterse 1. Aksi takdirde 0 değerini döndürür.
  • Bit 3: Hesap anahtarını geriye dönük olarak yazma içinse 1. Aksi takdirde 0 değerini döndürür.
  • Bit 4: Arayıcı, BLE Cihazı'nı destekliyorsa 1. Aksi takdirde 0 değerini döndürür.
  • Bit 5: Arayan, LE Audio'yu destekliyorsa 1. Aksi takdirde 0 değerini döndürür.
  • 6 ve 7. bitler gelecekte kullanılmak üzere ayrılmıştır ve yoksayılmalıdır.
değişir Zorunlu
2 - 7 uint48 Şu yöntemlerden birini kullanın:
  • Sağlayıcının mevcut BLE adresi
  • Sağlayıcının kimlik adresi
değişir Zorunlu
8 - 13 uint48 Arayıcının BR/EDR Adresi değişir Yalnızca İşaretler Bit 1 veya 3 ayarlanmışsa gösterilir
n - 15 Rastgele değer (salt) değişir Zorunlu

Tablo 1.2.1: Ham İstek (tür 0x00). Tablo 1.1'deki Şifrelenmiş İstek'ten şifresi çözülmüştür.

Sekizli Veri türü Açıklama Değer Zorunlu mu?
0 uint8 Mesaj türü 0x10 = İşlem İsteği Zorunlu
1 uint8 İşaretler değişir Zorunlu
2 - 7 uint48 Şu yöntemlerden birini kullanın:
  • Sağlayıcının mevcut BLE adresi
  • Sağlayıcının kimlik adresi
değişir Zorunlu
8 uint8 Mesaj grubu değişir İşaretler Bit 0 ayarlanmışsa zorunludur.
9 uint8 Mesaj kodu değişir İşaretler Bit 0 ayarlanmışsa zorunludur.
10 uint8 İşaretlere bağlıdır:
  • Bit 0 ayarlandı: Ek veri uzunluğu, 6'dan az
  • 1. bit ayarlandı: Veri kimliği
değişir İşaretler Bit 0 veya 1 ayarlanmışsa zorunludur.
11 - n Ek veriler değişir İsteğe bağlı
n - 15 Rastgele değer (salt) değişir Zorunlu

Tablo 1.2.2: Ham İstek (tür 0x10). Tablo 1.1'deki Şifrelenmiş İstek'ten şifresi çözülmüştür.

Sekizli Veri türü Açıklama Değer
0 uint8 Mesaj türü 0x01 = Anahtar Tabanlı Eşleme Yanıtı
1 - 6 uint48 Sağlayıcının herkese açık (BR/EDR) adresi değişir
7 - 15 Rastgele değer (salt) değişir

Tablo 1.3: Ham Yanıt (0x01 türü). Tablo 1.4'te Şifrelenmiş Yanıt'ı oluşturmak için şifrelenir.

Sekizli Veri türü Açıklama Değer
0 uint8 Mesaj türü 0x02 = Key-based Pairing Extended Response
1 uint8 İşaretler
  • Bit 0 (MSB): Sağlayıcı yalnızca LE cihazıysa 1, aksi takdirde 0. 0 biti 1 olarak ayarlanırsa Seeker, 1 bitinin 1 olarak ayarlandığını varsayar.
  • Bit 1: Sağlayıcı LE bağlamayı tercih ediyorsa 1, aksi takdirde 0.
  • Bit 2: İkinci adresin adres türü Rastgele ise 1, Herkese Açık ise 0.
  • Bit 3 - 7, gelecekte kullanılmak üzere ayrılmıştır ve yoksayılmalıdır.
değişir
2 uint8 Sağlayıcının adreslerinin sayısı
Geçerli değerler 1 ve 2'dir.
değişir
3-8 veya
3-14
  • İlk adres, birincil cihazın kimlik adresi olmalıdır ve BR/EDR eşleme tercih edilirse bağlanabilir olmalıdır.
  • İkinci adres, ikincil adres mevcutsa ikincil adresin bağlanabilir adresi olmalıdır.
değişir
9-15 veya 15 Rastgele değer (salt) değişir

Tablo 1.3.2: Ham Yanıt (0x02 türü). Tablo 1.4'te Şifrelenmiş Yanıt'ı oluşturmak için şifrelenir.

Sekizli Veri türü Açıklama Değer
0 -15 uint128 Şifrelenmiş Yanıt değişir

Tablo 1.4: Sağlayıcı tarafından Arayıcı'ya bildirim yoluyla gönderilen Şifrelenmiş Yanıt.

Özellik: Geçiş anahtarı

Bu özellik, Anahtar Tabanlı Eşleme prosedürü sırasında kullanılır.

Sekizli Veri türü Açıklama Değer
0 - 15 uint128 Şifrelenmiş geçiş anahtarı bloğu değişir

Tablo 2.1: Şifrelenmiş Geçiş Anahtarı Bloğu. Kullanım için Anahtar Tabanlı Eşleme prosedürüne bakın.

Sekizli Veri türü Açıklama Değer
0 uint8 Mesaj türü Şu seçeneklerden biri:
  • 0x02 = Arayanın Geçiş Anahtarı
  • 0x03 = Sağlayıcının Geçiş Anahtarı
1 - 3 unit32 6 basamaklı geçiş anahtarı değişir
4 - 15 Rastgele değer (salt) değişir

Tablo 2.2: Ham Geçiş Anahtarı Bloğu. Tablo 2.1'in şifresi çözülmüş sürümü.

Özellik: Hesap Anahtarı

Eşleme işleminden sonra Hızlı Eşleme Arayıcısı, Hızlı Eşleme Sağlayıcısı'na bir hesap anahtarı yazar.

Sekizli Veri türü Açıklama Değer
0 - 15 uint128 Hesap anahtarı (şifrelenmiş) değişir

Yazma isteği alan Hızlı Eşleme Sağlayıcı aşağıdakileri yapmalıdır:

  1. Prosedürdeki 4. adımda oluşturulan paylaşılan gizli anahtarı kullanarak hesap anahtarının şifresini çözün.
    • Teminat gerektiren sağlayıcılar için (yaygın):
      • Şifre çözme işleminden önce, 12. adımdaki geçiş anahtarı isteğinin şifresini çözmek için paylaşılan gizli anahtarın kullanıldığını doğrulayın. Bu adım bu gizli anahtar kullanılarak geçilmediyse bu yazma işlemini yoksayın ve çıkın.
    • Bu noktada, paylaşılan gizli anahtar (prosedürde K) bu eşleme için tekrar kullanılmaz. Prosedür yeniden başlatılmadan bu anahtarla şifrelenmiş olarak gelen tüm istekler reddedilmelidir.
  2. Şifresi çözülen değerin 0x04 veya 0xFF ile başladığını doğrulayın. Eşleşmiyorsa bu yazma işlemini yoksay ve çık.
    • Değer 0x04 ise:
      • Kalıcı Hesap Anahtarı listesinde yeni değer için yer olup olmadığını kontrol edin.
      • Değilse en eski değeri listeden silin.
      • Yeni değeri listeye ekleyin.
    • Değer 0xFF ise:
      • Bu oturumu geçici bir eşleme oturumu olarak değerlendirin ve herhangi bir işlem yapmayın.
      • Bu durum, Hesap anahtarını geriye dönük olarak yazma akışında yaşanabilir.
      • Anahtarı saklamayın ve Hesap Anahtarı listesinde, şifrelemede veya MAC hesaplamalarında kullanmayın.
      • Bağ kaldırma işlemi, özelliğe özel bir etkinlik veya zaman aşımı ile tetiklenir. LE Ses Paylaşımı için, geçici oturumun bağlantısı kesildikten 10 dakika sonra BLE bağının ve bağlantı anahtarının kaldırılması önemle tavsiye edilir.

Listedeki hesap anahtarları, anahtar tabanlı eşleme sırasında kullanılır.

Özellik: Ek Veriler

Bu hizmet aşağıdaki özelliklere sahip olmalıdır.

Hızlı Eşleme Hizmeti özelliği Şifrelenmiş İzinler UUID
Veriler Hayır Yaz ve bildir FE2C1237-8366-4814-8EB0-01DE32100BEA
Eski Hızlı Eşleme Hizmeti özelliği (2021/1/1 tarihinde desteği sonlandırılacak) Şifrelenmiş İzinler UUID
Veriler Hayır Yaz ve bildir 0x1237

Bu özelliğe yazmadan veya bildirim göndermeden önce, paylaşılan bir gizli anahtara sahip olmak için FE2C1234-8366-4814-8EB0-01DE32100BEA özelliği aracılığıyla el sıkışma yapılmalıdır. Bu özellik üzerinden akan verileri şifrelemek için AES-CTR kullanılır. Bu algoritma aşağıda tanımlanmıştır. Bu mod, tek bir 16 baytlık bloktan daha büyük verilerde daha güvenlidir. Veri bütünlüğünü sağlamak için HMAC-SHA256 kullanılır. Bu da aşağıda tanımlanmıştır.

Sekizli Açıklama Değer
0 - 7 HMAC-SHA256'nın ilk 8 baytı. değişir
8 - 15 AES-CTR şifrelemesi tarafından kullanılan tek seferlik rastgele sayı. değişir
16 - var Şifrelenmiş veriler. değişir

Tablo 3.1: Sağlayıcı tarafından bildirim yoluyla Arayıcı'ya gönderilen veya Arayıcı tarafından yazma yoluyla Sağlayıcı'ya gönderilen veri paketi.

Sekizli Veri türü Açıklama Değer
0 - var byte array Veriler değişir, Tablo 1.2.2'deki Veri Kimliği'ne göre kodu çözün:
  • 0x01(personalized name): utf8s

Tablo 3.2: Ham veri. Tablo 3.1'deki şifrelenmiş verilerden şifresi çözülmüştür.

Bildirim istendiğinde (ör. Tablo 1.2.1'deki Bit 2 aracılığıyla kişiselleştirilmiş ad isteği) Hızlı Eşleme Sağlayıcı aşağıdakileri yapmalıdır:

  1. Tek seferlik rastgele sayı için kriptografik olarak rastgele 8 bayt oluşturun.
  2. Her 16 baytlık bloğun aşağıdaki yöntemle oluşturulduğu AES-CTR'yi kullanarak verileri şifreleyin:

    encryptedBlock[i] = clearBlock[i] ^ AES(key, concat((uint8) i, 0x00000000000000, nonce))
    

    burada

    1. AES anahtarı, prosedürdeki 4. adımda paylaşılan gizli anahtardır.
    2. clearBlock[i], data[i * 16] ile başlayan 16 baytlık bir bloktur. Son blok 16 bayttan az olabilir.
  3. Şifrelenmiş verileri oluşturmak için concat(encryptedBlock[0], encryptedBlock[1],...) işlemini gerçekleştirin.

  4. HMAC-SHA256'yı oluşturmak için

    sha256(concat((K ^ opad), sha256(concat((K ^ ipad), concat(nonce, encrypted_data)))))
    

    burada

    1. K, concat(shared_secret, 48-byte ZEROs) tarafından oluşturulur. shared_secret, prosedürdeki 4. adımdan alınır.
    2. opad, 0x5C değerine sahip yinelenen baytlardan oluşan 64 baytlık dış dolgudur.
    3. ipad, 0x36 değerine sahip yinelenen baytlardan oluşan 64 baytlık iç dolgudur.
  5. HMAC-SHA256'dan ilk 8 baytı veri paketinin ön eki olarak alın.

Yazma isteği alan Hızlı Eşleme Sağlayıcı aşağıdakileri yapmalıdır:

  1. HMAC-SHA256'nın ilk 8 baytını kontrol ederek verilerin bütünlüğünü doğrulayın.
  2. AES-CTR kullanarak şifrelenmiş verilerin şifresini çözün. Her blok,

    clearBlock[i] = encryptedBlock[i] ^ AES(key, concat((uint8) i, 0x00000000000000, nonce))
    

    burada

    1. encryptedBlock[i], encrypted_data[i * 16] ile başlayan 16 baytlık bir bloktur. Son blok 16 bayttan küçük olabilir.
    2. AES anahtarı, el sıkışma işleminden oluşturulur veya tanımlanır. Örneğin:
      1. Adlandırma akışı 1'de ECDH'den gelir ve bu eşleme için tekrar kullanılmaz. Prosedür yeniden başlatılmadan bu anahtarla şifrelenmiş olarak gelen tüm istekler reddedilmelidir.
      2. Adlandırma akışı 2'de ise hesap anahtarıdır.
  3. Ham verileri oluşturmak için concat(clearBlock[0], clearBlock[1],...) işlemini gerçekleştirin.

Özellik: Mesaj Akışı PSM

BLE Cihazı: Mesaj Akışı PSM'si bölümüne bakın.

Özellik: Ek Geçiş Anahtarı

BLE Cihazı: Ek Geçiş Anahtarı bölümüne bakın.

Özellik: FP Cihaz İşlemi

Hızlı Eşleme Hizmeti özelliği Şifrelenmiş İzinler UUID
FP Cihaz İşlemi Hayır Yaz ve bildir FE2C123B-8366-4814-8EB0-01DE32100BEA

Sekizli Açıklama Değer
0 - 7 HMAC-SHA256'nın ilk 8 baytı. değişir
8 - 15 AES-CTR şifrelemesi tarafından kullanılan tek seferlik rastgele sayı. değişir
16 - var Şifrelenmiş veriler. değişir

Tablo 4.1: Sağlayıcı tarafından Arayıcı'ya bildirim olarak veya Arayıcı tarafından Sağlayıcı'ya yazma olarak gönderilen veri paketi.

Sekizli Veri türü Açıklama Değer
0 - var byte array İşlem İsteği Şunlardan biri:
  • Kişiselleştirilmiş Adı Okuma, 0x01
  • Kişiselleştirilmiş adı yazın, Tablo 4.3.1'e bakın.
  • Koordineli Set Bilgilerini Okuma, 0x02
  • Cihaz Özelliklerini Okuma, 0x03

Tablo 4.2: Ham veri. Arayan tarafından Sağlayıcı'ya yazma olarak gönderilen Tablo 4.1'deki şifrelenmiş verilerden şifresi çözülür.

Sekizli Veri türü Açıklama Değer
0 - var byte array İşlem Yanıtı Şunlardan biri:
  • Kişiselleştirilmiş Ad, Tablo 4.3.1'e bakın.
  • Koordineli Set Bilgileri için Tablo 4.3.2'ye bakın.
  • Cihaz Özellikleri, Tablo 4.3.3'e bakın.
  • Hata kodu
    • 0x80 (Desteklenmeyen İstek)
    • 0x81 (Geçersiz İstek)

Tablo 4.3: Ham veri. Sağlayıcı tarafından Arayan'a bildirim olarak gönderilen Tablo 4.1'deki şifrelenmiş verilerden şifresi çözülmüş.

Sekizli Veri türü Açıklama Değer
0 uint8 İşlem kimliği 0x01
1 - var utf8s Kişiselleştirilmiş Ad değişir

Tablo 4.3.1: Kişiselleştirilmiş Ad Biçimi

Sekizli Veri türü Açıklama Değer
0 uint8 İşlem kimliği 0x02
1 uint8 Hızlı Eşleme Koordineli Set Üye Türü
  • 0x00: sol bileşen
  • 0x01: sağ bileşen
2 uint8 Takımdaki Ürün Adedi bileşen sayısı
3 uint8 Kimlik Çözümleme Anahtarı Türünü Ayarlama 0x01 (Düz Metin SIRK)
4 - 19 uint128 Kimlik Çözümleme Anahtar Değerini Ayarlama 16 baytlık veri, Koordineli Set Tanımlama Hizmeti'ne bakın.

Tablo 4.3.2: Koordineli Küme Bilgileri Biçimi

Sekizli Veri türü Açıklama Değer
0 uint8 İşlem kimliği 0x03
1 - 2 uint16 Cihaz Özellikleri
  • 0-15 bitleri: ayrılmış, 0 olarak ayarlanmalıdır

Tablo 4.3.3: Cihaz Özellikleri Biçimi

Hızlı Eşleme İşlemleri

Bu özellik için iki ana işlem tanımlanmıştır

  • Hızlı Eşleme Okuma: Sağlayıcı'dan veri okuma
    1. Arayıcı: GATT Bildirimini Etkinleştirme
    2. Sağlayıcı: GATT bildirimi kaydedildi
    3. Arayan: GATT Yazma İsteği, ham veriler yalnızca Action ID içeriyor
    4. Sağlayıcı: GATT Yazma Yanıtı
    5. Sağlayıcı: GATT Bildirimi, ham veriler şunları içerir:
      • İşlem kimliği
      • İşlem kimliği verileri
    6. Arayıcı: GATT bildirimi alındı
  • Hızlı Eşleme Yazma: Sağlayıcı'ya veri yazma
    1. Arayıcı: GATT Yazma İsteği, ham veriler şunları içerir:
      • İşlem kimliği
      • İşlem kimliği verileri
    2. Sağlayıcı: GATT Yazma yanıtı

Hızlı Eşleme Okuma Desteklenen İşlem Kimliği

  • 0x01 (Kişiselleştirilmiş ad)
  • 0x02 (Koordineli set bilgileri)
  • 0x03 (Cihaz özellikleri)

Hızlı Eşleme Yazma Desteklenen İşlem Kimliği

Sağlayıcı bir işlem kimliğini anlamazsa Tablo 4.3'te açıklandığı gibi Desteklenmeyen İstek (0x80) içeren bir GATT bildirimiyle yanıt verir.

Kripto Algoritması

Bildirim istendiğinde Hızlı Eşleme Sağlayıcı aşağıdakileri yapmalıdır:

  1. Tek seferlik rastgele sayı için kriptografik olarak rastgele 8 bayt oluşturun.
  2. Her 16 baytlık bloğun aşağıdaki yöntemle oluşturulduğu AES-CTR'yi kullanarak verileri şifreleyin:

    encryptedBlock[i] = clearBlock[i] ^ AES(key, concat((uint8) i, 0x00000000000000, nonce))
    

    burada

    1. AES anahtarı, prosedürdeki 4. adımda paylaşılan gizli anahtardır.
    2. clearBlock[i], data[i * 16] ile başlayan 16 baytlık bir bloktur. Son blok 16 bayttan az olabilir.
  3. Şifrelenmiş verileri oluşturmak için concat(encryptedBlock[0], encryptedBlock[1],...) işlemini gerçekleştirin.

  4. HMAC-SHA256'yı oluşturmak için

    sha256(concat((K ^ opad), sha256(concat((K ^ ipad), concat(nonce, encrypted_data)))))
    

    burada

    1. K, concat(shared_secret, 48-byte ZEROs) tarafından oluşturulur. shared_secret, prosedürdeki 4. adımdan alınır.
    2. opad, 0x5C değerine sahip yinelenen baytlardan oluşan 64 baytlık dış dolgudur.
    3. ipad, 0x36 değerine sahip yinelenen baytlardan oluşan 64 baytlık iç dolgudur.
  5. HMAC-SHA256'dan ilk 8 baytı veri paketinin ön eki olarak alın.

Yazma isteği alan Hızlı Eşleme Sağlayıcı aşağıdakileri yapmalıdır:

  1. HMAC-SHA256'nın ilk 8 baytını kontrol ederek verilerin bütünlüğünü doğrulayın.
  2. AES-CTR kullanarak şifrelenmiş verilerin şifresini çözün. Her blok,

    clearBlock[i] = encryptedBlock[i] ^ AES(key, concat((uint8) i, 0x00000000000000, nonce))
    

    burada

    1. encryptedBlock[i], encrypted_data[i * 16] ile başlayan 16 baytlık bir bloktur. Son blok 16 bayttan küçük olabilir.
    2. AES anahtarı, el sıkışma işleminden oluşturulur veya tanımlanır. Örneğin:
      1. Adlandırma akışı 1'de ECDH'den gelir ve bu eşleme için tekrar kullanılmaz. Prosedür yeniden başlatılmadan bu anahtarla şifrelenmiş olarak gelen tüm istekler reddedilmelidir.
      2. Adlandırma akışı 2'de ise hesap anahtarıdır.
  3. Ham verileri oluşturmak için concat(clearBlock[0], clearBlock[1],...) işlemini gerçekleştirin.

Cihaz Bilgileri Hizmeti

Hızlı Eşleme Sağlayıcı, Cihaz Bilgileri Hizmeti'ni de (UUID 0x180A) desteklemelidir. Hızlı Eşleme Arayıcı aşağıdaki özellikleri kullanır.

Ad Şifrelenmiş İzinler UUID
Donanım Yazılımı Sürümü Hayır Okuma 0x2A26

Özellik: Donanım Yazılımı Sürümü

Bu özellik, Seeker'ın gerektiğinde Provider'ın donanım yazılımı düzeltmesini okumasına olanak tanır. Her zaman aşağıdaki verileri döndürmelidir:

Sekizli Veri türü Açıklama Değer
0 - var utf8s Donanım yazılımı düzeltme kodu değişir

Sağlayıcıda birden fazla donanım yazılımı (ör. sol kulaklık, sağ kulaklık ve kılıf için 3 donanım yazılımı) olsa bile tek bir UTF-8 dizesinde kapsüllenmelidir. Sağlayıcı, özel durumlar için belirli dizeleri de döndürebilir:

  1. status-updating: Sağlayıcı yeni bir donanım yazılımına güncelliyorsa. Alternatif olarak sağlayıcı, hazırlanan donanım yazılımının sürümünü döndürebilir.

  2. status-abnormal: Sağlayıcı anormal bir durumdaysa kullanılır. Örneğin, donanım yazılımı güncellemesi başarısız olduğu için arızalanmış olabilir. Bu değer, Seeker'ın kullanıcıya uygulamanın hemen güncellenmesi gerektiğini bildiren bir mesaj göstermesine neden olur.

Sağlayıcı, cihaz takibini önlemek için Donanım Yazılımı Sürümü özelliğine erişimi sınırlandırmalıdır. Önerilen kısıtlamalar:

  • Bağlı cihazlar her zaman erişime sahip olmalıdır.
  • Sağlayıcı bulunabilir olduğunda tüm cihazlar erişebilmelidir.

Sağlayıcı, Cihaz Takip Merkezi'ni destekliyorsa ek uygulama gerekir. Ayrıntılar için Cihaz Takip Merkezi donanım yazılımı güncellemeleri başlıklı makaleyi inceleyin.