Firefox向けWebUSB拡張機能
WebUSBは、Webブラウザから直接USBデバイスにアクセスするためのAPI規格で、従来はプラットフォーム固有のアプリケーションのインストールが必要だった用途を、ブラウザベースで実現します。ChromeではこのAPIをデフォルト有効化していますが、Firefoxは拡張機能として...
WebUSBは、Webブラウザから直接USBデバイスにアクセスするためのAPI規格で、従来はプラットフォーム固有のアプリケーションのインストールが必要だった用途を、ブラウザベースで実現します。ChromeではこのAPIをデフォルト有効化していますが、Firefoxは拡張機能としてオプト・インモデルを採用することで、セキュリティリスクを最小化しながらパワーユーザーに機能を提供する戦略を取っています。
WebUSBの実用性は高く、キーボードファームウェアのフラッシング、Bluetoothデバイス制御、ネットMDなどのレガシーデバイスとの連携など、多くの用途が存在します。クロスプラットフォーム対応アプリケーション開発において、プラットフォーム固有の複雑さを抽象化しながらハードウェアにアクセスできる点は大きな利点です。
セキュリティ面では、デバイス側がWebUSBディスクリプタを持つもののみサポートするなどの仕組みで、不正なアクセスから保護することが提案されています。拡張機能モデルは、ユーザーの明示的な同意を前提とするため、予期しない攻撃面の拡大を防ぎながら、必要な機能を提供するバランスの取れたアプローチとして評価されています。
Firefoxのオプト・イン拡張機能モデルは、Chromeのデフォルト有効化に比べセキュリティと利便性のバランスを取った正しいアプローチとして好評です。ユーザーは実用的な利用例を挙げながら、WebUSB機能の有用性と、セキュリティ面での工夫の余地について肯定的に評価しています。
「WebUSBは素晴らしい。プラットフォーム固有の複雑な処理に対処する必要なく、ハードウェアデバイスにアクセスするクロスプラットフォーム対応アプリケーションを提供できます。セキュリティを強化する方法の一つとしては、WebUSBディスクリプタを持つデバイスのみをサポートすることが考えられます。これにより『出所』確認が可能になります。」— @nezza-_-