WO2009057004A1 - Secure neighbor discovery between hosts connected through a proxy - Google Patents
Secure neighbor discovery between hosts connected through a proxy Download PDFInfo
- Publication number
- WO2009057004A1 WO2009057004A1 PCT/IB2008/054132 IB2008054132W WO2009057004A1 WO 2009057004 A1 WO2009057004 A1 WO 2009057004A1 IB 2008054132 W IB2008054132 W IB 2008054132W WO 2009057004 A1 WO2009057004 A1 WO 2009057004A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- host
- proxy
- address
- layer
- message
- 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/0281—Proxies
-
- 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/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/10—Integrity
- H04W12/106—Packet or message integrity
-
- 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/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/162—Implementing security features at a particular protocol layer at the data link layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/26—Network addressing or numbering for mobility support
-
- 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]
-
- 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/18—Service support devices; Network management devices
- H04W88/182—Network node acting on behalf of an other network entity, e.g. proxy
Definitions
- the present invention relates to a method, a proxy and a host for securely proxying discovery messages.
- ND proxies provide a method for bridging multiple links into a single network. They do this by modifying ND signaling passing through them.
- the Internet Engineering Task Force (IETF) has published a Request For Comments (RFC), RFC4389, entitled 'Neighbor Discovery Proxies (ND Proxy)', which describes a method by which multiple link layer segments are bridged into a single segment, through a proxy.
- FIG. 1 shows a simple network 100 comprising two subnetworks 110 and 150, connected through a bridge, which acts as a ND proxy 180.
- the subnetwork 110 comprises a first link layer connection 130, on which are connected several hosts such as a first host 120.
- the subnetwork 150 comprises a second link layer connection 170, on which are connected several hosts such as a second host 160.
- the ND proxy 180 comprises ports connected to each of the first and second link layers 130 and 170. Each connection to one of the link layers comprises a MAC address.
- the first host 120 has a MAC address on the first link layer 130
- the second host 160 has a MAC address on the second link layer 170
- the ND proxy 180 has two MAC addresses, one on each of the link layers.
- the first host 120 broadcasts a Neighbor Solicitation message comprising the IP and MAC addresses of the first host 120 and the IP address of the second host 160.
- the ND proxy 180 receives this Neighbor Solicitation message and may store the MAC address of the first host 120 in an internal cache. It forwards the Neighbor Solicitation message on the second link layer 170, after replacing the MAC address of the first host 120 inside the message with the MAC address of the ND proxy 180 on the second link layer 170.
- the second host 160 stores in a neighbor cache the IP address of the first host 120 in relation with the MAC address of the ND proxy 180 on the second link layer 170.
- the second host 160 then responds with a Neighbor Advertisement message placed on the second link layer 170, comprising the IP and MAC addresses of the second host 160 and, optionally, the IP address of the first host 120 and the MAC address of the ND proxy 180 on the second link layer 170.
- the ND proxy 180 detects the Neighbor Advertisement message of the second host 160, replaces the MAC address of the second host 160 with its own MAC address on the first link layer 130, replaces its own MAC address on the second link layer 170, if included, with the MAC address of the first host 120, and forwards the Neighbor Advertisement message on the first link layer 130.
- the first host 120 stores in a neighbor cache the IP address of the second host 160 in relation with the MAC address of the ND proxy 180 on the first link layer 110. If at any time later the first host 120 needs to communicate with the second host 160 by use of the IP address of the second host 160, its neighbor cache will indicate that any message or packet needs to be sent towards the MAC address of the ND proxy 180 on the first link layer 130. Likewise, if the second host 160 needs to communicate with the first host 120 by use of the IP address of the first host 120, the neighbor cache of the second host 160 will indicate that any message or packet needs to be sent towards the MAC address of the ND proxy 180 on the second link layer 170.
- RFC3971 entitled 'SEcure Neighbor Discovery (SEND)', specifies a method for securing neighbor discovery signaling against specific threats, such as malicious modification (spoofing) of addresses in Neighbor Solicitation and Neighbor Advertisement messages.
- the SEND protocol provides a way of securing ND signaling so that receiving nodes can detect if ND packets have been tampered with.
- Digital signatures are used to protect messages relating to neighbor discovery. Signatures protect the integrity of the messages and authenticate the identity of their sender by using certificates to prove the identity of message senders. In fact, each message comprises a signature based on a private key of the sender and on addresses of the sender.
- the signature may be verified by use of a public key of the sender, the public key of the sender being certified to the receiving end by use of a query towards a trust anchor that is known and trusted by both the receiving end and the sender. Verification of the signature validates the addresses of the sender.
- Figure 2 shows a format of a RSA signature.
- the RSA signature 200 is based on the well-known Rivest-Shamir-Adleman (RSA) algorithm and is specified in SEND.
- the RSA signature 200 is added to ND signaling messages.
- Bit markers 270 provide information regarding the format of the RSA signature 200.
- Fields included in the RSA signature 200 comprise:
- Type 210 a value assigned by the IETF, and set equal to 12.
- Length 220 A length of the RSA signature 200 (including all parameters in Figure 2) in units of 8 octets.
- Key Hash 240 A 128-bit field containing the most significant (leftmost) 128 bits of a Secure Hash Standard- 1 (SHA-I) hash of a public key used for constructing the RSA signature 200.
- SHA-I Secure Hash Standard- 1
- Digital Signature 250 A variable-length field containing a Public Key Cryptography Standards (PKCS) signature, constructed by using the sender's private key over the following sequence of octets:
- PKCS Public Key Cryptography Standards
- An ND proxy message header starting from a first octet after an ICMP Checksum field and continuing up to but not including ND proxy specific parameters.
- All ND proxy specific parameters preceding the RSA Signature 200 comprise a link layer address of a node sending the ND message and, in the case where the ND message is a reply to another ND message, these parameters may also comprise a link layer address of a node towards which the message is intended.
- Padding 260 A variable-length field contains padding.
- SEND and ND Proxy are fundamentally incompatible because they are based on conflicting requirements.
- SEND assumes that a node advertising an IP address is the owner of the IP address and is in possession of the private key used to generate the digital signature based on the advertised IP address.
- ND Proxy the MAC address of the node which has initially advertised its IP address, and created a digital signature based on those IP and MAC addresses, is replaced within ND messages with a MAC address of the proxy. The digital signature of the original advertising node cannot be verified against its MAC address at the receiving end because that MAC address has been overwritten.
- the present invention provides a method by which a ND proxy can replace a link layer address in any ND message with its own.
- a node receiving such a modified advertisement verifies whether the ND proxy has been authorized to perform the changes. For this verification, the node depends on a certificate issued to the ND proxy to authorize such changes.
- ND proxying modifies an original content of ND messages passing through the proxy, thereby breaking any originating host signature
- the proxy of the present invention preserves the original contents by moving them in new message fields prior to the modification.
- the proxy adds a proxy signature to the ND messages passing therethrough, allowing receiving hosts to verify the legitimacy of the modified ND messages.
- the receiving hosts may use the new message fields to rebuild the original contents of the ND messages, thereby repairing the originating host signature.
- a first aspect of the present invention is directed a method of securing neighbor discovery between hosts connected through a proxy.
- the method starts when the proxy receives from a first host a neighbor discovery (ND) message intended for a second host.
- the ND message comprises an internet protocol (IP) address, a layer two address of the first host, and a first signature built by the first host based at least in part on the layer two address of the first host.
- IP internet protocol
- the proxy modifies the ND message, first overwriting the layer two address of the first host with a layer two address of the proxy.
- the proxy further modifies the ND message by inserting a second signature of the proxy.
- the proxy signature is based at least in part on the layer two address of the proxy.
- the proxy then sends the modified ND message towards the second host.
- a second aspect of the present invention is directed to a variant of the method of securing neighbor discovery between hosts connected through a proxy.
- the method comprises several additional steps.
- the proxy copies the layer two address of the first host in an additional field of the modified ND message and uses that additional field in calculating the second signature of the proxy.
- the second host upon receiving the modified ND message, verifies the second signature of the proxy.
- the second host may further restore the ND message in its original form by overwriting the layer two address of the proxy with the layer two address of the first host. Hence, the second host may verify the first signature of the first host.
- the second host stores the IP address of the first host in relation with the layer two address of the proxy.
- a third aspect of the present invention is directed to a method of securely receiving a neighbor discovery (ND) message in a host.
- the method starts when the host receives the ND message, which comprises a layer two address of a proxy, a layer two address of a peer host, a signature of the peer host and a signature of the proxy.
- the host verifies the proxy signature by use of a public key of the proxy.
- the host modifies the ND message by replacing the layer two address of the proxy with the layer two address of the peer host. This enables the host to verify the signature of the peer host by use of a public key of the peer host.
- the host stores the layer two address of the proxy as a layer two address for communicating with the peer host.
- a fourth aspect of the present invention is directed to a proxy.
- the proxy has a first layer two connection used for receiving a neighbor discovery (ND) message from a first host.
- the proxy also has a processor that receives the ND message from the first layer two connection, and then reads from the ND message a first field comprising at least one original address, and a second field comprising a first signature of the first host.
- the processor modifies the ND message by copying from the received ND message at least one original address into a third field. It then overwrites in the first field one of the at least one original address with an address of the proxy.
- the processor inserts a second signature of the proxy based on the address of the proxy and on the at least one original address.
- the processor then instructs a second layer two connection to send the modified ND message towards a second host.
- a fifth aspect of the present invention is directed to a host.
- the host comprises a memory that stores a public key of a peer host, a public key of a proxy, and a link layer address for communicating with the peer host.
- the host further has a layer two connection used for receiving on a link a neighbor discovery (ND) message from a proxy.
- the ND message comprises a layer two address of the proxy, a layer two address of the peer host, a signature of the peer host, and a signature of the proxy.
- a processor verifies a signature of the proxy by use of the public key of the proxy.
- the processor modifies the ND message by replacing the layer two address of the proxy with the layer two address of the peer host.
- the processor further verifies the signature of the peer host by use of the public key of the peer host. Following those verifications, the processor stores in the memory the link the layer two address of the proxy as the layer two address for communicating with the peer host.
- Figure 1 is a prior art representation of a simple network comprising two subnetworks connected through a neighbor discovery proxy, which acts as a neighbor discovery proxy;
- Figure 2 is a prior art representation a format of a Ri vest- Shamir- Adleman signature
- Figure 3 shows an exemplary network comprising two subnetworks connected through a secure neighbor discovery proxy
- Figures 4a, 4b and 4c show a sequence diagram depicting exemplary steps of the method of the present invention
- Figure 5 shows an exemplary method of calculating a proxy signature according to some aspects of the present invention
- Figure 6 shows a simplified neighbor discovery message content according to some aspects of the present invention
- Figure 7 shows an exemplary proxy built according to an aspect of the present invention.
- Figure 8 shows an exemplary host built according to an aspect of the present invention.
- ND standard neighbor discovery
- RRC Request For Comments
- IETF Internet Engineering Task Force
- SEND SEcure Neighbor discovery
- the present invention provides a SEcure Neighbor discovery (SEND) proxy that comprises additional features for ensuring that a receiving node can differentiate between an authorized SEND proxy modifying an original ND message, and a malicious node doing the same. This is accomplished by modifying a ND message by signing it with a key of the authorized SEND proxy.
- the authorized SEND proxy also preferably includes, in the signed and modified ND message, original contents of the ND message it replaced; this can be used by the receiving node for further verification.
- the signature of the SEND proxy may be included in a new information field called proxy signature information (PSI).
- PSI proxy signature information
- the signature is performed over ND proxy information fields present in the message, including a Rivest-Shamir-Adleman (RSA) signature field from the original ND message.
- the PSI is appended in the message, preferably as the last information field.
- the proxy signature has a similar format as that of the RSA signature, shown in Figure 2, with some exceptions: First, it has a distinct Type value, different from the value of the Type 210 of Figure 2. Second, because the digital signature is preferably based on all ND proxy specific parameters preceding the PSI, the digital signature within the PSI is preferably based in part on the RSA signature itself.
- a method using the SEND proxy for allowing proxying of ND messages in a secure fashion, and a host capable of using the PSI, are also provided.
- the SEND proxy may comprise a bridge, a router, a switch, or any other packet-forwarding device.
- the SEND proxy may connect subnetworks having similar or dissimilar physical and/or link layer properties.
- the SEND proxy may connect two distinct Ethernet subnetworks.
- the SEND proxy may bridge between a wireless location area network (WLAN) and a cellular radio network.
- WLAN wireless location area network
- the host may comprise any end-terminal, end- user device, router, application server and the like.
- the host may comprise one or more physical connections, with associated link layer addresses and link layer properties.
- a personal computer might comprise an Ethernet connection and a WLAN connection, either of which may be used in the context of the present invention.
- the host may also comprise a mobile terminal using both a Bluetooth TM and a cellular connection.
- FIG. 3 shows an exemplary network 300 comprising two subnetworks 310 and 350 connected through a SEND proxy 380.
- the network 300 comprises nodes built as per some teachings of the present invention.
- Each of the two subnetworks 310 and 350 support a host, re- spectively a first host 320 and second host 360.
- subnetworks 310 and 350 could support a much larger number of hosts, and the SEND proxy 380 could provide interconnection for a plurality of subnetworks.
- Figure 3 is simplified for ease of illustration of the present invention.
- the first host 320 is connected on the subnetwork 310 via a port having a media access control (MAC) address MAC_H1.
- MAC media access control
- the second host 320 is connected to the subnetwork 350 via a MAC address MAC_H2. Because the SEND proxy 380 has connections to both subnetworks, it has two MAC addresses MAC_P1 and MAC_P2, which respectively connect to subnetworks 310 and 350. Interactions between the first host 310, the second host 360 and the SEND proxy 380 are described in relation with the following figures.
- Figures 4a, 4b and 4c show a sequence diagram depicting exemplary steps of the method of the present invention.
- the first and second hosts 320 and 360, as well as the SEND proxy 380, introduced in relation with the description of Figure 3, and a trust anchor 400, are involved in the sequence of Figures 4a, 4b and 4c. Addition of the trust anchor 400 to the network of Figure 3 allows including both the hosts 320 and 360 as well as the SEND proxy within a trusted infrastructure.
- the method may optionally start at step 403 where the first host 320, knowing that it will need to communicate with other hosts through the SEND proxy 380, may request from the trust anchor 400 a security certificate for the SEND proxy 380. If so, the trust anchor 400 responds at step 406 with the certificate of the SEND proxy 380, comprising a public key of the SEND proxy 380. Likewise, the second host 360 may optionally request at step 409 a certificate of the SEND proxy 380 from the trust anchor 400. If so, the trust anchor responds at step 412 with the security certificate of the SEND proxy 380. Of course, the first and second hosts may keep in memory their copies of the security certificate of the trust anchor 400 for extended periods of time. Steps 403-412 thus do not need to be repeated every time the sequence of Figures 4a, 4b and 4c is executed.
- the first host 320 desires to enter in communication with the second host
- the second host 360 may have modified its layer 2 connection.
- One example of the second host 360 modifying its layer 2 connection would be when an Ethernet connection is unplugged and a WLAN connection takes over traffic for the second host 360.
- the SEND proxy 380 providing bridging functionality.
- the first host 320 builds a RSA signature.
- the RSA signature may be conventional and may, for example, be built according to the RSA signature format 200 of Figure 2.
- the RSA signature may be built according to a variety of parameters, including at least a source link layer address (SLLA), which is the MAC address MAC_H1 of the first host 320.
- SLLA source link layer address
- the first host 320 sends a neighbor solicitation message on a link of the subnetwork 310, by use of a port having the address MAC_H1.
- the SEND proxy 380 which is connected on the same link of the subnetwork 310, detects the neighbor solicitation message via its own MAC address MAC_P1.
- the SEND proxy 380 builds a proxy signature for use in forwarding a modified neighbor solicitation towards the second host 360.
- the proxy signature is added to the modified neighbor solicitation according to the aforementioned PSI format.
- Figure 5 shows an exemplary method of calculating a proxy signature according to some aspects of the present invention.
- the method of Figure 5 is further described in relation to Figure 6 which shows a simplified neighbor discovery message content according to some aspects of the present invention.
- the ND message 600 comprises an original address field 610 and a RSA signature 620 of a host having originated the ND message (the source host).
- the original address field 610 further comprises a MAC address 612 of the source host, an IP address of the source host, also called source IP 614, and a destination address of a host towards which the ND message is intended, also called destination IP 616.
- Other fields shown on Figure 6 comprise a supplementary address field 630 and a proxy signature 640, which will be referred to hereinbelow.
- the method of Figure 5 starts at step 500 when the SEND proxy 380 receives a ND message, for example the neighbor solicitation message as in step 421 of Figure 4a.
- the SEND proxy 380 reads from the ND message the source MAC address 612.
- the source MAC address 612 is optionally copied in the supplementary address field 630, whereby the ND message 600 is modified at step 520. Then at step 530, the SEND proxy 380 further modifies the ND message by writing its own MAC address in the original address field 610, overwriting the source MAC 612.
- the own MAC address of the SEND proxy 380 may for example be MAC_P2, which is the layer 2 address of the SEND proxy 380 on a same subnetwork as the second host 360, as shown on Figure 3.
- the SEND proxy 380 calculates the proxy signature 640 and adds it to the modified ND message. This signature is preferably an RSA signature of the SEND proxy 380, preferably built according to the PSI format.
- the proxy signature 640 is based on a complete information field of the ND message, comprising the original address field 610, as modified at step 530, and the RSA signature 620 of the source host.
- the signature is also preferably based on the supplementary address field 630.
- the proxy signature 640 may also be based on other parameters. [25] Returning to the sequence of Figures 4a, 4b and 4c, after the SEND proxy 380 has built the proxy signature 640 at step 424, the SEND proxy 380, at step 427, forwards the modified neighbor solicitation message towards the second host 360 by placing the message on a link layer of the second subnetwork 350 by use of its port having the address MAC_P2.
- the second host 360 which is connected on the same link of the subnetwork 350, receives the modified neighbor solicitation message via its own port having the MAC address MAC_H2. At this point, the second host 360 may have previously obtained the certificate of the SEND proxy 380 at optional steps 409 and 412. If the certificate is not present in the second host 360 following receipt of the modified neighbor solicitation, the second host 360 obtains the certificate at steps 430 and 433. Then at step 436, the second host 360 verifies the RSA signature of the SEND proxy 380 by use of the public key of the SEND proxy 380 contained in the certificate of the SEND proxy 380. This verification allows the second host 360 to ascertain that the modified neighbor solicitation has been sent by a legitimate node.
- the SEND proxy 380 When the SEND proxy 380 is part of a trusted infrastructure known by the second host 360, verification of the SEND proxy RSA signature at step 436 is sufficient for the second host 360 to consider that the entire content of the modified neighbor solicitation is valid. The process may then continue directly at step 445. However, if the second host 360 does not entirely trust the SEND proxy 380, it may verify that the neighbor solicitation had originally been initiated by a legitimate node as well. For this, the second host 360 may execute steps 439 and 442. At step 439, the second host 360 reconstructs the original neighbor solicitation message by overwriting the MAC address of the SEND proxy 380, now present in the original address field 610, with the value found in the supplementary address field 630.
- the value MAC_H1 may be read from the supplementary field 630 and returned to the original address field as the source MAC 612.
- the RSA signature 620 of the first host 320 is verified; this verification is rendered possible because the original source MAC address 612 of the neighbor solicitation has been returned in its original place in the message.
- step 445 assuming that the second host 360 is satisfied with the verification of the modified neighbor solicitation, either through the SEND proxy RSA signature or by verifying the RSA signature of the first host 320, it stores in a neighbor cache the MAC address of the proxy, for example MAC_P2, in association with the IP address of the first host 320. It will later use this address pair to communicate with the first host 320. If the second host 360 previously had a cache entry for the first host 320, step 445 consists of an update to the cache entry. The second host 360 then builds, at step 448, an RSA signature. As in the case of step 418, this RSA signature may be conventional and may be built according to the RSA signature format 200 of Figure 2.
- the RSA signature may be built at least in part based on a target link layer address (TLLA) of the second host 360, which is the MAC address MAC_H2 of the second host 360.
- TLLA target link layer address
- the second host 360 sends a neighbor advertisement message on a link of the subnetwork 320, by use of a port having the address MAC_H2.
- the SEND proxy 380 which is connected on the same link of the subnetwork 320, detects the neighbor advertisement message via its own MAC address MAC_P2.
- the SEND proxy 380 builds another proxy signature 640 for use in forwarding a modified neighbor advertisement towards the first host 320. The method as described in Figure 5 is used, once more, to build the proxy signature 640.
- the original MAC address of the second host 360 contained in the original neighbor advertisement as the source MAC 612 is moved to the supplementary field 630 in a modified neighbor advertisement, and the own MAC address of the SEND proxy 380 overwrites the source MAC 612 of the neighbor advertisement.
- the own MAC address of the SEND proxy 380 may for example be MAC_P1, which is the layer 2 address of the SEND proxy 380 on a same subnetwork as the first host 320, as shown on Figure 3.
- the proxy signature 640 is also added based on current contents of the two address fields 610 and 630.
- the modified neighbor advertisement includes the proxy signature 640, preferably according to the PSI format.
- the SEND proxy 380 After the SEND proxy 380 has built the proxy signature 640 at step 454, the SEND proxy 380, at step 457, forwards the modified neighbor advertisement message towards the first host 320 by placing the message on a link layer of the first subnetwork 310 by use of its port having the address MAC_P1.
- the first host 320 which is connected on the same link of the subnetwork 310, detects the modified neighbor advertisement message via its own MAC address MAC_H1.
- the first host 320 may have previously obtained the certificate of the SEND proxy 380 at optional steps 403 and 406. If the certificate is not present in the first host 320 following receipt of the modified neighbor advertisement, the first host 320 obtains the certificate at steps 460 and 463.
- the first host 320 verifies the RSA signature of the SEND proxy 380 by use of the public key of the SEND proxy 380 contained in the certificate. This verification allows the first host 320 to ascertain that the modified neighbor advertisement has been sent by a legitimate node.
- the first host 320 verifies that the neighbor advertisement had originally been initiated by a legitimate node as well.
- the first host 320 may execute steps 469 and 472.
- the first host 320 reconstructs the original neighbor advertisement message by overwriting the source MAC 612 field with the value found in the supplementary address field 630, for example the value MAC_H2.
- the RSA signature 620 of the second host 360 is verified; this verification is rendered possible because the original source MAC address 612 of the neighbor advertisement has been returned in its original place in the message.
- the first host 320 stores, or updates, in a neighbor cache the MAC address of the proxy, for example MAC_P1, in association with the IP address of the second host 360.
- the proxy 700 comprises a processor 710 and at least two layer 2 connections 720 and 730.
- the proxy 700 may comprise a memory (not shown), but for the purposes of the present invention, operation of the proxy 700 may be memoryless.
- the proxy 700 of the present invention may further comprise many more elements found in regular proxies, bridges or switches, as are well known in the art of networking devices. These additional elements are not shown herein for ease of illustration.
- the processor 710 may for example comprise any commercial, programmable processor.
- Each of the layer 2 connections 720 and 730 may be implemented as one single device or as distinct devices for receiving (input) and sending (output) signaling, messages and data.
- the proxy 700 is connected towards a plurality of hosts; means for connecting the proxy 700 towards hosts may vary as, for example, one layer 2 connection may provide communication towards one host might be on an Ethernet link while connection towards another host, on the other layer 2 connection, might be on an asynchronous transfer mode (ATM) link. Therefore proxy 700 may comprise a plurality of devices for connecting on a plurality of links of different types. Only two layer 2 connections are illustrated for ease of presentation of the present invention.
- the proxy 700 receives, on a first layer 2 connection, for example layer
- the 2 connection 720 on MAC address MAC_P1, a ND message from a first host.
- the ND message may be a ND solicitation or a ND advertisement.
- the layer 2 connection 720 informs the processor 710.
- the processor 710 modifies the ND message by first reading from the ND message a first field comprising an original MAC address of the first host, and a second field comprising a first signature of the first host.
- the processor 710 copies the MAC address of the first host into a third field that is added to the modified ND message.
- the processor 710 then overwrites in the first field the MAC address of the first host with the MAC address of the other layer 2 connection 730, which is MAC_P2.
- the processor 710 finally inserts in the modified ND message a second signature of the proxy 700 based on the first field in its current value, on the first signature and on the third field.
- the processor 710 requests the second layer 2 connection 730 to send on a second link the modified ND message towards a second host.
- FIG. 8 shows an exemplary host built according to an aspect of the present invention.
- the host 800 comprises a layer 2 connection 820, a processor 810 and a memory 840. Because the host 800 may represent a variety of distinct devices, it may further comprise a display, a keyboard, a mouse, several additional processors, and many other components (not shown).
- the processor 810 may be dedicated to ND signaling or may also support other tasks of the host 800.
- the memory 840 is a nonvolatile memory, or persistent memory, that can be electrically erased and re- programmed and that may be implemented, for example, as a flash memory or as a data storage module.
- the layer 2 connection 820 may be implemented as one single device or as distinct devices for receiving (input) and sending (output) signaling, messages and data.
- the host 800 may comprise more than one layer 2 connection. Figure 8 is thus simplified for ease of illustration.
- the memory 840 permanently or semi-permanently stores information 845 related to the host 800 itself. This comprises for example a layer 2 address MAC_Hn of the layer 2 connection 820, an IP address allocated to the host 800, a private key and a public key of the host 800 used for calculating an RSA signature, and the like. As is well known in the art, the IP address allocated to the host 800 may be permanent, or may be allocated by a network to which the host 800 is currently connected.
- the memory 400 may also store, in a table 847, IP addresses, link layer addresses and public keys of other nodes such as proxies, routers and other hosts. The memory 400 further may store other data as is well known in the art.
- the host 800 needs to initiate communication with another host, it needs to obtain a link layer address for use with communicating with that host. It may have first obtained an IP address of that host through well-known means such as route lookup. In order to obtain that link layer address leading towards the other host, it needs to send a ND solicitation on its layer 2 connection 820.
- the ND solicitation comprises the MAC_Hn address, which in turns become a source link layer address (SLLA) for this transaction.
- the processor 810 reads from the memory 840 the SLLA, the IP address of this host 800 and the IP address of the other host, and the private key of the host 800.
- the processor builds a RSA signature based on these and other parameters and instructs the layer 2 connection 820 to place the ND solicitation on a layer 2 link to which it is attached.
- the layer 2 connection 820 may receive a ND solicitation message. It forwards this
- the processor 810 detects it as an indication that the ND solicitation initiated by an originating host has been modified by a proxy and that a link layer address included in the ND solicitation is a MAC address of the proxy and not an original address of originating host.
- the processor 810 reads a public key of the proxy from the table 847. If found, the public key of the proxy is used to verify a proxy signature included in the PSI. If this verification fails, the ND solicitation is simply discarded. Otherwise, the processor 810 may preferably read from the PSI an SLLA of the host having initiated the ND solicitation.
- the processor 810 may then verify an RSA signature of the originating host. Verification of the RSA signature requires that the processor 810 reads from the table 847 a public key of the originating host. Provided that the RSA signature is valid, the processor 810 stores in the table 847 the MAC address of the proxy along with the IP address of the originating host, thereby creating a cache entry for the originating host within the table 847. The processor then reads from the memory 840 the own layer 2 address MAC_Hn of the host 800 and places it an ND advertisement message, within a target link layer address (TLLA) field.
- TLLA target link layer address
- the MAC address of the proxy, the IP address of the host 800 and other parameters are also placed in the ND advertisement.
- the processor 810 calculates an RSA signature and inserts it in the ND advertisement.
- the processor 810 then requests the layer 2 connection 820 to place the ND advertisement on the layer 2 link.
- the layer 2 connection 820 may receive a ND advertisement. It forwards this ND advertisement and its content to the processor 810. If the ND advertisement comprises a PSI, the processor 810 detects it as an indication that the ND advertisement initiated by a responding host has been modified by a proxy and that a MAC address, or link layer address, included in the ND advertisement, is an address of the proxy and not an original TLLA of a responding host. The processor 810 reads a public key of the proxy from the table 847. If found, the public key of the proxy is used to verify a proxy signature included in the PSI. If this verification fails, the ND advertisement is simply discarded.
- the ND advertisement comprises a PSI
- the processor 810 may preferably read from the PSI the TLLA of the host having initiated the ND advertisement. By overwriting the MAC address of the proxy with the TLLA of the responding host, the processor 810 may then verify an RSA signature of the responding host. Verification of the RSA signature requires that the processor 810 reads from the memory 840 a public key of the responding host. Provided that the RSA signature is valid, the processor 810 stores in the memory 840 the MAC address of the proxy along with the IP address of the responding host.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2010532680A JP5255065B2 (ja) | 2007-11-01 | 2008-10-08 | プロキシを通じて接続されたホスト間の安全なネイバディスカバリ |
| CN200880114865.3A CN101843075B (zh) | 2007-11-01 | 2008-10-08 | 通过代理连接的主机之间的安全邻居发现 |
| EP08807931.4A EP2220843B1 (en) | 2007-11-01 | 2008-10-08 | Secure neighbor discovery between hosts connected through a proxy |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US98452707P | 2007-11-01 | 2007-11-01 | |
| US60/984,527 | 2007-11-01 | ||
| US12/036,757 | 2008-02-25 | ||
| US12/036,757 US7779136B2 (en) | 2007-11-01 | 2008-02-25 | Secure neighbor discovery between hosts connected through a proxy |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009057004A1 true WO2009057004A1 (en) | 2009-05-07 |
Family
ID=40589303
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2008/054132 Ceased WO2009057004A1 (en) | 2007-11-01 | 2008-10-08 | Secure neighbor discovery between hosts connected through a proxy |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US7779136B2 (https=) |
| EP (1) | EP2220843B1 (https=) |
| JP (1) | JP5255065B2 (https=) |
| CN (1) | CN101843075B (https=) |
| WO (1) | WO2009057004A1 (https=) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011023794A (ja) * | 2009-07-13 | 2011-02-03 | Nec Access Technica Ltd | パケット転送方法およびパケット転送システム |
| US10742768B2 (en) | 2013-06-12 | 2020-08-11 | Jeong Hoan Seo | Relaying system and method of transmitting IP address of client to server using encapsulation protocol |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101508794B1 (ko) * | 2008-07-09 | 2015-04-06 | 삼성전자주식회사 | Ndef 메시지에서 선택적으로 레코드들을 보안하기 위한 방법 |
| CN101404579B (zh) * | 2008-10-31 | 2011-02-09 | 成都市华为赛门铁克科技有限公司 | 一种防止网络攻击的方法及装置 |
| EP2400838B1 (en) | 2009-02-26 | 2016-05-11 | Teikoku Pharma USA, Inc. | Narcotic emulsion formulations for treatment of cancer pain |
| US8357233B2 (en) | 2009-03-20 | 2013-01-22 | Sik Leung Chan | Collector modules for devices for removing particles from a gas |
| JP5631395B2 (ja) * | 2009-07-13 | 2014-11-26 | シーメンス アクチエンゲゼルシヤフトSiemens Aktiengesellschaft | 対応付け更新メッセージ及びメッシュネットワークにおける対応付け更新のための方法 |
| US9066195B2 (en) * | 2011-09-28 | 2015-06-23 | Alcatel Lucent | Method and apparatus for neighbor discovery |
| US9107193B2 (en) * | 2012-01-13 | 2015-08-11 | Siemens Aktiengesellschaft | Association update message and method for updating associations in a mesh network |
| US9681261B2 (en) * | 2012-11-01 | 2017-06-13 | Lg Electronics Inc. | Method and apparatus of providing integrity protection for proximity-based service discovery with extended discovery range |
| US20140181984A1 (en) | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus for authentication of solution topology |
| US9544376B1 (en) * | 2013-07-11 | 2017-01-10 | Marvell International Ltd | Method and apparatus for securely discovering services in a wireless network |
| EP2830274A1 (en) * | 2013-07-23 | 2015-01-28 | Knightsbridge Portable Communications SP | Method for electronic transmission of a message and proxy device therefore |
| US9438555B2 (en) * | 2013-10-31 | 2016-09-06 | Aruba Networks, Inc. | Communicating with a distribution system via an uplink access point |
| KR102083467B1 (ko) * | 2014-04-03 | 2020-03-02 | 에스케이텔레콤 주식회사 | 피투피 통신 시스템, 그의 피투피 통신 제어를 위한 피어 리스트 관리 방법 및 장치 |
| US9237129B2 (en) | 2014-05-13 | 2016-01-12 | Dell Software Inc. | Method to enable deep packet inspection (DPI) in openflow-based software defined network (SDN) |
| US9716716B2 (en) | 2014-09-17 | 2017-07-25 | Microsoft Technology Licensing, Llc | Establishing trust between two devices |
| US9641400B2 (en) | 2014-11-21 | 2017-05-02 | Afero, Inc. | Internet of things device for registering user selections |
| US20160180100A1 (en) | 2014-12-18 | 2016-06-23 | Joe Britt | System and method for securely connecting network devices using optical labels |
| US9832173B2 (en) * | 2014-12-18 | 2017-11-28 | Afero, Inc. | System and method for securely connecting network devices |
| US10291595B2 (en) | 2014-12-18 | 2019-05-14 | Afero, Inc. | System and method for securely connecting network devices |
| US9537872B2 (en) | 2014-12-31 | 2017-01-03 | Dell Software Inc. | Secure neighbor discovery (SEND) using pre-shared key |
| US9998425B2 (en) | 2015-01-27 | 2018-06-12 | Sonicwall Inc. | Dynamic bypass of TLS connections matching exclusion list in DPI-SSL in a NAT deployment |
| US10045150B2 (en) | 2015-03-30 | 2018-08-07 | Afero, Inc. | System and method for accurately sensing user location in an IoT system |
| US9704318B2 (en) | 2015-03-30 | 2017-07-11 | Afero, Inc. | System and method for accurately sensing user location in an IoT system |
| US9717012B2 (en) | 2015-06-01 | 2017-07-25 | Afero, Inc. | Internet of things (IOT) automotive device, system, and method |
| US9699814B2 (en) | 2015-07-03 | 2017-07-04 | Afero, Inc. | Apparatus and method for establishing secure communication channels in an internet of things (IoT) system |
| US9729528B2 (en) | 2015-07-03 | 2017-08-08 | Afero, Inc. | Apparatus and method for establishing secure communication channels in an internet of things (IOT) system |
| US10015766B2 (en) | 2015-07-14 | 2018-07-03 | Afero, Inc. | Apparatus and method for securely tracking event attendees using IOT devices |
| US11526877B2 (en) * | 2015-10-22 | 2022-12-13 | Coinbase, Inc. | Electronic devices having embedded circuitry for accessing remote digital services |
| US9793937B2 (en) | 2015-10-30 | 2017-10-17 | Afero, Inc. | Apparatus and method for filtering wireless signals |
| US10178530B2 (en) | 2015-12-14 | 2019-01-08 | Afero, Inc. | System and method for performing asset and crowd tracking in an IoT system |
| US10027576B2 (en) * | 2016-05-23 | 2018-07-17 | Juniper Networks, Inc. | Method, system, and apparatus for proxying intra-subnet traffic across multiple interfaces within networks |
| US10313108B2 (en) | 2016-06-29 | 2019-06-04 | Intel Corporation | Energy-efficient bitcoin mining hardware accelerators |
| US10142098B2 (en) * | 2016-06-29 | 2018-11-27 | Intel Corporation | Optimized SHA-256 datapath for energy-efficient high-performance Bitcoin mining |
| US10491402B2 (en) * | 2016-07-29 | 2019-11-26 | Magic Leap, Inc. | Secure exchange of cryptographically signed records |
| AU2019224247B2 (en) * | 2018-02-21 | 2021-10-21 | Ntt Docomo, Inc. | Radio communication system, security proxy device, and relay device |
| US11283754B2 (en) * | 2018-09-19 | 2022-03-22 | Cisco Technology, Inc. | Unique identities of endpoints across layer 3 networks |
| US11722577B2 (en) * | 2021-09-07 | 2023-08-08 | Webshare Software Company | Proxying TCP fingerprints |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040240669A1 (en) * | 2002-02-19 | 2004-12-02 | James Kempf | Securing neighbor discovery using address based keys |
| US6930988B2 (en) * | 2002-10-28 | 2005-08-16 | Nokia Corporation | Method and system for fast IP connectivity in a mobile network |
| US7463605B2 (en) * | 2002-12-06 | 2008-12-09 | Alcatel Lucent | Apparatus, and associated method, for facilitating local mobility management in a heterogeneous radio communication network |
| EP1628458A1 (de) * | 2004-08-19 | 2006-02-22 | Siemens Aktiengesellschaft | Verfahren zur Vermittlung von IP-Paketen zwischen Kundennetzen und IP-Provider-Netzen über ein Zugangsnetz |
| US7925027B2 (en) * | 2005-05-02 | 2011-04-12 | Ntt Docomo, Inc. | Secure address proxying using multi-key cryptographically generated addresses |
| US8098823B2 (en) * | 2005-05-03 | 2012-01-17 | Ntt Docomo, Inc. | Multi-key cryptographically generated address |
| EP1739893A1 (en) * | 2005-06-30 | 2007-01-03 | Matsushita Electric Industrial Co., Ltd. | Optimized reverse tunnelling for packet switched mobile communication systems |
| US20070113075A1 (en) * | 2005-11-10 | 2007-05-17 | Ntt Docomo, Inc. | Secure route optimization for mobile network using multi-key crytographically generated addresses |
| US8098642B2 (en) * | 2006-07-04 | 2012-01-17 | Panasonic Corporation | Communication system and mobile home agent |
| CN101022418B (zh) * | 2007-03-14 | 2010-05-26 | 华为技术有限公司 | Hmip认证方法、设备及系统 |
| US8219800B2 (en) * | 2007-06-06 | 2012-07-10 | Cisco Technology, Inc. | Secure neighbor discovery router for defending host nodes from rogue routers |
-
2008
- 2008-02-25 US US12/036,757 patent/US7779136B2/en active Active
- 2008-10-08 JP JP2010532680A patent/JP5255065B2/ja not_active Expired - Fee Related
- 2008-10-08 WO PCT/IB2008/054132 patent/WO2009057004A1/en not_active Ceased
- 2008-10-08 CN CN200880114865.3A patent/CN101843075B/zh not_active Expired - Fee Related
- 2008-10-08 EP EP08807931.4A patent/EP2220843B1/en not_active Not-in-force
Non-Patent Citations (4)
| Title |
|---|
| ARKKO J ET AL: "SEcure Neighbor Discovery (SEND); rfc3971.txt", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 March 2005 (2005-03-01), XP015009743, ISSN: 0000-0003 * |
| DALEY MONASH UNIVERSITY CTIE G: "Securing Proxy Neighbour Discovery Problem Statement; draft-daley-send-spnd-prob-01.txt", IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, no. 1, 18 February 2005 (2005-02-18), XP015037742, ISSN: 0000-0004 * |
| KEMPF DOCOMO LABS USA J: "Secure IPv6 Address Proxying using Multi-Key Cryptographically Generated Addresses (MCGAs); draft-kempf-cgaext-ringsig-ndproxy-00.txt", IETF STANDARD-WORKING-DRAFT, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 August 2007 (2007-08-01), XP015051869, ISSN: 0000-0004 * |
| THALER M TALWAR MICROSOFT C PATEL ALL PLAY D ET AL: "Neighbor Discovery Proxies (ND Proxy); rfc4389.txt", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, 1 April 2006 (2006-04-01), XP015054955, ISSN: 0000-0003 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011023794A (ja) * | 2009-07-13 | 2011-02-03 | Nec Access Technica Ltd | パケット転送方法およびパケット転送システム |
| US10742768B2 (en) | 2013-06-12 | 2020-08-11 | Jeong Hoan Seo | Relaying system and method of transmitting IP address of client to server using encapsulation protocol |
Also Published As
| Publication number | Publication date |
|---|---|
| JP5255065B2 (ja) | 2013-08-07 |
| US20090119407A1 (en) | 2009-05-07 |
| US7779136B2 (en) | 2010-08-17 |
| CN101843075B (zh) | 2014-11-26 |
| EP2220843A1 (en) | 2010-08-25 |
| EP2220843B1 (en) | 2018-02-28 |
| CN101843075A (zh) | 2010-09-22 |
| JP2011509539A (ja) | 2011-03-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7779136B2 (en) | Secure neighbor discovery between hosts connected through a proxy | |
| JP5144685B2 (ja) | 移動ネットワークにおけるシグナリング委任 | |
| EP2127249B1 (en) | Route optimization between a mobile router and a correspondent node using reverse routability network prefix option | |
| CN1799241B (zh) | Ip移动性 | |
| US8266427B2 (en) | Secure mobile IPv6 registration | |
| US7925027B2 (en) | Secure address proxying using multi-key cryptographically generated addresses | |
| US20070113075A1 (en) | Secure route optimization for mobile network using multi-key crytographically generated addresses | |
| CN101682615B (zh) | 一种将基于hip的移动性服务提供给hip节点的方法 | |
| JP2010531106A (ja) | アクセスネットワークのマルチホーミングのためのシステムおよび方法 | |
| CN101176328B (zh) | 用于保护前缀范围绑定更新的安全的系统、关联方法和设备 | |
| CN101138199A (zh) | 网络管理方法和网络管理设备 | |
| CN101223761A (zh) | 链路管理系统 | |
| Bagnulo et al. | Efficient security for IPv6 multihoming | |
| CN114978519A (zh) | 报文发送方法、签名信息的生成方法及设备 | |
| CN101449540B (zh) | 基于委托的移动性管理 | |
| WO2010003326A1 (zh) | 保护代理邻居发现的方法、系统和相关装置 | |
| Combes et al. | Securing neighbor discovery proxy: Problem statement | |
| Combes et al. | RFC 5909: Securing Neighbor Discovery Proxy: Problem Statement | |
| García Martínez et al. | Efficient security for IPv6 multihoming | |
| HK1142198A (en) | System and method for access network multi-homing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200880114865.3 Country of ref document: CN |
|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08807931 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010532680 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2008807931 Country of ref document: EP |