Trouver la clé de liaison Bluetooth dans Windows 7, pour coupler deux fois un appareil sur un ordinateur à double démarrage

12

Comment puis-je déterrer la clé de liaison Bluetooth pour un appareil couplé dans Windows 7? Est-ce quelque chose qui dépend de la pile Bluetooth que j'utilise (Toshiba), ou existe-t-il un emplacement générique pour les stocker dans Windows 7?

Remarque: je ne parle pas du code à six chiffres habituellement tapé par l'utilisateur lors du couplage - cela ne vaut rien car il est rejeté après le processus de couplage. Ce que je veux dire, c'est la clé de liaison 128 bits que les appareils échangent pendant le couplage et utilisent ensuite pour crypter tout leur trafic Bluetooth.

Contexte:

Je doubleboot Windows 7 / Ubuntu sur mon ordinateur portable, et je voudrais que mon téléphone soit couplé aux deux systèmes d'exploitation. Étant donné que l'ordinateur à double démarrage n'a qu'un seul adaptateur Bluetooth et donc une seule adresse Bluetooth, je ne peux pas effectuer deux couplages avec le téléphone, car sur le deuxième couplage (Windows), le téléphone remplace simplement le couplage précédent (Linux) par la même adresse Bluetooth.

Un fil sur les forums Ubuntu m'a indiqué ce que je dois faire - coupler d'abord sous Linux, puis sous Windows, puis remplacer la clé de lien côté Linux par celle négociée par Windows.

Je peux trouver la clé d'appariement côté Linux à partir de /var/lib/Bluetooth/[BD_ADDR]/linkkeys- aucun problème là-bas.

Cependant, côté Windows, je ne trouve pas la clé. Selon le poste de forum, sur le côté Windows , la clé doit être , SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]mais alors que la clé de Registre ne existe, il n'a pas les sous - clés. (Et un chemin de registre similaire dans ControlSet001 n'avait pas non plus de sous-clés.)

Une chose qui m'a été demandée est de capturer tous les événements lors du couplage avec Sysinternals Process Monitor . Je l'ai fait, mais je n'ai pas pu trouver d'informations utiles sur les événements capturés, pas même en exportant les données vers un énorme XML et en le saluant avec les BD_ADDR (avec ou sans deux-points).

Alors, comment pourrais-je trouver la clé de lien pour un appareil couplé dans Windows 7?

Quelques informations de référence: Wikipedia: Bluetooth , Security Now: sécurité Bluetooth

Ilari Kajaste
la source

Réponses:

7

La clé de Registre , vous devez utiliser est:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.

Sur mon ordinateur, il a refusé de me laisser accéder à cette clé. J'ai dû changer le propriétaire en Administrateurs avant de pouvoir voir la sous-clé.

Si vous utilisez la pile Bluetooth de Toshiba, ses clés sont stockées ailleurs. On peut soit trouver où, soit simplement retourner dans la pile Microsoft. Dans le dernier cas, les clés Bluetooth seront stockées dans le registre comme ci-dessus.

Ce fil décrit le processus:

  1. Désinstaller Toshiba Bluetooth (Ajout / Suppression de programmes),
  2. Reboot,
  3. Windows devrait maintenant détecter le "nouveau" périphérique Bluetooth et installer ses propres pilotes.

Attention: créez d'abord un point de restauration système et assurez-vous de disposer du support d'installation du pilote Toshiba pour revenir en arrière (au cas où). Testez bien la fonctionnalité du téléphone couplé avant de crier victoire.

harrymc
la source
J'ai changé le propriétaire en administrateur, ce qui m'a ensuite permis d'accéder à cette clé, mais malheureusement, elle ne contient aucune sous-clé.
Ilari Kajaste du
L'avez-vous fait en binôme?
harrymc
Oui, j'ai et fait jumeler le téléphone (plus deux autres appareils) à Windows. Je n'étais connecté à aucun d'entre eux à l'époque, cependant - je pense que cela n'avait pas d'importance car la clé doit être stockée dans tous les cas.
Ilari Kajaste
1
Je suis sûr que Toshiba n'utiliserait pas les entrées de registre Microsoft. Pouvez-vous revenir à la pile Microsoft?
harrymc
1
Ce fil dit: 1. Désinstaller Toshiba Bluetooth (Ajout / Suppression de programmes), 2. Redémarrer, 3. Windows devrait maintenant détecter le "nouveau" périphérique Bluetooth et installer ses propres pilotes. Créez d'abord un point de restauration système et assurez-vous que vous disposez du support d'installation pour le pilote Toshiba (au cas où). Si cela fonctionne, testez bien uniquement les fonctionnalités du téléphone couplé que vous utilisez réellement .
harrymc
5

Les clés ne sont pas visibles par l'administrateur, vous devez ouvrir le registre en tant que compte système:

C'est pour Windows 7 sur un ThinkPad avec un adaptateur thinkpad bluetooth 4.0 mais peut fonctionner avec d'autres systèmes Windows

Téléchargez PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Déballez-le dans c: \ portable \ pstools \ open cmd cliquez sur démarrer, tapez cmd, appuyez sur entrée, à l'intérieur du type de fenêtre noir et blanc:

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

regedit s'ouvre, accédez à: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

vous y trouverez l'adresse MAC de tous vos adaptateurs Bluetooth, et sous chaque adaptateur, se trouvent toutes les adresses MAC des appareils couplés avec leurs clés de liaison.

pour comprendre l'adresse MAC de votre adaptateur:

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

pour comprendre l'adresse mac de votre appareil (clavier / souris):

Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier 
thezeroth
la source
De @Cristian: J'ai utilisé la méthode décrite par thezeroth sur ma machine à double démarrage Xubuntu 15.10 / Windows 8 et cela fonctionne comme un charme. La seule chose est que sur Xubuntu la clé de couplage n'était pas dans le fichier mentionné mais dans un fichier appelé Info à l'intérieur d'un sous-dossier nommé d'après l'identifiant unique de la souris (un logitech M535). A part ça, une solution parfaite.
fixer1234
3

J'ai eu exactement le même problème, j'ai donc trouvé ce message et je veux maintenant partager mon expérience. Si vous avez un smartphone Android, cette tâche pourrait être beaucoup plus facile, car l'association de la clé de liaison devrait être présente sur vos deux appareils.

L'outil le plus utile est l'ADB d'Android SDK.

Supposons que le téléphone ait une adresse XX ^ 6 et un 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
~ #

Ainsi, vous pouvez simplement choisir la clé de ce fichier et la placer dans un fichier similaire sur votre PC:

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

Cette méthode semble être plus simple car Linux et Android utilisent généralement la même pile Bluetooth Bluez.

Pourtant, si vous méprisez personnellement une telle technique, il existe un autre moyen d'obtenir la clé du registre Windows à condition que des pilotes Windows standard soient utilisés. J'ai reçu cette boîte de dialogue de message de sécurité, j'ai donc utilisé l'utilitaire linux natif "chntpw" qui permet de réinitialiser le mot de passe ou de modifier le fichier de registre Windows. Le fichier requis était "windows \ system32 \ config \ SYSTEM".

Ça y est:

$ 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.#..`.

Comme vous pouvez le voir, il s'agit exactement des mêmes chiffres que dans les fichiers ci-dessus. J'espère que cela aidera les générations futures.

Gardien des esprits
la source
Votre appareil est-il enraciné / BusyBox est-il installé? La commande "find" a échoué.
0

Pour référence, sur la pile Microsoft Bluetooth, les clés de liaison se trouvent à l' HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffendroit où aabbccddeeff est votre adaptateur Bluetooth. Étant donné que l'adaptateur est déjà installé, cette clé doit exister.

Dans cette clé, vous pouvez avoir plusieurs valeurs REG_BINARY, où le nom de la valeur est l'adresse MAC du périphérique couplé (sous la même forme - hexadécimal, minuscule, aucun séparateur) et la valeur est la clé de liaison (16 octets).

Pour récupérer les clés de liaison sous OS X, effectuez (dans OSX Terminal) defaults read /private/var/root/Library/Preferences/blued.plist. Dans LinkKeys, vous devez avoir une clé de liaison par adresse MAC d'un appareil couplé. Les clés sont codées en base64, faites-le donc: echo -n 'aabbcc...==' | base64 -d | hexdump -Cet saisissez cette clé dans votre registre Windows.

Il y a
la source
-1

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

rester simple
la source
Bienvenue sur Super User! Pouvez-vous développer? Modifiez peut-être votre réponse pour expliquer ce que vous décrivez et pourquoi vous faites cette suggestion. Merci!
bertieb