OBEX – Object Exchange Protocol

Abkürzung: OBEX

OBEX ist ein Protokoll zum Austausch von Objekten zwischen Geräten — Dateien, Visitenkarten, Terminen. Entwickelt wurde es von der Infrared Data Association für die Infrarotschnittstelle und später von der Bluetooth SIG übernommen, wo es bis heute arbeitet.

Sein Entwurfsziel war Sparsamkeit: wenig Speicher, wenig Rechenleistung, keine aufwendige Aushandlung. Es sollte auf Geräten laufen, die nach heutigen Maßstäben nichts konnten.

Wie OBEX arbeitet

Das Vorbild ist HTTP, in stark verkleinerter Form. Ein Client stellt Anfragen, ein Server antwortet, und die Befehle tragen vertraute Namen:

BefehlWirkung
CONNECTSitzung aufbauen, Paketgröße aushandeln
PUTObjekt übertragen
GETObjekt anfordern
SETPATHVerzeichnis wechseln
ABORTlaufende Übertragung abbrechen
DISCONNECTSitzung beenden

Die Nutzdaten stecken in Headern mit Typkennung — Name, Länge, Typ, Beschreibung und der Datenblock selbst. Große Objekte werden in Pakete zerlegt, deren Größe beim Verbindungsaufbau festgelegt wird.

Über OBEX liegen Profile, die festlegen, wofür es jeweils verwendet wird:

OPP (Object Push Profile) schiebt einzelne Objekte ohne Verzeichnisstruktur — das klassische Senden einer Visitenkarte.

FTP (File Transfer Profile) erlaubt das Durchblättern von Ordnern auf dem anderen Gerät.

PBAP (Phone Book Access Profile) überträgt Telefonbuch und Anrufliste. Das ist heute die wichtigste Anwendung: Wenn das Autoradio nach dem Koppeln die Kontakte des Mobiltelefons anzeigt, läuft das über OBEX.

MAP (Message Access Profile) macht dasselbe mit Kurznachrichten, damit das Fahrzeug sie vorlesen kann.

BIP und BPP übertragen Bilder beziehungsweise Druckaufträge.

Wo OBEX heute läuft — und wo es verschwand

Verschwunden ist der Anwendungsfall, für den die meisten den Begriff kennen: das Verschicken von Bildern und Klingeltönen zwischen Mobiltelefonen. Mit Datentarifen und Messengern hat sich das erledigt, und moderne Betriebssysteme haben die Freigabe eingeschränkt oder entfernt.

Geblieben ist die Fahrzeugtechnik. Jede Freisprecheinrichtung, die Kontakte und Nachrichten übernimmt, nutzt PBAP und MAP und damit OBEX. Dazu kommen Messgeräte, Kassensysteme und medizinische Geräte, bei denen die Kopplung über Bluetooth seit Jahren unverändert läuft.

Das erklärt die Fehlerbilder, die in der Praxis auftreten: Wenn das Telefonbuch im Fahrzeug leer bleibt, ist fast immer die Berechtigung die Ursache — das Mobiltelefon fragt beim Koppeln nach dem Zugriff auf Kontakte und Nachrichten, und eine verneinte oder übersehene Nachfrage lässt sich später nur in den Bluetooth-Einstellungen des gekoppelten Geräts nachholen. Das Löschen und Neukoppeln, das in Anleitungen empfohlen wird, wirkt deshalb oft: Es stellt die Frage erneut.

Die Sicherheitsgeschichte

OBEX ist auch deshalb bekannt, weil es in den 2000er Jahren eine Reihe von Angriffen auf Mobiltelefone ermöglichte. Das Object Push Profile war auf vielen Geräten ohne Kopplung erreichbar, weil das Senden einer Visitenkarte bewusst einfach sein sollte.

Daraus entstanden zwei Begriffe, die in Zeitungsartikeln jener Jahre auftauchten: Bluejacking für das unverlangte Zusenden von Nachrichten, und Bluesnarfing für das Auslesen von Telefonbuch und Daten über fehlerhafte Umsetzungen, die GET zuließen, wo nur PUT vorgesehen war.

Behoben wurde das durch Nachbesserungen, durch Kopplungszwang und dadurch, dass Geräte nicht mehr standardmäßig sichtbar sind. Als Lehrstück bleibt es nützlich: Ein Dienst, der aus Bequemlichkeit ohne Berechtigung erreichbar ist, wird genau dafür benutzt.

Abgrenzung

Bluetooth ist die Funktechnik, über die OBEX heute überwiegend läuft. Das Protokoll selbst ist davon unabhängig und arbeitete zuerst über Infrarot.

IrDA ist die Infrarotschnittstelle, für die OBEX ursprünglich entwickelt wurde.

RFCOMM ist die Schicht darunter bei Bluetooth: eine serielle Verbindung, auf der OBEX aufsetzt.

HTTP ist das Vorbild für den Aufbau mit Anfragen, Antworten und Headern — bei erheblich größerem Umfang.

AirDrop und vergleichbare Verfahren lösen dieselbe Aufgabe heute mit eigenen Protokollen über WLAN.

Quellen

  • IrDA: IrOBEX Specification
  • Bluetooth SIG: Object Push Profile, File Transfer Profile, Phone Book Access Profile
  • Bluetooth SIG: Core Specification, Abschnitt RFCOMM

Erstellt: · Überarbeitet: