130 likes | 253 Views
Security Manager Protocol. PUID. Remote Control. Proximity. Battery. Thermostat. Heart Rate. …. Attribute Profile. Security Manager Protocol. Attribute Protocol. L2CAP. Host Controller Interface. Link Layer. Physical Layer. Simple Pairung Association Model.
E N D
PUID Remote Control Proximity Battery Thermostat Heart Rate … Attribute Profile Security Manager Protocol Attribute Protocol L2CAP Host Controller Interface Link Layer Physical Layer
Sicherheit in Bluetooth • Bluetooth bietet eine mehrstufiges Sicherheitsmodell • Geräte können unsichtbar geschaltet werden (nicht per Inquiry auffindbar). • Geräte können mit einem permanenten Verbindungsschlüssel versehen werden (Bonding). • Bluetooth-Sicherheit wird auf Link-Manager Ebene im Bluetooth-Chip umgesetzt und nicht auf der Anwendungsebene. • Authentifizierung kann vom Slave und vom Master angefordert werden. • Nur bei einem gemeinsamen Verbindungsschlüssel werden Geräte als vertraulich eingestuft. • Autorisierung: Passwort wurde bestätigt. • Authentifizierung: Bestätigen, dass man es tatsächlich ist.
Security Manager Protocol • Führt die Authentisierung (Authentication) und das Schlüssel Management durch • Host Funktion – mehr Flexibilität • Nutzt AES-128 als Verschlüsselungs-Algorithmus für Sicherheitsprozeduren • Definiert ein Protokoll, um eine sichere Verbindung einzurichten
Authentisierung / Authentifizierung • Authentifizierung (gr. αυθεντικός authentikós „echt“, „Anführer“; Stammform verbunden mit lat. facere = machen) ist der Nachweis (Verifikation) einer behaupteten Eigenschaft einer Partei, die beispielsweise ein Mensch, ein Gerät, ein Dokument oder eine Information sein kann, und die dabei durch ihren Beitrag ihre Authentisierung durchführt. • Im englischen Sprachraum wird zwischen den Aktionen beider Parteien syntaktisch nicht unterschieden. Im deutschen Sprachraum ist diese Unterscheidung oft auch nicht zu finden. • Die eine Authentifizierung abschließende Bestätigung wird auch als Autorisierung bezeichnet und bezüglich der behaupteten Eigenschaft, die beispielsweise „bestehende Zugangsberechtigung“ oder „Echtheit“ sein kann, gilt die authentifizierte Partei dann als authentisch. Quelle: Wikipedia
Verwendete Schlüssel in SMP - I • Identity Root IR • IR ist eine 128-Bit Zufallszahl • Wird verwendet, wenn Verschlüsselung und oder Zufallsadressierung unterstützt wird. • Identity Resolving Key IRK • IRK ist ein 128-Bit Wert, der von IR abgeleitet wird • mit IRK =EIR(`1`) • Diversifier Hiding Key (DHK) • DHK ist ein 128-Bit Wert, der von IR abgeleitet wird • Wird verwendet, um den Diversifizierer während des Connection Setup zu verbergen
Verwendete Schlüssel in SMP - II • Encryption Root (ER) • ER ist eine 128-Bit Zufallszahl • Wird verwendet, wenn die Slave Rolle unterstützt wird • Long Term Key (LTK) • LTK ist ein 128-Bit Wert, der von ER abgleitet wird • mit LTK = EER (DIV) • LTK generiert den Short Term Key (STK), der verwendet wird, um die Verbindung zu verschlüsseln • LTK wird beim Master gespeichert
Drei Phasen des Security SetUp • Phase 1 (unverschlüsselt) • Request for pairing • Phase 2 (unverschlüsselt) • Wahl des Verschlüsselungsalgorithmus in Abhängigkeit vom Request • Phase 3 (verschlüsselt)Optionale “bonding” Phase
Phase1 des Security-Setup: 1. Teil des Pairing • Request for Pairing • Austausch von I/O Eigenschaften. • (Was ist angeschlossen?) • Nur Display, Keyboard, noInput Output • Austausch der Authentifikations Anforderungen • Ist eine Authentikation angefordert oder nicht. • Austausch der Bonding-anforderung • Soll Bonding ausgeführt werden oder nicht? (Soll Phase 3 ausgeführt werden?)
Phase2 des Security-Setup: 2. Teil des Pairing • OOB (Out of Band)– wenn beide Geräte OOB I/O unterstützen • Set TK = OOB_data • Pin Eingabe – Wenn Geräte die folgenden IO Eigenschaften besitzen • Keyboard – Keyboard • Keybord – Display (oder umgekehrt) • Dispplay – Keyboard • Set TK = pin_value • No-Authentification - Wenn Geräte die folgenden IO Eigenschaften besitzen • Display – display • NoInputOutput – display • NoInputOutput – NoInputOutput • Set TK = 0 • Führe Algorithmus (pairing process) durch – Einrichten eines Short Term Key STK
Phase3 des Security-Setup: Bonding • Phase3 – Bonding • Optionale Phase – ob erforderlich, wird in Phase 1 entschieden • Verschlüsselt mit STK, abgeleitet in Phase 2 • Slave sendet Long Term Key, DIV, IRK • Master speichert diese Information für den Fall eines späteren Wiederkontaktes • Nutzt IRK für die Auflösung des Random Access vom Slave • Nutzt LTK und DIV, um bei einer wiederholten Verbindung gleich zu entschlüsseln