WebUSB API: secure network access for your USB devices
Two Google engineers developed an API called WebUSB (drafted version), which can Securely connect to your USB device through the WEB without going through a local driver.
WebUSB was developed by Reilly Grant and Ken Rockot and has been pushed into W3C WICG (Web platform incubator Community Group of the World Wide Web Alliance) to build a platform that can be referenced by browser manufacturers.
Connect a USB device to the network
WebUSB APIs allow USB devices, such as keyboards, mouse, 3D printers, and hardware drivers, to connect to IOT and even locate on Web pages.
The purpose of this product is to help hardware manufacturers achieve cross-platform universal use of their USB devices (including the Web), and then do not need to write local drivers or sdks for specific platforms.
In addition to hardware control, WebUSB can also install firmware updates or execute other important tasks on the Web page. However, this drafted version of the API does not support file transfer.
These Google engineers wrote in the Project Introduction:
"With this API, hardware manufacturers are able to build cross-platform Javascript sdks for their devices.
This is good for the development of WEB, because it is better to directly set a specific API than to wait for a device to become popular to the browser manufacturer to make a specific API for it, you can use this as a benchmark to create new hardware."
Privacy and security issues
Google engineers also mentioned security issues.
WebUSB provides native protection, similar to cross-origin Resource Sharing (CORS), which limits the Web page requests of other domains to sensitive data. This means that other Web pages cannot attack files on your USB device and computer through your PC.
As for data leakage of USB devices, WebUSB also allows users to perform WEB authentication when connecting devices.
Of course, WebUSB is only a draft version and has not officially adopted the W3C standard. Its development work is still in progress, but you can still see the complete WebUSB code library on Github.
Two Google engineers developed an API called WebUSB (drafted version), which can Securely connect to your USB device through the WEB without going through a local driver.
WebUSB was developed by Reilly Grant and Ken Rockot and has been pushed into W3C WICG (Web platform incubator Community Group of the World Wide Web Alliance) to build a platform that can be referenced by browser manufacturers.
Connect a USB device to the network
WebUSB APIs allow USB devices, such as keyboards, mouse, 3D printers, and hardware drivers, to connect to IOT and even locate on Web pages.
The purpose of this product is to help hardware manufacturers achieve cross-platform universal use of their USB devices (including the Web), and then do not need to write local drivers or sdks for specific platforms.
In addition to hardware control, WebUSB can also install firmware updates or execute other important tasks on the Web page. However, this drafted version of the API does not support file transfer.
These Google engineers wrote in the Project Introduction:
"With this API, hardware manufacturers are able to build cross-platform Javascript sdks for their devices.
This is good for the development of WEB, because it is better to directly set a specific API than to wait for a device to become popular to the browser manufacturer to make a specific API for it, you can use this as a benchmark to create new hardware."
Privacy and security issues
Google engineers also mentioned security issues.
WebUSB provides native protection, similar to cross-origin Resource Sharing (CORS), which limits the Web page requests of other domains to sensitive data. This means that other Web pages cannot attack files on your USB device and computer through your PC.
As for data leakage of USB devices, WebUSB also allows users to perform WEB authentication when connecting devices.
Of course, WebUSB is only a draft version and has not officially adopted the W3C standard. Its development work is still in progress, but you can still see the complete WebUSB code library on Github.