Windows 7でBluetoothリンクキーを見つけて、デュアルブートコンピューターでデバイスをダブルペアリングする


12

Windows 7でペアリングされたデバイスのBluetooth リンクキーを掘り下げるにはどうすればよいですか?これは、私が使用しているBluetoothスタック(東芝)に依存するものですか、それともこれらをWindows 7に保存する一般的な場所はありますか?

注:通常、ペアリング中にユーザーが入力する6桁のコードについては話していません-ペアリングプロセス後に破棄されるため、価値がありません。つまり、デバイスはペアリング中にデバイスが交換し、その後すべてのBluetoothトラフィックを暗号化するために使用する128ビットのリンクキーです。

バックグラウンド:

ラップトップでWindows 7 / Ubuntuをデュアルブートします。両方のOSに電話をペアリングしたいと思います。デュアルブートコンピューターにはBluetoothアダプターが1つしかなく、したがってBluetoothアドレスが1つしかないため、2番目のペアリング(Windows)では、電話が以前のペアリング(Linux)を同じBluetoothアドレスに置き換えるだけなので、電話に2つのペアリングを行うことはできません。

Ubuntuフォーラムのスレッドは、私がしなければならないことを示しています。まずLinuxでペアリングし、次にWindowsでペアリングしてから、Linux側のリンクキーをネゴシエートされたWindowsに置き換えます。

Linux側のペアリングキーは/var/lib/Bluetooth/[BD_ADDR]/linkkeysそこから見つけることができます-問題ありません。

ただし、Windows側ではキーが見つかりません。フォーラムの投稿によると、Windows側ではSYSTEM\ControlSet002\services\BTHPORT\Parameters\Keys\[BD_ADDR]キー存在するはずですが、そのレジストリキー存在しますが、サブキーはありません。(ControlSet001の同様のレジストリパスにもサブキーがありませんでした。)

私に指示されたことの1つは、Sysinternals Process Monitorとのペアリング中にすべてのイベントをキャプチャすることです。これを行いましたが、データを巨大なXMLにエクスポートし、BD_ADDR(コロンの有無にかかわらず)でそれをgrepしても、キャプチャしたイベントから有用な情報を見つけることができませんでした。

Windows 7でペアリングされたデバイスのリンクキーを見つけるにはどうすればよいですか?

参照情報:ウィキペディア:BluetoothSecurity Now:Bluetoothセキュリティ

回答:


7

使用するレジストリキーは次のとおり
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keysです:。

私のコンピューターでは、このキーへのアクセスを拒否しました。サブキーを表示するには、所有者を管理者に変更する必要がありました。

Toshiba Bluetoothスタックを使用している場合、そのキーは別の場所に保存されます。どこで見つけるか、単にMicrosoftスタックに戻ることができます。後者の場合、Bluetoothキーは上記のようにレジストリに保存されます。

このスレッドはプロセスを説明します:

  1. Toshiba Bluetooth(プログラムの追加と削除)をアンインストールします。
  2. リブート、
  3. これで、Windowsは「新しい」Bluetoothデバイスを検出し、独自のドライバーをインストールするはずです。

注意:最初にシステムの復元ポイントを作成し、(念のため)戻るために東芝ドライバのインストールメディアがあることを確認します。勝利を叫ぶ前に、ペアリングされた電話の機能を十分にテストします。


所有者を管理者に変更すると、そのキーにアクセスできるようになりましたが、残念ながらサブキーは含まれていません。
イラリカジャステ

ペアリング中にそれをしましたか?
ハリーマク

はい、携帯電話(および他の2つのデバイス)をWindowsにペアリングしました。しかし、私はそれらのいずれにも接続していませんでした-キーはいずれにしても保存しなければならないので、それは問題ではないと思います。
イラリカジャステ

1
東芝はマイクロソフトのレジストリエントリを使用しないと確信しています。Microsoftスタックに戻ることはできますか?
ハリーマク

1
このスレッドは次のとおりです。1. Toshiba Bluetooth(プログラムの追加と削除)をアンインストールします。2。再起動します。最初にシステムの復元ポイントを作成し、東芝ドライバのインストールメディアがあることを確認します(場合に備えて)。これが機能する場合、実際に使用するペアリングされた電話の機能のみを十分にテストします。
harrymc

5

キーは管理者には表示されません。システムアカウントとしてレジストリを開く必要があります。

これは、ThinkPad Bluetooth 4.0アダプターを搭載したThinkPad上のWindows 7用ですが、他のWindowsシステムでも動作する可能性があります。

PsExecをダウンロード:http : //technet.microsoft.com/en-us/sysinternals/bb897553.aspx

c:\ portable \ pstools \に展開し、cmdを開き、[スタート]ボタンをクリックし、cmdと入力して、Enterキーを押します。

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

regeditが開き、次の場所に移動します。 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\

そこには、すべてのbluetoothアダプターのMACアドレスがあり、各アダプターの下には、ペアリングされたすべてのデバイスのMACアドレスとリンクキーがあります。

アダプタのMACアドレスを把握するには:

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

デバイス(キーボード/マウス)のMACアドレスを把握するには:

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

@Cristianから:Xubuntu 15.10 / Windows 8デュアルブートマシンでthezerothで説明されている方法を使用しましたが、これは魅力的な動作をします。唯一のことは、Xubuntuでは、ペアリングキーが上記のファイルではなく、マウス(logitech M535)の一意の識別子にちなんで名付けられたサブフォルダー内のInfoというファイルにあったことです。それ以外は、完璧なソリューション。
fixer1234

3

私はまったく同じ問題を抱えていたので、この投稿を見つけて、私の経験を共有したいと思います。Androidスマートフォンをお持ちの場合、ペアリングリンクキーが両方のデバイスに存在する必要があるため、そのタスクは実際にははるかに簡単です。

最も便利なツールは、Android SDKのADBです。

電話にXX ^ 6アドレスと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
~ #

したがって、そのファイルからキーを選択して、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

LinuxとAndroidは通常同じbluez bluetoothスタックを使用するため、この方法は最も簡単なようです。

それでも、このような手法を個人的に軽deする場合は、標準のWindowsドライバーが使用されている場合、Windowsレジストリからキーを取得する別の方法があります。そのセキュリティメッセージダイアログを受け取ったので、パスワードをリセットしたり、Windowsレジストリファイルを編集したりできる「chntpw」ネイティブlinuxユーティリティを使用しました。必要なファイルは「windows \ system32 \ config \ SYSTEM」でした。

ここに行きます:

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

ご覧のとおり、これは上記のファイルとまったく同じ数字です。それが将来の世代を助けることを願っています。


デバイスがルート化されているか、BusyBoxがインストールされていますか?「検索」コマンドが失敗しました。

0

参考までに、Microsoft Bluetoothスタックでは、リンクキーはHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\aabbccddeeffaabbccddeeffがBluetoothアダプターである場所にあります。アダプタはすでにインストールされているため、このキーが存在するはずです。

そのキー内で、複数のREG_BINARY値を使用できます。値の名前はペアのデバイスのMACアドレス(16進数、小文字、セパレータなし)で、値はリンクキー(16バイト)です。

OS Xからリンクキーを取得するには、(OSXターミナルで)を実行しますdefaults read /private/var/root/Library/Preferences/blued.plist。LinkKeys内では、ペアリングされたデバイスのMACアドレスごとにリンクキーが必要です。キーはbase64でエンコードされているためecho -n 'aabbcc...==' | base64 -d | hexdump -C、Windowsレジストリにこのキーを入力します。


-1

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


スーパーユーザーへようこそ!これについて詳しく説明していただけますか?たぶんあなたの答え編集して、あなたが説明していることと、なぜあなたがその提案をしているのを説明してください。ありがとう!
ベルティエブ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.