WO2002021803A2 - Providing secure network access for short-range wireless computing devices - Google Patents
Providing secure network access for short-range wireless computing devices Download PDFInfo
- Publication number
- WO2002021803A2 WO2002021803A2 PCT/US2001/026659 US0126659W WO0221803A2 WO 2002021803 A2 WO2002021803 A2 WO 2002021803A2 US 0126659 W US0126659 W US 0126659W WO 0221803 A2 WO0221803 A2 WO 0221803A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- fam
- address
- client
- network access
- access point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2521—Translation architectures other than single NAT servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/04—Key management, e.g. using generic bootstrapping architecture [GBA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/08—Access point devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/06—Authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/04—Network layer protocols, e.g. mobile IP [Internet Protocol]
Definitions
- the present invention relates to computer networks, and more particularly to methods, systems, and computer program instructions for enabling seamless connectivity and roaming with short-range wireless computing devices.
- IEEE 802.11 is a standard of the Institute for Electrical and Electronics Engineers, which was approved in 1997 for wireless Local Area Network, or LAN, signaling and protocols. 802.11 addresses frequency hopping' spread spectrum radio, direct sequence spread spectrum radio, and infrared light transmissions.
- Bluetooth is a specification for short-range wireless connectivity that is aimed at unifying telecommunications and computing. More information on these specifications can be found on the Internet at www.ieee.org and www.bluetooth.com, respectively.
- each device is assigned to a static, global IP address.
- the device is also assigned to a fixed Home Agent (HA) on its home network.
- HA Home Agent
- the following steps occur: (1) the device locates a Foreign Agent (FA) host on the remote network and establishes communication with it, and provides the FA with the identity of the HA; (2) the FA initiates a handshake with the HA; (3) packets destined for the client are received by the HA, which then tunnels them to the FA, which then forwards them to the device; (4) packets generated by the client are intercepted by the FA, which then tunnels them to the HA, which then forwards them to the intended destination.
- FA Foreign Agent
- IP-inside-IP tunneling requires that additional header material is added to the packet, and it also requires the recalculation of at least a new IP header checksum (for the additional IP header material) . These operations require extra memory accesses at the HA and/or FA. On some operating systems, the checksum calculation may not be incremental (and therefore may require accessing every byte in the IP header) . On some operating systems, adding header material requires that the entire packet be copied to a new buffer, requiring access to every byte in the packet. Packet tunneling between the HA and FA also increases the packet size.
- Tunneling can therefore cause performance degradation.
- the tunneling between the HA and FA introduces a routing inefficiency, since all inbound packets must be routed between the two hosts, even when the packet source and destination are physically located on nearby networks.
- Mobile IP also places burdens and restrictions on the client device.
- the client must install additional software to enable discovering the FA.
- a particular client is limited to communicating with only one FA at a time. This means that there is no provision for dividing the load among multiple FAs. If the FA fails, then all state information about the client is lost, and the client must re-establish all of its network connectivity.
- all clients must be assigned to a publicly routable (global) IP address. In today's Internet, such addresses are severely limited, so this represents a difficult limitation, particularly for large organizations with many mobile workers.
- This solution also has a number of drawbacks. It requires changes to the TCP implementations on all clients and servers, which is an unlikely occurrence. Applications that are aware of the device's IP address must be modified to learn about and handle the IP address changes that occur as the device roams. The solution does not work for User Datagram Protocol (UDP) /IP-based communication. Finally, the system relies on Dynamic Domain Name Service (DDNS) to allow remote hosts to learn about the client's current IP address; unfortunately, DDNS is not yet fully deployed.
- DDNS Dynamic Domain Name Service
- HAWAII is an optimization to Mobile IP to enable a user to roam more effectively within a single administrative domain.
- a relationship is established with the local FA, in the normal fashion.
- roaming is accomplished by dynamically updating routers and host routing tables so that the FA can forward packets to and from the device.
- the HAWAII technique can eliminate outbound "triangle" routing for packets sent from the client (though not for packets sent to the client, because the client's public address is routed to the HA through the Internet) .
- HAWAII HAWAII
- Link-level encryption is used to ensure that data is not transmitted in the clear over the wireless network.
- WEP Wired Equivalent Privacy
- a systems administrator defines a key that is provided to all authorized users. Users configure their clients with this key, which is then presented to the access point to prove that the device is authorized to access the network. Once this handshake is complete, a session key is established so that subsequent traffic between the client and access point is encrypted; this encryption is implemented within the hardware in the wireless cards.
- Bluetooth environments A similar mechanism exists in Bluetooth environments.
- This link-level security technique has several limitations. First, it is anonymous. That is, the access point (and the network) cannot determine which user is actually using the network. There is, therefore, no way to enforce user-based filtering and routing policies. In addition, this technique is cumbersome. WEP keys may be 1024 bits in length, and it is error- prone for users to be asked to type this information. Furthermore, there is no mechanism for key revocation. Once a user has been provided with the key, the user can no longer be denied network access. To prevent a previously-authorized user from gaining access to the network, the administrator must create a new key, re-program all of the access points, and notify all currently-authorized users to update their WEP keys. In a large installation, this is impractical.
- An alternative to using this link-level technique involves constructing a secure IP tunnel between the wireless client and some router coupled to the access point.
- a solution of this genre has been announced by 3Com Corporation (see http://www.3com.com/news/releases/pr00/jul0500a.html).
- the user provides a user name and password to the router, which authenticates the user.
- an MPPE Microsoft Point-to-Point Encryption
- the present invention is directed to methods, systems, and computer program instructions for supporting host mobility in short-range wireless computing networks.
- the disclosed routing techniques provide for maximum performance and throughput of the underlying routing infrastructure, minimize network latency for packets, and provide maximal configuration flexibility.
- the disclosed secure access techniques enable providing a secure, managed network environment in which per-user access controls and traffic filtering policies can be easily and efficiently enforced.
- a client device can travel seamlessly through a wireless network (such as an in- building network) using a constant device address.
- HAM Home Agent Masquerader
- the roaming device communicates through a Foreign Agent Masquerader (FAM) which, in turn, communicates with the HAM for each active connection.
- FAM Foreign Agent Masquerader
- the HAM for a roaming device can be placed very close to the physical location where the client was at the time the connection was established. If the connection is short-lived and the user does not actually roam while the connection is in progress, no obscure routing paths of the type required in the prior art need to be constructed: the device simply uses the (nearby) HAM.
- most connections tend to be short-lived (e.g. to make requests from the Internet) , so the disclosed technique is particularly advantageous. For situations in which connections are long-lived (or are expected to be long-lived) , a technique is defined for placing the HAM function at a more centralized location.
- Connection state is loaded into each FAM incrementally, as the FAM learns of new devices for which it needs to provide packet routing, thereby further improving overall system performance.
- the disclosed mechanisms allow policy-driven packet filtering to occur while supporting user-based authentication, and while taking advantage of the existing encryption facilities provided by the device hardware at each endpoint.
- FIG. 1 illustrates the format of a Network Address Translation (NAT) table, as used in the prior art
- Fig. 2 depicts the translation technique used by prior art NAT systems
- Fig. 3 depicts the logical components in a system according to a preferred embodiment of the present invention
- FIGs. 4 and 5 illustrate the format of a Foreign Address
- Fig. 6 provides a flowchart that depicts the logic with which packets transmitted by a client are delivered to a destination server, according to a preferred embodiment of the present invention
- Fig. 7 provides a flowchart that depicts the logic with which packets transmitted by a server are delivered to a client, according to the preferred embodiment of the present invention
- Fig. 8 illustrates the format of a connection table maintained by a routing coordinator, according to a preferred embodiment of the present invention
- Fig. 9 provides a flowchart that depicts the logic that handles establishment of a new connection, according to a preferred embodiment of the present invention.
- Fig. 10 provides a flowchart that depicts the logic invoked when a packet arrives for a device that may be roaming on an existing connection or that may be establishing a new connection, according to a preferred embodiment of the present invention
- Fig. 11 provides a flowchart depicting logic that may be used as an alternative to that of Fig. 10;
- Fig. 12 provides a flowchart that depicts the logic with which the changing location of a client device is dynamically learned, according to a preferred embodiment of the present invention
- Fig. 13 provides a flowchart that depicts the logic used to prevent packets destined for a client from being sent to a routing device with which the client is no longer associated, according to a preferred embodiment of the present invention
- Fig. 14 depicts a secure managed environment and a filtering technique that may be used to provide user authentication, according to a preferred embodiment of the present invention.
- Fig. 15 provides a flowchart that depicts the logic with which a secure link may be established, according to a preferred embodiment of the present invention.
- NAT Network Address Translation
- a device providing NAT maintains an address translation table, with one entry for each established connection, as shown in Fig. 1.
- a connection e.g. a TCP SYN message is sent
- the NAT host establishes an entry in the table corresponding to the client and server host addresses and ports. It also assigns a masquerading IP address and port, which are the "public" view of the client host for the lifespan of the connection. (Thus, for a particular client communicating with a first server, a first masquerading address and port may be used, while for this same client communicating with a different server, a different masquerading address and port may be used.)
- Fig. 2 The operation of the NAT is shown in Fig. 2. Any outbound packets sent 210 from a client 205 on a particular connection
- any inbound packets 230 from server 225 that are destined for the masquerade address and masquerade port are forwarded 240 by the NAT 215 as if they are destined to the actual client address and client port of client 205.
- Fig. 3 shows the logical components of the system described in the present invention: (1) devices 330, (2) Home Address Masquerader (HAM) 310, (3) Foreign Address Masquerader (FAM) 340, (4) roaming coordinator 320, and (5) application server 300.
- devices 330 used with the present invention are each equipped with a communications capability (preferably, a short-range wireless communications capability) .
- the communications capability may include technologies such as 802.11, Bluetooth, HomeRF, or similar technologies (which may be as yet undeveloped) .
- the network capability may be built into the device.
- a plug-in card such as a PCMCIA, or Personal Computer Memory Card International Association, card
- a dongle that is, a plug-in device that attaches to a USB, or Universal Serial Bus, port or to an RS232 port
- All packets sent to and from a client device 330 pass through a FAM 340.
- the device's outbound packets 350a are forwarded 350b by the FAM to the destination server 300.
- Inbound packets from server 300 are first sent 360a to the device's HAM 310, and are then forwarded 360b to the FAM 340, which sends them 360c to the device 330.
- a HAM 310 is statically assigned to each connection between a particular client device and server (although a device's HAM may be changed, as described in more detail below) .
- the HAM employs a HAM translation record (described below with reference to Fig. 5) .
- the HAM is implemented within a network access point, router, or bridge, although as described below, it may alternatively be implemented within a central server or other host.
- the FAM 340 is the first (non- bridging) network element that communicates with the device. Packets sent to and from the device must pass through the FAM.
- the FAM is implemented within a network access point or a LAN router. (In alternative embodiments, FAM capabilities may be put in bridges, provided that every client communicates with a FAM-enabled bridge.) The FAM changes as the device roams.
- the FAM employs a FAM translation record
- the initial FAM also performs the role of HAM for the device, as described below, although this is not required by the present invention.
- Application server 300 is the endpoint with which the device is communicating. This remains constant for the duration of the connection. (Alternatively, the application server itself may be a mobile device associated with its own FAM and HAM. This requires that static, publicly routable addresses are used as masquerading addresses for well-known services.)
- Roaming coordinator 320 enables HAM and FAM connectivity and discovery, as well as connection migration (i.e. handoff) .
- the roaming coordinator is implemented within a server computer that is network-connected to the various network access points in the system.
- the HAM and FAM enable location-independent packet routing using techniques that are based on the concepts of network address translation.
- the HAM and FAM maintain a HAM translation record and FAM translation record, respectively, for each connection that they are supporting.
- the HAM translation records are collectively stored in a HAM translation table, and the FAM translation records are collectively stored in a FAM translation table, as will now be described.
- FIG. 4 The format of a FAM translation record used in a preferred embodiment of the present invention is shown in Fig. 4.
- a FAM translation table allows the FAM to rewrite outbound packets on a connection from a client as if they originated from a masquerading address and masquerading port that are assigned by the HAM.
- the client (source) and server (destination) addresses and port numbers are used (preferably as an index) to retrieve a corresponding FAM translation record, and the masquerading address and port number stored therein are substituted for the client's actual address and port number (as described in more detail below with reference to Fig. 6) .
- the FAM translation record also allows the FAM to forward inbound packets (see 360c) to the client address and port by retrieving the stored record having the matching FAM address and port number (and, therefore, the masquerading address and port number) , and substituting the client as the destination in place of the FAM (as described in more detail below with reference to Fig. 7) .
- Figs. 4, 5, and 8 include an entry for a protocol identifier, this information is optional and is required only in a system supporting multiple protocols (such as both TCP and UDP) . It is also understood that the tables may contain more fields than are illustrated in Figs. 4, 5, and 8, without taking away from the inventive concepts herein.
- a HAM translation record used in a preferred embodiment of the present invention is shown in Fig. 5.
- These HAM translation records allow the HAM to forward inbound packets to the appropriate FAM that can, in turn, forward the packets to the client.
- the HAM Upon receiving an inbound packet (see 360a) from a server, the HAM uses the masquerading address and port number, and retrieves a HAM translation record whose server address and port number match those contained in the packet.
- the FAM address and port stored therein are then substituted for the masquerading address and port, and the packet is forwarded (see 360b) to this FAM.
- alternative embodiments of the HAM translation record optionally may include (1) the actual client address and client port associated with the connection, which are known to the HAM when it assigns a masquerading address and port for the connection, and/or (2) multiple FAM addresses and FAM ports within each entry.
- Multiple FAM addresses and ports may be present in two cases.
- a client when a client is roaming from one FAM to another, multiple FAMs may be temporarily associated with the connection.
- a client may be capable of communicating with multiple network access points or routers at once, even while stationary. It may therefore establish relationships with multiple access points, and send packets to and from the network through these access points. Therefore, multiple FAMs may exist for a particular connection, all of which are capable of forwarding a packet to the client.
- the HAM may select from the available FAMs using conflict resolution techniques (including selecting a FAM randomly) that do not form part of the present invention. (Preferably, the existence of multiple FAMs is also known from entries in the connection routing table, to be described below with reference to Fig. 8.)
- Fig. 6 depicts a flowchart showing how a packet is transmitted from a client to a server according to a preferred embodiment of the present invention.
- This processing corresponds to flows 350a and 350b of Fig. 3.
- the client transmits an IP packet whose source is the client's IP address and port and whose destination is the server's IP address and port.
- This packet may be a packet in an already-established connection, or a connect request packet (such as a TCP SYN, or the first packet in a UDP stream) .
- the packet is transmitted on a link that reaches the client's current FAM. (The FAM' s MAC address is placed in the packet as the destination MAC address.
- the FAM receives the packet and extracts the source address and port and the destination address and port from the packet.
- the FAM accesses the FAM translation table to retrieve a FAM translation record (see Fig. 4) whose client and server address and port match those of the extracted source and destination from Block 610.
- Block 630 it is determined whether a matching FAM translation record was found. If the answer to Block 630 is no, then at Block 670 the FAM contacts the routing coordinator to determine whether a connection between this client and this server already exists, and to establish a FAM translation record for it. (This process is detailed in Fig. 10.)
- decision Block 675 it is determined whether the FAM translation record was created. If the answer to decision Block 675 is no, then this packet represents a (potential) new connection, which is handled (Block 680) in accordance with Fig. 9 (wherein the FAM will attempt to also become the HAM) . The process continues at Block 690, where it is determined whether the FAM translation record was created.
- the packet is discarded, and the process terminates at Block 695.
- the check at decision Block 690 may be avoided, in which case the packet is always discarded, with the process directly terminating at Block 695. While this alternative discards the client's connect request packet, the protocol implementation in the client will typically detect this dropped packet and retransmit it. The retransmitted packet will be automatically processed in the proper manner by the logic as presented in the flowcharts.
- decision Block 630 If the answer to decision Block 630 is yes (i.e. the FAM already knows about this connection) , or if the answer to decision
- Block 675 is yes (i.e. this is a roaming device which is already known to the routing coordinator and which has just come into contact with this FAM) , or if the answer to decision Block 690 is yes (i.e. this is a new connection for this device), then a valid FAM translation record has been located (or generated) for this packet. Control passes to Block 640, where the masquerading address and port are extracted from the FAM translation record.
- these addresses are inserted (i.e. substituted) as the source address and port in the packet, and at Block 660, the rewritten packet is transmitted on the network.
- the process terminates at Block 695.
- Fig. 7 there is shown a flowchart depicting how packets transmitted by the server are delivered to the client according to a preferred embodiment of the present invention. This corresponds to flows 360a, 360b, and 360c of Fig. 3.
- the server transmits an IP packet whose source address and port identify the server and whose destination address and port are the masquerading address and port associated with the connection.
- the server uses the masquerading address and port because all packets generated by the client were rewritten by the FAM (see Fig. 6) to use this address and port, and the server therefore believes this to be the address and port of the client with which it is communicating.
- this packet is received by the HAM for the corresponding connection, and the HAM extracts the source (server) and destination (masquerading) addresses and ports from the packet.
- the source (server) and destination (masquerading) addresses and ports are received by the HAM for the corresponding connection.
- HAM is responsible for generating the masquerading address and port, so that packets sent to the masquerading address and port will arrive at the HAM through normal IP routing means.
- the HAM searches the HAM translation table to locate a HAM translation record (see Fig. 5) matching the server address and port and masquerading address and port extracted from the packet.
- decision Block 715 it is determined whether a HAM translation record was found. If the answer to decision Block 715 is no, then the HAM is not associated with a connection between the server and the client, so at Block 785, the packet is discarded. Processing then completes at Block 795.
- the HAM knows about this masquerading client, and at decision Block 720, it is determined whether the retrieved HAM translation record contains a non-nil FAM address and port.
- Block 725 the FAM address and port are obtained from the routing coordinator in accordance with the algorithm shown in Fig. 12. (The FAM address and port are initially provided by the FAM to the routing coordinator according to Fig. 10; see Blocks 1010-1050.)
- decision Block 730 it is determined whether a FAM address and port were obtained through this process. If the answer to decision Block 730 is no, then the client is not currently associated with any FAM. Control passes to Block 785, where the packet is discarded, and the process completes at Block 795.
- the HAM may choose not to perform a query to the routing coordinator, as depicted in Block 725, if it has performed a similar query on the same connection within a recent time period (where the time period may be a statically configured value or may be dynamically determined based on how long the connection has been without an associated FAM) ; in this case, the HAM proceeds to block 730 and behaves as if it did not receive a response from the routing coordinator.
- This alternative embodiment reduces the load on the HAM and the routing coordinator when frequent traffic is arriving on a connection for a client that is currently out-of-coverage.
- the HAM has located a valid HAM translation record and a non-nil FAM address and port.
- the processing of Fig. 12 revises the HAM translation record to remember this FAM information for subsequent use. See Block 1250.
- the HAM rewrites the destination address to be the FAM address and port found in the HAM translation record.
- the rewritten packet is transmitted on the network, now destined for the FAM.
- the FAM receives the packet and extracts the server (source) address and port and FAM
- FAM searches its FAM translation table to locate a FAM translation record matching the server address and port and FAM address and port that were extracted in Block 745.
- decision Block 755 it is determined whether a matching FAM translation record was found. If the answer to decision Block 755 is no, then the client is no longer associated with this FAM, and the packet is therefore discarded (Block 790), and the processing completes at Block 795.
- the server directs traffic to the masquerading address, and the HAM and FAM cooperate to route the packet to the client at its current location. If the client has moved such that it is now handled by a FAM different from that used previously for this connection, the new FAM is automatically and efficiently located by the HAM (in cooperation with the routing coordinator) . Moreover, by applying NAT techniques, the performance of the HAM and FAM is maximized, and additional packet loss, fragmentation, and error conditions introduced by prior art mobile host solutions are eliminated.
- a connection e.g. the first packet on a TCP connection or UDP stream is sent between a client and a server
- a setup process is performed whereby the HAM is assigned and an initial FAM is designated.
- a UDP "connection" is defined as a sequence of UDP packets transmitted between a client address and port and a server address and port; because UDP is connectionless, the connection is implicit - according to the preferred embodiment, it ends when no traffic has been sent on the connection within some timeout period.
- the connection may need to be associated with different FAMs located near the user. This roaming requires that the FAM be designated, that the FAM learns about the masquerading address and port for the connection (in order to provide NAT services as described above with reference to Fig. 7), that the FAM assign an address and port for the connection, and that the HAM be notified about the FAM's address and assigned port for the connection.
- connection table which holds one connection table record for each active TCP or UDP connection.
- Fig. 8 illustrates an example of the format of a connection table record, according to a preferred embodiment of the present invention.
- the connection table record holds the client and server address and port, the masquerading address and port, and the identity (e.g. network address) of the HAM.
- each connection table record includes zero or more FAM records, each containing the FAM identity (e.g. network address) and address and port assigned to the connection by the FAM.
- the connection table record may include multiple FAM records, one for each of the FAMs that the client is currently using to transmit packets on this connection.
- FIG. 9 provides a flowchart depicting how a connection is established when a packet is first transmitted by a client to a server, according to a preferred embodiment of the present invention.
- this processing occurs when the FAM has received a packet sent by a client, but the FAM cannot locate a FAM, translation record either in its own FAM translation table or by contacting the routing coordinator.
- Block 900 determines which host will serve as the HAM for this new connection. In the preferred embodiment, this role is played by the host that first receives and processes the outbound packet (i.e. the FAM).
- the HAM role be played by the routing coordinator or some other fixed host.
- another host may be selected, perhaps using dynamic factors (e.g. a host that is possibly located closer to the user's usual location, in the user's office, or within the user's own administrative domain) where the values of such dynamic factors are located using prior art techniques.
- dynamic factors e.g. a host that is possibly located closer to the user's usual location, in the user's office, or within the user's own administrative domain
- a MAC address may be associated with a user in a stored table, or a user may be identified from information transmitted during an authentication or link establishment process.
- the user's identification may then be used to consult a configuration or preferences table, which may contain entries that can be used in the dynamic selection process.)
- This decision to designate a HAM other than the FAM that first receives the connection might occur according to an administrative policy, for example to reduce CPU or network load on the access points. Alternatively, it may be expedient to move long-lived connections to a central server to mitigate the risk of state loss were an access point to fail or be switched off.
- This HAM assignment policy may be made based on the network port that the connection is using; for example, connections to the TELNET port (port 23) might be automatically passed to the routing coordinator.
- decision Block 910 it is determined whether the designated HAM host is the local host. If the answer to decision Block 910 is no, then at Block 980, the designated HAM host is notified of the client and server addresses and ports for the connection; that HAM host, upon receiving this notification, executes the algorithm of Fig. 9. After notifying the HAM host, processing terminates at Block 990. This re-directing HAM will now become a FAM for the client, and will subsequently learn the masquerading information for the client from the routing coordinator in the usual way (according to the algorithm of Fig. 10) .
- the local HAM host selects a masquerading address and port for the connection between the client and server.
- the masquerading address must be an address that will route packets to this local HAM host, according to existing IP routing techniques of the prior art.
- the port must not be shared by any other active connection. (In the preferred embodiment, the port is not reused by a new connection until some duration has elapsed since the termination of a prior connection. This eliminates the possibility that stale packets from the previous connection may accidentally get routed onto the new connection.)
- the masquerading address is the public address of the HAM itself, such that the uniqueness must be provided through selection of a unique port number.
- a HAM may have multiple public addresses, and may assign port numbers from all of them. This alternative approach provides additional scalability (because a larger range of address and port combinations is available for assignment, more connections can be supported) .
- use of multiple masquerading addresses enables assigning different processors to each address.
- the HAM notifies the routing coordinator about the new connection (providing the client address and port, the server address and port, masquerading address and port, and HAM identity) .
- the routing coordinator upon receiving this notification, establishes a connection table record for the connection (where this record initially has no FAM records within it) .
- the HAM creates a HAM translation record for the connection and inserts the record into the local HAM translation table. (As noted earlier, the HAM translation table records of the preferred embodiment do not include the originating client's address and port, although in alternative embodiments this information may also be stored. )
- the FAM address and port are set to nil in this newly-created record. Control then passes to Block 950, where the local HAM host establishes itself as a FAM for the connection (according to the logic of Fig. 10) . The process then terminates at Block 990.
- FIG. 10 there is shown a flowchart depicting a preferred embodiment of the steps taken when an access point (or router or bridge) first receives packets from a client on a connection for which no FAM translation record exists.
- This situation may arise, for example, when the client is roaming and is transmitting packets on an already-established connection that used a different FAM.
- the FAM must receive information about the masquerading address and port in order to create a FAM translation record and then use it to forward the packet. Because the connection is already established, a HAM has already been assigned, along with a masquerading address and port. This situation also arises for a new connection (in which case
- Fig. 10 is invoked from Fig. 9) , in order to set the initial FAM.
- the FAM allocates a FAM address and port number for this connection between the client and server.
- the allocated address must be network routable to the FAM host from any potential HAM.
- the FAM address and port combination must not be already allocated to some other connection for which the FAM host is serving as FAM or HAM.
- the FAM address is the address of the FAM itself, such that the uniqueness must be provided through selection of a unique port number.
- a FAM may have multiple addresses, and may assign port numbers from all of them. This alternative approach provides additional scalability (because a larger range of address and port combinations is available for assignment, more connections can be supported) .
- use of multiple FAM addresses enables assigning different processors to each address.
- the generated FAM address and port combination are communicated to the routing coordinator (and subsequently to the HAM - see Fig. 7) . Because the FAM address and port are unique to the connection, the FAM can use that combination to uniquely identify the correct FAM translation record to be applied to packets destined for the client - and hence which client address and port to use. In the preferred embodiment, both the server address and port, and the FAM address and port, are checked when the FAM accesses its FAM translation records, to ensure that spurious packets are not forwarded to the client (although the client would typically simply discard such packets, if received) . However, if it is known that the FAM address is constant, an alternative embodiment may omit storing and/or comparing the FAM address within its own FAM translation table.
- the FAM transmits a request to the routing coordinator to become the current FAM.
- This request includes the client address and port, the server address and port, the FAM identity, and the FAM address and port. (The client address and port and server address and port were extracted by the FAM in Block 610 of Fig. 6 from the packet transmitted by the client.)
- the routing coordinator receives the FAM request and extracts its parameters. The routing coordinator then searches (Block 1030) the connection table for a connection table record whose client address and port and server address and port match those provided by the FAM for this connection.
- decision Block 1040 it is determined whether a matching connection table record was found.
- the routing coordinator adds a new FAM record to the connection table record (Block 1050) .
- This FAM record includes the FAM identity and FAM address and port provided in the FAM request sent at Block 1010. If one or more FAM records are already present in the connection table record, the routing coordinator may insert this new FAM record in an order that is best suited to a particular system in which the present invention is implemented.
- new FAM records may be entered in FIFO (First-In, First-Out) order, or in an order based on a policy such as a prediction of which FAM the client is most likely to use in the immediate future (where this information may be determined using historical analysis techniques that do not form part of the present invention) .
- FIFO First-In, First-Out
- a policy such as a prediction of which FAM the client is most likely to use in the immediate future (where this information may be determined using historical analysis techniques that do not form part of the present invention) .
- the Routing coordinator sends a reply to the FAM and provides the HAM identity (e.g. its network address) and the masquerading address and port associated with the connection.
- the FAM receives the routing coordinator response and creates a FAM translation record containing the information provided by the routing coordinator. The process then terminates at Block 1090.
- the HAM will dynamically learn of this new FAM according to the logic of Fig. 7, upon receiving a packet destined for the client's masquerading address and port, and will automatically forward the packet to the appropriate FAM.
- Figs. 9 and 10 depict particular embodiments of the HAM assignment and FAM translation record creation processes, respectively, it is understood that alternative embodiments may implement these processes differently without deviating from the inventive concepts disclosed herein.
- the process of Fig. 10 could be re-implemented as a two-phase request between the FAM and the routing coordinator.
- the FAM queries the routing coordinator to determine whether the connection exists (i.e. whether a HAM has already informed the routing coordinator of the connection) , and in the second request, the FAM provides a FAM address and port to assign to the connection. In this way, the FAM does not need to allocate a FAM address and port until it is sure that the connection table record exists (thereby eliminating the deallocation step of Block 1080) .
- the process of Fig. 10 is first executed by a FAM to determine whether the connection already exists (and, if so, to establish a FAM translation record for it); if the connection does not already exist (i.e. the answer to the decision in Block 675 is no), the process of Fig. 9 is executed to establish a HAM (and create a new connection table record) .
- An alternative embodiment may optimize the sequence when the process of Fig. 10 is executed immediately prior to the process of Fig. 9. For example, once it is determined that a connection table record does not exist for the FAM request (i.e.
- the routing coordinator can immediately begin processing the FAM request as a HAM establishment request; in this case, the requesting FAM becomes designated as the HAM for the connection.
- This alternative process is illustrated in Fig. 11.
- the sequence of Blocks 1100, 1110, 1120, 1130, 1140, 1150, 1160, 1165, and 1190 match the "normal" processing path of Fig. 10.
- decision Block 1140 if the routing coordinator determines that no connection table record exists for the connection, control passes to Block 1170. The routing coordinator determines that because this is a new connection, the host that requested to become a FAM should, in fact, be designated as the HAM for this connection.
- the provided FAM address and port become the masquerading address and port for the connection, and a connection table record is created.
- the requesting FAM is notified that it has become the designated HAM for the connection.
- the requesting FAM (now the HAM) creates a HAM translation record for the connection.
- the process then returns from Block 1185 to Block 1100 in order to establish the local FAM translation record for the newly- registered connection.
- the process of Fig. 10 might be re-implemented as a direct communication between the FAM and the HAM. For this to occur, the routing coordinator must broadcast the identity of the HAM whenever a new connection table record is created (according to the process of Fig. 9) . This solution reduces the processing load on the routing coordinator at the expense of additional network bandwidth consumption and additional load on the HAM.
- Fig. 12 there is shown a flowchart depicting how the HAM retrieves information about the current FAM address and port that are associated with a connection.
- the HAM has received a packet from a server, and needs to know which FAM the packet should be forwarded to. (This process is invoked from Block 725 of Fig. 7, when the HAM has a FAM translation record matching the server address and port number and the masquerading address and port number, but the FAM address and port within that record are set to nil values.)
- the HAM issues a request to the routing coordinator. This request includes the masquerading address and port.
- the routing coordinator receives the HAM request and extracts the parameters from the request.
- the routing coordinator searches (Block 1220) the connection table for a connection table record whose masquerading address and port (and server address and port and client address and port, if this information is provided) match those provided by the HAM.
- the routing coordinator uses the masquerading address and port as a key to index its connection table, although the server and client information may also be used.
- the routing coordinator Upon locating a matching record when only the masquerading information is used, the routing coordinator preferably verifies the server address and port against the extracted values. A mismatch indicates an error condition, such as a significantly-delayed packet, a replay attack, or a fraudulent packet.)
- the HAM may optionally perform various operations to handle this error. For example, it may delete the HAM translation record corresponding to the connection and re-establish itself as the HAM in accordance with the procedure in Fig. 9.
- the routing coordinator if the answer to decision Block 1230 is yes (i.e. the routing coordinator knows about this connection), then at Block 1240, the routing coordinator generates a response message to the HAM.
- This response message contains a list of the FAM records contained within the connection table record.
- the HAM receives the response message and updates the HAM translation record to reflect the received FAM address and port (if any) . The process then terminates at Block 1295.
- the routing coordinator finds more than one FAM record during the processing of Block 1220, all such entries are communicated to the HAM at Block 1240.
- the HAM may then use one or all of these (e.g. based on an implementation-specific policy) to update its HAM translation record.
- the routing coordinator may select some subset of the located FAM records, using a selection algorithm such as an implementation- specific policy, and transmit this subset at Block 1240.
- the routing coordinator is able to selectively control which FAM(s) are exposed to the HAM.
- the HAM learns about FAM address and port assignments on an "as-needed", incremental basis (i.e. by invoking the technique of Fig. 12 from Block 720 of Fig. 7) .
- the routing coordinator may initiate (or "push") the transmission of the FAM information directly to the appropriate HAM. For example, upon the completion of the process shown in Fig. 10 (wherein a new FAM record is added to the connection table record at Block 1050, the connection table record having been initially created upon a notification from the HAM at Block 930 of Fig. 9) , the routing coordinator might immediately notify the HAM about the new FAM.
- the routing coordinator may buffer FAM updates and push multiple FAM updates in a single notification; this notification may be unicast, multicast, or broadcast.
- the routing coordinator may choose to provide, in the response, information about other relevant FAM updates that have occurred to other connections that the HAM is managing.
- a flowchart that depicts a preferred embodiment of the steps taken when a client terminates its communication with the FAM.
- This connection termination may be explicit (for example, caused by some form of "termination”, “shutdown”, or “disconnect” message transmitted at the communication link level) or implicit (for example, caused by a timeout when no communication has occurred over the link for some period of time) .
- the FAM transmits a notification to the routing coordinator.
- This message contains the client address and FAM identity.
- the routing coordinator receives the notification and extracts the contained parameters.
- decision Block 1320 it is determined whether there are any connection table records whose client address matches the client address given in the FAM notification and which are associated with a FAM record whose FAM identifier matches the FAM identifier given in the FAM notification. If the answer to decision Block 1320 is no, then the routing coordinator will not use this FAM for requests to locate this client, and processing terminates at Block 1390. Continuing with Fig. 13, if the answer to decision Block 1320 is yes, then at Block 1330, the routing coordinator deletes the FAM record (whose FAM identifier matches that in the FAM notification) from the connection table record.
- the routing coordinator preferably transmits a notification to the HAM associated with the connection table record.
- This notification includes the masquerading address and port and FAM address and port.
- this notification may use the server address and port and the client address and port instead of, or in addition to, the masquerading information.
- the HAM receives this notification and extracts the parameters.
- the HAM retrieves (Block 1360) a HAM translation record corresponding to the masquerading address and port (and the server address and port and the client address and port, if provided) provided in the notification.
- decision Block 1370 it is determined whether the HAM found a matching HAM translation record that contains the provided FAM address and port.
- Block 1380 the provided FAM address and port are removed from the retrieved HAM translation record (that is, the fields are set to nil) . Control then returns to decision Block 1320. If the answer to decision Block 1370 is no, then no updates are needed to the HAM translation table, and control returns to Block 1320. (It is understood that in alternative embodiments, the HAM might take additional actions if no HAM translation records are found for the designated connection; for example, the HAM might request that the routing coordinator delete the corresponding connection table record from its connection table. Implementation of such optimizations will be obvious to one of ordinary skill in the art. )
- the routing coordinator ensures that no HAMs will continue to forward packets to that FAM on behalf of any open client connections .
- a HAM Once a HAM has been assigned to a connection, that HAM continues to route inbound packets for that connection, regardless of which FAM the client is currently using to send outbound packets and to receive inbound packets.
- a different host such as to a different access point or to the routing coordinator
- the HAM fails or is removed, then another host must take responsibility for the connections previously being handled by the HAM; the transfer may also be appropriate when the nature of the connection changes so that it requires additional CPU or network bandwidth resources that can only be provided by an alternative HAM.
- the new HAM performs the following steps for each connection for which it is assuming the HAM responsibility.
- the new HAM "takes over" the masquerading IP address, if it has not already done so.
- This IP address takeover ensures that packets transmitted to the masquerading IP address will be routed to the new HAM host.
- the IP address takeover process is well established in the prior art. (If the new HAM is on the same LAN as the old HAM, it simply requires transmission of a new ARP update so that the IP address is associated with the new HAM' s LAN address; if the new HAM is on a different LAN, then routing tables must be updated. )
- the new HAM translation record must include FAM information, if a FAM record is associated with the connection table record. (The algorithms of Figs. 9 and 10 may optionally be used to obtain the required information from the routing coordinator.)
- FIG. 14 depicts a managed network environment that implements the present invention.
- a client authentication module 1405 is integrated into the client 1400, and a server authentication module 1425 is integrated into the access point 1420.
- the client authentication module communicates 1415 with the server authentication module to provide the user's authentication credentials (e.g. user name and password).
- the server authentication module and the client authentication module negotiate a session key to enable link-level encryption.
- this key is provided to the client by the server authentication module or alternatively, by the authentication server; however, in alternative embodiments, the access point may deliver a master key (e.g. a WEP key) to the client, and the client and access point may subsequently negotiate a session key using the master key in the standard fashion.
- the client is authenticated according to a user name and password, and this authentication enables provision of link-level encryption that takes advantage of the encryption capabilities embedded in the client and access point hardware 1410, 1430.
- the server authentication module provides 1455 the client's MAC address, session key, and user name to the routing coordinator 1460 over a secure channel, which stores them in a lookup table.
- This lookup table is used to provide the session key to any new access point with whom the client device begins communication, and it is used to enable the filtering module 1435 to identify the user for a particular client device and, subsequently, to determine the appropriate filtering policies to apply for that user.
- a filtering module 1435 is included in the access point 1420 so that it receives all inbound and outbound traffic to and from the client 1400.
- a packet with a heretofore unseen MAC address arrives at this filtering module, it issues a request 1465 to the routing coordinator to determine the user's identity and obtain a list of filtering policies for that user. These policies are then applied to appropriately block inbound and outbound traffic.
- the present invention enables simply and efficiently enforcing access control and packet filtering policies.
- a flowchart depicting the steps taken to establish a secure, managed link in accordance with a preferred embodiment of the present invention.
- Block 1500 it is determined that a client does not have a valid link-level key for communication with a particular access point. This determination may occur because the client does not have a key at present, or the access point may signal to the client that the current key is invalid. Before rejecting the key, the access point may optionally communicate with the routing coordinator to determine the currently valid session key for the client MAC address.
- the client authentication module is invoked to provide user credentials to the server authentication module.
- the server authentication module receives these credentials (Block 1520) and provides them to the authentication server.
- the server authentication module receives a response from the authentication server.
- decision Block 1540 it is determined whether the authentication server response was positive.
- the server authentication module rejects the authentication and the process completes at Block 1595 without an established link key. If the answer to decision Block 1540. is yes, then at Block 1550, the server authentication module accepts the authentication request from the client and transmits a positive response to the client authentication module. At Block 1560, a session key is negotiated between the client authentication module and the server authentication module (assuming a negotiation process for a key value is being performed) . The process then splits into two parallel paths, one corresponding to activity at the client and the other corresponding to activity at the access point.
- the client authentication module provides the negotiated session key to the client encryption hardware, which, in turn, uses the key to encrypt and decrypt packets sent through the access point.
- the client-side process then terminates at Block 1595.
- the server authentication module provides the negotiated session key to the server encryption hardware, which, in turn uses the key to encrypt and decrypt packets send to the client.
- the server authentication module provides the routing coordinator with the client MAC address, session key, and user name to be stored in the lookup table previously described with reference to flow 1455 of Fig. 14. The process then terminates at Block 1595.
- the system may support multiple types of connections, such as those over TCP and (as described earlier) UDP.
- many of the transmissions described herein must also include a protocol identifier, and the table retrievals must take account for the protocol ID in addition to the addresses and ports.
- the manner in which the flowcharts may be altered to provide an implementation of this type of multi-protocol support will be obvious to those skilled in the art.
- implementations may choose to hash or otherwise encode the address and port combinations.
- This encoding reduces the memory size of the information, thereby reducing the size of the various tables and improving the performance of the retrieval processes.
- Such methods for hashing or encoding information are well known in the prior art, and their use within the context of the present invention will be obvious to one of ordinary skill in the art.
- the present invention provides a number of advantages over prior art host mobility solutions.
- no modification to the operating system, the networking software, nor the applications on a client device or server is required in order to provide location-independent packet routing and secure access.
- Packet routing for a roaming device is provided very efficiently through use of network address translation techniques, enabling client devices to use a single device address regardless of their current location. Indirect, or triangular, routing is avoided for short-lived and/or non-mobile connections. While some IP header information is rewritten in packets being routed, recalculation of IP checksums can be done easily and efficiently (e.g. by performing only a bit-wise comparison of the changed fields, as is known in the art) .
- Load balancing may be facilitated, due to performing HAM assignment on a per-connection basis rather than globally as in the prior art.
- a HAM may be dynamically re-assigned, if desired, to further optimize performance. Failures of routing components are automatically detected and handled. Connection handoff is transparent to clients and servers. Both distributed and centralized implementations may be provided (by placing HAM functionality in access points or in a routing coordinator, respectively) .
- User identity is explicitly determined, providing the ability to filter packets sent to and from the user. This user authentication preserves the use of existing encryption hardware on the client and access point to establish secure links.
- the related invention defines a system comprising a collection of access points, wherein an IP address is assigned to a device via those access points and a core server; a technique for ensuring that the IP address stays constant, regardless of which access point a device is using at a point in time; a technique for keeping track of which access point a device is currently using; and a technique for exposing user location information to applications.
- An implementation of the present invention may optionally be combined with an implementation of the related invention, wherein the routing coordinator defined herein and the core server of the related invention are implemented as a single entity which assigns dynamic addresses, handles user location tracking, and so forth (in its core role) and routes packets to those devices (in its routing coordinator role) .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Small-Scale Networks (AREA)
Abstract
Description
Claims
Priority Applications (7)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CA2419865A CA2419865C (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| EP01966271A EP1346540A2 (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| AU2001286799A AU2001286799B2 (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| JP2002526093A JP4727126B2 (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| AU8679901A AU8679901A (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| IL15471901A IL154719A0 (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
| IL154719A IL154719A (en) | 2000-09-08 | 2003-03-03 | Providing secure network access for short range wireless computing devices |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US09/657,745 | 2000-09-08 | ||
| US09/657,745 US6691227B1 (en) | 2000-09-08 | 2000-09-08 | Location-independent packet routing and secure access in a short-range wireless networking environment |
| US09/866,297 US6851050B2 (en) | 2000-09-08 | 2001-05-25 | Providing secure network access for short-range wireless computing devices |
| US09/866,297 | 2001-05-25 |
Publications (4)
| Publication Number | Publication Date |
|---|---|
| WO2002021803A2 true WO2002021803A2 (en) | 2002-03-14 |
| WO2002021803A3 WO2002021803A3 (en) | 2002-06-13 |
| WO2002021803A9 WO2002021803A9 (en) | 2002-09-06 |
| WO2002021803A8 WO2002021803A8 (en) | 2003-11-06 |
Family
ID=27097482
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2001/026659 Ceased WO2002021803A2 (en) | 2000-09-08 | 2001-08-27 | Providing secure network access for short-range wireless computing devices |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1346540A2 (en) |
| CN (1) | CN100469073C (en) |
| AU (2) | AU2001286799B2 (en) |
| CA (1) | CA2419865C (en) |
| IL (1) | IL154719A0 (en) |
| WO (1) | WO2002021803A2 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8474006B2 (en) | 2002-12-30 | 2013-06-25 | International Business Machines Corporation | Retrospective policy safety net |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6421714B1 (en) * | 1997-10-14 | 2002-07-16 | Lucent Technologies | Efficient mobility management scheme for a wireless internet access system |
| FI980291A7 (en) * | 1998-02-09 | 1999-08-10 | Nokia Corp | Mobile internet access |
-
2001
- 2001-08-27 CN CNB018152953A patent/CN100469073C/en not_active Expired - Fee Related
- 2001-08-27 CA CA2419865A patent/CA2419865C/en not_active Expired - Fee Related
- 2001-08-27 AU AU2001286799A patent/AU2001286799B2/en not_active Ceased
- 2001-08-27 AU AU8679901A patent/AU8679901A/en active Pending
- 2001-08-27 WO PCT/US2001/026659 patent/WO2002021803A2/en not_active Ceased
- 2001-08-27 IL IL15471901A patent/IL154719A0/en active IP Right Grant
- 2001-08-27 EP EP01966271A patent/EP1346540A2/en not_active Ceased
Non-Patent Citations (4)
| Title |
|---|
| AZIZ A ET AL: "PRIVACY AND AUTHENTICATION FOR WIRELESS LOCAL AREA NETWORKS A SECURE COMMUNICATIONS PROTOCOL TO PREVENT UNAUTHORIZED ACCESS" IEEE PERSONAL COMMUNICATIONS, IEEE COMMUNICATIONS SOCIETY, US, vol. 1, no. 1, 1994, pages 25-31, XP000460718 ISSN: 1070-9916 * |
| BHARGHAVAN V: "Secure Wireless LANs" 2ND ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY, XX, XX, 2 November 1994 (1994-11-02), pages 10-17, XP002155490 * |
| HAARTSEN J ET AL: "BLUETOOTH: VISION, GOALS, AND ARCHITECTURE" MOBILE COMPUTING AND COMMUNICATIONS REVIEW, ACM, NEW YORK, NY, US, vol. 2, no. 4, 1 October 1998 (1998-10-01), pages 38-45, XP000784002 * |
| HUNG-YU LIN ET AL: "Authentication in wireless communications" GLOBAL TELECOMMUNICATIONS CONFERENCE, 1993, INCLUDING A COMMUNICATIONS THEORY MINI-CONFERENCE. TECHNICAL PROGRAM CONFERENCE RECORD, IEEE IN HOUSTON. GLOBECOM '93., IEEE HOUSTON, TX, USA 29 NOV.-2 DEC. 1993, NEW YORK, NY, USA,IEEE, 29 November 1993 (1993-11-29), pages 550-554, XP010109722 ISBN: 0-7803-0917-0 * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8474006B2 (en) | 2002-12-30 | 2013-06-25 | International Business Machines Corporation | Retrospective policy safety net |
| US8904476B2 (en) | 2002-12-30 | 2014-12-02 | International Business Machines Corporation | Retrospective policy safety net |
| US9148433B2 (en) | 2002-12-30 | 2015-09-29 | International Business Machines Corporation | Retrospective policy safety net |
| US9503458B2 (en) | 2002-12-30 | 2016-11-22 | International Business Machines Corporation | Retrospective policy safety net |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2002021803A8 (en) | 2003-11-06 |
| AU8679901A (en) | 2002-03-22 |
| WO2002021803A9 (en) | 2002-09-06 |
| WO2002021803A3 (en) | 2002-06-13 |
| IL154719A0 (en) | 2003-10-31 |
| CA2419865C (en) | 2012-10-02 |
| AU2001286799B2 (en) | 2005-07-07 |
| CA2419865A1 (en) | 2002-03-14 |
| CN100469073C (en) | 2009-03-11 |
| EP1346540A2 (en) | 2003-09-24 |
| CN1489855A (en) | 2004-04-14 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6851050B2 (en) | Providing secure network access for short-range wireless computing devices | |
| AU2001288394A1 (en) | Location-independent packet routing and secure access in a short-range wireless networking environment | |
| JP4579934B2 (en) | Addressing method and apparatus for establishing a Host Identity Protocol (HIP) connection between a legacy node and a HIP node | |
| US7028183B2 (en) | Enabling secure communication in a clustered or distributed architecture | |
| CN1817013B (en) | Terminal and communication system | |
| US20070280207A1 (en) | Layer 2 Switch Network System | |
| US7779152B2 (en) | Establishing communication tunnels | |
| US20100135301A1 (en) | Mobility in ip without mobile ip | |
| WO2011131097A1 (en) | Data message processing method, system and access service node | |
| JP4305087B2 (en) | Communication network system and security automatic setting method thereof | |
| JP2008283495A (en) | Packet transfer system and packet transfer method | |
| CA2419865C (en) | Providing secure network access for short-range wireless computing devices | |
| AU2001286799A1 (en) | Providing secure network access for short-range wireless computing devices | |
| JP2004266516A (en) | Network management server, communication terminal, edge switch device, communication program, and network system | |
| Bussooa et al. | Performance Evaluation of the Update Messages of Locator Identifier Split Protocols Using an IP Paging Mechanism at the End Networks |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ CZ DE DE DK DK DM DZ EC EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| AK | Designated states |
Kind code of ref document: A3 Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ CZ DE DE DK DK DM DZ EC EE EE ES FI FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW |
|
| AL | Designated countries for regional patents |
Kind code of ref document: A3 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
| COP | Corrected version of pamphlet |
Free format text: PAGES 37-40, CLAIMS, REPLACED BY NEW PAGES 37-40; AFTER RECTIFICATION OF OBVIOUS ERRORS AS AUTHORIZED BY THE INTERNATIONAL SEARCHING AUTHORITY |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| WWE | Wipo information: entry into national phase |
Ref document number: 2419865 Country of ref document: CA |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2001286799 Country of ref document: AU |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2001966271 Country of ref document: EP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 154719 Country of ref document: IL |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 018152953 Country of ref document: CN Ref document number: 2002526093 Country of ref document: JP |
|
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2001966271 Country of ref document: EP |
|
| CFP | Corrected version of a pamphlet front page | ||
| CR1 | Correction of entry in section i |
Free format text: IN PCT GAZETTE 11/2002 DUE TO A TECHNICAL PROBLEM AT THE TIME OF INTERNATIONAL PUBLICATION, SOME INFORMATION WAS MISSING (81). THE MISSING INFORMATION NOW APPEARS IN THE CORRECTED VERSION. Free format text: IN PCT GAZETTE 11/2002 DUE TO A TECHNICAL PROBLEM AT THE TIME OF INTERNATIONAL PUBLICATION, SOME INFORMATION WAS MISSING (81). THE MISSING INFORMATION NOW APPEARS IN THE CORRECTED VERSION. |
|
| WWG | Wipo information: grant in national office |
Ref document number: 2001286799 Country of ref document: AU |