Bluetooth Low Energyは、セキュリティのためにAES-128暗号化を採用して設計されています。AES-128は最も堅牢な暗号化方式の1つですが、セキュリティの真のレベルを評価するには、キーがどのように交換されるかを理解することが重要です。
BLEには5つの主なキーがあります。
• 一時キー
• 短期キー
• 長期キー
• ID解決キー
• 接続署名キー
セキュリティ キー: Bluetoothペアリング、暗号化、認証
一時キーは、 Bluetooth ペアリング プロセス中に使用されます。短期キーは、デバイスが初めてペアリングされるときに接続を暗号化するためのキーとして使用されます。短期キーは、一時キーと、スレーブによって生成された1つとマスターによって生成された1つの乱数という3つの情報を使用して生成されます。
接続が短期キーで暗号化されると、他のキーが配布されます。 長期キーは短期キーを置き換えて接続を暗号化します。アイデンティティ解決キーはプライバシーのために使用されます。接続署名キーは認証に使用されます。
これらすべてを踏まえると、誰も通信を盗聴できないと確信できますか?実際、Bluetooth 4.0および4.1では、一時キーの生成に弱点が存在します。暗号化は鎖のようなもので、最も弱い部分と同じ強度を持ちます。
Bluetooth 4.0および4.1では、短期キーに対して3つのオプションが指定されています:
• Just Works
• Passkey Entry
• Out of Band。
Bluetoothペアリング モード: Just Works、パスキー入力、OOB
「Just Works」は、ユーザー インターフェイスが非常に制限されているため、ユーザーによるパス キー値の入力や検証ができない場合に、Bluetooth Low Energyデバイスへの接続を可能にするために設計されたモードです。この状況での一時的なものはゼロです。このシナリオは攻撃に対して脆弱であることは明らかです。
「パスキー入力」モードは、両方のデバイスのユーザー インターフェイスで少なくとも数値の表示または入力が許可される場合に使用されます。この値は0から999999までの任意の整数を取ることができます。この数値はブルート フォース攻撃に耐えられるほど複雑ではありません。
関連商品を見る
最後のモードは、一時キーがBluetooth以外のテクノロジーを使用して共有されている場合の「Out Of Band」アルゴリズムです。NFCテクノロジーは一般的なものであり、安全であると考えられています。つまり、一時キーを共有する3つのモードのうち、盗聴に対して安全であると考えられるのは1つだけです。
Bluetooth 4.2低エネルギー
Bluetooth Low Energy 4.2では、Diffie-Hellman方式を実装することでこの問題を解決しました。暗号化ではよくあることですが、このプロトコルは解くのが難しい単純な数学に基づいています。素数は暗号化プロトコルの基盤となることがよくあります。
pが大きな素数、gが {1,…,p} 内の整数、xが {1,…, p-1} 内のランダムに選択されたものである場合、結果がわかっていても、xを計算する効率的なアルゴリズムは知られていません。この場合、2つの数値xとyを使用して指数演算を実行してキーを得るのは非常に簡単ですが、その逆の演算を行ってキーを見つけるのは非常に困難です。
アリスとボブが鍵を共有したいが、その間に盗聴者がいる場合、鍵を共有するために次の手順が実行されます。
Diffie-Hellmanのバリエーションはいくつか存在します。Bluetooth 4.2では、楕円曲線Diffie-Hellmanが実装されています。pを法とする関数の代わりに、解決すべき問題は という形式の楕円曲線です。これは数学的にはより複雑ですが、演算を実行するために必要なビット数が少なくなるため、ますます特権的になります。Diffie-Hellmanプロトコルにより、Bluetooth Low Energyバージョン4.2は盗聴に対して堅牢になります。