Certified Wireless USB
||It has been suggested that this article be merged into Wireless USB. (Discuss) Proposed since August 2013.|
Certified Wireless USB (W-USB for short) is the specification of a wireless extension of the USB standard which intends to further increase the availability of general USB-based solutions. It is maintained by the WiMedia Alliance and (as of 2009) the current revision is 1.0, which was approved in 2005.
The rationale for this specification is the overwhelming success of USB as a base for peripherals everywhere: cited reasons include extreme ease of use and low cost, which allow the existence of a ubiquitous bidirectional, fast port architecture. The definition of Ultra-WideBand (UWB) matches the capabilities and transfer rates of USB very closely (from 1.5 and 12 Mbit/s up to 480 Mbit/s for USB 2.0) and makes for a natural wireless extension of USB in the short range (3 meters, up to 10 at a reduced rate of 110 Mbit/s). Still, there is no physical bus to power the peripherals any more, and the absence of wires means that some properties that are usually taken for granted in USB systems need to be achieved by other means.
The goal of the specification is to preserve the functional model of USB, based on intelligent hosts and behaviorally simple devices, while allowing it to operate in a wireless environment and keeping security on a par with the levels offered by traditional wired systems. It also seeks to be comparably power-efficient. To accomplish this, it uses an existing standard which defines a suitable physical layer and medium access control, through which the desired performance can be met, and it adds to it a convergence layer to merge both architectural efforts.
W-USB is defined as a bus, albeit logical and not physical, which can simultaneously connect a host with a number of peripherals. The host divides the available bandwidth through a time-division multiple access (TDMA) strategy. It maintains the ability of USB to safely manage devices on the fly. Hosts can communicate with devices up to 10 meters away.
As mentioned, the USB model is preserved, and generally minor adjustments made to fit the specific needs of a wireless system. The changes are as follows, from top to bottom:
- The function layer only suffers minor changes to increase efficiency and support isochronism.
- The device layer includes wireless-oriented security and device management features.
- The bus layer does not change its functionality, but is substantially adapted for efficiency and security on wireless networks.
Changes to USB
The replacement of copper wires in the bus layer introduces ambiguity in the actual state of host-device connections and, even more importantly, potentially exposes communications fully to any other device within the propagation range, whereas they were reasonably secure over the wire. Hence an explicit secure relationship must be established. For this, the bus and device layers incorporate the necessary resources for use by the function layer. Every W-USB transmission is encrypted by the bus layer without impairing layer-to-layer horizontal communication.
The bus follows a TDMA-based polling approach supervised by the host. A transfer is formed by three parts: token, data and handshake. For efficiency reasons, several tokens containing timing information for the devices can be grouped into one, thus forming transaction groups. Flow control and packet sizes are adjusted for power efficiency, while respecting the high-level pipe model of communication between source and destination.
Even preserving the USB model typical error rates in wireless media require modifications in the mechanisms used to achieve said model: among others, data handshakes and buffering.
UWB defines both PHY and MAC layers, which need to be integrated in the W-USB model. In particular, MAC is joined with the logical link control (LLC) sublayer to form the link layer, responsible for encryption/decryption, PHY error management and synchronization, while PHY itself covers the correctness of headers, not payloads.
The MAC layer is particularly relevant to W-USB. It uses superframes divided in 256 time slots, the first of which are dedicated to the transfer of beaconing information. Slots can further be allocated to meet the necessities of clusters of devices, also identified by MMC's (see below). A host maintains one or more W-USB communication channels and is fully aware of the MAC layer, whereas a device only needs to use the defined W-USB interface to communicate through existing channels.
There are three degrees of MAC consciousness in devices. The highest of these corresponds to a self-beaconing device, which is able to perform beaconing on its own. The following degree represents directed-beaconing devices, which are unaware of MAC frames and have limited beaconing capabilities, depending on the host to detect and beacon for nearby devices. Lastly there are non-beaconing devices, which have a very limited ability to transmit and receive; on the other hand, devices which are undetectable by the host can not be affected by these devices, nor can affect them.
Thus, non-beaconing devices can only operate in very close vicinity to the host. Directed- and self-beaconing devices must be able to identify their hidden neighbors, which they do by emitting beacons. On their end, hosts manage global timers with the precision the physical medium requires (20 ppm). Channel time is sent within MMC's, and it is used for slot allocation, so it is important that hosts perform accurate beaconing. Devices may as well beacon reservation declarations.
The superframe includes device notification time slots for asynchronous transfers initiated by the devices (which do not use pipes, but instead tap the bus layer directly); the host dynamically assigns slots as needed. Besides these, W-USB transactions between the host and endpoints are carried out as in USB.
Data transport architecture
Transactions use TDMA microscheduling while adhering to USB semantics. A split-transaction protocol is used to allow multiple transactions to be carried out simultaneously. This is related to the transaction group concept, which consists of a microscheduled management command (MMC) and allocated time slots for the execution of its associated workload.
Wireless data transfers tend to incur in very significant overheads; to mitigate this W-USB replaces these with the burst mode data phase, which groups one or more data packets which reducing packet delimiters and separation gaps, in contrast with the USB rule of one data packet per transaction. The extent to which this practice is applied can be adjusted, resulting in a varying degree of equity between competing devices.
The specification defines four particular data transfer types; their identifying features are summarized here.
- Bulk transfers tap the channel as bandwidth is available. Delivery is guaranteed, but neither transfer rate nor latency are, though the host can attempt to leverage pending transfers or endpoints. They are used for high-volume transfers exhibiting a sharp time-varying behavior. They use unidirectional pipes.
- Interrupt transfers serve short transactions which demand high reliability and low latency. Maximum service period is guaranteed, as are a number of retries during said period.
- Isochronous transfers provide guaranteed transfer rates and bounded latency for transmission attempts, as well as on-average constant data rate (although dependent on the medium, usually comparable to the rates achievable by wired USB). There is also at least one guaranteed retry during the service period, and it supports additional reliability against error bursts by adding delay to the stream according to buffering capacity; payload sizes can be adjusted. Still, it may eventually be necessary to discard the oldest data in the buffers (the receiver can be informed of the amount of information discarded while the channel is not usable). Hosts will only discard data if the presentation time for a packet expires.
- Control transfers are the same as in USB 2.0. The system uses a best-effort policy, but software may restrict channel access and available bandwidth for devices.
Power management can also affect data transport, since devices may control their power use at their discretion. The fact that the communications protocol is based on TDMA means that both host and devices know exactly when their presence is not required, and can use this to enter power saving modes. Devices may turn off their radios transparently to the host while maintaining their connections. They can also turn off over extended periods of time if they previously notify the host, as they will ignore all communications from said host. Eventually, the device will trigger the wakeup procedure and check for pending work.
In turn, the host will usually turn its radio off when it is not needed. If it decides to stop the channel, be in temporarily or to enter hibernation or shutdown states, it must notify the devices before it can do so.
W-USB can form true USB systems, formed by a host, devices and interconnection support. It implements the USB hub-spoke model, in which up to 127 wireless devices can form point-to-point links (spokes) with the host (the hub). The host controller is unique in the system and is usually embedded in a working computer, though it could be connected to it through a simple USB connection, possibly wireless as well. Such a topology is similar to a star network (but all communications are strictly point-to-point, never between devices).
In order to allow common wired USB devices to be connected, the specification defines device wire adapters. Likewise, hosts connect to W-USB systems through use of a host wire adapter. Even though the physical layer is based on Ultra-WideBand, W-USB devices have a fully compliant USB interface. The physical layer may support a wide range of transfer rates, of which three are defined as mandatorily supported: 53.3, 106.7 and 200 Mbit/s, all other possible UWB rates being optional for devices (hosts must support them all).
W-USB devices are categorized in the same way as traditional USB. Because of the existence of wire adapters, traditional USB hubs are not needed. A device supports one or more communication pipes to the host, and allocates endpoint 0 for the USB control pipe. Device type information is available through this pipe.
Connections with the host are created by means of an establishment message sent at some point. Both host and device can then proceed to authenticate using their unique keys; if the process succeeds, the host assigns a unique USB address to the device, after which the device becomes visible to the USB protocol. Because the connectivity model allows for on-the-fly, unannounced disconnection, connections must always remain active. Aside from host- or device-forced disconnections, long inactivity periods may trigger the same termination mechanisms.
In addition, W-USB hosts have other responsibilities which go beyond those of a wired host; namely, their MAC sublayer is responsible for supervising the suitability of device MAC layers. If needed, this requires assisting them in their beaconing duties and processing the beaconing data that could be sent to them. Furthermore, the UWB radio and associated bandwidth may be shared with other entities, and the host must make sure that the defined policies are satisfied; according to shared use (which may be coordinated to avoid interference) it will be able to offer full or partial functionality.
Robustness is one of the main concerns upon which the specification is built, and as such resource management and connection/disconnection of devices becomes even more important than in wired USB. Packet loss and corruption are dealt with through timeouts as well as hardware buffering, guaranteed retries (as mentioned in the description of transfer models) and other flow control methods. If synchronism policies cannot be maintained, errors can be handled either by hardware or software (retries, maximum number of retries failure, failure recovery decisions and so on).
The W-USB host tries to mitigate the unreliability of wireless mediums (a 10% error rate is considered acceptable for 1 kB packets; in wired media this value is usually around 10−9) maintaining counters and statistics for each device and possible requesting information from them. It can also access and modify the transmit power control functions of each device, as well as change transmission parameters such as data payload size and bandwidth adjustments.
The focus is always on providing quality of service comparable to that of traditional USB. Wires offer a very high level of security (given a typical trusted working environment), so standard USB does not deal with it, even though it does not hinder its applicability or implementability; W-USB manages security explicitly, but instead of harnessing the base of UWB it designs a model which is valid for USB in general. Because of this, it must be added to the common USB device control plane.
For communication to exist, secure relationships must be established. These must have a defined purpose and restrict membership to the group, which serves as the base of trust to carry out the desired work. Within a wired systems, data transfers imply a controlled physical connection; this translates into the wireless domain through the concept of ownership: the user grants trust to the devices, which in turn prove this trust to others (interacting in so-called ceremonies) in order to form the desired associations. The USB address identifier is a token of the owner's trust. Applications may require other bases of trust not directly supported by this USB-specific model, in which case they can be implemented on top of the core USB stack.
Even more, trust needs to be maintained, otherwise it will expire. After receiving the group key of a cluster, a device must keep the connection alive by at least confirming its presence within each trust timeout boundary, which is set to four seconds. If it does not succeed at keeping up with this requirement, reauthentication is demanded.
Following the natural asymmetry of USB, the host initiates all processes (except signaling), security being no exception. Security requests are made to devices to find their security capabilities, after which the appropriate devices can be chosen. The standard, symmetric encryption method is AES-128 with CCM, though public key encryption may be used for initial authentication (namely, only the sending of the initial CCM key), provided that the achieved security level is comparable (in practice by using 3072-bit RSA and SHA-256 for hashing).
Note that there is a difference between master keys and session keys. Master keys are long-lived and usually work as a shared secret or a means to distribute session keys, which in turn do not outlive the connection for which they were created and usually serve as the functional encryption/decryption mechanism. A specific header field indicates which of the possible keys is to be used. It is also important to note that replay prevention mechanisms require the keeping of counters which are updated on valid receptions. The range of these counters further limits the life of session keys.
- "Wireless USB Documents". 19 Sep 2009.