BLE-Sicherheitsmodi
Übersicht der BLE Security Modes, Levels und Pairing-Methoden
Lernziel
Nach dieser Seite verstehst du die BLE-Sicherheitsarchitektur: Security Modes, Security Levels, Pairing-Methoden und Bonding — und kannst einschätzen, welches Schutzniveau ein Gerät bietet.
Einführung: Die BLE-Sicherheitsarchitektur
BLE-Sicherheit ist in Schichten aufgebaut, ähnlich wie Sicherheitsstufen in einem Gebäude:
- Security Mode — das Sicherheitssystem (Verschlüsselung oder Signierung)
- Security Level — die Stärke des Systems (kein Schloss, normales Schloss, Hochsicherheitsschloss)
- Pairing-Methode — wie du den Schlüssel übergibst (Handshake, PIN, QR-Code)
- Bonding — das "Kennen" von Stammkunden (gespeicherte Schlüssel für Wiederverbindung)
Alle drei analysierten Geräte: Security Mode 1 Level 1
Die LED-Brille, der LED-Strip und die Körperwaage aus der Analyse verwendeten alle Security Mode 1 Level 1 — also keine Sicherheit. Das ist der Ausgangspunkt für alle gefundenen Schwachstellen.
Security Mode 1: Verschlüsselung
Security Mode 1 regelt, ob und wie stark die BLE-Verbindung verschlüsselt ist. Es gibt vier Level:
| Mode/Level | Beschreibung | MITM-Schutz | Empfehlung |
|---|---|---|---|
| SM1 Level 1 | Keine Sicherheit (no security) | Nein | Nur für unwichtige Daten |
| SM1 Level 2 | Verschlüsselung, keine Authentifizierung (unauthenticated) | Nein | Mindeststandard |
| SM1 Level 3 | Authentifiziertes Pairing + Verschlüsselung | Ja | Empfohlen |
| SM1 Level 4 | LE Secure Connections (ECDH + AES-CCM) | Ja | Best Practice |
SM1 Level 1: Keine Sicherheit
Alle GATT-Characteristics sind ohne Verbindungsverschlüsselung zugänglich. Jeder in Reichweite kann:
- Alle offenen Characteristics lesen
- In Write-Handles schreiben (wenn keine Berechtigungen gesetzt)
- Notifications abonnieren
Das fanden wir: Bei allen drei Geräten war kein Pairing erforderlich, um Steuerbefehle zu senden.
SM1 Level 2: Unverschlüsselt vs. Verschlüsselt
Verbindung wird verschlüsselt, aber das Pairing nutzt keine Authentifizierung (z. B. Just Works). Schutz gegen passives Abhören, aber nicht gegen aktive MITM-Angriffe.
SM1 Level 3: Authentifiziertes Pairing
Pairing via Passkey Entry oder Numeric Comparison. Schützt gegen MITM: Ein Angreifer kann das Pairing nicht still mithören und entschlüsseln, weil ein PIN oder eine Zahl bestätigt werden muss.
SM1 Level 4: LE Secure Connections (LESC)
Das sicherste Level. Verwendet Elliptic Curve Diffie-Hellman (ECDH) für den Schlüsselaustausch:
- Kein Schlüssel wird über Funk übertragen
- Forward Secrecy: Selbst wenn ein Schlüssel kompromittiert wird, bleiben frühere Sitzungen sicher
- Verschlüsselung mit AES-CCM (AEAD — authentifiziert und verschlüsselt gleichzeitig)
- Voraussetzung: beide Geräte müssen BLE 4.2+ unterstützen
Security Mode 2: Datensignierung
Security Mode 2 ist weniger bekannt und wird selten verwendet. Statt die gesamte Verbindung zu verschlüsseln, werden einzelne Datenpakete signiert — ähnlich wie eine digitale Unterschrift.
| Mode/Level | Beschreibung |
|---|---|
| SM2 Level 1 | Unauthentifizierte Datensignierung (kein MITM-Schutz) |
| SM2 Level 2 | Authentifizierte Datensignierung (MITM-Schutz) |
SM2 wird in Nischenfällen verwendet, z. B. wenn ein Gerät Daten an mehrere Empfänger ohne Verbindung schickt (Broadcast) und die Empfänger die Authentizität prüfen sollen.
SM2 in der Praxis
Security Mode 2 begegnet dir in der Praxis selten. Die meisten IoT-Geräte verwenden SM1 oder gar keine Sicherheit. Für Sicherheitsanalysen ist SM1 Level 4 (LESC) das relevante Ziel.
Pairing-Methoden im Vergleich
Pairing ist der Prozess, bei dem zwei BLE-Geräte sich "kennenlernen" und Schlüssel austauschen. Die Methode hängt von den I/O-Fähigkeiten (Input/Output Capabilities) der Geräte ab:
| Methode | I/O-Fähigkeit | MITM-Schutz | Typischer Einsatz |
|---|---|---|---|
| Just Works | NoInput/NoOutput | Nein | Kopfhörer, einfache Sensoren |
| Passkey Entry | Display + Keyboard | Ja | Tastaturen, Computer |
| Numeric Comparison | Display + Yes/No | Ja | Smartphones, Tablets |
| Out of Band (OOB) | NFC / QR-Code | Ja | Spezialgeräte mit NFC |
Just Works
Das einfachste Pairing. Kein PIN, keine Bestätigung. Der Temporary Key (TK) ist 0.
Problem: Ein Angreifer, der das Pairing mitschneidet, kann:
1. TK = 0 wissen (immer)
2. STK (Short-Term Key) berechnen
3. Die gesamte Verbindung entschlüsseln
Fazit: Just Works bietet Schutz nur gegen passives Abhören einer bereits verschlüsselten Verbindung — nicht gegen Angriffe während des Pairings.
Passkey Entry
Ein 6-stelliger Zahlencode wird auf einem Gerät angezeigt und auf dem anderen eingegeben. Der TK ist die Passkey-Zahl (0–999999).
Schutz gegen MITM: Ohne den PIN kann ein Angreifer den Schlüsselaustausch nicht manipulieren.
Numeric Comparison (LE Secure Connections)
Nur mit LESC (SM1 Level 4). Beide Geräte zeigen dieselbe 6-stellige Zahl an. Der Nutzer bestätigt "Ja, die Zahlen stimmen überein". Kein shared secret wird übertragen.
Dies ist die sicherste Pairing-Methode für Geräte mit Displays.
Out of Band (OOB)
Schlüsselaustausch über einen zweiten Kanal (NFC, QR-Code). Da der Angreifer den OOB-Kanal nicht abhören kann, ist voller MITM-Schutz gegeben.
Bonding: Schlüssel speichern für Wiederverbindung
Bonding bedeutet, dass nach dem ersten Pairing die Schlüssel gespeichert werden, damit sich Geräte beim nächsten Mal ohne erneutes Pairing verbinden können — wie ein Stammkunde, der keine Ausweiskontrolle mehr braucht.
Die beim Bonding gespeicherten Schlüssel:
| Schlüssel | Funktion |
|---|---|
| LTK (Long-Term Key) | Hauptschlüssel für erneute Verbindungsverschlüsselung |
| IRK (Identity Resolving Key) | Löst zufällig wechselnde MAC-Adressen auf (Resolvable Private Address) |
| CSRK (Connection Signature Resolving Key) | Verifiziert Datensignaturen (Security Mode 2) |
Kein Bonding = Kein Geräteschutz
Ohne Bonding kann ein neues, unbekanntes Gerät sich jederzeit mit einem IoT-Gerät verbinden — wenn keine Authentifizierung erzwungen wird. Das fanden wir bei der Körperwaage: Keine Whitelist, kein Bonding, keine Authentifizierung — jede App konnte Messdaten abrufen.
Sicherheitsniveau im Vergleich: Analysierte Geräte
| Gerät | Pairing-Methode | Security Mode | Bonding | Gesamtbewertung |
|---|---|---|---|---|
| LED-Brille | Just Works (de facto keine) | SM1 Level 1 | Nein | Kritisch |
| LED-Strip | Keines | SM1 Level 1 | Nein | Kritisch |
| Körperwaage | Keines | SM1 Level 1 | Nein | Kritisch |
| Empfehlung | Numeric Comparison / Passkey | SM1 Level 4 | Ja | Sicher |
Sicherheitsmodi und der ProtocolExplorer
Das BLE-Protokollstack-Modell zeigt, wo Sicherheit eingreift:
┌─────────────────────┐
│ App-Schicht │ ← App-seitige Verschlüsselung (AES-GCM)
├─────────────────────┤
│ GATT / ATT │ ← GATT-Berechtigungen (Read/Write Encryption)
├─────────────────────┤
│ SMP │ ← Pairing & Bonding (Security Mode & Level)
├─────────────────────┤
│ L2CAP │
├─────────────────────┤
│ Link Layer (LL) │ ← Link-Layer-Verschlüsselung (LTK)
├─────────────────────┤
│ PHY │
└─────────────────────┘
Sicherheit auf mehreren Ebenen (Defense in Depth) ist das Ziel: Link-Layer-Verschlüsselung + App-seitige Verschlüsselung + GATT-Berechtigungen.
Zusammenfassung
- SM1 Level 1 bedeutet keine Sicherheit — kein Pairing, keine Verschlüsselung
- SM1 Level 4 (LESC) ist der Gold-Standard: ECDH + AES-CCM + Forward Secrecy
- Just Works bietet keinen MITM-Schutz (TK = 0)
- Numeric Comparison ist die empfohlene Pairing-Methode für Geräte mit Display
- Bonding speichert Schlüssel für Wiederverbindung — ohne Bonding: kein Geräteschutz
Welcher Security Mode und Level bietet Forward Secrecy in BLE?