Bonding: mi ez, a BLE párosítás folyamata és biztonsága

Szerző: IT Sectr Megjelenés: 2026-07-16 Olvasási idő: 10 perc

Bonding (párosítás) a Bluetooth Low Energy-ben a tartós védett kapcsolat létrehozásának folyamata két eszköz között a kriptográfiai kulcsok nem felejtő memóriában történő tárolásával. Bonding után az eszközök automatikusan helyreállíthatják a titkosított kapcsolatot újracsatlakozáskor a PIN újbóli megadása vagy a felhasználó megerősítése nélkül. A Bluetooth SIG Core Specification v5.4 (2025) szerint a bonding mechanizmus kötelező az automatikus újracsatlakozást igénylő eszközök számára — fejhallgatók, fitneszkövetők, orvosi érzékelők és IoT tartozékok.

Főbb pontok

  • Bonding — a titkosítási kulcsok hosszú távú megőrzése a BLE-eszközök között a munkamenet befejezése után.
  • Ellentétben a pairing-gel, a bonding lehetővé teszi a titkosított kapcsolat automatikus helyreállítását ismételt megerősítés nélkül.
  • A bonding folyamat magában foglalja a kulcscserét LTK, IRK, CSRK és azok tárolását mindkét eszköz memóriájában.
  • Az iOS a Settings > Bluetooth menün keresztül kezeli a bonded eszközöket a tárolt kulcsok eltávolításának lehetőségével.
  • Android esetén a bonding kezelése a BluetoothAdapter és a getBondedDevices() API-n keresztül történik.

Mi az a Bonding a BLE-ben?

Bonding — a pairing folyamat kiterjesztése a Bluetooth Low Energy-ben, ahol az eszközök elmentik a titkosítási kulcsokat a későbbi kapcsolatokhoz. A BLE szabvány három biztonsági módot határoz meg: Security Mode 1 (titkosítás hitelesítés nélkül), Security Mode 2 (adat-aláírás titkosítás nélkül) és Security Mode 3 (titkosítás hitelesítéssel). A bonding azoknál a titkosításos módoknál releváns, ahol többszöri csatlakozás szükséges a kulcsok újratárgyalása nélkül.

Miért van szükség Bondingra

A bonding fő célja a titkosított kapcsolat automatikus helyreállítása az eszközök újracsatlakozásakor. Amikor a felhasználó kiveszi a fejhallgatót a tokjából és felteszi, a bonding biztosítja az azonnali csatlakozást a smartphone-hoz anélkül, hogy újra ki kellene választani az eszközt a Bluetooth menüben. Az Apple Bluetooth Design Guidelines (2025) szerint a bonded eszközöknek legfeljebb 2 másodpercen belül kell csatlakozniuk az észleléstől számítva.

Milyen adatok kerülnek mentésre Bonding során

A bonding során minden eszköz elment egy kriptográfiai anyagokból álló készletet: Long Term Key (LTK) a kapcsolat titkosításához, Identity Resolving Key (IRK) a véletlenszerű címek feloldásához, Connection Signature Resolving Key (CSRK) az adat-aláírások ellenőrzéséhez. LTK — a 128 bites főkulcs, amely a pairing folyamat során generálódik és az összes későbbi titkosított munkamenethez használatos.

KulcsHosszCél
LTK128 bitAdatok titkosítása újracsatlakozás után
IRK128 bitVéletlenszerű privát címek (RPA) feloldása
CSRK128 bitAdatok aláírása és hitelességük ellenőrzése

Bonding vs Pairing: mi a különbség

Pairing — a kulcsok átmeneti egyeztetése az aktuális kommunikációs munkamenet titkosításához. Amikor a kapcsolat véget ér, a titkosítási kulcsok törlődnek, és a következő csatlakozáskor újabb pairing folyamatra van szükség. Bonding magában foglalja a pairing összes fázisát, de emellett elmenti a kulcsokat a későbbi munkamenetekhez. Gyakorlatilag az összes fogyasztói Bluetooth-eszköz (fejhallgatók, hangszórók, órák) bondingot használ, mert enélkül minden csatlakozáshoz újra meg kellene adni a PIN-kódot.

A Pairing és Bonding három fázisa

A pairing folyamata a BLE specifikáció szerint három fázisból áll. 1. fázis — az eszköz képességeinek cseréje (IO capabilities, hitelesítés támogatása). 2. fázis — a Short Term Key (STK) vagy LTK generálása és cseréje, a csatlakozási módszertől függően. 3. fázis — kulcsszállítás: LTK, IRK, CSRK cseréje az eszközök között. Ha az eszközök elmentették a kulcsokat a 3. fázis után — ez bonding. Ha nem — ez csak pairing.

ParaméterPairingBonding
Kulcsok tárolásaNem tárolódnakNVRAM-ban tárolódnak
Automatikus csatlakozásNemIgen
PIN újbóli megadásaSzükségesNem szükséges
HasználatAlkalmi kapcsolatokÁllandó eszközök

Hogyan működik a Bonding folyamata

A bonding folyamata a pairing sikeres befejezése után indul, amikor az egyik eszköz kérelmet küld a kulcsok mentésére. A BLE-ben a Central (általában smartphone) és a Peripheral (hordható eszköz) a 2. fázisban létrehozott védett csatornán keresztül cserél kulcsokat. A sikeres kulcscsere után minden eszköz elmenti azokat a nem felejtő memóriába a partner MAC-címével vagy Identity Address-ével együtt.

Kulcsok tárolása a Central oldalán

A Central (iOS/Android) oldalán a kulcsok a Bluetooth rendszertárolójában kerülnek tárolásra. Az iOS a Core Bluetooth rendszervermet használja automatikus bonding kezeléssel: az első csatlakozáskor a kulcsok az eszköz NVRAM-jába kerülnek, és a későbbi csatlakozások ugyanahhoz a Peripheralhez automatikusan történnek. A fejlesztő nem kezeli közvetlenül a kulcsokat — a Core Bluetooth rendszerverem automatikusan feldolgozza a bondingot a kulcsmentést támogató eszközhöz való csatlakozáskor.

Kapcsolat helyreállítása Bondingon keresztül

Újracsatlakozáskor a Peripheral reklámcsomagokat küld, amelyek vagy a nyilvános címét, vagy Resolvable Private Address-t (RPA) tartalmaznak. A Central fogadja a csomagot, összeveti a címet a tárolt bonded eszközökkel, és ha egyezést talál, elindítja a munkamenet helyreállítását a tárolt LTK segítségével. Ha az LTK egyezik — a titkosított kapcsolat létrejön ismételt pairing nélkül.

Hitelesítési módszerek a Bonding során

A BLE specifikáció számos hitelesítési módszert határoz meg, amelyek befolyásolják a bonding biztonsági szintjét. A módszer választása az eszközök IO képességeitől függ — a kijelző, billentyűzet meglététől, a számösszehasonlítás megerősítésének lehetőségétől. A biztonságos bonding legalább Just Works módszer használatát igényli a nem kritikus alkalmazásokhoz és Numeric Comparison vagy Passkey Entry módszert a Man-in-the-Middle támadások elleni védelmet igénylő feladatokhoz.

Just Works

Just Works — hitelesítés nélküli módszer, amelyet akkor használnak, ha az egyik eszköz nem rendelkezik kijelzővel vagy billentyűzettel. A titkosítási kulcsok a második eszköz hitelességének ellenőrzése nélkül kerülnek továbbításra — hőmérséklet, pulzus). A Just Works sebezhető az MITM támadásokkal szemben, ezért csak olyan eszközöknél alkalmazzák, ahol az adatok kompromittálása nem jelent veszélyt.

Numeric Comparison

Numeric Comparison — hitelesítési módszer, amelyben mindkét eszköz egy hatjegyű számot jelenít meg, és a felhasználónak meg kell erősítenie az egyezést. Ez a módszer védelmet nyújt az MITM támadások ellen, és kijelzővel rendelkező eszközökhöz ajánlott — okosórák, fitneszkövetők, távvezérlők. Megerősítés után a bonding maximális bizalmi szinttel kerül mentésre.

Passkey Entry

Passkey Entry megköveteli egy hatjegyű PIN-kód megadását az egyik eszközön. Általában a kódot az egyik eszköz generálja és jeleníti meg, a felhasználó pedig beírja a második eszközön. A módszert orvosi eszközökön és IoT-zárakon alkalmazzák, ahol magas biztonsági szint szükséges, de az egyik eszköz nem rendelkezik kijelzővel a Numeric Comparisonhoz.

Bonded eszközök kezelése iOS és Android rendszeren

A bonding kezelése — a tárolt párosított eszközkulcsok megtekintésének, törlésének és karbantartásának folyamata. A mobilfejlesztésben fontos a bonded eszközök állapotának helyes kezelése, különösen a perifériás eszköz beállításainak visszaállításakor vagy a firmware cseréjekor. A bonding-kulcsok Peripheral-en történő megváltozásakor a régi kulcsokat a Central-on törölni kell, és újra kell párosítani.

Kezelés iOS-ben

Az iOS automatikusan kezeli a bonded eszközöket a Core Bluetooth rendszervermen keresztül. A fejlesztőnek nincs közvetlen API-ja az egyes bonded eszközök megtekintéséhez vagy törléséhez — a kezelés a rendszerbeállításokon keresztül történik (Settings > Bluetooth > eszköz > Forget). Ha programozottan kell törölni a bondingot, az alkalmazás átirányíthatja a felhasználót a Bluetooth rendszerbeállításokhoz a UIApplication.openSettingsURLString használatával.

Kezelés Androidban

Az Android közvetlen API-t biztosít a bonded eszközökkel való munkához a BluetoothAdapter osztályon keresztül. A getBondedDevices() metódus az összes párosított eszköz Set<BluetoothDevice> típusú halmazát adja vissza. A bonding törléséhez a removeBond() metódust használják reflexión vagy Android 12+ hivatalos BluetoothDevice.removeBond() API-n keresztül.

kotlin
val adapter = BluetoothAdapter.getDefaultAdapter()
val bondedDevices: Set<BluetoothDevice> = adapter.getBondedDevices()
bondedDevices.forEach { device ->
    Log.d("Bonding", "Bonded device: ${device.name}, ${device.address}")
}

Gyakorlati példa a Bonding megvalósítására

A bonding megvalósítása Android oldalon a BluetoothDevice.ACTION_BOND_STATE_CHANGED események BroadcastReceiver-ének helyes kezelését igényli. Az eszközhöz való első csatlakozáskor az Android rendszer automatikusan elindítja a bondingot, ha az eszköz támogatja ezt a képességet. A fejlesztőnek három állapotot kell kezelnie: BOND_NONE (nincs párosítva), BOND_BONDING (párosítási folyamat), BOND_BONDED (párosítva).

kotlin
val bondReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE)
        val bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1)
        when (bondState) {
            BluetoothDevice.BOND_BONDED -> Log.d("Bonding", "Bonded: ${device.name}")
            BluetoothDevice.BOND_NONE -> Log.d("Bonding", "Bond eltávolítva")
        }
    }
}

Bonding elindítása Androidban

A bonding elindításához Androidban a createBond() metódust kell meghívni a BluetoothDevice objektumon. A metódus egy boolean értéket ad vissza — true, ha a párosítási folyamat sikeresen elindult. Android 12-től kezdve a createBond() BLUETOOTH_CONNECT engedélyt igényel, és a rendszer elutasíthatja, ha az alkalmazásnak nincs háttér-hozzáférése a Bluetooth-hoz.

kotlin
fun initiateBonding(device: BluetoothDevice) {
    if (device.bondState == BluetoothDevice.BOND_NONE) {
        val success = device.createBond()
        if (success) {
            Toast.makeText(context, "Bonding elindítva", Toast.LENGTH_SHORT)
        }
    }
}

Tipikus hibák a Bonding használata során

A mobilalkalmazás-fejlesztők gyakran találkoznak tipikus hibákkal a BLE-eszközök bondingjának használata során. A bonding állapotainak helytelen kezelése kapcsolási hibákhoz, az újrapárosítás lehetetlenségéhez vagy adatvesztéshez vezethet. Tekintsük át a leggyakoribb problémákat és megoldásaikat.

Peripheral firmware visszaállítása és elavult bonding

A BLE-eszköz firmware frissítése után a bonding kulcsai visszaállíthatódhatnak, de a smartphone továbbra is tárolja az elavult kulcsokat (stale bonding). Csatlakozási kísérletkor a Central megpróbálja helyreállítani a munkamenetet a régi LTK-val, a Peripheral elutasítja a kulcsot, és a kapcsolat nem jön létre. Megoldás — törölje a bondingot a smartphone-on a Settings > Bluetooth > Forget Device menün keresztül, és végezzen új párosítást.

A bonded eszközök számának korlátja

A BLE chipek korlátozzák a tárolható bonding rekordok számát. A népszerű Nordic nRF5x chipek esetén a korlát 8–20 rekord, konfigurációtól függően. A korlát túllépésekor az eszköz nem fogad el új párosításokat. Megoldás — törölje a nem használt bonding rekordokat, vagy használjon prioritásos tisztítással rendelkező kulcsláncot.

Problémák a Privacy Feature-rel

A Privacy Feature (véletlenszerű MAC-címek) használatakor az eszköz időszakosan megváltoztatja a címét. Ha a Central nem mentette el az IRK-t, nem tudja összekapcsolni az új véletlenszerű címet egy ismert eszközzel. Megoldás — implementálja helyesen az IRK tárolását, és használja azt az RPA feloldásához minden eszközészleleléskor.

Gyakran ismételt kérdések

Mi az a Bonding a BLE-ben?

Bonding a Bluetooth Low Energy-ben — a titkosítási kulcsok (LTK, IRK, CSRK) mentésének folyamata a pairing munkamenet befejezése után a védett kapcsolat automatikus helyreállításához a későbbi csatlakozásoknál a PIN újbóli megadása vagy megerősítés nélkül.

Miben különbözik a Bonding a Pairing-től?

Pairing — a kulcsok átmeneti egyeztetése az aktuális munkamenethez, amelyek a kapcsolat megszakadásakor törlődnek. Bonding magában foglalja a teljes pairing folyamatot és a kulcsok mentését a jövőbeli kapcsolatokhoz. Bondingra van szükség az automatikusan csatlakozó eszközökhöz — fejhallgatók, órák, fitneszkövetők.

Hogyan törölhető a Bonding iPhone-on?

iPhone esetén a bonding törlése a rendszerbeállításokon keresztül történik: Settings > Bluetooth > érintse meg az információ ikont (i) az eszköz mellett > válassza a Forget This Device lehetőséget. Ezt követően a titkosítási kulcsok törlődnek, és a következő csatlakozáskor újra párosítani kell.

Hány eszköz lehet Bondingban?

A bonded eszközök száma a BLE chip nem felejtő memóriájának méretétől függ. A smartphone-ok több száz rekordot tárolhatnak, míg az olcsó BLE perifériás eszközök 8–20 rekordra korlátozottak. A korlát túllépésekor a régi rekordok felülíródnak vagy az eszköz nem fogad el új párosításokat.

Mi az a stale bonding?

Stale bonding — az az állapot, amikor a titkosítási kulcsok az egyik eszközön (általában Peripheral) visszaállítódtak (például átflasheléskor), de a Central-on megmaradtak a régi kulcsok. Ennek eredményeként a kapcsolat nem jön létre, amíg a felhasználó el nem távolítja az elavult bondingot a Bluetooth beállításokon keresztül és újra nem párosít.

Összefoglaló

  • Bonding — a BLE kulcsmechanizmusa a titkosított kapcsolatok automatikus helyreállításához a PIN újbóli megadása nélkül.
  • A Pairing és a bonding a kulcstárolásban különbözik: pairingnél a kulcsok egy munkamenetig élnek, bondingnál állandóan tárolódnak.
  • A bonding folyamat három típusú kulcs cseréjét és tárolását foglalja magában: LTK (titkosítás), IRK (azonosítás), CSRK (aláírás).
  • A Numeric Comparison hitelesítési módszer védelmet nyújt az MITM támadások ellen és kijelzős eszközökhöz ajánlott.
  • Az iOS automatikusan kezeli a bondingot a Core Bluetoothon keresztül, az Android API createBond() és removeBond() függvényeket biztosít.
  • A Peripheral átflashelése utáni stale bonding — gyakori probléma, amely az eszköz Bluetooth listából való eltávolításával oldható meg.
  • A perifériás BLE chipen lévő bonded eszközök száma 8–20 rekordra korlátozott, modelltől függően.

Kulcsrakész mobilalkalmazást fejlesztünk

Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.

Projekt megbeszélése

Olvassa el is