1. Field of the Invention
The present invention relates to a system and method for selectively sharing data contained in a network routing device with an associated host device. More particularly, the invention relates to a system and method for enabling routing device hardware to provide selective access by a host device to shared memory within the routing device, thus restricting the host's ability to access data not intended for use by the host.
2. Description of the Related Art
In recent years, a type of mobile communications network known as an “ad-hoc” network has been developed. In this type of network, each user terminal is capable of operating as a base station or router for other mobile nodes, thus eliminating the need for a fixed infrastructure of base stations. Accordingly, data packets being sent from a source mobile node to a destination mobile node are typically routed through a number of intermediate mobile nodes before reaching the destination node.
More sophisticated ad-hoc networks are also being developed which, in addition to enabling mobile nodes to communicate with each other as in a conventional ad-hoc network, further enable the mobile nodes to access a fixed network and communicate with other types of user terminals, such as those on the public switched telephone network (PSTN) and on other networks, such as the Internet. Details of these types of ad-hoc networks are described in U.S. Pat. No. 7,072,650 entitled “Ad Hoc Peer-to-Peer Mobile Radio Access System Interfaced to the PSTN and Cellular Networks”, issued on Jul. 4, 2006, U.S. Pat. No. 6,807,165 entitled “Time Division Protocol for an Ad-Hoc, Peer-to-Peer Radio Network Having Coordinating Channel Access to Shared Parallel Data Channels with Separate Reservation Channel”, issued on Oct, 19, 2004, and in U.S. Pat. No. 6,873,839 entitled “Prioritized-Routing for an Ad-Hoc, Peer-to-Peer, Mobile Radio Access System”, issued on Mar. 29, 2005, the entire content of each being incorporated herein by reference.
Generally, all nodes in a wireless ad-hoc peer-to-peer network provide similar core services and functionality, although their specific functionality can depend on their intended purposes, such as use as an access point, fixed router or mobile terminal. Although each node can provide similar services, the workload is typically distributed across many nodes rather than centralized at a single location in the peer-to-peer network. Therefore peer-to-peer networks distinguish themselves from infrastructure networks where one or more nodes offer a superset of the functionality of the rest of the network. Infrastructure nodes in these networks typically can handle Dynamic Host Configuration Protocol (DHCP), Address Resolution Protocol (ARP), as well as other services that depend on broadcast traffic. Dynamic Host Configuration Protocol is defined by IETF RFC 2131 and 2132, which are incorporated herein by reference, and is used by a client node to automatically obtain network settings from a central server. These network settings include the client's IP address, the address of Domain Name Servers (DNS), the IP address of default gateways, and many other network settings. Address Resolution Protocol is defined by STD 0037 and RFC 0826, which are incorporated herein by reference, and is used by a network node to map IP addresses to MAC addresses so IP traffic can be delivered to specific hardware. Such infrastructure nodes are normally discovered by broadcast traffic advertisements from their client nodes in a network.
As can be appreciated by one skilled in the art, traffic in such networks includes direct and indirect communications, in which nodes can be used as routers while both stationary or mobile. A mobile node typically includes a host, such as a personal computer (PC) or personal digital assistant (PDA), with an attached transceiver and a controller. A mobile node can further include a network interface device coupled to a host device, which allows the host device communication access with the network. The transceiver of the mobile node receives data packets, such as voice, data or multimedia data packets, from other nodes, and the controller determines which data packets are intended for it's associated host. If a data packet is intended for the associated host, the host is notified to retrieve the packet. If the packet is not intended for the associated host, the controller determines the next node to which the data packet should be sent based on routing table or similar information, and controls the transceiver of the mobile node to send the data packet to the next node.
In traditional networks where the user nodes do not re-route traffic, the network interface device will inspect an incoming packet header and store packet data only if it is destined for the host device associated with the network interface device. Therefore, the host never has the opportunity to examine data which is intended for other devices. However, once a device is required to reroute packets to a destination device other than the associated host as in an ad-hoc network, all packets must be captured and evaluated by the routing device. Once a packet is captured by a network interface device, it then may become susceptible to unauthorized access by the associated host device.
However, the ability to selectively share data between a routing device and an associated host, such as a personal computer, is necessary in a wireless ad-hoc network. This allows a subscriber to have an access point for extracting or sending data through the network. Because the vast majority of routing resources or nodes that exist in a multihopping, ad-hoc network each route data that is not intended for its associated host, precautions must be taken to insure that only data intended for the node's associated host can be extracted from the routing device in the node. However, many of the methods for achieving this are either inefficient in their ability to route data, require use of multiple memories, or are insecure.
Accordingly, a need exists for a system and method for protecting data traveling through a network by ensuring that a host device may only access data that was intended for access by that host device.
An object of the present invention is to provide a system and method for restricting a host device from accessing network data which is not intended for host access.
Another object of the present invention is to provide a hardware implemented firewall internal to a routing device in a communication network, such as an ad-hoc network, to prevent unauthorized access by a host device to data stored in shared memory on the routing device.
A further object of the present invention is to restrict host access to the shared memory such that there may be no access, access to a single area, or access to multiple areas in the shared memory when required.
Another objective of the present invention is to disallow host access to the shared memory once the host has retrieved the data it is permitted to retrieve.
These and other objects are substantially achieved by providing a system and method to securely share data between a routing device and an associated host by utilizing a hardware firewall which restricts the host's access to a shared memory area on the routing device. The system and method employs a hardware firewall in the routing device which restricts the host such that it can only access areas in shared memory which contains data destined for the host. The routing device CPU notifies the host of pending data and the location of that data in the shared memory. The hardware firewall is also notified of the location in shared memory which the host may access. When the host attempts to read the data, the firewall ensures that only the stated memory area or areas are accessed by the host. Once the data has been read by the host, the firewall is notified to cancel the host's ability to access the shared memory until such time as a new packet destined for the host arrives in the routing device.
These and other objects, advantages and novel features of the invention will be more readily appreciated from the following detailed description when read in conjunction with the accompanying drawings, in which:
The network 10 further includes a plurality of fixed routers 107-1 through 107-n (referred to generally as nodes or fixed routers 107) for routing data packets between other nodes 102, 106 or 107. As can be appreciated by one skilled in the art, the nodes 102, 106 and 107 are capable of communicating directly with each other, or via one or more other nodes operating as routers for data packets being sent between nodes, as described in U.S. Pat. No. 5,943,322 to Mayor and in U.S. Pat. Nos. 7,072,650 and 6,807,165, referenced above. The data packets can include voice, data or multimedia.
Specifically, as shown in
As further shown in
The mailbox 400 of the routing device 1000 in
The modem interconnect bus 700 of the routing device 1000 in
The baseband modem 800 of the routing device 1000 in
In
In step 1020, the digital format packet is transferred from the baseband modem 800 to the packet buffer 500 by the routing device CPU 600. In step 1030, the routing device CPU 600 determines if the local host 100 needs access to the data, and then notifies the hardware firewall 300 of the specific packet buffer 500 area which the host 100 is to be allowed access. If the packet is not destined for the associated host 100, the host is not notified of the new packet.
In step 1040, the routing device CPU 600 places the address range of the data to be delivered to the host 100 in the mailbox 400 and then signals the host 100 to retrieve the message from the mailbox. In step 1050, the host 100 reads the message in the mailbox 400 and discovers what part of the packet buffer 500 it is to access, and in step 1060, the host 100 reads the data in the designated area of the packet buffer 500.
The hardware firewall 300 ensures that only the designated area is accessed by the host 100. In Block 1070 the host 100 writes a message to the mailbox 400 indicating that the read action has been completed and signals the routing device CPU 600. Finally, in Block 1080, the routing device CPU 600 notifies the hardware firewall 300 that the host 100 no longer has access to the designated area of the packet buffer 500.
The embodiment of the present invention described provides a single memory resource that is utilized by the routing device and the associated host. Since each routing device in the network must temporarily store data in a memory for either access by the host or retransmission to another routing resource or destination, a common memory is used. The use of a shared memory resource, such as a “packet buffer” 500, has the advantage of reducing the number of separate memories required to store data and reduces the number of transactions that a processor must perform in order to transfer data to it's intended destination.
The embodiment described above provides selective access by the host to the shared memory or “packet buffer” 500 on the routing device 1000. The selective access by the host is implemented solely by hardware in the routing device such that no security protocol or encryption is required to protect data not intended to be accessed by the host. Host access to the packet buffer can be configured to allow multiple windows of different memory ranges, or alternatively, host access to the packet buffer can be eliminated entirely. Additionally, the embodiment includes a mechanism to communicate to the host which areas it is allowed to access in the packet buffer.
Furthermore, data movement is minimized between memories because the host 100 and routing device CPU 600 have direct access to the shared packet buffer 500. By securely using a single shared memory, cost is minimized and data transfer efficiency is maximized in the routing device while maintaining the integrity of the network data. Furthermore, by implementing the firewall 300 in the routing device hardware, it is not susceptible to hacking from the host computer 100.
Although network routers and bridges reroute network traffic, they typically do not have associated hosts. While security issue addressed by the embodiment of the present invention described above could potentially apply to any communications device with an associated host, they specifically apply to devices which support multi-hopping. The embodiment of the present invention described above restricts a host from reading data not intended for it, however it does not deal with restrictions on the ability of the host to write data to the routing device.
Although only a few exemplary embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined.
This application claims the benefit of U.S. Provisional Patent Application No. 60/378,055 entitled “A System And Method For A Routing Device To Securely Share Network Data With A Host Utilizing A Hardware Firewall”, filed May 16, 2002, the entire contents of which being incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4494192 | Lew et al. | Jan 1985 | A |
4617656 | Kobayashi et al. | Oct 1986 | A |
4736371 | Tejima et al. | Apr 1988 | A |
4742357 | Rackley | May 1988 | A |
4747130 | Ho | May 1988 | A |
4910521 | Mellon | Mar 1990 | A |
5034961 | Adams | Jul 1991 | A |
5068916 | Harrison et al. | Nov 1991 | A |
5231634 | Giles et al. | Jul 1993 | A |
5233604 | Ahmadi et al. | Aug 1993 | A |
5241542 | Natarajan et al. | Aug 1993 | A |
5317566 | Joshi | May 1994 | A |
5392450 | Nossen | Feb 1995 | A |
5412654 | Perkins | May 1995 | A |
5424747 | Chazelas et al. | Jun 1995 | A |
5502722 | Fulghum | Mar 1996 | A |
5517491 | Nanni et al. | May 1996 | A |
5555425 | Zeller et al. | Sep 1996 | A |
5555540 | Radke | Sep 1996 | A |
5572528 | Shuen | Nov 1996 | A |
5615212 | Ruszczyk et al. | Mar 1997 | A |
5618045 | Kagan et al. | Apr 1997 | A |
5621732 | Osawa | Apr 1997 | A |
5623495 | Eng et al. | Apr 1997 | A |
5627976 | McFarland et al. | May 1997 | A |
5631897 | Pacheco et al. | May 1997 | A |
5638448 | Nguyen | Jun 1997 | A |
5644576 | Bauchot et al. | Jul 1997 | A |
5652751 | Sharony | Jul 1997 | A |
5680392 | Semaan | Oct 1997 | A |
5684794 | Lopez et al. | Nov 1997 | A |
5687194 | Paneth et al. | Nov 1997 | A |
5696903 | Mahany | Dec 1997 | A |
5701294 | Ward et al. | Dec 1997 | A |
5706428 | Boer et al. | Jan 1998 | A |
5717689 | Ayanoglu | Feb 1998 | A |
5727142 | Chen | Mar 1998 | A |
5745483 | Nakagawa et al. | Apr 1998 | A |
5774876 | Wooley et al. | Jun 1998 | A |
5781540 | Malcolm et al. | Jul 1998 | A |
5787080 | Hulyalkar et al. | Jul 1998 | A |
5794154 | Bar-On et al. | Aug 1998 | A |
5796732 | Mazzola et al. | Aug 1998 | A |
5796741 | Saito et al. | Aug 1998 | A |
5805593 | Busche | Sep 1998 | A |
5805842 | Nagaraj et al. | Sep 1998 | A |
5805977 | Hill et al. | Sep 1998 | A |
5809518 | Lee | Sep 1998 | A |
5822309 | Ayanoglu et al. | Oct 1998 | A |
5844905 | McKay et al. | Dec 1998 | A |
5845097 | Kang et al. | Dec 1998 | A |
5857084 | Klein | Jan 1999 | A |
5870350 | Bertin et al. | Feb 1999 | A |
5877724 | Davis | Mar 1999 | A |
5881095 | Cadd | Mar 1999 | A |
5881372 | Kruys | Mar 1999 | A |
5886992 | Raatikainen et al. | Mar 1999 | A |
5896561 | Schrader et al. | Apr 1999 | A |
5903559 | Acharya et al. | May 1999 | A |
5909651 | Chander et al. | Jun 1999 | A |
5936953 | Simmons | Aug 1999 | A |
5943322 | Mayor et al. | Aug 1999 | A |
5987011 | Toh | Nov 1999 | A |
5987033 | Boer et al. | Nov 1999 | A |
5991279 | Haugli et al. | Nov 1999 | A |
6028853 | Haartsen | Feb 2000 | A |
6029217 | Arimilli et al. | Feb 2000 | A |
6034542 | Ridgeway | Mar 2000 | A |
6044062 | Brownrigg et al. | Mar 2000 | A |
6047330 | Stracke, Jr. | Apr 2000 | A |
6052594 | Chuang et al. | Apr 2000 | A |
6052752 | Kwon | Apr 2000 | A |
6064626 | Stevens | May 2000 | A |
6067291 | Kamerman et al. | May 2000 | A |
6073005 | Raith et al. | Jun 2000 | A |
6078566 | Kikinis | Jun 2000 | A |
6104712 | Robert et al. | Aug 2000 | A |
6108738 | Chambers et al. | Aug 2000 | A |
6115580 | Chuprun et al. | Sep 2000 | A |
6122690 | Nannetti et al. | Sep 2000 | A |
6130881 | Stiller et al. | Oct 2000 | A |
6132306 | Trompower | Oct 2000 | A |
6147975 | Bowman-Amuah | Nov 2000 | A |
6163699 | Naor et al. | Dec 2000 | A |
6178337 | Spartz et al. | Jan 2001 | B1 |
6192053 | Angelico et al. | Feb 2001 | B1 |
6192230 | Van Bokhorst et al. | Feb 2001 | B1 |
6208870 | Lorello et al. | Mar 2001 | B1 |
6223240 | Odenwald et al. | Apr 2001 | B1 |
6240294 | Hamilton et al. | May 2001 | B1 |
6246875 | Seazholtz et al. | Jun 2001 | B1 |
6249516 | Brownrigg et al. | Jun 2001 | B1 |
6275707 | Reed et al. | Aug 2001 | B1 |
6285892 | Hulyalkar | Sep 2001 | B1 |
6304556 | Haas | Oct 2001 | B1 |
6304973 | Williams | Oct 2001 | B1 |
6321337 | Reshef et al. | Nov 2001 | B1 |
6327300 | Souissi et al. | Dec 2001 | B1 |
6341309 | Vaid et al. | Jan 2002 | B1 |
6349091 | Li | Feb 2002 | B1 |
6349210 | Li | Feb 2002 | B1 |
6363065 | Thornton et al. | Mar 2002 | B1 |
6584508 | Epstein et al. | Jun 2003 | B1 |
6754188 | Garahi et al. | Jun 2004 | B1 |
6925069 | Koos et al. | Aug 2005 | B2 |
7072650 | Stanforth | Jul 2006 | B2 |
20010053699 | McCrady et al. | Dec 2001 | A1 |
20020078377 | Chang et al. | Jun 2002 | A1 |
20020120755 | Gomes et al. | Aug 2002 | A1 |
Number | Date | Country |
---|---|---|
2132180 | Mar 1996 | CA |
0513841 | Nov 1992 | EP |
0627827 | Dec 1994 | EP |
0924890 | Jun 1999 | EP |
2683326 | Jul 1993 | FR |
WO9608884 | Mar 1996 | WO |
WO9724005 | Jul 1997 | WO |
WO9839936 | Sep 1998 | WO |
WO9912302 | Mar 1999 | WO |
WO 0034932 | Jun 2000 | WO |
WO 0110154 | Feb 2001 | WO |
WO 0133770 | May 2001 | WO |
WO 0135567 | May 2001 | WO |
WO 0137481 | May 2001 | WO |
WO 0137482 | May 2001 | WO |
WO 0137483 | May 2001 | WO |
WO 0235253 | May 2002 | WO |
Number | Date | Country | |
---|---|---|---|
20040039941 A1 | Feb 2004 | US |
Number | Date | Country | |
---|---|---|---|
60378055 | May 2002 | US |