Suchen des Bluetooth-Verbindungsschlüssels in Windows 7, um ein Gerät auf einem Dualboot-Computer doppelt zu koppeln

12

Wie kann ich den Bluetooth- Verbindungsschlüssel für ein gekoppeltes Gerät in Windows 7 ausgraben ? Ist dies etwas, das von dem von mir verwendeten Bluetooth-Stack (Toshiba) abhängt, oder gibt es einen allgemeinen Speicherort für diese in Windows 7?

Hinweis: Ich spreche nicht von dem sechsstelligen Code, den der Benutzer normalerweise während des Pairings eingibt - das ist wertlos, da er nach dem Pairing verworfen wird. Was ich meine, ist der 128-Bit-Verbindungsschlüssel, den die Geräte während des Pairings austauschen und danach verwenden, um den gesamten Bluetooth-Verkehr zu verschlüsseln.

Hintergrund:

Ich starte Windows 7 / Ubuntu auf meinem Laptop doppelt und möchte, dass mein Telefon mit beiden Betriebssystemen gekoppelt wird. Da der Dualboot-Computer nur einen Bluetooth-Adapter und damit nur eine Bluetooth-Adresse hat, kann ich keine zwei Pairings mit dem Telefon durchführen, da das Telefon beim zweiten Pairing (Windows) nur das vorherige Pairing (Linux) durch dieselbe Bluetooth-Adresse ersetzt.

Ein Thread in Ubuntu-Foren hat mich darauf hingewiesen, was ich tun muss - zuerst unter Linux, dann unter Windows koppeln und dann den Link-Schlüssel auf Linux-Seite durch den von Windows ausgehandelten ersetzen.

Ich kann den Linux-seitigen Pairing-Schlüssel von finden /var/lib/Bluetooth/[BD_ADDR]/linkkeys- dort gibt es keine Probleme.

Auf der Windows-Seite kann ich den Schlüssel jedoch nicht finden. Nach dem Forum posten, auf Windows - Seite sollte der Schlüssel sein , in SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]aber während die Registrierungsschlüssel tun exist, hat es keine Unterschlüssel. (Und ein ähnlicher Registrierungspfad in ControlSet001 hatte auch keine Unterschlüssel.)

Ich wurde angewiesen, alle Ereignisse während des Pairings mit Sysinternals Process Monitor zu erfassen . Ich habe dies getan, aber ich konnte keine nützlichen Informationen aus den erfassten Ereignissen finden, auch nicht, indem ich die Daten in ein riesiges XML exportierte und diese mit den BD_ADDRs (mit oder ohne Doppelpunkte) abfragte.

Wie kann ich den Linkschlüssel für ein gekoppeltes Gerät in Windows 7 finden?

Einige Referenzinformationen: Wikipedia: Bluetooth , Sicherheit jetzt: Bluetooth-Sicherheit

Ilari Kajaste
quelle

Antworten:

7

Der Registrierungsschlüssel, den Sie verwenden sollten, lautet :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.

Auf meinem Computer wurde mir der Zugriff auf diesen Schlüssel verweigert. Ich musste den Eigentümer in Administratoren ändern, bevor ich den Unterschlüssel sehen konnte.

Wenn Sie den Toshiba Bluetooth-Stack verwenden, werden seine Schlüssel an einer anderen Stelle gespeichert. Man kann entweder finden, wo oder einfach zum Microsoft-Stack zurückkehren. Im späteren Fall werden die Bluetooth-Schlüssel wie oben in der Registrierung gespeichert.

Dieser Thread beschreibt den Prozess:

  1. Deinstallieren Sie Toshiba Bluetooth (Programme hinzufügen / entfernen),
  2. Neustart,
  3. Windows sollte nun das "neue" Bluetooth-Gerät erkennen und eigene Treiber dafür installieren.

Achtung: Erstellen Sie zuerst einen Systemwiederherstellungspunkt und stellen Sie sicher, dass Sie über das Installationsmedium für den Toshiba-Treiber verfügen, damit Sie zurückkehren können (nur für den Fall). Testen Sie die Funktionalität des gekoppelten Telefons gut, bevor Sie den Sieg erringen.

harrymc
quelle
Ich habe den Eigentümer in Administrator geändert, wodurch ich auf diesen Schlüssel zugreifen konnte, aber leider enthält er keine Unterschlüssel.
Ilari Kajaste
Hast du das gemacht, während du gepaart bist?
Harrymc
Ja, ich habe und hatte das Telefon (plus zwei andere Geräte) mit Windows gekoppelt. Ich war zu diesem Zeitpunkt jedoch mit keinem von ihnen verbunden - ich glaube, das konnte keine Rolle spielen, da der Schlüssel auf jeden Fall gespeichert werden muss.
Ilari Kajaste
1
Ich bin sicher, dass Toshiba keine Microsoft-Registrierungseinträge verwenden würde. Können Sie zum Microsoft-Stack zurückkehren?
Harrymc
1
Dieser Thread sagt: 1. Deinstallieren Sie Toshiba Bluetooth (Programme hinzufügen / entfernen), 2. Starten Sie neu, 3. Windows sollte jetzt das "neue" Bluetooth-Gerät erkennen und seine eigenen Treiber dafür installieren. Erstellen Sie zuerst einen Systemwiederherstellungspunkt und stellen Sie sicher, dass Sie über das Installationsmedium für den Toshiba-Treiber verfügen (falls vorhanden). Wenn dies funktioniert, testen Sie gut nur die Funktionalität des gekoppelten Telefons, das Sie wirklich verwenden.
Harrymc
5

Die Schlüssel sind für den Administrator nicht sichtbar. Sie sollten die Registrierung als Systemkonto öffnen:

Dies ist für Windows 7 auf einem ThinkPad mit Thinkpad Bluetooth 4.0-Adapter, funktioniert jedoch möglicherweise mit anderen Windows-Systemen

Laden Sie PsExec herunter: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Entpacken Sie es in c: \ portable \ pstools \ open cmd. Klicken Sie auf Start, geben Sie cmd ein und drücken Sie die Eingabetaste. Geben Sie im Schwarzweißfenster Folgendes ein:

c:\portable\pstools\psexec -s -i regedit

regedit öffnet sich, navigieren Sie zu: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

Dort finden Sie die MAC-Adresse aller Ihrer Bluetooth-Adapter. Unter jedem Adapter befinden sich die MAC-Adressen aller gekoppelten Geräte mit ihren Verbindungsschlüsseln.

So ermitteln Sie die MAC-Adresse Ihres Adapters:

bluetooth settings> Hardware > ThinkPad Bluetooth 4.0 > Properties > Advanced > Address

So ermitteln Sie die Mac-Adresse Ihres Geräts (Tastatur / Maus):

Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier 
thezeroth
quelle
Von @Cristian: Ich habe die von thezeroth beschriebene Methode auf meinem Xubuntu 15.10 / Windows 8 Dualboot-Computer verwendet und sie funktioniert wie ein Zauber. Das einzige ist, dass sich der Pairing-Schlüssel auf Xubuntu nicht in der genannten Datei befand, sondern in einer Datei namens Info in einem Unterordner, der nach der eindeutigen Kennung der Maus benannt ist (ein Logitech M535). Davon abgesehen perfekte Lösung.
Fixer1234
3

Ich hatte genau das gleiche Problem, also habe ich diesen Beitrag gefunden und möchte nun meine Erfahrungen teilen. Wenn Sie ein Android-Smartphone haben, ist diese Aufgabe möglicherweise viel einfacher, da der Pairing-Linkkey auf beiden Geräten vorhanden sein sollte.

Das nützlichste Tool ist das ADB aus dem Android SDK.

Nehmen wir an, das Telefon hat eine XX ^ 6-Adresse und einen PC - YY ^ 6

$ adb shell
~ # find|grep linkkeys
~ # ./data/misc/bluetoothd/XX:XX:XX:XX:XX:XX/linkkeys
~ # cat ./data/misc/bluetoothd/XX:XX:XX:XX:XX:XX/linkkeys
YY:YY:YY:YY:YY:YY 393FCA48F0DB57AA4D59F423E4EA60D5 5 -1
~ #

Sie können also einfach den Schlüssel aus dieser Datei auswählen und in eine ähnliche Datei auf Ihrem PC einfügen:

pc $ sudo -s
pc # cat /var/lib/bluetooth/YY:YY:YY:YY:YY:YY/linkkeys
XX:XX:XX:XX:XX:XX 393FCA48F0DB57AA4D59F423E4EA60D5 5 0

Dieser Weg scheint am einfachsten zu sein, da Linux und Android normalerweise denselben Bluez-Bluetooth-Stack verwenden.

Wenn Sie eine solche Technik persönlich verachten, gibt es eine andere Möglichkeit, den Schlüssel aus der Windows-Registrierung abzurufen, sofern Standard-Windows-Treiber verwendet werden. Ich habe diesen Sicherheitsnachrichtendialog erhalten, daher habe ich das native Linux-Dienstprogramm "chntpw" verwendet, mit dem das Kennwort zurückgesetzt oder die Windows-Registrierungsdatei bearbeitet werden kann. Die angeforderte Datei war "windows \ system32 \ config \ SYSTEM".

Hier kommt's:

$ chntpw -e SYSTEM
blah-blah-blah
> cd ControlSet001\services\BTHPORT\Parameters\Keys\yyyyyyyyyyyy
(...)\BTHPORT\Parameters\Keys\5cac4c10c4f1> ls
Node has 0 subkeys and 1 values
  size     type            value name             [value if type DWORD]
     16  REG_BINARY        <xxxxxxxxxxxx>

(...)\BTHPORT\Parameters\Keys\5cac4c10c4f1> hex xxxxxxxxxxxx
Value <xxxxxxxxxxxx> of type REG_BINARY, data length 16 [0x10]
:00000  39 3F CA 48 F0 DB 57 AA 4D 59 F4 23 E4 EA 60 D5 9?.H..W.MY.#..`.

Wie Sie sehen können, sind das genau die gleichen Zahlen wie in den obigen Dateien. Hoffe, es wird zukünftigen Generationen helfen.

Geistbewahrer
quelle
Ist Ihr Gerät gerootet / ist BusyBox installiert? Der Befehl "find" ist fehlgeschlagen.
0

Als Referenz befinden sich auf dem Microsoft Bluetooth-Stack die Verbindungsschlüssel dort, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffwo aabbccddeeff Ihr Bluetooth-Adapter ist. Da der Adapter bereits installiert ist, sollte dieser Schlüssel vorhanden sein.

Innerhalb dieses Schlüssels können Sie mehrere REG_BINARY-Werte haben, wobei der Wertname die MAC-Adresse des gekoppelten Geräts ist (in derselben Form - hexadezimal, Kleinbuchstaben, keine Trennzeichen) und der Wert der Verbindungsschlüssel (16 Byte).

Führen Sie (im OSX-Terminal) aus, um die Verbindungsschlüssel von OS X abzurufen defaults read /private/var/root/Library/Preferences/blued.plist. In LinkKeys sollten Sie einen Verbindungsschlüssel pro MAC-Adresse eines gekoppelten Geräts haben. Die Schlüssel sind base64-codiert. Geben Sie echo -n 'aabbcc...==' | base64 -d | hexdump -Cdiesen Schlüssel in Ihre Windows-Registrierung ein.

Ilya
quelle
-1

PsExec.exe -s -i regedit / E% cd% \ btkeys_export.txt "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"

halte es einfach
quelle
Willkommen bei Super User! Könnten Sie das näher erläutern? Bearbeiten Sie möglicherweise Ihre Antwort , um zu erklären, was Sie beschreiben und warum Sie diesen Vorschlag machen. Vielen Dank!
Bertieb