5

実際に安全にペアリングする BLE デバイスを作ろうとしています。私の知る限り、トランスポート暗号化 (AES を使用) は、「長期キー」が交換されると、すべてのバージョンの BLE で安全です。

ブレ4.1

BLE 4.1 以前は対称暗号化を使用し、パスキー (PIN) はわずか 6 桁であるため、ペアリングを受動的に盗聴し、パスキーをブルート フォースし、そこから LTK を導出することは簡単です。低電力の BLE デバイスには非対称暗号化を行うのに十分な力がないと考えられていたため、これは設計上安全ではなかったようです。

ブレ4.2

BLE 4.2 は「セキュア接続」を追加します。これも壊れているようで、しかも2008 年に同じペアリング方法が Bluetooth 2.1 で使用されたときに壊れました!! ペアリングが完全に壊れるわけではなく (パスキーの入力方法のみ)、LTK ではなくパスキーのみを学習します。ただし、ペアリングの試行ごとにパスキーが変更されない場合、攻撃者は MitM 攻撃を実行できます。

帯域外ペアリング

Out-of-Band ペアリング方法は優れた選択肢であり、QR コードなどを使用できます。ただし、Android または iOS で OOB メソッドにアクセスするためのパブリック API はありません。Android は NFC 経由の OOB ペアリングをサポートしていますが、iOS はサポートしていません。

残っている唯一のオプションは、カスタム暗号化スキームを実装することのようですが、それはばかげた作業量です。

私の質問は次のとおりです。

  1. Bluetooth SIG が BLE 4.2 で、6 年前にすでに安全ではないことがわかっていたペアリング方法を指定したのはなぜですか?

  2. BLE を保護する既存の暗号化スキームはありますか? 理想的にはオープンソースで十分にテストされていますが、商用になる可能性があります。GATT は引き続き使用できますか?

4

0 に答える 0