JVNVU#92767028
Bluetooth 実装の楕円曲線ディフィー・ヘルマン鍵共有において公開鍵を適切に検証していない問題
Bluetooth デバイスのファームウエアや OS のドライバが、ディフィー・ヘルマン鍵共有において公開鍵を適切に検証していない場合、遠隔の第三者により、通信内容を取得される可能性が存在します。
- Bluetooth 実装
暗号化処理の不備 (CWE-325) - CVE-2018-5383
Bluetooth では、楕円曲線ディフィー・ヘルマン鍵共有 (ECDH) 技術を基盤とした、機器のペアリングメカニズムを規定しています。
この方式では、ペアリングする両者がそれぞれ秘密鍵と公開鍵からなる鍵対を用意します。ペアリングを開始する際に互いの公開鍵を交換し、自分の秘密鍵と相手の公開鍵を使って、その後の通信に使う共有鍵をそれぞれが生成します。使用する楕円曲線暗号のパラメータについてはあらかじめ合意している必要があります。
Bluetooth の仕様では、相手から受け取った公開鍵が適切なものであるか検証することが推奨されていますが、必須とはされていませんでした。
"Invalid Curve Attack" あるいは "Invalid Point Attack" と呼ばれる攻撃手法の研究では、通信相手から受け取った公開鍵が適切なものであることを確認せずに共有鍵を生成している場合、秘密鍵の探索が格段に容易になることが指摘されています。
いくつかの実装では、相手から受け取った公開鍵を検証しないまま処理を行っているため、Bluetooth の通信距離範囲内に存在する第三者によって細工された公開鍵が注入されると、高い確率で秘密鍵を取得される可能性があります。その結果、通信内容を取得されたり改ざんされたりする可能性があります。Secure Connections Pairing モードおよび Simple Secure Paring モードの両方が影響を受けます。
Bluetooth SIG では、受けとった公開鍵の検証を必須とするよう Bluetooth の仕様を更新するとともに、Bluetooth Qualification Program において本件に関する試験項目を追加しています。Bluetooth SIG のアナウンスを参照してください。
Bluetooth の通信距離範囲内の第三者によって中間者攻撃 (man-in-the-middle attack) が行われると、機器が使用している秘密鍵を取得される可能性があります。その結果、機器間の通信内容を取得されたり改ざんされたりする可能性があります。
アップデートする
今後、ソフトウエアやファームウエアのアップデートが提供されることが想定されます。製品開発者が提供するアップデート情報を確認してください。
また、Vulnerability Note VU#304725 の "Vendor Information" もご参照ください。
-
CERT/CC Vulnerability Note VU#304725
Bluetooth implementations may not sufficiently validate elliptic curve parameters during Diffie-Hellman key exchange -
Bluetooth SIG
Bluetooth SIG Security Update