Cryptography Reference
In-Depth Information
7.
Der Slave berechnet ebenfalls den
Encryption Key
. Dazu wendet er E
3
mit
dem
Link Key
als Schlüssel auf
EN_RAND
und die zusätzliche Variable an.
Anschließend berechnet er den
Constraint Key
aus dem
Encryption Key
.
Nach Abarbeitung dieses Protokolls besitzen der Master und der Slave einen
gemeinsamen
Link Key
sowie einen gemeinsamen
Constraint Key
. Diese beiden
Schlüssel werden zur Authentifizierung und zur Verschlüsselung verwendet. Zum
beschriebenen Protokoll ist noch zu bemerken, dass es verschiedene Abwandlungen
davon gibt. So können die letzten beiden Schritte entfallen, wenn keine Verschlüsse-
lung durchgeführt werden soll. Bei Teilen des Protokolls kann zudem die Rolle von
Master und Slave vertauscht werden. Und schließlich gibt es noch eine erweiterte
Variante des Protokolls für den Fall, dass mehrere Slaves daran beteiligt sind.
33.3.2
Bluetooth-Authentifizierung und -Verschlüsselung
Nach dieser Vorarbeit können der Master und der Slave eine Authentifizierung
durchführen sowie die übertragenen Daten verschlüsseln. Dabei ist die Sicher-
heitsstufen-Tabelle in Abschnitt 33.3.1 zu beachten. Diese besagt, dass nicht in
allen Fällen eine Authentifizierung stattfindet. Falls ja, muss diese nicht gegensei-
tig sein. Zudem wird gemäß der Tabelle nicht in allen Fällen verschlüsselt. Wenn
jedoch eine Verschlüsselung oder Authentifizierung durchgeführt wird, dann
geschieht dies wie im Folgenden beschrieben.
Authentifizierung
Die von Bluetooth vorgesehene Authentifizierung folgt einem einfachen Chal-
lenge-Response-Protokoll. Dieses sieht wie folgt aus:
1.
Der Master schickt eine Challenge (also einen Zufallswert) an den Slave.
2.
Der Slave wendet auf die Challenge und seine Bluetooth-Geräteadresse das
Verfahren E
1
an. Als E
1
-Schlüssel verwendet er den
Link Key
. Das Ergebnis
geht als Response an den Master zurück.
Dieses Protokoll kann auch umgekehrt ablaufen (der Slave authentifiziert den
Master). Auch eine wechselseitige Authentifizierung ist möglich. Dabei kommt
der beschriebene Ablauf zweimal zum Einsatz, wobei beim zweiten Mal die Rol-
len vertauscht werden.
Verschlüsselung
Falls die verwendeten Sicherheitsstufen sowie die Anwendungen oder Policys es
vorsehen, können Master und Slave den Bluetooth-Datenaustausch verschlüs-
seln. Dazu verwenden sie das Verfahren E
0
. Als Schlüssel wird der
Constraint Key
verwendet. Für jedes Datenpaket wird das Verfahren E
0
neu initialisiert. Da bei
einer Stromchiffre (E
0
ist eine solche) derselbe Schlüssel nicht mehrfach verwen-