Bonding: Was es ist, Prozess und Sicherheit der BLE-Paarung

Autor: IT Sectr Veröffentlicht: 2026-07-16 Lesezeit: 10 Min.

Bonding (Kopplung) in Bluetooth Low Energy ist der Prozess der Erstellung einer dauerhaften sicheren Verbindung zwischen zwei Geräten durch Speicherung kryptografischer Schlüssel in nichtflüchtigem Speicher. Nach dem Bonding können Geräte bei erneuter Verbindung automatisch eine verschlüsselte Verbindung wiederherstellen, ohne dass eine PIN-Eingabe oder Benutzerbestätigung erforderlich ist. Laut Bluetooth SIG Core Specification v5.4 (2025) ist der Bonding-Mechanismus für Geräte obligatorisch, die eine automatische Wiederverbindung benötigen — Kopfhörer, Fitness-Tracker, medizinische Sensoren und IoT-Zubehör.

Wichtige Punkte

  • Bonding ist die langfristige Speicherung von Verschlüsselungsschlüsseln zwischen BLE-Geräten nach Beendigung einer Sitzung.
  • Im Gegensatz zum Pairing ermöglicht Bonding die automatische Wiederherstellung verschlüsselter Verbindungen ohne wiederholte Bestätigung.
  • Der Bonding-Prozess umfasst den Schlüsselaustausch von LTK, IRK, CSRK und deren Speicherung im Speicher beider Geräte.
  • iOS verwaltet gebondete Geräte über Einstellungen > Bluetooth mit der Möglichkeit, gespeicherte Schlüssel zu löschen.
  • Unter Android erfolgt die Bonding-Verwaltung über BluetoothAdapter und die getBondedDevices()-API.

Was ist Bonding in BLE?

Bonding ist eine Erweiterung des Pairing-Prozesses in Bluetooth Low Energy, bei dem Geräte Verschlüsselungsschlüssel für nachfolgende Verbindungen speichern. Der BLE-Standard definiert drei Sicherheitsmodi: Security Mode 1 (Verschlüsselung ohne Authentifizierung), Security Mode 2 (Datensignierung ohne Verschlüsselung) und Security Mode 3 (Verschlüsselung mit Authentifizierung). Bonding ist für Modi mit Verschlüsselung relevant, bei denen wiederholte Verbindungen ohne Schlüsselerneuerung erforderlich sind.

Warum Bonding benötigt wird

Der Hauptzweck des Bondings ist die automatische Wiederherstellung verschlüsselter Verbindungen beim erneuten Verbinden von Geräten. Wenn ein Benutzer Ohrhörer aus dem Case nimmt und aufsetzt, sorgt Bonding für eine sofortige Verbindung zum Smartphone, ohne dass das Gerät erneut im Bluetooth-Menü ausgewählt werden muss. Laut den Apple Bluetooth Design Guidelines (2025) sollten gebondete Geräte innerhalb von maximal 2 Sekunden nach Erkennung verbinden.

Welche Daten werden beim Bonding gespeichert

Während des Bondings speichert jedes Gerät einen Satz von kryptografischem Material: Long Term Key (LTK) für die Verbindungsverschlüsselung, Identity Resolving Key (IRK) zum Auflösen zufälliger Adressen und Connection Signature Resolving Key (CSRK) zur Überprüfung von Datensignaturen. Der LTK ist der primäre 128-Bit-Schlüssel, der während des Pairings generiert und für alle nachfolgenden verschlüsselten Sitzungen verwendet wird.

SchlüsselLängeZweck
LTK128 BitDatenverschlüsselung nach Wiederverbindung
IRK128 BitAuflösen zufälliger privater Adressen (RPA)
CSRK128 BitDatensignierung und Authentizitätsprüfung

Bonding vs Pairing: Was ist der Unterschied

Pairing ist die temporäre Aushandlung von Schlüsseln zur Verschlüsselung der aktuellen Kommunikationssitzung. Wenn die Verbindung endet, werden die Verschlüsselungsschlüssel gelöscht, und die nächste Verbindung erfordert einen erneuten vollständigen Pairing-Prozess. Bonding umfasst alle Pairing-Phasen, speichert jedoch zusätzlich die Schlüssel für zukünftige Sitzungen. Praktisch alle Bluetooth-Verbrauchergeräte (Kopfhörer, Lautsprecher, Uhren) verwenden Bonding, da ohne es jede Verbindung eine erneute PIN-Eingabe erfordern würde.

Drei Phasen von Pairing und Bonding

Der Pairing-Prozess gemäß BLE-Spezifikation besteht aus drei Phasen. Phase 1 — Austausch von Gerätefähigkeiten (IO-Fähigkeiten, Authentifizierungsunterstützung). Phase 2 — Generierung und Austausch von Short Term Key (STK) oder LTK, abhängig von der Pairing-Methode. Phase 3 — Schlüsseltransport: Austausch von LTK, IRK, CSRK zwischen Geräten. Wenn die Geräte die Schlüssel nach Phase 3 gespeichert haben — ist dies Bonding. Wenn nicht — ist es lediglich Pairing.

ParameterPairingBonding
SchlüsselspeicherungNicht gespeichertIn NVRAM gespeichert
Automatische WiederverbindungNeinJa
Erneute PIN-EingabeErforderlichNicht erforderlich
VerwendungGelegentliche VerbindungenDauerhafte Geräte

Wie funktioniert der Bonding-Prozess

Der Bonding-Prozess wird nach erfolgreichem Abschluss des Pairings initiiert, wenn ein Gerät eine Anfrage zum Speichern von Schlüsseln sendet. In BLE tauschen der Central (normalerweise ein Smartphone) und das Peripheral (tragbares Gerät) Schlüssel über den in Phase 2 eingerichteten sicheren Kanal aus. Nach erfolgreichem Schlüsselaustausch speichert jedes Gerät diese zusammen mit der MAC-Adresse oder Identity Address des Partners im nichtflüchtigen Speicher.

Schlüsselspeicherung auf der Central-Seite

Auf der Central-Seite (iOS/Android) werden die Schlüssel im systemeigenen Bluetooth-Speicher abgelegt. iOS verwendet den Core Bluetooth-Systemstack mit automatischer Bonding-Verwaltung: Beim ersten Pairing werden die Schlüssel im NVRAM des Geräts gespeichert, und nachfolgende Verbindungen zum selben Peripheral erfolgen automatisch. Der Entwickler verwaltet Schlüssel nicht direkt — der Core Bluetooth-Systemstack behandelt Bonding automatisch beim Verbinden mit einem Gerät, das die Schlüsselspeicherung unterstützt.

Verbindungswiederherstellung durch Bonding

Bei erneuter Verbindung sendet das Peripheral Werbepakete, die entweder seine öffentliche Adresse oder eine Resolvable Private Address (RPA) enthalten. Der Central empfängt das Paket, gleicht die Adresse mit gespeicherten gebondeten Geräten ab und initiiert bei Übereinstimmung die Sitzungswiederherstellung mit dem gespeicherten LTK. Stimmt der LTK überein, wird die verschlüsselte Verbindung ohne erneutes Pairing hergestellt.

Authentifizierungsmethoden beim Bonding

Die BLE-Spezifikation definiert mehrere Authentifizierungsmethoden, die die Sicherheitsstufe des Bondings beeinflussen. Die Wahl der Methode hängt von den IO-Fähigkeiten der Geräte ab — ob sie ein Display, eine Tastatur oder die Möglichkeit zur Bestätigung des numerischen Vergleichs haben. Sicheres Bonding erfordert mindestens Just Works für nicht kritische Anwendungen und Numeric Comparison oder Passkey Entry für Aufgaben, die Schutz vor Man-in-the-Middle-Angriffen benötigen.

Just Works

Just Works ist eine authentifizierungsfreie Methode, die verwendet wird, wenn eines der Geräte kein Display oder keine Tastatur hat. Verschlüsselungsschlüssel werden ohne Überprüfung der Identität des zweiten Geräts übertragen — Temperatursensoren, Herzfrequenzmesser. Just Works ist anfällig für MITM-Angriffe und wird daher nur für Geräte verwendet, bei denen eine Datenkompromittierung keine Gefahr darstellt.

Numeric Comparison

Numeric Comparison ist eine Authentifizierungsmethode, bei der beide Geräte eine sechsstellige Zahl anzeigen und der Benutzer die Übereinstimmung bestätigen muss. Diese Methode bietet Schutz vor MITM-Angriffen und wird für Geräte mit Display empfohlen — Smartwatches, Fitness-Tracker, Fernbedienungen. Nach Bestätigung wird das Bonding mit der höchsten Vertrauensstufe gespeichert.

Passkey Entry

Passkey Entry erfordert die Eingabe einer sechsstelligen PIN auf einem der Geräte. In der Regel wird der Code von einem Gerät generiert und darauf angezeigt, während der Benutzer ihn auf dem zweiten Gerät eingibt. Diese Methode wird für medizinische Geräte und IoT-Schlösser verwendet, bei denen ein hohes Sicherheitsniveau erforderlich ist, aber eines der Geräte kein Display für den Numeric Comparison besitzt.

Verwaltung gebondeter Geräte in iOS und Android

Bonding-Verwaltung ist der Prozess des Anzeigens, Löschens und Verwalterns gespeicherter Schlüssel gekoppelter Geräte. In der mobilen Entwicklung ist es wichtig, die Zustände gebondeter Geräte korrekt zu behandeln, insbesondere wenn ein Peripheriegerät zurückgesetzt oder seine Firmware ersetzt wird. Wenn sich die Bonding-Schlüssel auf dem Peripheral ändern, müssen die alten Schlüssel auf dem Central entfernt und eine neue Paarung durchgeführt werden.

Verwaltung in iOS

iOS verwaltet gebondete Geräte automatisch über den systemeigenen Core Bluetooth-Stack. Der Entwickler hat keine direkte API zum Anzeigen oder Löschen einzelner gebondeter Geräte — die Verwaltung erfolgt über die Systemeinstellungen (Einstellungen > Bluetooth > Gerät > Forget). Wenn Bonding programmatisch gelöscht werden muss, kann die App den Benutzer mit UIApplication.openSettingsURLString zu den Bluetooth-Systemeinstellungen führen.

Verwaltung in Android

Android bietet eine direkte API für die Arbeit mit gebondeten Geräten über die Klasse BluetoothAdapter. Die Methode getBondedDevices() gibt ein Set<BluetoothDevice> aller gekoppelten Geräte zurück. Zum Entfernen des Bondings wird die Methode removeBond() über Reflexion oder unter Android 12+ die offizielle API BluetoothDevice.removeBond() verwendet.

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

Praktisches Beispiel zur Bonding-Implementierung

Die Bonding-Implementierung auf Android erfordert die korrekte Behandlung des BroadcastReceiver für BluetoothDevice.ACTION_BOND_STATE_CHANGED-Ereignisse. Bei der ersten Verbindung zu einem Gerät initiiert das Android-System automatisch das Bonding, wenn das Gerät diese Fähigkeit unterstützt. Der Entwickler muss drei Zustände behandeln: BOND_NONE (nicht gekoppelt), BOND_BONDING (Kopplung läuft), BOND_BONDED (gekoppelt).

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", "Bindung entfernt")
        }
    }
}

Bonding auf Android initiieren

Um Bonding auf Android zu initiieren, muss die Methode createBond() auf dem BluetoothDevice-Objekt aufgerufen werden. Die Methode gibt einen booleschen Wert zurück — true, wenn der Pairing-Prozess erfolgreich gestartet wurde. Ab Android 12 erfordert createBond() die Berechtigung BLUETOOTH_CONNECT und kann vom System abgelehnt werden, wenn die App keinen Hintergrund-Bluetooth-Zugriff hat.

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

Häufige Fehler bei der Arbeit mit Bonding

Mobile App-Entwickler stoßen bei der Arbeit mit BLE-Geräte-Bonding häufig auf typische Fehler. Eine falsche Behandlung von Bonding-Zuständen kann zu Verbindungsfehlern, Unmöglichkeit der erneuten Kopplung oder Datenverlust führen. Betrachten wir die häufigsten Probleme und ihre Lösungen.

Firmware-Reset des Peripheral und stale Bonding

Nach einem BLE-Geräte-Firmware-Update können die Bonding-Schlüssel zurückgesetzt werden, aber das Smartphone speichert weiterhin die veralteten Schlüssel (stale Bonding). Beim Verbindungsversuch versucht der Central, die Sitzung mit dem alten LTK wiederherzustellen, das Peripheral lehnt den Schlüssel ab, und die Verbindung scheitert. Die Lösung ist, das Bonding auf dem Smartphone über Einstellungen > Bluetooth > Gerät ignorieren zu entfernen und eine neue Kopplung durchzuführen.

Limit der Anzahl gebondeter Geräte

BLE-Chips haben ein Limit für die Anzahl speicherbarer Bonding-Einträge. Für die beliebten Nordic nRF5x-Chips beträgt das Limit je nach Konfiguration 8-20 Einträge. Bei Überschreitung des Limits akzeptiert das Gerät keine neuen Kopplungen mehr. Die Lösung ist die Entfernung ungenutzter Bonding-Einträge oder die Verwendung eines prioritätsbasierten Schlüsselrings mit Bereinigung.

Probleme mit der Privacy-Funktion

Bei Verwendung der Privacy-Funktion (zufällige MAC-Adressen) ändert das Gerät periodisch seine Adresse. Wenn der Central den IRK nicht gespeichert hat, kann er die neue zufällige Adresse keinem bekannten Gerät zuordnen. Die Lösung ist die korrekte Implementierung der IRK-Speicherung und deren Verwendung zur Auflösung von RPA bei jeder Geräteerkennung.

Häufig gestellte Fragen

Was ist Bonding in BLE?

Bonding in Bluetooth Low Energy ist der Prozess der Speicherung von Verschlüsselungsschlüsseln (LTK, IRK, CSRK) nach Beendigung einer Pairing-Sitzung, um bei nachfolgenden Wiederverbindungen automatisch eine sichere Verbindung ohne PIN-Eingabe oder Bestätigung wiederherzustellen.

Worin unterscheidet sich Bonding von Pairing?

Pairing ist die temporäre Aushandlung von Schlüsseln für die aktuelle Sitzung, die bei Verbindungsabbruch gelöscht werden. Bonding umfasst den vollständigen Pairing-Prozess zuzüglich der Schlüsselspeicherung für zukünftige Verbindungen. Bonding wird für Geräte benötigt, die automatisch wiederverbinden — Kopfhörer, Uhren, Fitness-Tracker.

Wie entferne ich Bonding auf einem iPhone?

Auf einem iPhone erfolgt die Entfernung des Bondings über die Systemeinstellungen: Einstellungen > Bluetooth > tippen Sie auf das Informationssymbol (i) neben dem Gerät > wählen Sie Forget This Device. Danach werden die Verschlüsselungsschlüssel gelöscht und die nächste Verbindung erfordert eine neue Kopplung.

Wie viele Geräte können gebondet werden?

Die Anzahl gebondeter Geräte hängt von der Kapazität des nichtflüchtigen Speichers des BLE-Chips ab. Smartphones können Hunderte von Einträgen speichern, während kostengünstige BLE-Peripheriegeräte auf 8-20 Einträge beschränkt sind. Bei Überschreitung des Limits werden alte Einträge überschrieben oder das Gerät akzeptiert keine neuen Kopplungen mehr.

Was ist stale Bonding?

Stale Bonding ist eine Situation, in der die Verschlüsselungsschlüssel auf einem Gerät (normalerweise dem Peripheral) zurückgesetzt wurden (z.B. nach einem Firmware-Update), während der Central noch die alten Schlüssel speichert. Infolgedessen kann keine Verbindung hergestellt werden, bis der Benutzer das stale Bonding über die Bluetooth-Einstellungen entfernt und eine neue Kopplung durchführt.

Zusammenfassung

  • Bonding ist ein wichtiger BLE-Mechanismus zur automatischen Wiederherstellung verschlüsselter Verbindungen ohne PIN-Eingabe.
  • Pairing und Bonding unterscheiden sich in der Schlüsselspeicherung: Beim Pairing halten Schlüssel eine Sitzung, beim Bonding werden sie dauerhaft gespeichert.
  • Der Bonding-Prozess umfasst den Austausch und die Speicherung von drei Schlüsseltypen: LTK (Verschlüsselung), IRK (Identifikation), CSRK (Signatur).
  • Die Authentifizierungsmethode Numeric Comparison bietet Schutz vor MITM-Angriffen und wird für Geräte mit Display empfohlen.
  • iOS verwaltet Bonding automatisch über Core Bluetooth, während Android die API createBond() und removeBond() bereitstellt.
  • Stale Bonding nach einem Peripheral-Firmware-Update ist ein häufiges Problem, das durch Entfernen des Geräts aus der Bluetooth-Liste gelöst wird.
  • Die Anzahl gebondeter Geräte auf einem peripheren BLE-Chip ist je nach Modell auf 8-20 Einträge begrenzt.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch