Ein Blick in Struktur und Sicherheit des Bluetooth Protocol Stacks
Bluetooth ist eine dieser Technologien, die so weitverbreitet sind, dass man sie schon fast nicht mehr wahrnimmt. Im Gespräch mit Tim Pritlove erklärt Martin Herfurt Hintergrund, Entwicklung, Technologie und Struktur des Bluetooth Standards.
Themen: Bluetooth War Driving; Frühe Sicherheitslücken; Bluetooth Kommunikationsrollen; Pairing und Verschlüsselung; Voreingestellte PINs und dynamischer Schlüsselaustausch; Piconets und Personal Area Networks; Bluetooth Communication Walkthrough; Autokonfiguration; Geräteklassen; Kabelose Sprachinjektion auf der Autobahn; Pairing mit Geräten ohne Display; Pairing von Tastaturen; Bluetooth Profile; Denial of Service und andere Probleme; Internet via Bluetooth; Implementierungen des Bluetooth Protocol Stack; Bluetooth 3.0 und die Koexistenz mit WLAN; ungewöhnliche Bluetooth-Geräte; Bluetooth in Embedded Devices.
Shownotes
Links:
- Martin Herfurt
- Martin Herfurt @ Twitter
- WP: Bluetooth
- WP: Pocket Computer
- WP: Commodore 64
- WP: Fachhochschule Salzburg
- Tobias Engel: SMS and all it’s features
- WP: Short Message Service
- CRE040 Digital Telefonnetze
- CRE110 Next Generation Networks
- Martin Herfurt: Der Handy Hacker
- WP: PlayStation 3
- WP: Wii-Fernbedienung
- Adam Laurie
- WP: Sony Ericsson
- WP: Nokia
- WP: CeBIT
- Heise Forum ’05: Martin Herfurt: Bluetooth Sicherheitslücken – von der Entdeckung bis zur Enthüllung
- WP: Bluetooth Special Interest Group (SIG)
- trifinite.org
- trifinite: group
- WP: Frequenzspreizung (Frequency Hopping)
- WP: Gaussian Frequency Shift Keying (GFSK)
- WP: Sniffer
- WP: GNU Radio
- WP: Synchrone Kommunikation
- WP: Asynchrone Kommunikation
- WP: Headsets
- WP: Kontravalenz (XOR)
- WP: MAC-Adresse
- WP: Media Access Control
- WP: SAFER
- WP: Advanced Encryption Standard (AES)
- WP: Rohde & Schwarz
- WP: Piconet
- WP: Personal Area Network
- WP: Wireless Personal Area Network
- WP: Diffie-Hellman-Schlüsselaustausch
- WP: Elliptic Curve Cryptography (ECC)
- WP: OBEX
- WP: Infrared Data Association (IrDA)
- WP: Denial of Service
- WP: AT-Befehlssatz
- WP: Logical Link Control and Adaption Layer Protocol
- WP: Ping of Death
- WP: Flooding
- WP: Akustikkoppler
- WP: Ethernet
- WP: RFCOMM
- WP: Serielle Schnittstelle
- WP: Point-to-Point Protocol (PPP)
- WP: Hallmark
- WP: RFID
- CRE116 Mobile Ad-Hoc Networks
- WP: ZigBee
- WP: Bluetooth low energy
- WP: Bree
- WP: BlueZ
- WP: Qualcomm
- WP: D-Bus
- WP: Wireless Local Area Network
- YouTube: Malkovich, Malkovich
- The Toy
- WP: Arduino-Plattform
- WP: OpenWrt
- CRE076 OpenWRT
- WP: Harald Blauzahn
Erfrischendes Thema mit gelungener Umsetzung. Waren zwei unterhaltsame Stunden.
Mir fiel beim lesen der Überschrift ein Zitat aus The Big Bang Theory ein: „Alles ist besser, mit Bluetooth“ =)
Waaaaa, endlich! Das passt absolug genau zu meinen laufenden BT-Projekten! Bloss: Wann sol ich das alles hören? ;)
mny tnx!
Hat mir sehr gut gefallen. Super Gesprächspartner! Vielen Dank!
Schöner Podcast. Neben dem Inhalt ist auch die Tonqualität wie immer top – deutlich und vor allem normalisiert, sodass ich die Podcasts schon morgens im Bus hören kann, was ich nicht von vielen anderen mir bekannten sagen kann. Ich hab, seit ich im Juli CRE entdeckt hab, schon 4,6 Tage davon konsumiert (sagt mein iTunes) :)
Noch etwas zu Mikrocontrollern (wie Arduino) und BT: Ein normaler BT-USB-Dongle braucht einen USB-_Host_ um zu funktionieren, der USB-Chip beim Arduino (und auch bei fast allen anderen kleinen Mikrocontrollern) implementiert aber fast immer nur einen USB-Client. Eine Ausnahme bildet z.B. dieser USB-Stack für Propeller, der gerade zur Verwendung mit USB-Dongles geschaffen wurde:
http://blog.makezine.com/archive/2010/07/2_bluetooth_serial_with_propeller_u.html
Wenn man keinen fetteren Controller (ARM usw.) nehmen möchte, der USB-Host hat und worauf dann auch gleich ein Linux laufen kann, ist der typische Weg des gemeinen Bastlers bei kleinen 8-Bit-Controllern (z.B. AVR, PIC) meist eher, ein fertiges BT-Modul mit serieller Schnittstelle zu verwenden. Diese Dinger gibt es sehr preiswert, eine Übersicht hier:
http://www.mikrocontroller.net/articles/Bluetooth
Der Nachteil: Die meisten dieser Teile implementieren nur das (Achtung, Tim!) Serial-über-BT-Profil, d.h. die Gegenstelle sieht nur einen BT-Serielle, deren Daten dann transparent zum Mikrocontroller durchgereicht werden. Dadurch muss man eben auch auf der Gegenstelle und auf dem Mikrocontroller Software schreiben, welche ein eigenes Protokoll über seriell fährt.
Übrigens sind diese käuflichen BT-Module meist auch komplette Systems-on-a-Chip, d.h. neben der BT-Hardware sitzt noch ein frei programmierbarer Prozessor drauf, der aber für diese Module eben fest auf ein Profil (meist das serielle…) programmiert wird. Für 4-stelliges bekommt man von Herstellern die Devtools und -Hardware, um da selber etwas reinzuschreiben…
Gruß,
droelf
Nachtrag: ich sehe gerade auf der von mir verlinkten Liste
http://www.mikrocontroller.net/articles/Bluetooth
Der BlueNiceCom 4 für erschwingliche 37 Euro kann als einer der Wenigen neben SPP (serial-over-BT) noch einige andere nützliche Profile.
Nachdem ich fast mein Interesse am cre verloren habe endlich mal ein gutes Thema.
Auf meiner aktuellen Themen-Wunschliste:
S21
Halte ich fuer ein SEHR wichtiges Thema!