The present invention relates to wireless communications. More particularly, the present invention relates to techniques for preventing the replay of transmissions in wireless communications networks.
Short-range wireless proximity networks typically involve devices that have a communications range of one hundred meters or less. To provide communications over long distances, these proximity networks often interface with other networks. For example, short-range networks may interface with cellular networks, wireline telecommunications networks, and the Internet.
IEEE 802.15.3 defines an ad hoc wireless short-range network (referred to as a piconet) in which a plurality of devices may communicate with each other. One of these devices is called piconet coordinator (PNC), which coordinates timing and other operational characteristics for the network. The remaining devices in the network are known as DEVs. The timing of piconets is based on a repeating pattern of “superframes” in which the network devices may be allocated communications resources.
A high rate physical layer (PHY) standard is currently being selected for IEEE 802.15.3a. The existing IEEE 802.15.3 media access control layer (MAC) is supposed to be used as much as possible with the selected PHY. Currently, there are two remaining PHY candidates. One of these candidates is based on frequency hopping application of orthogonal frequency division multiplexing (OFDM). The other candidate is based on M-ary Binary offset Keying. The OFDM proposal is called Multiband OFDM (MBO). Moreover, in order to further develop the OFDM proposal outside of the IEEE, a new alliance has been formed called the MultiBand OFDM Alliance (MBOA).
MBO utilizes OFDM modulation and frequency hopping. MBO frequency hopping may involve the transmission of each of the OFDM symbols at various frequency according to according to pre-defined codes, such as Time Frequency Codes (TFCs). Time Frequency Codes can be used to spread interleaved information bits across a larger frequency band.
Presently, there is an interest within the MBOA to create a Medium Access Control (MAC) layer that would be used with the OFDM physical layer instead of the IEEE 802.15.3 MAC layer. Part of this development involves the development of secure features that work well for OFDM transmission environments, in which frames may be received out of order.
MAC layers govern the exchange among devices of transmissions called frames. A MAC frame may have various portions. Examples of such portions include frame headers and frame bodies. A frame body includes a payload containing data associated with higher protocol layers, such as user applications. Examples of such user applications include web browsers, e-mail applications, messaging applications, and the like.
Frame bodies may be in either a secure or a non-secure format. A secure formatted frame includes encrypted portions and further includes information to ensure its uniqueness. A secure implementation involves protecting against replay. Replay occurs when a frame is received that is not authentic. Accordingly, techniques are required for effective replay prevention in wireless networks.
The present invention provides an apparatus having a receiver, a first register, a second register, and a controller. The receiver receives frames from a remote device across a wireless communications network (e.g., an IEEE 802.15.3 network). Each of the frames has a secure frame counter (SFC). The first register stores a highest received SFC value and the second register tracks previously used SFC values within a tracking window. The controller accepts or rejects a newly received frame. Such acceptance may be based on the occurrence of one or more acceptance conditions.
In a further aspect, the present invention provides an apparatus having a receiver, a processor, and a memory. The receiver receives frames from a remote device across a wireless communications network, where each of these frames has a secure frame counter (SFC). The
memory stores a first register that stores a highest value SFC of a received frame, and a second register that tracks previously used SFC values within a tracking window. The memory further stores instructions for the processor to accept a newly received frame upon the occurrence of one or more acceptance conditions.
A method of the present invention receives a secure frame from a remote device across a wireless communications network; obtains a secure frame counter (SFC) value from the secure frame; and accepts the received frame upon the occurrence of one or more acceptance conditions.
The present invention also provides a computer program product including a computer useable medium having computer program logic recorded thereon. The computer program logic includes program code for enabling the processor to receive a secure frame from a remote device across a wireless communications network; program code for enabling the processor to obtain a secure frame counter (SFC) value from the secure frame; and program code for enabling the processor to accept the received frame upon the occurrence of one or more acceptance conditions.
These aforementioned acceptance conditions may include an SFC value of the received frame being greater than any previously received SFC value, or the SFC value of the received frame being within the tracking window and being previously unused.
The present invention advantageously provides security in a manner that promotes efficient device operation and efficient use of communications resources. Further features and advantages of the present invention will become apparent from the following description and accompanying drawings.
In the drawings, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The drawing in which an element first appears is indicated by the leftmost digit(s) in the reference number. The present invention will be described with reference to the accompanying drawings, wherein:
I. Operational Environment
Before describing the invention in detail, it is first helpful to describe an environment in which the present invention may be employed. Accordingly,
In piconet 101a, each of devices 102a-d communicates with PNC 102e across a corresponding link 120. For example, DEV 102a communicates with PNC 102e across a link 120a. In addition, DEVs 102a-d may communicate with each other directly. For instance,
In piconet 101b, each of DEVs 102f and 102g may communicate with PNC 102h across a corresponding link 120. For instance, DEV 102f communicates with PNC 102h across a link 120f, while DEV 102g communicates with PNC 102h across a link 120g. Member devices in piconet 101b may also communicate with each other directly. For example,
Each of links 122 and 120 may employ various frequency hopping patterns. These patterns may include, for example, one or more Time Frequency Codes (TFCs). In embodiments of the present invention, each piconet 101 employs a particular frequency hopping pattern. These patterns may either be the same or different.
In addition, the environment of
Transmissions of piconets 101a and 101b are each based on a repeating pattern called a superframe. Accordingly,
Each superframe 202 includes a beacon portion 204 and a non-beacon portion 206. Beacon portions 204 convey transmissions from a PNC (such as PNC 102e) and are used to set timing allocations and to communicate management information for the piconet. For example, beacon portions 204 may convey transmissions that direct devices in piconet 101a (e.g., DEVs 102a-d) to employ certain frequency hopping patterns, such as specific TFCs. In addition, according to the present invention, beacon portions 206 may be used to transmit information regarding services and features of the transmitting PNC (e.g., information services, applications, games, topologies, rates, security features, etc.) or any device within the piconet. The transmission of such information in beacon portions 204 may be in response to requests from devices, such as scanning devices.
Non-beacon portions 206 are used for devices to communicate data according to, for example, frequency hopping techniques that employ OFDM and/or TFCs. For instance, non-beacon portions 206 may support data communications across links 120 and 122. In addition, devices (e.g., DEVs 102a-d) may use non-beacon portions 206 to transmit control information, such as request messages to other devices (e.g., PNC 102e). To facilitate the transmission of traffic, each DEV may be assigned a particular time slot within each non-beacon portion 206. These time slots may be allocated by the PNC.
Traffic may be transmitted in the form of frames. As discussed above, the frames may be in a secure format.
II. SECURITY
To ensure communications security, it is a goal of wireless communications networks to prevent the replaying of frames. Also it is desirable that the order of frames is preserved. As an attempt to achieve these objectives, various wireless systems implement counters and time varying parameters. These counters and parameters may be employed by receiving devices to verify the order and freshness of received frames.
For example, in IEEE 802.15.3 networks, superframe-based counters are employed. Section 9.1.7 of the current IEEE 802.15.3 standard provides for the following:
IEEE 802.15.3 networks protect secure frames using encryption and a message integrity code. Each encryption is initialized using a counter value, called a Secure Frame Counter (SFC), which is incremented for each new frame. However, these mechanisms are not sufficient to prevent replaying of frames during the same superframe under which they were originally sent. For instance, current specifications do not require that SFC values of used frames also be checked to ensure that an SFC value has not been used more than once. However, the fragmentation control field also includes an SDU sequence number that is used to detect duplicate transmissions of SDUs or fragments thereof. Inclusion of such data to the nonce might seem to exclude any possibility for frame replay. However, the length of that sequence number is only 9 bits, and it might well roll over during a superframe. Therefore it is essential to check that no SFC value is used more than once.
Currently, the MBOA is considering approaches regarding the secure numbering of frames. For instance, use of the CCM algorithm has been proposed to be used for securing frames and their numbering. The CCM algorithm is described in document RFC 3610 entitled “Counter with CBC-MAC (CCM)”. This document is incorporated herein by reference in its entirety and may be downloaded from the Internet at ftp://ftp.rfc-editor.org/in-notes/rfc3610.txt.
CCM is an authenticated encryption mode of operation for block ciphers. In addition to concealing data from eavesdroppers, CCM ensures that the ciphertext was generated by someone who knows the secret key and that it has not been modified by anyone else. If such action takes place, CCM ensures that it will be detected with an overwhelming probability.
CCM is used in conjunction with a 128-bit block cipher. This cipher is typically the Advanced Encryption Standard (AES). CCM mode requires four input values: an encryption key, a unique value called the nonce, a plaintext message to be encrypted and authenticated, and additional authenticated data (AAD) that is not encrypted but authenticated.
The format of the encryption key depends on the block cipher. The nonce is a unique value in that it has not been used with the same encryption key before. The AAD typically consists of link layer header fields, which cannot be encrypted but must be protected against tampering.
The counter value (the secure frame counter) is usually transmitted along with the message, since decryption of the message requires knowing it. The nonce is required to be unique with respect to the encryption key. If the same nonce is used more than once, a potential eavesdropper gains partial knowledge of the plaintexts.
To ensure the uniqueness of the nonce, a monotonically increasing counter value is usually used when constructing the nonce value. As it is transmitted along the message, the receiver can observe whether the counter value really has been incremented for each message.
IEEE 802.15.3 applies a security framework involving secure frame counters (SFCs) that are used in connection with the CCM algorithm. For instance, section 7.2.7.3 of IEEE Standard 802.15.3-2003 specifies the following use of an SFC:
As described above, IEEE 802.15.3 provides freshness protection features. Such features are described in section 9.1.7 of IEEE Standard 802.15.3-2003, which states:
Thus, freshness protection in IEEE 802.15.3 is not complete as it allows frames to be replayed within a superframe. SFC numbers are not used for replay protection. Also, IEEE 802.15.3 requires re-encryption of data that is being resent. This may cause unnecessary processing burdens in the transmitting device. Such burdens are costly because they consume battery capacity and extra processing time.
In particular, this implementation is not very effective for OFDM-type burst communications, such as MBOA communications, in which data frames may be received in any order. For instance, when smaller than the latest SFC values are rejected, all resent data will have to be re-encrypted using new a SFC counter value. Also, the total number of available SFC's is limited to 48 bits for each session key, so unnecessary spending of SFC's may cause situations where new session keys have to be generated and exchanged among devices. This leads to unnecessary delays and power consumption. In turn, such delays lead to potential security risks.
The present invention advantageously provides replay protection without requiring transmitting devices to re-encrypt data frames designated for retransmission with new SFC values. Such frames may be designated for retransmission because they were unsuccessfully received. In embodiments of the present invention, receiving devices store information regarding received SFCs to monitor (or keep track of) SFC values that have been used in communication. Such features are described in greater detail below.
III. Device Implementation
MAC controller 403 generates frames for wireless transmission. In addition, MAC controller 403 receives and processes frames that are originated from remote devices. MAC controller 403 exchanges these frames with PHY controller 402. In turn, PHY controller 402 exchanges frames with OFDM transceiver 404. These frames may be in the format described above with reference to
MAC controller 403 advantageously provides replay protection. In embodiments, this protection involves the storage of information. For instance,
Upon receipt, downconverter 422 employs carrier-based techniques to convert these signals from its one or more frequency hopping bands (e.g., TFC bands) into a predetermined lower frequency range. This results in modulated signals, which are received by amplifier 424 to generate amplified signals. FFT module 426 performs OFDM demodulation on these signals. This demodulation involves performing a fast fourier transform for each symbol that is conveyed in the amplified signals.
As a result of this demodulation, FFT module 426 produces one or more frames, which are sent to PHY controller 402. These frames may convey information, such as payload data and protocol header(s). Upon receipt, PHY controller 402 processes these frames. This may involve removing certain PHY layer header fields, and passing the remaining portions of the frames to MAC controller 403.
As shown in
The devices of
One such implementation of the
Processor 510 controls device operation. As shown in
Memory 512 includes random access memory (RAM), read only memory (ROM), and/or flash memory, and stores information in the form of data and software components (also referred to herein as modules). These software components include instructions that can be executed by processor 510. Various types of software components may be stored in memory 512. For instance, memory 512 may store software components that control the operation of transceiver 404. Also, memory 512 may store software components that provide for the functionality of PHY controller 402, MAC controller 403, and upper protocol layer(s) 405.
In addition, memory 512 may store software components that control the exchange of information through user interface 514. As shown in
User input portion 516 may include one or more devices that allow a user to input information. Examples of such devices include keypads, touch screens, and microphones. User output portion 518 allows a user to receive information from the device. Thus, user output portion 518 may include various devices, such as a display, and one or more audio speakers (e.g., stereo speakers) and a audio processor and/or amplifier to drive the speakers. Exemplary displays include color liquid crystal displays (LCDs), and color video displays.
The elements shown in
IV. Device Operation
As described above with reference to
Upon receiving a frame F having the SFC, p, the algorithm performs the following:
As shown above, this algorithm returns an ACCEPT (i.e., accepts frame F) when an authentic SFC value is greater than any previous SFC value; or when an authentic SFC value is within a window of size b, and has not been used before. Otherwise the algorithm returns a REJECT (i.e., rejects frame F). The authenticity of an SFC value may be verified after it has been checked that is in the correct range. Alternatively, this authenticity may first be verified.
As shown in
The information stored in step 604 regarding the previously employed SFC values may have a tracking window associated with it. This tracking window specifies the extent to which previous values are tracked. For instance, the tracking window may extend to a predetermined number of SFC values within a range of the most recently received SFC value. In embodiments, this range only includes values that are less than the most recently received SFC value.
An example of such a range is provided by the above exemplary algorithm. In this algorithm, tracking register 407 is implemented as a b-bit register s. The value of each bit in this register indicates whether a particular SFC value (derivable from the most recently received SFC value in register 406 ) was previously received. Accordingly, in this implementation, the tracking window has a range b.
During the beginning of the device's participation in the network, initial values may be stored in steps 602 and 604. These initial values may be zero. However, in embodiments, other initial values may be employed.
In a step 606, the device receives a frame. This frame is secure. In a step 610, the device obtains the received frame's SFC.
As shown in
In step 616, the device determines whether the SFC value obtained in step 610 is within the device's tracking window. If so, operation proceeds to a step 618, otherwise a step 620 is performed in which the frame is rejected.
In step 618, the device determines whether the obtained SFC value has been previously used. With reference to the above algorithm, this may involve checking the corresponding bit value in register s. For example, if the corresponding bit value is ‘1’, then the SFC value has been previously used. If the obtained SFC value has been previously used, then operation proceeds to a step 622 in which the frame is rejected. Otherwise, a step 623 is performed.
In step 623, the device determines the integrity and authenticity of the SFC value. This step may be performed in the same manner as step 613. If this step verifies the integrity and authenticity of the SFC value, then operation proceeds to a step 624, in which the frame received in step 606 is accepted. Otherwise the frame is rejected in a step 626.
Accordingly, the frame is accepted in steps 614 and 624. Upon this acceptance, the values stored in steps 602 and 604 may need to be updated. Thus, a step 615 follows step 614. In this step, the greatest SFC value received thus far (which was stored in step 602) is updated with the SFC value obtained in step 610. In addition, step 615 also includes updating information stored in step 604. This is because changing the value stored in step 602 also changes the device's tracking window. For example, with reference to the exemplary algorithm above, the register s is shifted to the left by the amount that the obtained SFC value exceeded the greatest SFC value received thus far. In addition, the values maintained in step 604 are updated. For example, the rightmost bit, s0, of the register s is set equal to 1.
As shown in
The operation of
However, in
V. Conclusion
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not in limitation. For instance, although examples have been described involving IEEE 802.15.3 and/or IEEE 802.15.3a communications, other short-range and longer-range communications technologies are within the scope of the present invention. Moreover, the techniques of the present invention may be used with signal transmission techniques other than OFDM.
Accordingly, it will be apparent to persons skilled in the relevant art that various changes in form and detail can be made therein without departing from the spirit and scope of the invention. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.