web-dev-qa-db-ja.com

Bluetooth 4.0トラフィックはデフォルト/設計で暗号化されていますか?

BLE(v4.0)トラフィックがデフォルトで暗号化されているのか、それとも設計上暗号化されているのか、それとも単なるオプションですか?前者の場合、トラフィックはペアリングピンから導出されたキーを使用して暗号化されていますか、それともWPA2のようなある種のセッションキーがありますか?前者の場合、暗号化キーは長期的なキーになるでしょうか。

編集:

ウィキペディアでAES-128がサポートされ、CC2540のようなチップがハードウェアアクセラレーションを提供することを読みましたが、AES暗号化がオプションであるか、または設計上必須であるかは明確ではありません。 IIRC、Bluetooth 2.1は非セキュアモードを提供するため、暗号化はオプションですが、BLEにも同じことが当てはまるのでしょうか。

15
John M.

仕様 -ボリューム3、パートH、セクション3.5.1ペアリングリクエストと3.5.2ペアリングレスポンスを読みました。

イニシエーターは使用する最大キーサイズを送信する必要があるため、デバイスがペアリングされた後は、IMHO暗号化が必須です。

最大暗号化キーサイズ(1オクテット)

この値は、デバイスがサポートできる最大暗号化キーサイズをオクテット単位で定義します。キーの最大サイズは、7〜16オクテットの範囲でなければなりません。

これにより、2.1以降の暗号化は必須であるという私のコメントも保証されます。

そのため、ペアにするために、長さ0などのキーサイズを選択することはできません。ただし、ペアになっていないデータ交換を可能にするアドホックモードがあるかどうかはわかりません(ただし、これは信じられません)。

これは暗号化されたデータストリームのみを意味することに注意してください。認証は別のものです。たとえば、ディスプレイやキーボードがないため、正しいBluetoothヘッドセットに接続していることを確認できません(たとえば、確認する前にMACアドレスを読み取ることができます)。したがって、いくつかのペアリングモードでは、認証が(設計上)低信頼レベルであると想定します。

私見Bluetoothは当初、シリアル/赤外線通信に代わるものでしたが、常にセキュリティに苦労していました。私はそれをいくつかのガジェットにとって素晴らしい機能だと思いますが、機密情報を交換しません(= WiFiまたはLANとは異なります)。

3
flohack