Bluetoothペアリングプロトコル1の分析

Bluetoothペアリングプロトコル1の分析

ここに画像の説明を挿入

Bluetooth接続全体のBluetoothペアリングプロセス重要な部分、ペアリングの目的はさまざまな方法で共有され、リンクキー(Link Key)を作成します。このキーは、認証と暗号化デバイス間の認証に使用され、相互に接続されて相互作用しますデータはBluetoothテクノロジーをより安全にします。このキーは、現在の接続だけでなく、2つのデバイスのその後の再接続プロセスでも使用できます。ただし、認証プロセス中に2つのパーティのリンクキーが一致しない場合、ペアリングプロセスを再起動して新しいリンクを作成する必要がありますリンクキーは、新しい接続対話プロセスで使用されます。

リンクキー(リンクキー)は、HCIコマンドHCI_Link_Key_Notificationを介してプロトコルスタックホストに報告され、保存されます。ストレージパス:/data/misc/bluedroid/bt_config.conf

ストレージの内容は次のとおりです
ここに画像の説明を挿入
。Bluetoothコア仕様では、2つの標準的なペアリング手順が定義されています。

  1. PINコードのペアリング:Bluetoothコアプロトコル2.0以前のバージョンで使用されているペアリングプロセス。
  2. SSPの安全でシンプルなペアリング:Bluetoothコアプロトコル2.1以降の新しいペアリングプロセスであるセキュアシンプルペアリング。PINコードペアリングよりも高いセキュリティと便利な操作により、Bluetoothデバイスが現在市場に出ています。このペアリングプロセスは基本的に使用されます。

2つのペアリングプロセスのトリガータイミングは、認証プロセス(Authentication Requested)にあり、プロトコルスタックホストにリンクキーを要求し、ホストはリンクキーがないことを応答して、チップがペアリングプロセスを開始します。次に、PINコードのペアリングプロセスを簡単に紹介し、SSPの安全でシンプルなペアリングの分析に焦点を当てます。

PINコードのペアリング
この方法でペアリングする場合は、4桁の10進数を入力する必要があります。ペアリングの当事者が同じ番号を入力すると、ペアリングプロセスで共有リンクキー(リンクキー)を正常に作成できます。

主なプロセスは次のとおりです。
ここに画像の説明を挿入

SSPセキュアシンプルペアリング
新しく追加されたSSPセキュアシンプルペアリングの主な目的は、ユーザーのペアリングプロセスを簡素化することであり、2番目の目的は、Bluetoothワイヤレステクノロジーのセキュリティを維持または改善することです。多くのテクノロジーや製品では、高度なセキュリティと使いやすさが逆になることが多いため、エンドユーザーの観点から見ると、最終的な目標は、複雑さを最小限に抑えながらセキュリティを最大化することです。

安全でシンプルなペアリングプロセスには、次の2つの安全目標があります。

  1. 受動的な盗聴を防止
  2. 中間者(MITM)攻撃を防ぐ

SSPプロセスは、ペアリングされ接続されている2つのBluetoothデバイスのI / O機能に基づいて、次のモデルのどれを使用するかを決定し
ます。1.数値比較:デジタル比較モデル。ユーザーが「はい」または「いいえ」を入力するオプションがあります。

表示される6桁の範囲は、000000〜999999です。ユーザーは、2つのデバイスに表示される数値が同じかどうかを比較します。各デバイスでも[はい]を確認すると、ペアリングが成功し、MITM攻撃を効果的に防止できます。

使用シナリオ:6桁を表示でき、ペアリングのはい/いいえオプションを提供できる画面を備えた携帯電話、自動車機械、パーソナルコンピューター、およびその他のデバイス。

2.パスキー入力:パスワード入力モデル。接続されているペアリングされたデバイスの1つには入力機能がありますが、6桁を表示する機能はなく、もう1つのデバイスには6桁を出力および表示する機能があります。入力機能を備えたデバイスのみが、別のデバイスに表示される6桁の数字を正しく入力します。ペアリングが成功し、MITM攻撃を効果的に防止できます。

使用シナリオ:携帯電話とBluetoothキーボードの組み合わせの場合、1つのデバイスには入力機能のみがあり、もう1つのデバイスには出力表示機能があります。

3.正常に機能する:機能するモデル。ペアリングされた接続デバイスの少なくとも1つに、6桁を表示できるディスプレイも、6桁を入力できるキーボードもありません。このモデルは、数値比較と同様の数値比較を使用しますが、ユーザーに6桁を表示せず、アプリケーションは接続を受け入れるようユーザーに要求するだけです。ペアリングプロセスを確認することはできず、ペアリングは常に合意されているため、MITM攻撃を防ぐことはできません。

使用シナリオ:ほとんどのBluetoothヘッドセットにはディスプレイやデジタル入力機能がないため、Bluetoothヘッドセットは他のデバイスとペアになります。

4.アウトオブバンド:OOB(略してOOB):2つのペアリングされたデバイスがペアリング情報を他の手段(NFC機能付きBluetoothスピーカーなど)で交換しますが、このモデルはほとんど使用されないため、この記事ではあまり説明しません。

上記の4つのモデルは、安全でシンプルなペアリングSSPモデルです。各モデルには独自の使用シナリオがあります。ペアリングされた接続デバイスの特定の条件に従って、ユーザーがペアリングするかどうかを決定するために使用するモデルを決定します。詳細については、Vol 1->パートA-> 5.2.4 Bluetoothコアプロトコル「Core_v5.2.pdf」のアソシエーションモデルを参照してください。

この記事はBluetoothペアリングプロトコルの分析のためにここで終了し、次の記事では引き続きSSPのプロセス全体を分析します。興味のある友人はプライベートメッセージを歓迎し、一緒に議論するメッセージを残します。

その他の相互接続テクノロジーについては、WeChatパブリックアカウントに注意してください。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_44260005/article/details/106230400