Remote USB Ports
MetadataShow full item record
Simplicity, easy to install, plug & play, high bandwidth, low latency and source of power are features of USB devices. Due to these features, many sensors and actuators are manufactured with USB interfaces for use in industries. The sensors and actuators need to be installed in fields. A computer system with USB interfaces is required to be present at the location of USB device for its working. In industry, these sensors and actuators are scattered over a large geographical area. The computers connected to them expose a large attack surface. These computers can be consolidated using virtualization and networking to reduce the attack surface. In order to consolidate computers, we need solution to extend USB port over networks so that, a USB sensor or actuator placed in fields can be accessed by a system remotely and securely. In this thesis, we propose a remote USB port, which is an abstraction of a USB port. In the USB core driver of the server machine, with the hub information, port status of all the ports is stored in a port status table. On the client machine a virtual host driver is created to manage proxy USB ports. When a device is inserted or removed from the USB port on the server, the client gets notified and corresponding device driver is loaded or unloaded respectively. To secure URBs, URB headers are encrypted before sending them over networks. We have implemented our solution in the Linux 3.5 kernel. We tested our solution on two machines connected over a 100 Mbps network. Various different types of USB devices were connected in the server machine and tested from the client machine. We found our solution to be device, device driver and USB protocol independent and transparent to network and device failures.
Roshan, Rakesh (2013). Remote USB Ports. Master's thesis, Texas A & M University. Available electronically from