車両の挙動をブラウザ上で再現する「カーエミュレーター」とはドイツのコネクテッドカー開発事情(4/5 ページ)

» 2017年07月24日 06時00分 公開
[別府多久哉MONOist]

Web Bluetoothは発展途上

 ハイモビリティでは、実際に自動車用のアプリケーションはネイティブアプリケーションとして提供しています。Web Bluetoothを利用すればブラウザのみでアプリケーションを提供することが可能になると考えていますが、現時点ではネイティブアプリケーションでの提供にとどめています。

 理由の1つは、Web Bluetooth APIが最低限の機能しか提供されていないことです。上記の実装にあるように、デバイスへの接続やRead/Writeに関するメソッドなどはありますが、アドバタイズメント(周囲のデバイスに対して発信したデバイス名やデバイスIDなどの情報)をウォッチする機能はまだ実装されていません。現時点では、ブラウザ本体が周辺のデバイスを検出しているだけとなっています。

 また、開発環境を提供するカーエミュレーターではなく、実生活で利用するアプリケーションとしてWeb Bluetoothを利用する場合、セキュリティに関して、まだまだ検討しなければならない項目があるとも考えています。

 WebサイトがアクセスできるGATT属性のセットを制限するために、GATT Blacklistというブロックリストが提供されています。Web Bluetooth APIでの利用が禁止されたサービスのUUIDを列挙したものです。悪意のあるサイトがハードウェアの脆弱性を利用することを防ぐことができます。脆弱性のあるハードウェアのGATTを利用しようとした際に、API側で用意されているBlacklistに記載があれば、アクセスを防ぐようになっています。

 例を挙げると、このBlacklistにはNordic Semiconductorのファームウェアアップデートサービスが登録されています。Bluetoothデバイスの幾つかはGATTチャネル上で故意にファームウェアアップデートを許可することがあり、Nordic Semiconductorは独自のSDKにデフォルトの実装とともにDevice Firmware Update serviceを定義しています。残念ながらこの実装は、USB上の「iSeeYou」(※1)に倣った攻撃を可能にするためアップデートの署名を確認しません。そのため、Blacklistに登録され、実行できないアップデートが出てきてしまいます。

(※1)AppleのMacbookのWebカメラをのっとって撮影すること。通常、Webカメラが起動するとLEDランプが点灯するが、LEDを消灯したまま撮影できる脆弱性がある。

 Web Bluetooth APIのセキュリティモデルに関しては、GoogleのChromeチームでWeb Bluetooth APIの実装を担当しているJeffrey Yasskin氏が紹介しています。また、Web Bluetooth APIの最新の仕様については公式のドキュメントをご確認ください。

Web Bluetoothとカーエミュレーターのイメージ図 Web Bluetoothとカーエミュレーターのイメージ図(クリックして拡大)

Copyright © ITmedia, Inc. All Rights Reserved.