Encontrar la clave de enlace Bluetooth en Windows 7, para emparejar dos veces un dispositivo en una computadora con arranque dual


12

¿Cómo puedo desenterrar la clave de enlace Bluetooth para un dispositivo vinculado en Windows 7? ¿Es esto algo que depende de la pila de Bluetooth que estoy usando (Toshiba), o hay un lugar genérico para almacenarlos en Windows 7?

Nota: No me refiero al código de seis dígitos que el usuario suele escribir durante el emparejamiento; eso no tiene valor ya que se descarta después del proceso de emparejamiento. Lo que quiero decir es la clave de enlace de 128 bits que los dispositivos intercambian durante el emparejamiento, y la usan luego para encriptar todo su tráfico de Bluetooth.

Antecedentes:

Arranco dual Windows 7 / Ubuntu en mi computadora portátil, y me gustaría emparejar mi teléfono con ambos SO. Dado que la computadora de arranque dual tiene solo un adaptador Bluetooth y, por lo tanto, solo una dirección Bluetooth, no puedo hacer dos emparejamientos con el teléfono, ya que en el segundo emparejamiento (Windows) el teléfono simplemente reemplaza el emparejamiento anterior (Linux) a la misma dirección Bluetooth.

Un hilo en los foros de Ubuntu me señaló lo que tengo que hacer: emparejar primero en Linux, luego en Windows, y luego reemplazar la clave de enlace en el lado de Linux con la que Windows negoció.

Puedo encontrar la clave de emparejamiento lateral de Linux en /var/lib/Bluetooth/[BD_ADDR]/linkkeys: no hay problemas allí.

Sin embargo, en el lado de Windows no puedo encontrar la clave. De acuerdo con el mensaje del foro, en el lado de la tecla de Windows debe estar en SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]pero mientras que la clave de registro hace existir, no tiene subclaves. (Y una ruta de registro similar en ControlSet001 tampoco tenía ninguna subclave).

Una cosa que me han ordenado hacer es capturar todos los eventos durante el emparejamiento con Sysinternals Process Monitor . Hice esto, pero no he podido encontrar ninguna información útil de los eventos capturados, ni siquiera exportando los datos a un gran XML y agrupándolos con los BD_ADDR (con o sin dos puntos).

Entonces, ¿cómo podría encontrar la clave de enlace para un dispositivo emparejado en Windows 7?

Alguna información de referencia: Wikipedia: Bluetooth , Seguridad ahora: seguridad de Bluetooth

Respuestas:


7

La clave de registro se debe utilizar es:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys.

En mi computadora, se negó a permitirme acceder a esta clave. Tuve que cambiar el propietario a Administradores antes de poder ver la subclave.

Si está utilizando la pila Bluetooth de Toshiba, sus claves se almacenan en otro lugar. Uno puede encontrar dónde o simplemente regresar a la pila de Microsoft. En el último caso, las teclas Bluetooth se almacenarán en el registro como se indicó anteriormente.

Este hilo describe el proceso:

  1. Desinstalar Toshiba Bluetooth (Agregar o quitar programas),
  2. Reiniciar,
  3. Windows ahora debería detectar el "nuevo" dispositivo Bluetooth e instalar sus propios controladores para él.

Precaución: cree primero un punto de restauración del sistema y asegúrese de tener los medios de instalación del controlador Toshiba para volver (por si acaso). Pruebe bien la funcionalidad del teléfono emparejado antes de llorar victoria.


Cambié el propietario a Administrador, que luego me permitió acceder a esa clave, pero desafortunadamente no contiene subclaves.
Ilari Kajaste

¿Hiciste eso mientras estabas emparejado?
harrymc

Sí, tengo y tuve el teléfono (más otros dos dispositivos) emparejado con Windows. Sin embargo, no estaba conectado con ninguno de ellos en ese momento, supongo que eso no podría importar ya que la clave debe almacenarse en cualquier caso.
Ilari Kajaste

1
Estoy seguro de que Toshiba no usaría las entradas de registro de Microsoft. ¿Puedes volver a la pila de Microsoft?
harrymc

1
Este hilo dice: 1. Desinstale Toshiba Bluetooth (Agregar o quitar programas), 2. Reinicie, 3. Windows debería detectar el "nuevo" dispositivo Bluetooth e instalar sus propios controladores. Cree primero un punto de restauración del sistema y asegúrese de tener los medios de instalación para el controlador Toshiba (en el caso). Si esto funciona, pruebe bien solo la funcionalidad del teléfono emparejado que realmente usa.
harrymc

5

El administrador no puede ver las claves, debe abrir el registro como la cuenta del sistema:

Esto es para Windows 7 en un ThinkPad con el adaptador thinkpad bluetooth 4.0, pero podría funcionar con otros sistemas Windows

Descargue PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

Descomprímalo en c: \ portable \ pstools \ abrir cmd, haga clic en Inicio, escriba cmd, presione Entrar, dentro de la ventana en blanco y negro escriba:

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

regedit se abre, navega a: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

allí encontrará la dirección MAC de todos sus adaptadores bluetooth, y debajo de cada adaptador, se encuentran todas las direcciones MAC de los dispositivos emparejados con sus teclas de enlace.

para calcular la dirección MAC de su adaptador:

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

para calcular la dirección mac de su dispositivo (teclado / mouse):

Control Panel > Hardware and Sound > Devices and Printers > right click your device > Properties > Bluetooth > Unique Identifier 

De @Cristian: utilicé el método descrito por thezeroth en mi máquina Xubuntu 15.10 / Windows 8 dualboot y funciona de maravilla. Lo único es que en Xubuntu la clave de emparejamiento no estaba en el archivo mencionado, sino en un archivo llamado Información dentro de una subcarpeta con el nombre del identificador único a mouse (un logitech M535). Aparte de eso, la solución perfecta.
Fixer1234

3

Tuve exactamente el mismo problema, así que encontré esta publicación y ahora quiero compartir mi experiencia. Si tiene un teléfono inteligente Android, esa tarea podría ser mucho más fácil, ya que la vinculación de la clave de enlace debería estar presente en ambos dispositivos.

La herramienta más útil es el ADB de Android SDK.

Supongamos que el teléfono tiene una dirección XX ^ 6 y una 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
~ #

Por lo tanto, puede elegir la clave de ese archivo y ponerla en un archivo similar en su 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

Esta manera parece ser más fácil ya que Linux y Android generalmente usan la misma pila bluez bluetooth.

Aún así, si personalmente desprecia esa técnica, hay otra forma de obtener la clave del registro de Windows siempre que se utilicen los controladores estándar de Windows. Recibí ese diálogo de mensaje de seguridad, por lo que utilicé la utilidad nativa "chntpw" de Linux que permite restablecer la contraseña o editar el archivo de registro de Windows. El archivo requerido era "windows \ system32 \ config \ SYSTEM".

Aquí va:

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

Como puede ver, son exactamente los mismos números que en los archivos anteriores. Espero que ayude a las generaciones futuras.


¿Su dispositivo está rooteado / tiene instalado BusyBox? El comando "buscar" falló.

0

Como referencia, en la pila Bluetooth de Microsoft, las teclas de enlace se encuentran HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffdonde aabbccddeeff es su adaptador Bluetooth. Como el adaptador ya está instalado, esta clave debería existir.

Dentro de esa clave, puede tener múltiples valores REG_BINARY, donde el nombre del valor es la dirección MAC del dispositivo emparejado (en la misma forma: hexadecimal, minúscula, sin separadores) y el valor es la clave de enlace (16 bytes).

Para recoger las teclas de enlace de OS X, realice (en la Terminal OSX) defaults read /private/var/root/Library/Preferences/blued.plist. Dentro de LinkKeys, debe tener una clave de enlace por dirección MAC de un dispositivo emparejado. Las claves están codificadas en base64, así que haga lo siguiente: echo -n 'aabbcc...==' | base64 -d | hexdump -Cy escriba esta clave en su registro de Windows.


-1

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


¡Bienvenido a Super User! ¿Podrías dar más detalles sobre esto? Quizás edite su respuesta para explicar lo que está describiendo y por qué está haciendo esa sugerencia. ¡Gracias!
bertieb
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.