Jak wykopać klucz połączenia Bluetooth dla sparowanego urządzenia w systemie Windows 7? Czy to coś zależy od stosu Bluetooth, którego używam (Toshiba), czy jest jakieś ogólne miejsce do przechowywania ich w systemie Windows 7?
Uwaga: nie mówię o sześciocyfrowym kodzie zwykle wpisywanym przez użytkownika podczas parowania - jest to bezwartościowe, ponieważ jest odrzucane po procesie parowania. Mam na myśli 128-bitowy klucz łącza, który urządzenia wymieniają podczas parowania, a następnie używają do szyfrowania całego ruchu Bluetooth.
Tło:
Mam dualboot Windows 7 / Ubuntu na swoim laptopie i chciałbym, aby mój telefon był sparowany z obydwoma systemami operacyjnymi. Ponieważ komputer z podwójnym uruchomieniem ma tylko jeden adapter Bluetooth, a zatem tylko jeden adres Bluetooth, nie mogę wykonać dwóch parowań z telefonem, ponieważ podczas drugiego parowania (Windows) telefon po prostu zastępuje poprzednie parowanie (Linux) z tym samym adresem Bluetooth.
Wątek na forach Ubuntu wskazał mi, co muszę zrobić - najpierw sparuj w systemie Linux, a następnie w systemie Windows, a następnie zastąp klucz linku po stronie systemu Linux wynegocjowanym systemem Windows.
Znajdę Linux boczny klawisz powiązania z /var/lib/Bluetooth/[BD_ADDR]/linkkeys
- nie ma problemu.
Jednak po stronie systemu Windows nie mogę znaleźć klucza. Zgodnie z tym stanowiskiem forum, na stronie systemu Windows klucz powinien być SYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]
jednak jednocześnie, że klucz rejestru nie istnieje, to nie ma podklucze. (Podobna ścieżka rejestru w ControlSet001 również nie miała żadnych podkluczy.)
Jedną rzeczą, którą mi polecono, jest przechwytywanie wszystkich zdarzeń podczas parowania z Sysinternals Process Monitor . Zrobiłem to, ale nie byłem w stanie znaleźć żadnych użytecznych informacji z przechwyconych zdarzeń, nawet poprzez eksport danych do ogromnego pliku XML i grepowanie go za pomocą BD_ADDR (z dwukropkami lub bez).
Jak więc znaleźć klucz linku do sparowanego urządzenia w systemie Windows 7?
Niektóre informacje referencyjne: Wikipedia: Bluetooth , Bezpieczeństwo teraz: Bezpieczeństwo Bluetooth
źródło
Klucze nie są widoczne dla administratora, powinieneś otworzyć rejestr jako konto systemowe:
Dotyczy to systemu Windows 7 na komputerze ThinkPad z adapterem Thinkpad Bluetooth 4.0, ale może współpracować z innymi systemami Windows
Pobierz PsExec: http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
Rozpakuj go do c: \ portable \ pstools \ open cmd kliknij start, wpisz cmd, naciśnij enter, wewnątrz czarno-białego typu okna:
regedit otwiera się, przejdź do:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\
tam znajdziesz adres MAC wszystkich adapterów bluetooth, a pod każdym adapterem znajdują się adresy MAC wszystkich sparowanych urządzeń wraz z ich kluczami łącza.
aby ustalić adres MAC karty:
obliczyć adres MAC urządzenia (klawiatury / myszy):
źródło
Miałem dokładnie ten sam problem, więc znalazłem ten post i chcę teraz podzielić się swoim doświadczeniem. Jeśli masz smartfona z Androidem, zadanie to może być znacznie łatwiejsze, ponieważ parowanie linkkey powinno być obecne na obu urządzeniach.
Najbardziej użytecznym narzędziem jest ADB z Android SDK.
Załóżmy, że telefon ma adres XX ^ 6, a komputer - RR ^ 6
W ten sposób możesz po prostu wybrać klucz z tego pliku i umieścić go w podobnym pliku na komputerze:
Ten sposób wydaje się najłatwiejszy, ponieważ Linux i Android zwykle używają tego samego stosu Bluetooth BlueZ.
Jeśli jednak osobiście gardzisz taką techniką, istnieje inny sposób na uzyskanie klucza z rejestru systemu Windows, pod warunkiem, że używane są standardowe sterowniki systemu Windows. Otrzymałem to okno dialogowe z komunikatem bezpieczeństwa, więc użyłem natywnego narzędzia linuksowego „chntpw”, które pozwala zresetować hasło lub edytować plik rejestru systemu Windows. Wymagany plik to „windows \ system32 \ config \ SYSTEM”.
Oto jest:
Jak widać, są to dokładnie te same liczby, co w plikach powyżej. Mam nadzieję, że pomoże to przyszłym pokoleniom.
źródło
Dla porównania na stosie Microsoft Bluetooth klucze łącza znajdują się w
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeff
miejscu, w którym aabbccddeeff jest adapterem Bluetooth. Ponieważ adapter jest już zainstalowany, ten klucz powinien istnieć.W ramach tego klucza możesz mieć wiele wartości REG_BINARY, gdzie nazwa wartości to adres MAC sparowanego urządzenia (w tej samej formie - szesnastka, małe litery, bez separatorów), a wartość to klucz łącza (16 bajtów).
Aby odebrać klucze łącza z OS X, wykonaj (w Terminalu OSX)
defaults read /private/var/root/Library/Preferences/blued.plist
. W LinkKeys powinieneś mieć klucz linku na adres MAC sparowanego urządzenia. Klucze są zakodowane w standardzie base64, więc zrób:echo -n 'aabbcc...==' | base64 -d | hexdump -C
i wpisz ten klucz w rejestrze systemu Windows.źródło
PsExec.exe -s -i regedit / E% cd% \ btkeys_export.txt "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ BTHPORT \ Parameters \ Keys"
źródło