Wireless USB specification
Encyclopedia
Certified Wireless USB 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.
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.
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.
(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 endpoint
s are carried out as in USB.
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.
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.
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.
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 key
s. 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.
WiMedia Alliance
The WiMedia Alliance is a non-profit open industry association that promotes and enables the rapid adoption, regulation, standardization and multi-vendor interoperability of ultra-wideband worldwide....
and (as of 2009) the current revision is 1.0, which was approved in 2005.
Overview
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 portComputer port (hardware)
In computer hardware, a port serves as an interface between the computer and other computers or peripheral devices. Physically, a port is a specialized outlet on a piece of equipment to which a plug or cable connects...
architecture. The definition of Ultra-WideBand
Ultra-wideband
Ultra-wideband is a radio technology that can be used at very low energy levels for short-range high-bandwidth communications by using a large portion of the radio spectrum. UWB has traditional applications in non-cooperative radar imaging...
(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
Wireless network
Wireless network refers to any type of computer network that is not connected by cables of any kind. It is a method by which homes, telecommunications networks and enterprise installations avoid the costly process of introducing cables into a building, or as a connection between various equipment...
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
Physical layer
The physical layer or layer 1 is the first and lowest layer in the seven-layer OSI model of computer networking. The implementation of this layer is often termed PHY....
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
On the fly
-Colloquial usage:In colloquial use, on the fly means something created when needed. The phrase is used to mean:# something that was not planned ahead# changes that are made during the execution of same activity: ex tempore, impromptu.-Automotive usage:...
. Hosts can communicate with devices up to 10 meters away.
Protocol architecture
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 isochronismIsochronousIsochronous : From Greek iso, equal + chronos, time. It literally means regularly, or at equal time intervals. In general English language, it refers to something that occurs at a regular interval, of the same duration; as opposed to synchronous which refers to more than one thing happening at the...
. - 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
Polling (computer science)
Polling, or polled operation, in computer science, refers to actively sampling the status of an external device by a client program as a synchronous activity. Polling is most often used in terms of input/output , and is also referred to as polled or software driven .Polling is sometimes used...
approach supervised by the host. A transfer is formed by three parts: token
Token
A token is an object of value, and may refer to:* In logic, computational linguistics, and information retrieval, a token is an instance of a type; see Type-token distinction...
, data and handshake
Handshaking
In information technology, telecommunications, and related fields, handshaking is an automated process of negotiation that dynamically sets parameters of a communications channel established between two entities before normal communication over the channel begins...
. 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
Named pipe
In computing, a named pipe is an extension to the traditional pipe concept on Unix and Unix-like systems, and is one of the methods of inter-process communication. The concept is also found in Microsoft Windows, although the semantics differ substantially...
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.
Underlying protocol stack
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 controlLogical Link Control
The logical link control data communication protocol layer is the upper sub-layer of the data link layer in the seven-layer OSI reference model...
(LLC) sublayer to form the link layer
Link Layer
In computer networking, the link layer is the lowest layer in the Internet Protocol Suite , the networking architecture of the Internet . It is the group of methods or protocols that only operate on a host's link...
, 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 endpoint
Endpoint
An endpoint or end point is a mark of termination or completion.* In geometry, an endpoint is a point at which a line segment or ray terminates* Endpoint , the conclusion of a chemical reaction, particularly for titration...
s 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 burstError burstIn telecommunication, a burst error or error burst is a contiguous sequence of symbols, received over a data transmission channel, such that the first and last symbols are in error and there exists no contiguous subsequence of m correctly received symbols within the error burst.The integer...
s 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 dataFIFOFIFO is an acronym for First In, First Out, an abstraction related to ways of organizing and manipulation of data relative to time and prioritization...
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 timeTime to liveTime to live is a mechanism that limits the lifespan of data in a computer or network. TTL may be implemented as a counter or timestamp attached to or embedded in the data. Once the prescribed event count or timespan has elapsed, data is discarded. In computer networking, TTL prevents a data...
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.
Connectivity
W-USB can form true USB systems, formed by a host, devices and interconnection support. It implements the USB hub-spokeSpoke-hub distribution paradigm
The hub-and-spoke distribution paradigm is a system of connections arranged like a chariot wheel, in which all traffic moves along spokes connected to the hub at the center...
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
Star network
Star networks are one of the most common computer network topologies. In its simplest form, a star network consists of one central switch, hub or computer, which acts as a conduit to transmit messages...
(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.
Security
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 controlFlow control
In data communications, flow control is the process of managing the pacing of data transmission between two nodes to prevent a fast sender from outrunning a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with...
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
CCM mode
CCM mode is a mode of operation for cryptographic block ciphers. It is an authenticated encryption algorithm designed to provide both authentication and confidentiality. CCM mode is only defined for block ciphers with a block length of 128 bits...
, 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 key
Session key
A session key is a single-use symmetric key used for encrypting all messages in one communication session. A closely related term is traffic encryption key or TEK, which refers to any key used to encrypt messages, as opposed to other uses, like encrypting other keys .Session keys can introduce...
s. 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.