Bluetooth Düşük Enerji (BDE) Cihazı
BLE cihazlar için Google Hızlı Eşleme Hizmeti (GFPS) uygulaması, Bluetooth Temel Spesifikasyonu 4.2 veya sonraki sürümlerle uyumludur.
Hızlı Eşleme spesifikasyonuna yapılan aşağıdaki ek, GFPS'de yalnızca Düşük Enerji (LE) ve Düşük Enerji Ses (LEA) cihazlarının desteklenmesini sağlar.
Uygunluk Düzeyleri
Spesifikasyonda belirtilen "gerekir", "zorunludur", "yapılacaktır", "yapılmalıdır", "yapılabilir" ve "yapabilir" anahtar kelimeleri aşağıda açıklanmıştır:
| Terim | Açıklama |
|---|---|
| shall | is required to: Şartları tanımlamak için kullanılır. |
| must | Şunları ifade etmek için kullanılır: daha önce belirtilen zorunlu şartın doğal bir sonucu VEYA tartışmasız bir gerçeklik ifadesi (koşullar ne olursa olsun her zaman doğru olan bir ifade). |
| vasiyet | it is true that (doğrudur ki) - Yalnızca gerçekleri belirten ifadelerde kullanılır. |
| should | is recommended that (önerilir): Birkaç olasılık arasından birinin özellikle uygun olduğunu ancak zorunlu olmadığını belirtmek için kullanılır. |
| may | is permitted to (izin verilir): Seçeneklere izin vermek için kullanılır. |
| olabileceğimiz | yapabilir: İfadeyi nedensel bir şekilde ilişkilendirmek için kullanılır. |
Anahtar Tabanlı Eşleme Özelliği
Arayandan Sağlayıcıya Mesaj
Anahtar Tabanlı Eşleme özelliğinin ham isteği type 0x00, Arayıcı'nın BLE Cihaz Spesifikasyonu'nu destekleyip desteklemediğini belirtmek için 4. biti, Arayıcı'nın LE Audio'yu destekleyip desteklemediğini belirtmek için ise 5. biti kullanır.
| 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
|
değişir | Zorunlu |
| 2 - 7 | uint48 |
Şu yöntemlerden birini kullanın:
|
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 |
Sağlayıcıdan Arayan'a Mesaj
İsteğin 4. biti ayarlandığında, Anahtar Tabanlı Eşleme özelliği için yeni yanıt mesajı type 0x02, Arayıcı'ya ek bağlama seçenekleri sunmak için kullanılabilir.
| Sekizli | Veri türü | Açıklama | Değer |
|---|---|---|---|
| 0 | uint8 |
Mesaj türü | 0x02 = Anahtar Tabanlı Eşleme Genişletilmiş Yanıtı |
| 1 | uint8 |
İşaretler
|
değişir |
| 2 | uint8 |
Sağlayıcı adreslerinin sayısı (Mevcut sürümde sayı 1 veya 2'dir. Sayı >= 3 ise blok şifre modunu AES-CTR olarak değiştirmemiz gerekir.) |
değişir |
| 3-8 veya 3-14 |
|
değişir | |
| 9-15 veya 15 | Rastgele değer (salt) | değişir |
BLE Cihaz Spesifikasyonu'nu destekleyen bir Sağlayıcı, Arayıcı'nın özelliklerini anlamak için Bit 4 ve Bit 5'i okumalıdır.
- 4. bit 0 olduğunda Sağlayıcı, 5. biti yoksaymalı ve
type 0x01biçimiyle yanıt vermelidir. - Bit 4, 1 olduğunda
- Yalnızca LE Sağlayıcı için, LE bağlama tercihini belirtmek üzere
type 0x02ile yanıt vermelidir. - Çift modlu Sağlayıcı, BR/EDR veya LE bağlama tercihini belirtmek için
type 0x02ile yanıt verebilir.
- Yalnızca LE Sağlayıcı için, LE bağlama tercihini belirtmek üzere
- LE Audio (LEA) çift modlu sağlayıcı durumları için Örnek: LEA çift modlu sağlayıcı ile eşleme bölümüne bakın.
Mesaj Akışı PSM (Protokol Hizmeti Çoklayıcı) Özelliği
Hızlı Eşleme, BLE cihazlar için Mesaj akışı'nı desteklemek amacıyla mesaj gönderip almak için bir BLE L2CAP kanalı oluşturur ve bu kanalı korur. Hızlı Eşleme L2CAP sunucusu, LE kredisine dayalı akış kontrolü uygulamalıdır.
Bu özellik, Arayıcı'nın PSM değerini okumasına ve ardından PSM değerine göre güvenli L2CAP bağlantısı kurmasına olanak tanır.
| Hızlı Eşleme Hizmeti özelliği | Şifrelenmiş | İzinler | UUID |
|---|---|---|---|
| Message Stream PSM | Evet | Okuma | FE2C1239-8366-4814-8EB0-01DE32100BEA |
| Sekizli | Veri türü | Açıklama | Değer |
|---|---|---|---|
| 0 | uint8 |
Eyalet
|
değişir |
| 1 - 2 | uint16 |
PSM değeri 0x80 ile 0xFF arasında olmalıdır. | değişir |
Not: TWS'nin iki bileşeni vardır: birincil ve ikincil. Bu bileşenlerin rolü, belirli koşullarda birbirinin yerine kullanılabilir. A'nın birincil bileşen, B'nin ise ikincil bileşen olduğunu varsayalım. A bileşeninin pili bittiği için B bileşeninin birincil bileşen rolünü üstlenmesi gerekir. Bu senaryoya role switch adı verilir.
role switch sonrasında, sağlayıcı Hızlı Eşleme mesaj akışını işleyemezse mevcut L2CAP bağlantısını proaktif olarak keser. Hızlı Eşleme arayıcısı, yeni birincil bileşenle L2CAP mesaj akışı bağlantısını yeniden kurabilir.
Ek Geçiş Anahtarı Özelliği
Bu özellik, ek bileşenlerde MITM koruması sağlamak için kullanılır.
CSIS Sahte Üye MITM Koruması
Hızlı Eşleme, eşleme prosedürünün bir parçası olarak MITM koruması gerektirir. CSIS, MITM koruması sağlamadığından birden fazla bileşen için mevcut FP tasarımının, ek bileşenlerde MITM koruması sağlayacak şekilde genişletilmesi gerekir.
Özellik Tanımı
| Hızlı Eşleme Hizmeti Özelliği | Şifrelenmiş | İzin | UUID |
|---|---|---|---|
| Ek Geçiş Anahtarı | Hayır | Okuma,yazma,bildirim | FE2C123A-8366-4814-8EB0-01DE32100BEA |
Mesajlar
Mesaj biçimi; okuma, yazma ve bildirme işlemlerine uygulanır.
Şifrelenmiş Veri Biçimi
Şifrelenmiş veriler, Hızlı Eşleme GATT bağlantısı kullanılarak gönderilir.
| Sekizli | Veri türü | Açıklama | Değer |
|---|---|---|---|
| 0-15 | uint128 | Şifrelenmiş ek geçiş anahtarı bloğu | değişir |
Ham Veri Biçimi
Şifrelenmiş verilerin şifresi paylaşılan gizli anahtar kullanılarak çözüldükten sonra biçim aşağıdaki gibi olur:
| Sekizli | Veri türü | Açıklama | Değer |
|---|---|---|---|
| 0 | uint8 | Mesaj türü |
|
| 1-3 | uint24 | 6 basamaklı geçiş anahtarı | değişir |
| 4-9 | uint48 | Hedef bağlama bileşeni adresi | değişir |
| 10 | uint8 | Durum kodu, yalnızca okuma işlemi tarafından kullanılır | Şunlardan biri:
|
| 11-15 | Rastgele değer (salt) | değişir |
Birincil bileşen (ilk bağlı bileşen), Hızlı Eşleme Arayıcı ile ek bağlama bileşenleri arasındaki köprüdür. Özellik, aşağıdaki kurallara uygun olmalıdır:
- Sağlayıcı, Hızlı Eşleme Arayıcı'dan yazma isteği aldığında şunları yapmalıdır:
- Bağlanan bileşenin adresini ayarlayın
- Geçiş anahtarını, bağlanmakta olan bileşene gönderin.
- Durum kodunu Beklemede (0x01) olarak ayarlayın.
- Sağlayıcı, bağlanmakta olan bileşenden geçiş anahtarını almadan önce herhangi bir okuma isteği aldığında şu mesajı döndürür:
- Geçiş anahtarı, herhangi bir değer
- Bağlanan bileşenin adresi
- Bekleme durum kodu, 0x01
- Sağlayıcı, Hızlı Eşleme Arayıcı'ya bildirim göndermeden önce okuma isteğinin sonucunu şu şekilde ayarlar:
- Bağlanan bileşenin geçiş anahtarı
- Bağlanan bileşenin adresi
- Başarılı durum kodu, 0x00
- Sağlayıcı tarafında düzeltilemeyen bir hata varsa sonucu şu şekilde ayarlayın:
- Geçiş anahtarı, herhangi bir değer
- Bağlanan bileşenin adresi
- Hata durum kodu, 0x02
Daha fazla bilgi için MITM diyagramı 1 ve MITM diyagramı 2'ye bakın.
LE Cihaz Gereksinimleri
LE Advertising
Sağlayıcı, keşfedilebilir mod veya keşfedilemez mod için Hızlı Eşleme verilerini bildirmek üzere RPA kullanmalıdır.
Bağlantı Özelliği
LE özellikli cihazlarda Arayıcı, mevcut LE bağlantısıyla bağ oluşturmalıdır. Sağlayıcı, Hızlı Eşleme anahtar tabanlı eşleme doğrulamasını geçtikten sonra RPA ile bağlanmaya izin vermeli ve Hızlı Eşleme şifre anahtarı doğrulaması için G/Ç özelliğini DisplayYesNo olarak ayarlamalıdır.
LEA Cihaz Gereksinimleri
LEA Advertising
Çift modlu cihazlar için: Keşfedilebilir modda Sağlayıcı, Hızlı Eşleme verilerini Kimlik adresiyle bildirmelidir. Keşfedilemeyen modda Sağlayıcı, RPA ile Hızlı Eşleme verilerini bildirmelidir. Geriye dönük uyumluluk için eski cihazları desteklemek amacıyla eski reklam (BT 4.2) kullanmanız önemle tavsiye edilir. Cihaz fabrika ayarlarına sıfırlandığında IRK'nin değiştirilmesi gerekir.
Çift modlu olmayan cihazlar için: Sağlayıcı, bulunabilir mod veya bulunamaz mod için Hızlı Eşleme verilerini tanıtmak amacıyla RPA ile genişletilmiş reklam (BT 5.0) kullanmalıdır.
FP hizmet verilerini içeren LE bağlanabilir reklamı, Bluetooth Adaptör Profili (BAP 1.0.1) ve Ortak Ses Profili şartına uygun olarak CAS UUID'yi içermelidir.
Sağlayıcı, keşfedilebilir moddan bağımsız olarak CAS UUID'sini (0x1853) Hizmet Verileri'ne (AD Türü 0x16) veya 16 bit Hizmet Sınıfı UUID'lerine (AD Türü 0x02 veya 0x03) ekleyerek LEA özelliğini belirtebilir.
Keşfedilemeyen reklamlar için, pil ve SASS verilerinin dahil edilmesi nedeniyle eski reklamda yeterli alan yoksa CAS UUID'nin tarama yanıtına dahil edilmesi zorunludur.
LEA Bağlantı Özelliği
Arayıcı, mevcut LE bağlantısıyla bağ oluşturmalıdır. Hızlı Eşleme anahtar tabanlı eşleme doğrulamasını geçtikten sonra çift modlu sağlayıcı, kimlik adresi ve RPA ile bağlanmaya izin verirken çift modlu olmayan sağlayıcı, RPA ile bağlanmaya izin verir ve Hızlı Eşleme geçiş anahtarı doğrulaması için G/Ç özelliğini DisplayYesNo olarak ayarlar.
Bileşenler arasında dahili iletişim kanalı
Mevcut GATT bağlantısı, ek bileşenlerde MITM koruması gerçekleştirmek için korunur. Birincil bağlı bileşen, Hızlı Eşleme Sağlayıcı ile kalan bileşenleri arasındaki mesaj teslimatlarını yönetmelidir.
Dahili iletişim Initial Pair ve Subsequent Pair için kullanılır.
- Anahtar Tabanlı Eşleme prosedürü birincil bileşende başarılı olduğunda birincil bileşen, kalan bileşenlerinin G/Ç özelliğini değiştirmek için bir mesaj gönderir.
- Hızlı Eşleme tamamlandığında birincil bileşen, kalan bileşenlerinin G/Ç özelliğini sıfırlamak için bir mesaj gönderir.
- Ek Geçiş Anahtarı prosedürü çalıştırılırken birincil bileşen, Hızlı Eşleme Arayıcısı ile kalan bileşenleri arasındaki geçiş anahtarı teslimatlarını yönetmelidir.
G/Ç özelliğini değiştirme zamanı
- Anahtar tabanlı eşleme prosedürü başarılı olduğunda G/Ç özelliğini DisplayYesNo olarak değiştirin
- Cihazda birden fazla bileşen varsa tüm bileşenler DisplayYesNo olarak ayarlanmalıdır.
- Sağlayıcı'nın G/Ç özelliğini DisplayYesNo olarak değiştirmemesi gereken tek istisna, Anahtar Tabanlı Eşleme İsteği'nin 3. biti 1 olarak ayarlanmış
Retroactive Paircihazıdır. Arayıcı'dan Sağlayıcı'ya Mesaj bölümüne bakın.
- G/Ç özelliğini varsayılan ayara değiştirme
- İlk eşleme
- LE bağlantısı kesilirse Hızlı Eşleme oturumunu sonlandırın
- Birincil cihaz bağlandıktan sonra 15 saniye içinde başka geçiş anahtarı yazma isteği gelmezse Hızlı Eşleme oturumunu sonlandır.
- Ek geçiş anahtarı yazma isteği alındıktan sonra, bağlanmakta olan bileşen 15 saniye içinde bağlanmazsa Hızlı Eşleme oturumunu sonlandırın.
- Tüm bileşenler bağlandıktan sonra 15 saniye içinde hesap anahtarı yazma isteği gelmezse Hızlı Eşleme oturumunu sonlandırın.
- Hesap anahtarı yazma isteği alındıktan sonra, Hızlı Eşleme oturumunu sonlandırmak için zaman aşımını 15 saniye olarak ayarlayın.
- Sonraki eşleme
- LE bağlantısı kesilirse Hızlı Eşleme oturumunu sonlandırın
- Birincil cihaz bağlandıktan sonra 15 saniye içinde başka bir geçiş anahtarı yazma isteği gelmezse Hızlı Eşleme oturumunu sonlandırın.
- Ek geçiş anahtarı yazma isteği alındıktan sonra, bağlanmakta olan bileşen 15 saniye içinde bağlanmazsa Hızlı Eşleme oturumunu sonlandırın.
- Tüm bileşenler bağlandığında Hızlı Eşleme oturumunu sonlandırın
- İlk eşleme
Kullanıcı arayüzü göstergesini gizle
Kulaklık eşleme için hazır olmadığında Sağlayıcı, Hesap Anahtarı Verileri için kullanıcı arayüzü göstergesini gizlemek üzere type 0b0010 kullanarak Arayan'a sonraki eşleme kullanıcı arayüzünü göstermemesini bildirir (Reklam yükü: Hızlı Eşleme Hesap Verileri bölümüne bakın).
LE Audio Ses Sistemi Gereksinimleri
Bluetooth Gereksinimleri
Android, LE Audio kulaklık önerileri başlıklı makaleyi inceleyin.
CTKD Desteği
Çift modlu cihazlarda LE'den BR/EDR'ye CTKD zorunludur ve BAP şartlarına uygundur.
Hedef Duyuru
Çevre birimi, eşlenen bir merkezi cihazdan bağlantı istemek için Hedeflenen Duyuru'yu kullanmalıdır. Hedeflenen Duyurular, CAP 1.0 Tablo 8.4'e (s. 48/58) göre bağlantı yönetimi için BAP ve CAP'te tanımlanmıştır.
GATT EATT Sunucu Desteği
EATT, cihaz bağlandığında merkezi cihazın birden fazla GATT işlemini paralel olarak göndermesine olanak tanır. CSIP'yi destekleyen cihazlarda profil bağlantısının performansını artırır ve ardından diğer kulaklıklar için CSIP bağlama prosedürünü başlatır.
GATT Güçlü Önbelleğe Alma (Kesinlikle Önerilir)
Sağlayıcı tek bir cihaz değil de CSIP uygulamasına sahip koordineli bir setse hizmet keşfi sayısını azaltmak ve bağlantıyı hızlandırmak için Sağlayıcı, Bluetooth 5.1'de tanımlanan GATT Önbelleğe Alma özelliğini uygulamalıdır.
Hızlı Eşleme Şartları
LE Advertising
Keşfedilebilir mod veya keşfedilemez mod için cihazda birden fazla bileşen varsa Hızlı Eşleme verileri birincil bileşen tarafından tanıtılır. Cihaz sonraki eşleme için hazır değilse ikincil bileşen, genişletilmiş özellikler için Hızlı Eşleme verilerini bildirebilir. Kullanıcı arayüzü göstergesini gizleme bölümüne bakın.
GATT Hizmet Görünürlüğü
GATT veritabanı, tüm LE aktarım GATT bağlantıları için aynı olmalıdır. LE Audio hizmeti (0x184E), Hızlı Eşleme bağlantısının GATT veritabanına dahil edilmelidir.
Örnek: LEA çift modlu sağlayıcı ile eşleme
1. Senaryo: Arayan, LEA'yı desteklemediğinde
Sağlayıcı, LEA'yı desteklemeyen Arayıcı ile geriye dönük uyumluluğa sahip olmalıdır.
Bileşenler
- Sağlayıcı: A2DP/HFP/LEA
- Arayan: A2DP/HFP
İlk Eşleme/Sonraki Eşleme İçin Beklenen Davranış
- Sağlayıcı, kimlik adresi (ilk) veya RPA (sonraki) ile Hızlı Eşleme hizmet verilerini (0xFE2C) bildirir.
- Eski reklamcılığı kullanma
- Arayıcı, ilk eşleme için kimlik adresiyle veya sonraki eşleme için RPA ile Sağlayıcı'nın reklamını alır.
- Arayıcı, anahtar tabanlı eşleme isteği gönderir.
- Anahtar Tabanlı Eşleme isteğinin 5. bit işareti 0 olarak ayarlanır.
- Sağlayıcı, Anahtar Tabanlı Eşleme yanıtını aşağıdaki yöntemlerden birini kullanarak herkese açık adresle gönderir:
- 0x01 mesaj türü kullanılıyorsa adres, genel adres olmalıdır.
- 0x02 mesaj türü kullanılıyorsa
- Bit-0, 0 olmalıdır.
- Bit-1, 0 olmalıdır.
- Adres, herkese açık adres olmalıdır.
- Arayıcı, BR/EDR aktarımıyla bağ oluşturur.
- G/Ç özelliği, BR/EDR için DisplayYesNo olarak ayarlanmış
- Arayıcı ve Sağlayıcı, Hızlı Eşleme geçiş anahtarı doğrulama prosedürünü uygular.
2. Senaryo: Arayan, LEA'yı desteklediğinde
Bileşenler
- Sağlayıcı
- A2DP/HFP/LEA desteği
- Tek bileşen
- Arayan
- SupportA2DP/HFP/LEA
İlk Eşleme/Sonraki Eşleme İçin Beklenen Davranış
- Sağlayıcı, kimlik adresi (ilk) veya RPA (sonraki) ile Hızlı Eşleme hizmet verilerini (0xFE2C) bildirir.
- Eski reklamcılığı kullanma
- Arayıcı, anahtar tabanlı eşleme isteği gönderir.
- Anahtar Tabanlı Eşleme isteğinin 5. bit işareti 1 olarak ayarlanır.
- Sağlayıcı, 0x02 mesaj türüyle Anahtar Tabanlı Eşleme yanıtı gönderir.
- Bit-0, 0 olmalıdır.
- Bit-1, 1 olmalıdır.
- Adres, kimlik adresidir.
- Arayıcı, LE aktarımında mevcut LE bağlantısıyla bağ oluşturur.
- CTKD yönü LE'den BR/EDR'ye doğrudur
- G/Ç özelliği, LE için DisplayYesNo olarak ayarlanmış
- Arayıcı ve Sağlayıcı, Hızlı Eşleme geçiş anahtarı doğrulama prosedürünü uygular.
3. senaryo: Arayan, LEA'yı desteklediğinde ve CSIP kullanıldığında
Bileşenler
- Sağlayıcı
- A2DP/HFP/LEA desteği
- Birden çok bileşen
- Birincil bileşen BR/EDR/LE'dir.
- İkincil bileşen yalnızca LE'dir
- Arayan
- A2DP/HFP/LEA desteği
İlk Eşleme/Sonraki Eşleme İçin Beklenen Davranış
- Birincil bileşen, kimlik adresi (ilk) veya RPA (sonraki) ile Hızlı Eşleme hizmet verilerini (0xFE2C) bildirir.
- Eski reklamcılığı kullanma
- Arayıcı, birincil bileşene anahtar tabanlı eşleme isteği gönderir.
- Anahtar Tabanlı Eşleme isteğinin 5. bit işareti 1 olarak ayarlanır.
- Birincil bileşen, 0x02 mesaj türüyle Anahtar Tabanlı Eşleme yanıtı gönderir.
- Bit-0, 0 olmalıdır.
- Bit-1, 1 olmalıdır.
- Adres aşağıdaki gibidir:
- İlk adres, birincil bileşenin kimlik adresidir.
- İkinci adres, ikincil bileşenin bağlanabilir adresidir. İkinci bileşen, CSIP reklamı yapmak için de bu adresi kullanır.
- Arayıcı, mevcut LE bağlantısındaki birincil bileşenle bağ oluşturur.
- CTKD yönü LE'den BR/EDR'ye doğrudur
- G/Ç özelliği, LE için DisplayYesNo olarak ayarlanmış
- Arayıcı, adresi Anahtar Tabanlı Eşleme Genişletilmiş Yanıt'tan alınan ikincil bileşenle bağ oluşturur.
- G/Ç özelliği DisplayYesNo olmalıdır. Aksi takdirde eşleme isteği reddedilir.
- Arayıcı ve Sağlayıcı, ikincil bileşeni eşlemek için MITM koruma prosedürünü uygular. Sağlayıcı her iki senaryoyu da uygulamalıdır.
- Arayıcı, ikincil bileşenle bağlanana kadar bekler.
MITM için sıralı diyagram
Bu oturumda, MITM koruma prosedürünün sırası açıklanmaktadır.
Bildirimle bağlanılan bileşenden geçiş anahtarı alma

Okuma yoluyla bağlanılan bileşenden geçiş anahtarını alma

Bilinen Sorun
LEA için FP, Android V (Android 15) ile çalışacak şekilde optimize edilmiştir.
Öte yandan, LEA'yı destekleyen ancak LEA üzerinden doğru Hızlı Eşleme uygulamasına sahip olmayan (ör. yalnızca Klasik üzerinden Hızlı Eşleme) kulaklıklarda çok sayıda sorunla karşılaştık. Özellikle ve örneğin, sağlayıcının RPA'sı doğru Kimlik Çözümleme Anahtarı (IRK) tarafından oluşturulmadığında ve adres çözümlenemediğinde. Kapsamlı bir kulaklık yapılandırması listesini test edememiş olsak da sınırlı testlerimiz sonucunda kulaklık pili bildirimlerinin gösterilememesi, Ses Geçişi (SASS) işlevinin olmaması, ilk ve sonraki eşleme hatalarının yaygın olması gibi çeşitli sorunlar tespit edildi.
Bu nedenle, iş ortaklarının hem yeni cihazlar hem de sahada bulunan ve çift modu destekleyen mevcut cihazlar için (kablosuz güncellemeler aracılığıyla) Hızlı Eşleme-LEA spesifikasyonunu uygulamalarını önemle tavsiye ederiz.