ワイヤレスデータの安全度は、それを運ぶリンクに依存します。本記事では、Bluetoothモジュールが転送中のデータをどう保護するか—ペアリング、LE Secure Connections、およびIoTリンクを秘匿する暗号化—を解説します。
なぜリンクを暗号化するか
オープンな2.4 GHz帯で送信するBluetoothモジュールは盗聴の危険にさらされます。暗号化は読めるパケットを暗号文に変え、ペアリング済みデバイスだけが復号できるようにします。
ペアリングとボンディング
ペアリングは一時的な共有秘密を作り、ボンディングは長期鍵を保存してBluetoothモジュールが再ペアリングなしで再接続します。ボンディングが日常の利用をシームレスにします。
レガシーとSecure Connections
古い方式はJust WorksやPIN入力に頼っていました。最新のBluetoothモジュールはLE Secure ConnectionsとECDH(P-256)を使い、受動盗聴や中間者攻撃を防ぎます。
ECDHと共有秘密
LE Secure Connectionsは楕円曲線Diffie-Hellman交換を実行します。Bluetoothモジュールと相手は、公開チャネル上で秘密に同意し、それを漏らさずに済みます。
AES-CCM暗号化
合意した鍵はAES-CCMに渡され、機密性と完全性の両方を提供します。すべてのBluetoothモジュールフレームは認証されるため、改ざんは即座に検出されます。
鍵の種類:LTK、IRK、CSRK
リンク鍵(LTK)は接続を保護し、IRKはプライベートな解決可能アドレスを可能にし、CSRKはデータに署名します。Bluetoothモジュールはボンディング時にこれらを配布します。
プライバシーと解決可能アドレス
追跡を避けるため、BluetoothモジュールはIRKから導出した解決可能なランダムアドレスを使えます。ボンディング済みの相手だけがそれを解決し、公開空間での匿名性を保ちます。
MITM保護
Numeric ComparisonやPasskey入力は中間者耐性を加えます。Secure Connections向けに設定されたBluetoothモジュールは、中継攻撃へのハードルを上げます。
まとめ
セキュリティは接続製品にとって任意ではありません。LE Secure Connections、AES-CCM、プライバシーアドレスにより、Bluetoothモジュールは秘匿性・真正性・耐攻撃性を備えたデータを届けます。