GATTに関連するBluetoothLow Energy(BLE)で利用可能なセキュリティの種類を調査しています。より具体的には、異なるセキュリティレベル(低、中、高)が指定されたgatttoolを使用すると、どのような操作が実行されますか?私の理解では、BLEのSecurityManagerは4つの異なるセキュリティプロパティをサポートしています。
これらのセキュリティプロパティは、gatttoolで指定されたセキュリティレベルに関連していますか、それともBluetooth仕様を読んでいるときに見逃した他のセキュリティ機能がありますか?
編集:問題を明確にするために質問を拡張したいと思います。 4.2 Bluetoothスタックは、レガシーペアリングを使用するかどうかをどのように決定しますか?つまり、2つのBLE 4.2デバイスのペアリングのパケットキャプチャがある場合、レガシーペアリングが使用されているのか、ECDHを使用するペアリングのどちらが使用されているのかをどのように判断できますか? Secure Connectionsフラグは、レガシーペアリングを使用すべきではないことを示していますか、それともFIPS承認されたアルゴリズムが使用されることを保証する独自のモードですか?
あなたは正しいですが、BLE通信における1つの主要な脅威を忘れています。ここに3つの基本的な脅威があります:
中間者(MITM):
MITMでは、攻撃者がメッセージを監視し、変更するか、通信チャネルに挿入する機能を備えている必要があります。
盗聴:
パッシブ盗聴は、同意なしに他人のプライベートな通信を(スニッフィングデバイスを使用して)密かに聞いています。
プライバシー/アイデンティティの追跡:
ほとんどのBluetoothLEアドバタイズメントおよびデータパケットには、データを送信しているデバイスの送信元アドレスがあるため、サードパーティのデバイスはこれらのアドレスをユーザーのIDに関連付け、そのアドレスでユーザーを追跡できます。
引用符は developer.bluetooth.org から来ています。
MitMと盗聴に対する保護についてはすでに説明しましたが、ID追跡の問題は依然として存在します。
ID追跡に対する保護は、時間の経過とともに同じデバイスにリンクできないMACアドレス、つまり変更されるMACアドレス(通常は15分ごと)を使用することです。 MACアドレスには次の4種類があります。
これは、BLE Core Spec 4.2Vol。 3パートC15.1.1Bluetoothデバイスのアドレスタイプ。
セキュリティレベルに関しては、gatttoolはわかりませんが、nRF Connect/Master ControlPanelやLightBlueに似ていると思います。ここに表示されるのは、おそらく各属性に関連付けられているセキュリティレベルです。 4つのセキュリティレベルがあり、属性ごとに異なる場合があります。
モード1レベル1:
暗号化は必要ありません。この属性は、プレーンテキストの暗号化されていない接続でアクセスできます。
モード1レベル2:
認証されていない暗号化が必要です。この属性にアクセスするには、接続を暗号化する必要がありますが、暗号化キーを認証する必要はありません(認証は可能ですが)。
モード1レベル3:
認証付き暗号化が必要です。この属性にアクセスするには、認証されたキーで接続を暗号化する必要があります。
モード1レベル4:
暗号化とペアリングされた認証済みLEセキュア接続。接続は、バージョン4.2以降にBluetoothLEで導入されたセキュア接続ペアリングを使用して暗号化する必要があります。
モード1レベル1〜3の定義は、Robert Davidson、Akiba、Carles Cufi、KevinTownsendによる「 Bluetooth低エネルギー入門 」に由来します。
デバイスは、Secure Connection Only
と呼ばれるモードにすることもできます。このモードでは、モード1レベル1のサービスを除くすべてのサービスに、モード1レベル4でのみアクセスできます。
4.2 Bluetoothスタックは、レガシーペアリングを使用するかどうかをどのように決定しますか?つまり、2つのBLE 4.2デバイスのペアリングのパケットキャプチャがある場合、レガシーペアリングが使用されているのか、ECDHを使用するペアリングのどちらが使用されているのかをどのように判断できますか? Secure Connectionsフラグは、レガシーペアリングを使用すべきではないことを示していますか、それともFIPS承認済みアルゴリズムが使用されることを保証する独自のモードですか?
ペアリング機能の交換段階で、ペアリング要求およびペアリング応答PDUでセキュア接続(SC)フラグが設定されている場合、LE SCが使用されます。これは、両方のデバイスがLE SCをサポートし、それを使用することに同意したことを示します。
LE SCが使用されている場合、ログには、交換されている「ペアリング公開鍵」および「ペアリングDHキーチェック」PDUが表示されます。これらはLESCに固有です。
はい、それは正しいですが、それらはまだ存在するセキュリティモード、LEセキュリティモード1およびLEセキュリティモード2であり、異なるセキュリティレベルによって組み合わされていることに注意してください。また、Bluetooth 4.2より前では、LEは安全ではありません。つまり、LE接続の開始直後に暗号化キーをスニッフィングできます。