# Patent

## Title
Prefix reachability detection in a communication

## Abstract

There is disclosed a method, and a communication system, and a communication node for implementing the claimed method, for attempting to enhance legitimacy assessment and thwart a man-in-the middle or similar false-location attack by evaluating the topology of a communication-session requesting node relative to the proposed communication path through a network between the requesting node and the requested node. Upon receiving the request, a PRD (Prefix Reachability Detection) protocol is initiated, either after or during a secure key exchange, if any, which if performed preferably includes an ART (address reachability text). The PRD is executed by sending a message to the communication node challenging the location-authenticity of the requesting device. The communication node, which may be for example an access router through which the requesting node accesses the network, determines if the requesting node is positioned behind the communication node topologically, and reports the result to the requested node. The requested node may then make a decision on whether to permit the communication. If so, the PRD may be repeated one or more times while the communication session is in progress.

## Background
CROSS REFERENCE TO RELATED APPLICATION AND CLAIM OF PRIORITY
This application is related to, and claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 60/895,178, which was filed on 16 Mar. 2007, and which is incorporated herein by reference.


TECHNICAL FIELD
The present invention is directed, in general, to security in data communications and, more specifically, to a messaging scheme for verifying aspects of the relevant network topology to provide a higher degree of confidence that no false-location (for example man-in-the middle) attack on a communication session is being attempted.
BACKGROUND
Data communications, and other types of communications as well, are conducted over various types of networks that allow one party to transmit, for example, data, voice, and streaming multimedia presentations to one or more other parties during a communication session. A standard telephone network, for example, is a switched network where a communication circuit between the two (or more) parties is established by a series of links that are connected by switching mechanisms. In this type of network, it is possible to monitor the status of each switch and link in the communication circuit to know which are involved in the communication session in question. Absent some problem, the circuit is usually created for the duration of the sessions, and the various links and switches involved are released when the session is terminated.
In another type of network, which operates somewhat differently, a packet-switching technology may be used. FIG. 1 is a simplified block diagram illustrating a communication system 10 that includes a packet-switching network 20. Communication system 10 includes a first node 12 and a second node 14. There are usually a great many such nodes, of course, but these will serve for the purpose of illustration. These nodes may be, for example, personal computers, mobile telephones, or similar devices that may communicate with each other via the packet-switching network 20. Lines 13 and 15 represent the communication channel or channels that are used by the nodes to send and receive information. These channels may be, for example, telephone lines, dedicated cables, or radio channels. The packet-switching network 20 may be the Internet or a similar network. The network is frequently represented as a cloud in illustrations because it is actually composed of a myriad of switches, routers, other nodes that form the vast network though which packets may be routed.
According to this networking scheme, information is represented in digital form and separated into many small information-bearing units called packets. Each packet bears the address of its destination. Packets are sent through the network of components, toward their final destination, but not every packet will take the same route. They do not necessarily arrive in order, and therefore also bear identification and sequencing information so that the transmitted data may be reassembled in its original form. Lookup tables are distributed so that each responsible node is able to route received packets toward their destination.
A set of rules or standards that exist for packet-switching networks is usually referred to as a protocol; the Internet uses one referred to simply as the Internet protocol (IP- or IPv6 to indicate, for example, version 6 of the Internet protocol). The network protocol governs how, among many things, packets are assembled and routed, how errors are corrected, and how the individual network components should communicate with each other.
Some provisions are included for confidential communications, for example through the use of encryption keys. When two (or more) nodes, such as node 12 and node 14 shown in FIG. 1, establish a communication session, they are able to exchange keys in a sequence of messages and generate a shared secret encryption key (KS). Any node that does not possess KS will not be able to decrypt the transmissions between the end nodes 12 and 14. One protocol that governs such a procedure is referred to as IKEv2 (Internet key exchange version 2), although others have been promulgated as well. An ART (address reachability test) is often performed in conjunction with the key exchange so that each end node gains some assurance about the topological location of the other end node.
Although use of a shared secret key provides a good deal of transmission security, it leaves the communication session vulnerable to some false-location attacks (for example the so-called man-in-the-middle attack). FIG. 2 is a simplified block diagram illustrating the problem introduced by such an attack. In this example, end node 24, which is perhaps a server of some kind, receives a notification that a client wishes to establish a communication session. The client purports to be end node 22, which accesses the communication network via access router 23. A key exchange will ensue so that encrypted information may be transmitted back and forth between the two end nodes. What end node (server) 24 has no way of knowing, however, is whether it is actually conducting the key exchange with a node 26 that has interposed itself along the path between end node 24 and access router 23. If node 26 involves itself in the key exchange process, it will be able to intercept and decrypt communications, selectively passing on whatever information it wants to end nodes 22 and 24, who will be unaware that this is occurring. Neither the key exchange itself nor the ART will typically detect this type of attack.
SUMMARY
To address the above-discussed deficiencies of the prior art, it is a primary object of the present invention to provide a method and system for providing a higher degree of confidence to end nodes in a communication system, or to the access devices that couple them to the network, that a false-location attack is not being attempted prior to or during a communication session.
There is therefore a need in the art for a method for enhanced network security that addresses fraud, such as the so-called man-in-the-middle attack, and preferably is capable of authenticating a host, and verifying its presence on a path between a verifier node and a verified node, especially one that can verify the host's presence on a specific link. The present invention provides just such a solution.
In one aspect, the present invention is a method for establishing a communication session between two endpoints in a communication system. The endpoints of the system are operable to selectively communicate with each other via a packet-switching network during a communication session. Before the communication session is established, however, a PRD (Prefix Reachability Detection) protocol is initiated. The PRD is preferably initiated upon detecting a request to open the session. The request may be detected at a first endpoint, or at an access device through which the first endpoint accesses the network. Once the PRD protocol has been initiated, the first access device sends a message to a second access point, which is purportedly providing network access to a second endpoint that is requesting the communication session. The message challenges the location of the requesting second endpoint. The second access device then determines whether the second endpoint is topologically located behind the second access device, and notifies the first access device of the results of the determination. In a preferred embodiment, either the endpoints themselves, or their respective access devices, initially perform a key exchange that includes an ART (address reachability test). The PRD may be performed after the key exchange, or more or less in parallel with it. Where a shared secret key KS has been generated, it, or the output of a hash algorithm using KS, may be used for proving the authenticity of some or all of the messages exchanged pursuant to the PRD protocol.
In another aspect, the present invention is a communication system having a first end node and a second end node. The nodes are operable to communicate with each other via a network, for example a packet switching network such as the Internet. The first end node accesses the network through a first access router and the second end node accesses the network through a second access router. According to this aspect of the present invention, the first end node is arranged to receive a request to establish a communication session with the second end node and to initiate a PRD to confirm the location of the second end node. The first access router is arranged to, upon initiation of the PRD by the first end node, send a location challenge to the second access router, to receive a response indicative of the location of the second end node, and to notify the first end node according to the indication in the response. Also according to this aspect, the second access router is arranged to receive the location challenge from the first access router, to determine the topological location of the second end node relative to the communication path between the first access router and the second access router, and to send a response to the first access router indicative of the legitimacy of the second end node.
The foregoing has outlined rather broadly the features and technical advantages of the present invention so that those skilled in the art may better understand the detailed description of the invention that follows. Additional features and advantages of the invention will be described hereinafter that form the subject of the claims of the invention. Those skilled in the art should appreciate that they may readily use the conception and the specific embodiment disclosed as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the invention in its broadest form.
Before undertaking the DETAILED DESCRIPTION, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document: the terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation; the term “or,” is inclusive, meaning and/or; the phrases “associated with” and “associated therewith,” as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, or the like; and the term “controller” means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely. In particular, a controller may comprise one or more data processors, and associated input/output devices and memory, that execute one or more application programs and/or an operating system program. Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.



BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like numbers designate like objects, and in which:
FIG. 1 is a simplified block diagram illustrating a communication system that includes a packet-switching network;
FIG. 2 is a simplified block diagram illustrating the problem introduced by a man-in-the-middle false-location attack;
FIG. 3 is a simplified block diagram illustrating a communication system arranged for performing a PRD (Prefix Reachability Detection) protocol according to an embodiment of the present invention;
FIG. 4 is a flow diagram illustrating a method for evaluating communication path topology according to an embodiment of the present invention;
FIG. 5 is a flow diagram illustrating a method for evaluating communication path topology according to another embodiment of the present invention;
FIG. 6 is a flow diagram illustrating a method for evaluating communication path topology according to another embodiment of the present invention; and
FIG. 7 is a message flow diagram illustrating a sequence of messages that may be used in a method for evaluating communication path topology according to an embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
FIGS. 3 through 6, discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the present invention may be implemented in any suitably arranged communication system.
The present invention is directed to a method, and to a system for implementing the method, of evaluating the topology of a proposed communication path between a node requesting a communication session and the node being requested. The topology is evaluated in an attempt to confirm, or at least to give greater assurance, that the requesting node is legitimately the entity it purports to be, and not an interloping host attempting a false-location type of attack. Depending on the results of the evaluation, the communication session may (or may not) be allowed to continue.
FIG. 3 is a simplified block diagram illustrating a communication system 100 arranged for performing the PRD (Prefix Reachability Detection) protocol according to an embodiment of the present invention. The PRD protocol, otherwise referred to as “location authentication”, may be performed when a communication session is established, and may also be repeated one or more times once the communication session is underway. In this embodiment, first endpoint 120 and second endpoint (“endpoint” is herein used interchangeably with “end node”) are arranged to communicate with each other via the packet-switching network 200. Packet-switching network 200 is, in this embodiment, the Internet, and communication sessions are established and held under IPv6 (Internet protocol, version 6). In other embodiments the packet-switching network may be any network that uses similar packet-routing techniques to convey information.
In the embodiment of FIG. 3, first endpoint 120 and second endpoint 140 communicate with the packet switching network 200 through access router 110 and access router 130, respectively. The endpoints could be respectively a server and a client, or they could be peer devices; in either case they could be fixed or mobile. The term “endpoint” (or end node) will be deemed to encompass them, and similar devices operable to communicate via a packet-switching network in similar fashion. Each of access routers 110 and 130 are arranged to contact DNS (domain name system) servers to obtain address and routing information. As an example, in FIG. 3, DNS server 150 is shown in communication with first access router 110 (although this does not imply that they are directly connected, or that there is only one DNS server accessible to the first endpoint 120).
In this embodiment, the first endpoint 120 is arranged to receive a request to establish a communication session with the second endpoint 140, and also to initiate a PRD to confirm the legitimacy of the second endpoint 140. The first access router 110 is arranged to, upon initiation of the PRD by the first endpoint 120, send a location-authentication challenge to the second access router 130. The second access router 130 is operable to make a determination, upon receipt of a location-authentication challenge, as to the topological location of the second endpoint 140, that is, whether it is actually located behind the second access router 130. When this determination has been made, preferably by exchanging an NDP (neighbor discovery protocol) message and response with the second endpoint 140, a notification is sent to the first endpoint 120. The notification contains an indication of whether the second endpoint is legitimate or might be part of an attempted man-in-the middle or other type of false-location attack. Public keys and a hashed shared secret key generated during a key exchange may be used for authentication of the messages.
A method according to the present invention will now be explained. FIG. 4 is a flow diagram illustrating a method 400 for evaluating communication path topology according to an embodiment of the present invention. The purpose of this evaluation is to provide at least some level, if not complete assurance that a man-in the-middle or other false-location attack is not being attempted. That is, it is not required that a complete communication path topology be generated. In this embodiment, the authenticity of the messages between the nodes is also confirmed through the use of a shared secret key KS. Note that as used herein, a “legitimacy determination” will be understood to mean evaluating both location and authenticity.
At START, it is presumed that the components necessary for performing method 400, such as those components described above with respect to FIG. 3, are available and operational. The process then begins when a first endpoint receives a request (step 405) to establish a communication session with a second endpoint. The request will indicate a prefix associated with the second endpoint. The second endpoint may be a client, for example, and the first endpoint a server; where each endpoint communicates with the network via its respective access router. The invention is not limited to this exemplary configuration, however. The roles of these two endpoints may be reversed, for example, or they may be peer devices. The exact nature of the endpoints, in other words, is not important unless explicitly recited in a particular embodiment. In either case, the endpoints may be fixed or mobile, and may be telephones, computers, personal digital assistants (PDAs), or any number of other devices. By the same token, the access-router functions may be performed by any access device arranged to perform them. A key exchange protocol is then performed (step 410), including an ART (address reachability test). The key exchange may proceed according to an IKEv2 protocol, or HIP (host identity protocol), or some other key exchange scheme. At the end of the key exchange (assuming it is successful) each end node generates (step 415) a shared secret key KS.
A PRD protocol is then performed (step 420) in order to confirm that the purported second endpoint is in fact topologically behind the second access router. This includes sending an authentication challenge to the second endpoint via the second access router, and receiving a reply indicating whether the second access router has determined that the second endpoint is behind the second access router. Each message is preferably authenticated by the recipient, and a digital signature checked.
Upon receiving the reply, the first access router notifies (step 425) the first endpoint of the result of the PRD. If the result indicates that the second endpoint is in fact behind the second access router, then the communication session may proceed as requested. In some embodiments, the PRD (step 420) may be repeated at one or more points during the communication session to confirm the initial topology evaluation and to ensure that it has not been changed. In this manner, the first endpoint is given a higher level of assurance that a false-location attack is not being attempted. If for any reason it is not possible to provide this assurance, for example if the purported second endpoint is determined to be topologically in front of the second access router, then the requested communication session may be denied, or some other action may be attempted (step not shown). Once the communication session has begun, if at any time appears that the topology related to the second endpoint is now questionable, the ongoing communication session may be terminated (step not shown).
In another embodiment, the access routers (or similar devices) are arranged to handle the communication session establishment themselves. This may be referred to as proxy mode. FIG. 5 is a flow diagram illustrating a method 500 of evaluating communication path topology according to an embodiment of the present invention. That is, FIG. 5 illustrates one manner of operation in proxy mode. The access devices, of course, are examining the path topology in advance of or during a communication session between endpoints that they are respectively coupled with to provide network access. At START, it is presumed that the components necessary for performing a method according to the present invention are both available and operational. It is also presumed that an event, such as the arrival of a certain type of message, has triggered initiation of the procedure.
The method of FIG. 5 then begins at step 505, where a first access device and a second access device exchange keys according to a key exchange protocol. As part of this step each device generates a shared secret key relevant to the exchange. Either following the key exchange, or in parallel to it, the first access device sends (step 510) a location-authentication challenge to a second access device. Note that the location-authentication challenge, unless a specific format is specified in a particular embodiment, may take any form that is recognizable to the second access device and causes it (assuming it is able) to continue the procedure. In another embodiment (not shown), the second access device may in some circumstances initiate the process on its own, without receiving a location-authentication challenge from the first access device, for example on detecting that a secure key exchange is occurring. The second access device, responsive to receipt of the location-authentication challenge, determines (step 515) the topological location of the second endpoint with respect to the second access device and the first access device. When this determination has been made, the second access device sends (step 520) a reply to the first access device to notify the first access device of the relative topological location of the second endpoint.
Note that this notification does not have to provide a great deal of detail concerning the second endpoint. Rather, the purpose is to indicate whether the second endpoint is behind the second access device with respect to the first access device. “Behind”, in this sense, means that the second access device is not situated on a path between the second access device and the first access device. When the first access device received the reply from the second access device, the first access device proceeds to authenticate (step 525) the reply. The process then continues, generally by permitting data communication between the endpoints.
Note that the illustrated method of FIG. 5 is conducted from the perspective of one of the two access devices. As should be apparent from this disclosure, the first and second access devices may reverse roles in the process, and may each send a location-authentication challenge to each other. That is, the PRD protocol may operate in either one, or in both directions either sequentially or at more or less the same time. This “two directional” PRD protocol may of course be performed in most embodiments of the invention regardless of whether the endpoints are peers or a client and a server, or whether the method is performed in proxy mode. In addition, either or both access devices (or endpoints) may initiate a repetition of the process at any time during the established communication session.
FIG. 6 is a flow diagram illustrating a method 600 for evaluating communication path topology according to another embodiment of the present invention. This evaluation is prelude to establishing a communication session. At START, it is presumed that the network components necessary to the execution of the method are in place and operational. The process then begins at step 605, where a first endpoint, for example a server, receives a request to initiate a communication session. The request purports to come from a second endpoint via a second access router. Naturally, the first endpoint will wish to confirm that the request does in fact come from the second end point, and not, for example, from an intermediate host engaging in a man-in-the-middle or other false-location attack.
According to this embodiment of the present invention, the process continues with the first endpoint initiating an ART (address reachability test) (step 610) in order to determine whether a communication session with the (purported) second endpoint is possible. If the ART is successful, a secure key exchange is conducted (step 615) to assist in testing the legitimacy of the purported second endpoint. One such key exchange, for example, is an IKEv2 (Internet key exchange, version 2); this is a well-known security protocol and therefore will not be described here in any detail. A HIP (host identity protocol) test may also be used at his step 615.
A PRD protocol according to the present invention is then performed, as will now be explained. Note, however, that the sequence shown in FIG. 6 is not exclusive; the PRD according to the present invention may alternately be performed in parallel, or partially in parallel, with the key exchange or analogous procedure (step 615). In yet other embodiments, the PRD may also or instead be performed at a later time, or repeatedly at intervals throughout the session.
In a PRD, the first endpoint delegates certain security functions to a first access router, the access router through which the first endpoint is communicating. In this embodiment, then, the first access router initiates the PRD (step 620). The first access router may be prompted in a number of ways to do this, but in this embodiment, the first access router automatically triggers the PRD when a key exchange message directed to or from the first endpoint is detected (step not specifically shown). In another embodiment (also not shown), the PRD is initiated when the first access router receives an explicit request from the first endpoint. The explicit request must contain, of course, an identification of the node to be verified, such as an IP address. Usually, the explicit message, if utilized, will also include a hash of the computed secret key shared by the first endpoint and the second endpoint.
The first access router then triggers a special DNSSL (DNSSEC (domain name system security extension) lookup) (step 625). This DNSSL is similar to a standard DNS query, but it is protected with a signature as defined in the DNSSEC protocols suite. In this embodiment, the special DNSSL consists of querying the DNS (or other secure database) regarding the address of the access router advertising a particular prefix. The DNSSL query includes only this prefix. In response, the first access router retrieves (step 630) the address of the second access router and its corresponding public key. In this embodiment, the addresses are IPv6 (Internet protocol version 6) addresses having a 64 bit prefix, and the public key is correspondingly a CGA (cryptographically generated address) key. In alternate embodiments, other protocols consistent with the method of the invention may be used as well.
Likewise, the second access router, which provides network access for the second endpoint, sends a DSSNL query (step 635) and retrieves (step 640) the address and public key of the first access router. Note that in some cases, a specific link may have multiple routers; in this event, only the access router advertising the prefix of the second endpoint participates in the PRD process.
In the embodiment of FIG. 6, the first access router then sends (step 645) a Prefix Request Test Initialization (PRTI) message directed to the second access router. This PRTI message contains 64-bit IP interface identifiers (IIDs) for both the first and second endpoints, and is authenticated with the hash of the shared secret key KS and signed with the private key of the first access router.
The second access router receives (step 650) the PRTI message, and then initiates a Neighbor Reachability Discovery (NRD) for the IP address obtained by concatenating the prefix associated with the second endpoint (and advertised by the second access router) and the IID of the first endpoint. This NRD message, which should be signed and authenticated, for example by using a SEND (secure neighbor discovery) protocol, is then sent (step 655) to the second endpoint. The second endpoint receives (step 660) the NRD message and, assuming it is a legitimate node, responds (step 665) by sending the appropriate response. The appropriate response, in this embodiment, should be signed or authenticated and include a hash of the shared secret key KS.
The second access router then receives (step 670) the NRD message from the second endpoint, then verifies (step 675) the authenticity of the previously-received PRTI message from the first access router and checks its signature (step 680) using the first access router's public key. If the PRTI message is valid, then the second access router sends (step 685) to the first access router a reply in a Prefix Reachability Test (PRT) message. The PRT message is authenticated with a hash of the shared secret key KS, and signed with the second access router's private key.
If, on the other hand, the second access router does not receive an appropriate NRD message from the second endpoint, that is, if the second endpoint does not show its presence on the specified link, the second access router sets a bit (step not shown) in the PRT message notifying the first access router that purported second endpoint appears to be an illegitimate node. The first access router receives (step 690) the PRT message and checks (step 695) its signature using the second access router's public key. The first access router then generates and sends (step 700) the appropriate message to the first endpoint, providing it with notification of whether the purported second endpoint is legitimate.
Note that the sequence of steps shown in FIG. 6 and described above is only one embodiment of the present invention, and in other embodiments some additional steps may be added or deleted. The steps themselves may be performed in any logically-consistent order. Note also that while each of the messages included in a particular PRD protocol preferable include KS, or a hash derived using KS, so that the recipient may use the shared secret key KS to test the authenticity of the message. In some embodiments, however, KS is used to check less than all of the messages in the PRD, and it may not be used at all. This is not preferred, however, because when used together, the KS helps to assure the identity and authenticity of the message, while the PRD protocol helps to assure that the endpoints (or, if applicable, other nodes) are in their proper or purported topological location. Finally, note that when a shared secret key KS is used, its generation or use may for convenience be referred to simply as a part of the particular PRD protocol under discussion.
In the mobile communication context, the second endpoint may be a mobile node. In this case, it is preferable that the PRD procedure be repeated periodically, especially after a binding update message has been sent the first endpoint.
In one embodiment, the first endpoint is a server (S) and the second endpoint is a client (C). FIG. 7 is a message flow diagram 700 illustrating a topology evaluation according to a client-server embodiment of the invention. In FIG. 7, the client (C) uses an access router ARC and the server (S) an access router ARS. In FIG. 7, client (C) is a legitimate client, but initially of course this is not known to the server (S). Client (C) initiates contact and, in messages 701 through 704, the client (C) and server (S) conduct an IKEv2 secure key exchange. This includes an ART and, as mentioned above, at the conclusion of the IKEv2 (or other suitable) key exchange the endpoints, in FIG. 7 client (C) and server (S), are able to generate a shared secret key KS. Again, this procedure is known and so will not be described here in further detail. Note that in another embodiment (not shown), ARS and ARC themselves conduct the secure key exchange as proxies for client (C) and server (S).
Referring to the embodiment of FIG. 7, message 705 initiates the PRD procedure. In message 705, server (S) sends to access router ARS an NDP (neighbor discovery protocol) message, which, in this embodiment, is a Router Foreign Prefix Detection (RFPD) message. The RFPD message includes the client (C)'s 64-bit network prefix PC (obtained in the IKEv2 exchange) and a hash of the shared secret key KS. The access router ARS then performs a DNSSL (not shown in FIG. 7) and obtains the IP address and public key KPC for the access router ARC.
Note that although message 705 is shown in FIG. 7 to follow messages 701 through 704, as mentioned above the PRD may also be performed, or at least initiated, in parallel with the IKEv2 exchange. In a presently preferred embodiment, however, the PRD is initiated after the ART has been successfully concluded.
The access router ARS then sends message 706 to the ARC. Message 706 is a PRTI, and is sent to request an NRD regarding client (C). The ARC can confirm that the PRT message was sent from ARS by using a DNSSL to retrieve its public key KPS and using KPS to check the signature in the PRTI message. The ARC then sends an NDP message, message 707, to client (C). Message 7 is actually sent to all hosts attached to the link where the client (C) prefix PC is advertised. Upon receiving the NDP message 707, the client (C) sends its own NDP message 708 to the ARC. Message 708 includes a hash of the shared secret key KS. When the ARC receives the NDP message 8, it sends a PRT message 9 to access router ARS. The PRT message 709 notifies access router ARS that the client (C) is legitimate. If this were not the case, the access router ARC would send a modified PRT message (not shown), indicating that client (C) is not legitimate.
Once it knows whether client (C) is legitimate, access router ARS sends an NDP message 710, which in this embodiment is a Router Foreign Prefix Text (RFPT) message, and notifies the server (S) of the result of the PRD procedure.
In the manner described above, in reference to various preferred embodiments, the present invention provides a way to evaluate communication path topology to avoid a false-location type of attach, such as a man-in-the-middle attack. If each endpoint can be confirmed to be behind its respective access device, then it is not a man-in-the-middle or “beside” the access device. A shared secret key KS may also be generated and used to confirm the authenticity of messages, either prior to or at the same time as the PRD, providing some additional assurance of legitimacy. It should be noted, however, that the features of each embodiment of the invention, as recited in the claims, does not include a requirement that success in this regard must be assured, or that in some cases an attacker may not be able to evade the protection provided.
Although the present invention has been described in detail, those skilled in the art should understand that they can make various changes, substitutions and alterations herein without departing from the spirit and scope of the invention in its broadest form.

## Claims

1. A method for establishing a communication session between a first endpoint and a second endpoint in a packet-switched communication network in which a first access device provides access for the first endpoint to the network and a second access device provides access for the second endpoint to the network, the method comprising the steps of:
receiving at the first access device, a request from the first endpoint to establish the communication session with the second endpoint, wherein the first and second endpoints are either fixed or mobile endpoints, and communicate utilizing a communication protocol supporting fixed and mobile endpoints;
conducting a secure key exchange between the first and second endpoints, wherein a shared secret key is generated;
executing by the first and second access devices, a prefix reachability detection (PRD) protocol to determine whether the first endpoint is topologically legitimate, comprising the steps of:
receiving by the second access device, a neighbor discovery message from the second endpoint;
sending a Prefix Request Test Initialization (PRTI) message from the second access device to the first access device requesting a Neighbor Reachability Discovery for the first endpoint, the PRTI message including a signature of the second access device;
verifying by the first access device that the PRTI message was sent by the second access device by retrieving a public key of the second access device and utilizing the public key to check the signature of the second access device:
sending a discovery message from the first access device to the first endpoint;
receiving by the first access device from the first endpoint, a response to the discovery message;
determining by the first access device, whether the response includes a correct hash of the shared secret key;
upon determining that the response includes the correct hash of the shared secret key, sending from the first access device to the second access device, a PRTI message response indicating the first endpoint is topologically legitimate; and
upon determining that the response does not include the correct hash of the shared secret key, sending from the first access device to the second access device, a PRTI message response indicating the first endpoint is not topologically legitimate.

2. The method according to claim 1, wherein the secure key exchange is either an Internet Key Exchange version 2 (IKEv2) key exchange or an Host Identity Protocol (HIP) key exchange.

3. The method according to claim 1, wherein the secure key exchange includes performing an address reachability test (ART).

4. The method according to claim 1, wherein the step of sending a discovery message from the first access device to the first endpoint includes sending a Neighbor Discovery Protocol (NDP) message.

5. The method according to claim 1, further comprising the step of terminating the communication session after sending the PRTI message response indicating the first endpoint is not legitimate.

6. An arrangement in a packet-switched communication network for establishing a communication session between a first endpoint and a second endpoint, wherein the first and second endpoints are either fixed or mobile endpoints, the arrangement comprising:
a first access router configured to provide access for the first endpoint to the network utilizing a communication protocol supporting fixed and mobile endpoints;
a second access router in communication with the first access router, the second access router configured to provide access for the second endpoint to the network utilizing the communication protocol supporting fixed and mobile endpoints;
wherein the first access router is configured to receive a request from the first endpoint to establish the communication session with the second endpoint and to conduct via the second access router, a secure key exchange between the first and second endpoints, wherein a shared secret key is generated;
wherein the first and second access routers are configured to execute a prefix reachability detection (PRD) protocol to determine whether the first endpoint is topologically legitimate, wherein:
the second access router is configured to receive a neighbor discovery message from the second endpoint, and to send a Prefix Request Test Initialization (PRTI) message to the first access router requesting a Neighbor Reachability Discovery for the first endpoint, the PRTI message including a signature of the second access router; and
the first access router is configured to:
verify that the PRTI message was sent by the second access router by retrieving a public key of the second access router and utilizing the public key to check the signature of the second access router;
send a discovery message to the first endpoint;
receive from the first endpoint, a response to the discovery message;
determine whether the response includes a correct hash of the shared secret key;
send to the second access router, a PRTI message response indicating the first endpoint is topologically legitimate, upon determining that the response includes the correct hash of the shared secret key; and
send to the second access router, a PRTI message response indicating the first endpoint is not topologically legitimate, upon determining that the response does not include the correct hash of the shared secret key.

7. A first access router in a packet-switched communication network configured to provide access for a first endpoint to the network and to assist in establishing a communication session between the first endpoint and a second endpoint, the first and second endpoints being either fixed or mobile endpoints, wherein a second access router provides access for the second endpoint to the network, wherein the first access router includes a processor coupled to a non-transitory memory, wherein when the processor executes computer program instructions stored in the memory, the processor causes the first access router to:
receive utilizing a communication protocol supporting fixed and mobile endpoints, a request from the first endpoint to establish the communication session with the second endpoint and to conduct via the second access router, a secure key exchange between the first and second endpoints, wherein a shared secret key is generated; and
execute utilizing the communication protocol supporting fixed and mobile endpoints, a prefix reachability detection (PRD) protocol to determine whether the first endpoint is topologically legitimate, wherein the first access router is configured to:
receive a Prefix Request Test Initialization (PRTI) message from the second access router requesting a Neighbor Reachability Discovery for the first endpoint, the PRTI message including a signature of the second access router;
verify that the PRTI message was sent by the second access router by retrieving a public key of the second access router and utilizing the public key to check the signature of the second access router;
send a discovery message to the first endpoint;
receive from the first endpoint, a response to the discovery message;
determine whether the response includes a correct hash of the shared secret key;
send to the second access router, a PRTI message response indicating the first endpoint is topologically legitimate, upon determining that the response includes the correct hash of the shared secret key; and
send to the second access router, a PRTI message response indicating the first endpoint is not topologically legitimate, upon determining that the response does not include the correct hash of the shared secret key.

8. A method of establishing a communication session between a first endpoint and a second endpoint in a packet-switched communication network in which a first access device provides access for the first endpoint to the network and a second access device provides access for the second endpoint to the network, the method comprising the steps of:
receiving by the first endpoint, a request from the second endpoint to establish the communication session, wherein the first and second endpoints are either fixed or mobile endpoints, and communicate utilizing a communication protocol supporting fixed and mobile endpoints;
initiating by the first endpoint, a Prefix Reachability Detection (PRD) process to determine whether the second endpoint is topologically located behind the second access device;
upon initiation of the PRD process, sending from the first access device to the second access device, a location-authentication challenge;
upon receiving the location-authentication challenge, conducting by the second access device, a Neighbor Discovery Protocol (NDP) exchange with the second endpoint to determine whether the second endpoint is topologically located behind the second access device; and
sending from the second access device to the first endpoint via the first access device, a notification indicating whether the second endpoint is topologically located behind the second access device.

9. An arrangement in a packet-switched communication network for establishing a communication session between a first endpoint and a second endpoint, wherein the first and second endpoints are either fixed or mobile endpoints, the arrangement comprising:
a first access device configured to provide access for the first endpoint to the network utilizing a communication protocol supporting fixed and mobile endpoints;
a second access device in communication with the first access device, the second access device configured to provide access for the second endpoint to the network utilizing the communication protocol supporting fixed and mobile endpoints;
wherein the first endpoint is configured to:
receive a request from the second endpoint to establish the communication session; and
initiate a Prefix Reachability Detection (PRD) process to determine whether the second endpoint is topologically located behind the second access device;

wherein, upon initiation of the PRD process, the first access device is configured to send to the second access device, a location-authentication challenge; and
wherein, upon receiving the location-authentication challenge, the second access device is configured to:
conduct a Neighbor Discovery Protocol (NDP) exchange with the second endpoint to determine whether the second endpoint is topologically located behind the second access device; and
send to the first endpoint via the first access device, a notification indicating whether the second endpoint is topologically located behind the second access device.