¿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
fuente
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:
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:
para calcular la dirección mac de su dispositivo (teclado / mouse):
fuente
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
Por lo tanto, puede elegir la clave de ese archivo y ponerla en un archivo similar en su PC:
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:
Como puede ver, son exactamente los mismos números que en los archivos anteriores. Espero que ayude a las generaciones futuras.
fuente
Como referencia, en la pila Bluetooth de Microsoft, las teclas de enlace se encuentran
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeff
donde 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 -C
y escriba esta clave en su registro de Windows.fuente
PsExec.exe -s -i regedit / E% cd% \ btkeys_export.txt "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"
fuente