BLEデータはAES-CCMを使用して暗号化されます。 TLS1.3は、セキュリティの問題により、暗号スイートからAES-CCMを削除しました。
私の質問: chacha20-poly1205を使用してBLEを暗号化しないのはなぜですか? chach20-poly1305のハードウェアサポートがないためですか?
TLS 1.3 していない AES-CCMを削除しましたが、安全ではありません。 CCMモードの問題は、それらが非常に非効率であり、単一ブロックのすべての暗号化に対してブロック暗号の2回の呼び出しを必要とすることです。問題のデバイスがハードウェアアクセラレーションによるAES暗号化をサポートしていて、GCMのコンポーネントのハードウェアアクセラレーションをサポートしていない場合、誰もがCCMを使用する唯一の理由は、または、GCMの実装よりもAESコードの再利用を促進する、極端なスペース制約のため。
BluetoothがAESを使用している理由は、このバージョンが完全に [〜#〜] fips [〜#〜] に準拠していることが非常に重要であったためです。 FIPSは、政府による使用が承認されている暗号および操作モードなどを指定する米国政府の標準です。AESおよびCCMはFIPSの一部ですが、ChaCha20およびPoly1305はそうではありません。以前のバージョンのBluetoothはAESuseを使用していませんでしたが、代わりに E と呼ばれる独自の自作ストリーム暗号を使用していましたこれは特に安全ではないことが判明し、さまざまな攻撃、特に既知のプレーンテキスト攻撃に対して脆弱です。
回答 姉妹サイトで、これをより強力に説明しています:
ミーティングに参加して、BluetoothのFIPS-140検証がBluetooth LE仕様との重要な会話であることを知っているため、AESが追加されました。ハードウェア側のコストのために、元のICではAESが使用されていなかったと思います。 130 nmのダイ(つまり、昔の話)を見ると、AESの面積は約0.03米ドルです。 E0の面積を推測するだけで、それは0.01 USDと言えます。そのため、初期の採用時には、それはほとんど経済的な考慮事項であったに違いありません。