1. Field of the Invention
The invention relates to the field of wireless local area networks (WLANs), and more particularly to a scheme for performing secure wireless communication with reduced bus traffic in a computer system.
2. Description of the Related Art
A wireless local area network (WLAN) is a flexible data communications system that can either replace or extend a wired LAN to provide added functionality. Using radio frequency (RF) technology, WLANs transmit and receive data over the air, through walls, ceilings and even cement structures, without wired cabling. A WLAN provides all the features and benefits of traditional LAN technologies like Ethernet and Token Ring, but without the limitations of being tethered to a cable. This provides greatly increased freedom and flexibility.
The most common WLANs currently are those conforming to the IEEE 802.11 standard family. Not only are they increasingly deployed in private enterprise applications, but also in public applications such as airports and coffee shops. Since WLAN was designed as a wireless extension of the Ethernet for indoor use, it has adopted a simple protocol known as wired equivalent privacy (WEP) for authentication and encryption. According to WEP, every WLAN station and every access point in a Basic Service Set share a common, static key, called a WEP key. It has either 40 bits (standard) or 128 bits (optional). The authentication process is either an open authentication based on some advanced authentication method or a challenge and response authentication based on the WEP key. The encryption algorithm is RC4 with the key sequence generated by the WEP key and a random vector. However, the security flaws of WEP have been highly publicized, mainly due to the implementation flaw of the key scheduling algorithm in the RC4 encryption algorithm and the use of a static WEP key shared by every entity.
To address the security flaws related to WEP, the IEEE 802.1x standard has been introduced and the IEEE 802.11i standard is currently under development. Using the IEEE 802.1x standard along with various EAPs, or Extensible Authentication Protocols, WLAN authentication can be managed from a centralized server such as a RADIUS server, by means of session-specific keys for encryption purposes. Security flaws in the RC4 algorithm in WEP can be alleviated to some extent if the session-specific key is changed frequently. According to the IEEE 802.11i standard draft, the Advanced Encryption Standard (AES) will become the ultimate encryption algorithm to protect over-the-air traffic.
Accordingly, what is needed is an efficient scheme for performing secure wireless communication with reduced bus traffic in a computer system, which addresses the problems of the related art.
The present invention is generally directed to a method for performing secure communication in a WLAN environment. According to one aspect of the invention, the method first provides a decryption table. The decryption table includes several entries, each of which has a number of sections to store at least one check item, at least one characteristic value, a secret key and a cipher type. In response to receipt of an encrypted packet, one entry in sequence is selected from the decryption table. Then at least one field to be checked is extracted from the encrypted packet contingent on the check item in the selected entry. Upon successful matching of the extracted field to the characteristic value in the selected entry, the secret key and the cipher type in this entry are applied to decrypt the encrypted packet. If matching of the extracted field to the characteristic value is unsuccessful, the next entry in sequence is selected from the decryption table for comparison. Note that the check item indicates which field of the encrypted packet needs to be compared with the characteristic value in the same entry of the decryption table.
According to another aspect of the invention, an apparatus for performing secure communication in a WLAN environment is disclosed. The apparatus of the invention comprises a decryption table and a cryptography engine with access to the table. The decryption table is configured to include a number of entries; each entry has a number of sections to store at least one check item, at least one characteristic value, a secret key and a cipher type. The cryptography engine includes a means, responsive to receipt of an encrypted packet, for extracting from the encrypted packet at least one field to be checked contingent on the check item in a currently selected entry, sequentially chosen from the decryption table. The cryptography engine also includes a means for matching the extracted field of the encrypted packet to the characteristic value in the currently selected entry. Further, the cryptography engine has a means, upon successful matching, for applying the secret key and the cipher type in the currently selected entry to decrypt the encrypted packet. Note that the check item indicates which field of the encrypted packet needs to be compared with the characteristic value in the same entry of the decryption table.
The present invention will be described by way of exemplary embodiments, but not limitations, illustrated in the accompanying drawings in which like references denote similar elements, and in which:
With reference to the accompanying figures, an exemplary embodiment of the invention will now be described. The exemplary embodiment is described primarily with reference to a block diagram and flowchart. As to the flowchart, each block therein represents both a method step and an apparatus element for performing the method step. Herein, the apparatus element may be referred to as a means for, an element for, or a unit for performing the method step. Depending upon the implementation, the apparatus element, or portions thereof, may be configured in hardware, software, firmware or combinations thereof. As to the block diagram, it should be appreciated that not all components necessary for a complete implementation of a practical system are illustrated or described in detail. Rather, only those components necessary for a thorough understanding of the invention are illustrated and described. Furthermore, components which are either conventional or may be readily designed and fabricated in accordance with the teachings provided herein are not described in detail.
The invention is described in detail by way of examples when taken in conjunction with the flowchart of
When received, an encrypted packet or data frame is fed to the cryptography engine 240. In response thereto, the cryptography engine 240 first proceeds to step S310 where it selects one entry in sequence from the decryption table 250. Next, in step S320, the cryptography engine 240 extracts the at least one field to be checked from the encrypted packet contingent on the check items in the selected entry. As shown in table 1, for example, the first entry reveals that the check Key ID item has been marked, meaning the Key ID field of the received packet needs to be checked. In step S330, the cryptography engine 240 determines whether all check items are met. Assuming that the received packet conveys a Key ID of 3 and is broadcast from another station through the AP, the extracted Key ID field matches the 2-bit ID value of the first entry in this case. Upon successful matching, in step S340, the secret key and the cipher type in the selected entry can be applied to decrypt the received packet. Therefore, the cryptography engine 240 is able to completely recover plaintext data from this encrypted packet using TKIP with a key of ‘0123456789’ as set forth in the first entry of the decryption table 250. Finally, the NIC 230 initiates a PCI cycle (identified by C1′ in
If the NIC 230 receives from the AP another encrypted packet carrying a Key ID of 0, the cryptography engine 240 proceeds to step S310 where it selects the first entry from the decryption table 250 for this newly received packet. In step S320, the cryptography engine 240 extracts the field of Key ID from the encrypted packet contingent on the check item in the first entry. However, the extracted field does not match the 2-bit ID value of the first entry in this situation. When the matching is unsuccessful in step S330, the cryptography engine 240 proceeds through step S350 back to step S310 and then selects the next entry in sequence from the decryption table 250 for comparison. As shown in table 1, the second entry reveals that the Address 2 item has been marked, meaning the transmitter address field of the received packet needs to be checked. Hence, the cryptography engine 240 extracts the field of Address 2 (i.e. transmitter address) from the received packet in step S320 and compares it with the 6-byte address value in the second entry. Because the transmitter of this packet is the AP with the MAC address 00-08-22-00-00-01, the matching of the extracted field to the characteristic value is successful. The cryptography engine 240 then proceeds to step S340 where it completely recovers plaintext data from this encrypted packet using the AES-CCM protocol with a key of ‘ABCDEF 0123’ as set forth in the second entry of the decryption table 250. Note that the received packet may be undecryptable when the cryptography engine 240 proceeds to step S350 where it detects the end of the decryption table 250 and locates nothing for decapsulation. If so, the packet will be discarded in step S360.
In view of the above, the present invention provides a method and apparatus for performing secure wireless communication with reduced bus traffic in a computer system. In brief, the apparatus of the invention comprises a decryption table 250 and a cryptography engine 240 with access to the table 250. The decryption table 250 is configured to include a number of entries; each entry has a number of sections to store at least one check item, at least one characteristic value, a secret key and a cipher type. The cryptography engine 240 includes a means, responsive to receipt of an encrypted packet, for extracting from the encrypted packet at least one field to be checked contingent on the check item in a currently selected entry sequentially chosen from the decryption table. The cryptography engine also includes a means for matching the extracted field of the encrypted packet to the characteristic value in the currently selected entry. Further, the cryptography engine has a means, upon successful matching, for applying the secret key and the cipher type in the currently selected entry to decrypt the encrypted packet.
While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.