A Secure Wireless Routing Protocol Using Enhanced Chain Signatures

We propose a routing protocol for wireless networks. Wireless routing protocols allow hosts within a network to have some knowledge of the topology in order to know when to forward a packet (via broadcast) and when to drop it. Since a routing protocol forms the backbone of a network, it is a lucrative target for many attacks, all of which attempt to disrupt network traffic by corrupting routing tables of neighboring routers using false updates. Secure routing protocols designed for wired networks (such as S-BGP) are not scalable in an ad-hoc wireless environment because of two main drawbacks: (1) the need to maintain knowledge about all immediate neighbors (which requires a discovery protocol), and (2) the need to transmit the same update several times, one for each neighbor. Although information about neighbors is readily available in a fairly static and wired network, such information is often not updated or available in an ad-hoc wireless network with mobile devices. Our protocol is a variant of S-BGP called SS-BGP and allows a single broadcast for routing updates without having the need to be aware of every neighboring router. The protocol is based on a novel authentication primitive called Enhanced Chain Signatures (ECS).


Introduction
The Border Gateway Protocol (BGP) [1,2] is a Path Vector Routing protocol, in which routers repeatedly advertise 'better' routes (along with the path details) to their immediate neighbors. On receiving an update, a router checks its routing table to decide if this advertised route is better than its existing routes. If so, the router updates its table and advertises the new route to all its other immediate neighbors. The 'textbook' variant of BGP (hereafter called BGP) has many security vulnerabilities [3,4]. For instance, a rogue router could claim a shorter route to some destination in order to intercept traffic. Therefore, real implementations use a modified variant of BGP called Secure-BGP (S-BGP). In S-BGP, routers must have knowledge of immediate neighbors and updates are peer-specific. In the context of ad-hoc wireless networks, a node with several receivers in its vicinity must first establish the identity of every such receiver who is also a forwarder, and then broadcast as many updates. Such control plane traffic becomes a bottleneck in scenarios where the wireless devices are densely distributed, power constrained and have low data plane traffic.
In [5], a novel signature scheme called Chain Signatures (CS) is proposed. As an application, a secure routing protocol called Stateless Secure BGP (SS-BGP) is also presented. The attack scenario described is of a "route truncation attack" 1 in wired networks. SS-BGP is as secure as S-BGP and has some advantages. The main advantages in their protocol over S-BGP are: (1) updates can be broadcast and need not be peer-specific, and (2) routers need not be aware of their immediate neighbors. However, such advantages are not overwhelming in the scenario presented in [5] because true broadcast channels do not exist in wired networks. On the other hand, wireless networks provide true broadcast channels without the ability to control or determine who receives this broadcast. This feature presents a perfect application scenario for SS-BGP. We extend the work of [5] and propose a protocol for wireless routing. The protocol optimizes traffic in the control plane by allowing an ad-hoc network of wireless nodes to establish routing information in presence of several compromised nodes and without any prior knowledge of topology. The protocol is based on an extension of CS called Enhanced Chain Signatures (ECS).

Wireless Routing using BGP
Notation: The following discussion is based on Figure 1, which shows a wireless network. The circles represent areas of coverage of the transmitter nodes located at their centers, which are represented by small colored discs. The arrows represent various messages broadcast by the nodes at the tail. Note that although the arrows point to particular directions, every node within the corresponding circle is able to receive that message. Each circle has the same radius so that any node X is covered by some node Y iff Y is covered by X. Two nodes with non-overlapping coverage can communicate by using intermediate nodes as forwarders. Each node has a permanently active receiver and a passive transmitter that activates when a message is to be sent or a received message is to be forwarded. All messages sent by the transmitter are broadcast to anyone in the covered area. Senders of broadcasts are uniquely determined via this public key. In other words, it is not possible for a broadcasting node to conceal its identity.
The symbol X ⇐ Y denotes the string "There is a metric 1 path from Y to X" and the symbol X ⇐ denotes the string "There is a metric 0 path from X to X". The symbol X →: m indicates that m is broadcast by X. S X (m) indicates a signature on message m by X using an existentially unforgeable signature scheme (we assume that the signature scheme provides message recovery).
BGP updates: (control plane) Refer to Fig. 1. The following updates are sent for routes to A. Each signature (except the first) implies a hop of metric 1. After the above updates have been transmitted and all signatures are verified, each node updates its routing table to contain a tuple (destination, next-hop, metric). For instance C's table will contain the entry (A, B, 2). See [1] and Section 3.2 for details on how the nodes construct the table. The nodes use this table to decide when to broadcast a received data packet and when to keep silent. If a packet arrives from a node that is the next hop for the destination, then the packet is dropped, otherwise it is forwarded.
Forwarding: (data plane) node E broadcasts a data packet destined to A. On receiving this packet, node C will activate its transmitter to forward the message (since C's routing table shows that E is not the next-hop on route to A). Both B and D will receive this broadcast from C but only B will activate to forward it further (since D's routing table shows that C is the next-hop for destination A). Finally, the broadcast of B is received by A and there is no further forwarding.
Route truncation attack: Although the signatures ensure that fake routes cannot be created, they do not ensure that intermediate routes are not truncated. As an example, F is an attacker who needs to intercept the above data packet. First note that using the above updates, D's routing table is set to discard data packets received from C and addressed to A. Thus, such packets would never be received by F . To launch its attack, F pretends to have a shorter route to A than C does. To do this, F replaces its routing update broadcast in Step 6 with the following: On receiving this update, node D will believe that the route to A via F is shorter. Consequently, D will update its routing table to forward a data packet received from C and addressed to A. This general attack is called route trun-cation. In this attack, every data packet sent by E and addressed to A will be received by F . Although we only considered an eavesdropping attack, it is trivial for F to launch a DoS attack. For instance, if F drops all data plane traffic, it can ensure that data packets originating from D and addressed to A never reach their destination.
Secure-BGP Routing: A possible way to disallow this attack is to use Secure-BGP (S-BGP), which is an augmented version of BGP. S-BGP requires that updates be recipient specific. Although S-BGP is designed for wired networks, the same concept can be adapted to wireless. S-BGP requires that each host be aware of their immediate neighbors (in this context, receivers within its coverage). S-BGP assumes that this information has somehow been established. Let X and Y denote nodes within E's and F 's coverages respectively (but not covered by any other node). The S-BGP updates are as follows.
The above protocol is secure from route truncation attack. From an application perspective, the only difference between (ordinary) BGP and S-BGP is that while BGP is resistant to every attack except route truncation attacks, S-BGP is also resistant to such attacks.
Stateless Routing: Observe that the S-BGP protocol of Example 2 has two major drawbacks: (1) Each router must be "aware" of its neighbors, and (2) In the example, router C can no longer broadcast the same message for every neighbor. This has scalability problems as follows. Firstly, every transmitter must have prior knowledge of all receivers within its coverage, which is clearly problematic. Secondly, since each update is peer-specific, even a single route change could result in a large number of broadcasts by a node with many receivers in its coverage. It would be much simpler if the underlying routing protocol resisted route truncation attacks and required each router to broadcast only one short message on each update without being aware of its neighbors/receivers. We call such a protocol a Stateless Routing Protocol. To avoid the route truncation attack in a stateless protocol, given the message in Step 4 of Example 1, attacker F should not be able to extract S A (A ⇐). Our Contribution: We present a stateless routing protocol that resists route truncation attacks. Our proposed protocol, called Stateless Secure-BGP (SS-BGP) is a variation of S-BGP and provides the following benefits: 1. It is fully stateless -routers need not be aware of their neighboring receivers. 2. It is communication efficient -one constant size broadcast per update irrespective of the number of peers.

Related Work
Current research assumes the stateful scenario of Example 2 (S-BGP), and is focused on reducing the number of signatures transmitted and/or processing time [6,7]. For instance, aggregate signatures have been proposed to keep the signature payload to a constant size [6]. The authors of [8] propose the use of Signature Amortization [7] coupled with aggregate or sequential aggregate signatures [9] to reduce the size of update messages and the signing time. The authors of [10] propose the use of identity-based sequential aggregate signatures (IBSAS) to authenticate routing updates. However, the above works assume a stateful environment, where information about immediate peers is known. and do not consider the route truncation attack described above using Example 1 (where information about the next-hop is not available to the current signer). Specifically, the above works do not consider the attack where given the message in Step 6, router F is able to compute the message sent in Step 1 without extracting the private keys of all of {A, B, C, D, E}.

The Building Blocks
Notation: We first develop some notation to deal with ordered elements, which we call sequences.

1.
A sequence is similar to a set except that the order of its elements is important. Elements of a sequence are written in order, and enclosed within the symbols , . For instance, y 1 , y 2 , y 3 is a sequence. The symbol θ denotes the empty sequence with zero elements. 2. Let ℓ a = y 1 , y 2 , . . . , y k be some non-empty sequence. For any other sequence ℓ b , we say that ℓ b ≺ ℓ a if and only if ℓ b = y 1 , y 2 , . . . , y i and 0 ≤ i ≤ k. We say that two sequences {ℓ a , ℓ b } overlap if there exists a nonempty sequence ℓ such that ℓ ≺ ℓ a and ℓ ≺ ℓ b . For instance, { y 1 , y 2 , y 1 } overlap, while { y 1 , y 2 , y 2 } do not. 3. For any two sequences ℓ a , ℓ b , the symbol ℓ a ∪ ℓ b denotes the set of elements that belong to at least one of {ℓ a , ℓ b }. Similarly ℓ a ∩ ℓ b denotes the set of elements that belong to both ℓ a and ℓ b . We denote by ℓ a ⊙ ℓ b to be the set of elements from the largest sequence ℓ such that ℓ ≺ ℓ a and ℓ ≺ ℓ b . Clearly, for two overlapping sequences {ℓ a , ℓ b }, we have that ℓ a ⊙ ℓ b = ∅. 4. Collapsing Rule: Any sequence y 1 , y 2 , . . . y i , y i+1 is equivalent to the sequence y 1 , y 2 , . . . y i+1 .

Enhanced Chain Signatures
In [5], a novel signature scheme called Chain Signatures (CS) is presented, which is essentially a combination of Boneh et al.'s aggregate signatures and Verifiably Encrypted Signatures (VES) [6]. The nice property about CS is that in addition to ordinary properties, they also provide truncation resilience. In the model of [5], every signer signs the same message. We consider an extension of CS, called Enhanced Chain Signatures (ECS) in which each signer may sign different messages. Note that CS can be extended to allow signers to sign different messages by using another existentially unforgeable signature scheme in conjunction as discussed in the original paper. However, ECS offers better performance and a cleaner security definition. ECS is described below.
1. If ℓ = θ and σ = 1, the algorithm outputs VALID. Difference with a CS scheme: If for every sequence (m 1 , y 1 ), (m 2 , y 2 ), . . . to be signed, holds ∀i : m i = m 1 , then the ECS scheme is also a CS scheme.
Security Model: We define the security of ECS in the adaptive known key (AKK) model. 2 This notion is called security under adaptive known key and chosen message attack. We define two variants using a parameter ω such that setting ω = 1 results in the weaker variant.
Game ECS-UNF ω (τ ) Setup. The challenger gives the security parameter τ to the adversary A, who then selects a game parameter n (the number of public keys) and an n bit string extr (the 1s of extr denote the indexes of the public keys that the adversary wants to extract). Let extr[i] denote the i th bit of extr. On receiving (n, extr), the challenger generates n key-pairs (x i , y i ) R ← ECS-KeyGen(τ ) (1 ≤ i ≤ n) and gives the set Y = {y i } 1≤i≤n of n public keys along with set X = {x i |extr[i] = 1} 1≤i≤n of extracted private keys to A. In the following, we denote by L the set of all non-empty sequences of pairs (m, y) ∈ {0, 1} * × Y such that no y is repeated. Queries. Working adaptively, A makes queries as follows: 1. Extract : This query consists of a public key y ∈ Y . If ω = 1, the challenger responds with ⊥. Otherwise, it responds with the private key corresponding to y.

ECS-Sign:
This query consists of a sequence ℓ ∈ L. The challenger responds with an ECS signature on ℓ.

Output. A outputs a pair (ℓ
Definition 31 (Non-signable Sequence) In the game, let Y X ⊂ Y and L S ⊂ L be the set of inputs to the extract and ECS-sign queries respectively (Note: In the following, we also consider the use of hash functions in the construction.

Definition 32
The ECS scheme Σ is (n, τ, t, q s , q e , q h , ǫ)-UNF-ω-secure for ω ∈ {1, 2} if, for game parameters τ and n, there is no adversary A that runs for time at most t; makes at most (q s , q e , q h ) chain-sign, extract and hash queries respectively; and wins Game ECS-UNF ω (τ ) with probability at least ǫ.
Discussion: Roughly speaking, the above security notion implies security under two types of forgeries [5]. We illustrate this with an example. The first forgery (called ordinary forgery) occurs when the adversary manages to output a valid ECS signature on a sequence ℓ = (m 1 , y 1 ), (m 2 , y 2 ) after making an ECS-sign query on ℓ 1 = (m 1 , y 1 ) but without making an extract query on y 2 . This is the type of forgery that all multisignatures schemes (including the ones discussed in Section 2.1) resist. The second type of forgery in ECS (called extraction forgery) occurs when the adversary manages to output a valid ECS signature on ℓ = (m 1 , y 1 ), (m 2 , y 2 ) after making an ECS-sign query on ℓ 3 = (m 1 , y 1 ), (m 2 , y 2 ), (m 3 , y 3 ) but without making an extract query on y 3 and one of {y 1 , y 2 }. A scheme secure against an extraction forgery is said to be truncation resilient. Note that none of the schemes mentioned in Section 2.1 consider extraction forgery in their security definitions.
Construction: A construction of ECS is given in Appendix A.

The BGP Routing Protocol
It is helpful to refer to Figure 1 in the following discussion. As mentioned earlier, this protocol is not resistant to route truncation attacks.
Consider a routing update for a particular destination. This routing update propagates in a structure represented by a tree rooted at the destination node with routers at level i representing nodes of the tree at level i of the update (the root node is considered to be at level 1). For any positive integer i, consider an arbitrary node at level i + 1 of the tree. Label as R 1 , R 2 , . . . , R i+1 , the sequence of nodes in the path from the root node to this node (both inclusive). Denote by Sign i , Verify i the sign and verify functions of node R i under an existentially unforgeable signature scheme. R 0 is a constant string used for notational convenience. BGP has two phases: Initialize and Update.
Initialize Let t 1 be a timestamp when this update is initiated. The initiator Abort if any of the above checks fail, otherwise, update routing table and proceed to the next step. 2. Propagation: Set sig i+1 ← Sign i+1 (m i+1 ); U i+1 ← U i , (m i+1 , sig i+1 )) ; and broadcast U i+1 .
If the update has been successfully been validated and propagated, then we say that the update has been accepted. Correctness: Step 1. ensures that the update is of the correct format. If all nodes are honest then the only steps where validation can fail are 1.
Step iii., when the existing routing table has a better route.
In either case, the protocol behaves correctly and implements BGP [1].

Security:
The security is captured in the Validation stage as follows: 1.

Weakness: The weakness in this protocol is that although
Step v. ensures that each node j ∈ [1..i] accepted this update, it does not ensure that these are the only nodes that accepted this update. Specifically, it does not prevent the route truncation attack discussed in Section 2. For instance, when R i+1 receives this update, it cannot ensure that R i received this update from R i−1 , since R i could have truncated several intermediate entries. Due to this weakness, the above protocol is not suitable for use in an real-world environment.
Advantages: The primary advantage is that of statelessness -any node R i never needs knowledge of R i+1 . Therefore, there is no need to establish knowledge of immediate neighbors in order to use the protocol. Secondly, since update R i is independent of R i+1 , the same update can be used by several nodes at level i+1.

Stateless Secure BGP using ECS
As in Section 3.2, let R 1 , R 2 , . . . be any arbitrary sequence of nodes that would be affected by a given update 3 , and t i be the timestamp at which the update originated/arrived at node i. Let (x i , y i ) be the (private, public) key-pair of node R i under an ECS scheme. Assume that every node has a distinct public key. The SS-BGP protocol is as follows.
Correctness: Referring to the basic BGP protocol of Section 3.2, the only difference is in Step v. Assuming that the validation in this step always passes, the above protocol then implements BGP in presence of honest users.
Security : The only difference from the protocol of Section 3.2 regarding security is in Step v., where ECS-Verify is used. First note that if the ECS scheme is UNF-1 secure then the protocol indeed ensures that each node j ∈ [1.
.i] accepted this update. Now consider Figure  D and masquerades as D in the hope of making the route at least one hop shorter. This attack is unavoidable using all existing methods for wired networks, including those based on S-BGP and the ones discussed in 2.
1. An attacking node can always forward messages without modification so that its presence is never detected. However, in the case of wireless networks, there are possible ways to detect this attack. Under our original assumption that senders of broadcasts can be uniquely identified, the repeating attack is not possible. Note that this assumption is quite strong. A possible way to avoid this assumption would be to encode the GPS coordinates of each node in the update along with the timestamp (see Footnote 4). Using this technique, it is possible to determine if a message was sent via a repeater or not.
Communication Overhead : Assuming that public keys can be uniquely identified by IP addresses, the sequences ℓ i can be constructed at the receiver's end by knowing the timestamps (t 1 , t 2 , . . . , t i ) and IP addresses (R 1 , R 2 , . . . , R i ). Consequently, the only overhead in this protocol is that of one single chain signature σ i , which is an element of G 1 and is less than 30 bytes using the parameters of [5]. Contrast this with basic BGP or S-BGP, both of which incur an overhead of i signatures.
Storage and Performance: The keys are elements of G 1 and can be stored in ≤ 30 bytes [5]. The benchmarks of [11] indicate the following performance estimates of the above protocol (assuming n nodes in the path): 1. Update Propagation: one exponentiation and addition in G 1 , and one computation of H (total < 2ms). 2. Update Verification: n pairing computations and multiplications in G 2 , and n computations of H (giving < 1 second for n = 100).
To conclude, SS-BGP based on ECS is at least as secure and as computationally efficient as S-BGP based on the signature schemes of [6,10] without the extra overhead of neighbor discovery, multiple signature computation, multiple broadcasts and multiple signatures in each broadcast.
Multiple Updates Aggregation : In the above description, we assumed that each advertisement U i contains only one route and is transmitted instantaneously. In the real world, each advertisement contains multiple routes and is sent periodically. Fortunately, the ECS scheme allows for signature aggregation and aggregate verification where a large number of ECS signatures are verified at once [6].

Conclusion
In this paper we presented an efficient stateless routing protocol for wireless networks called Stateless Secure BGP (SS-BGP). Our protocol is based on ordinary BGP, which allows forwarding nodes to build a routing table without prior knowledge of neighboring forwarders, and allowing a single broadcast per node irrespective of the number of neighbors. We call such a protocol stateless. However, BGP used in this manner does not resist route truncation attacks, and is therefore useless for practical purposes. In order to prevent such attacks, modern implementations use a stateful variant of BGP called Secure-BGP (S-BGP). S-BGP requires forwarding nodes to have prior knowledge of their immediate neighbors and requires as many broadcasts per node as there are neighbors. Although sufficient for wired networks, S-BGP has scalability issues in mobile ad-hoc wireless networks with low data plane traffic because of the need to constantly keep updated information about neighbors in order to keep updated routing tables.
SS-BGP is based on stateless BGP and resists route truncation attacks. The main ingredient of our protocol is an authentication primitive called Enhanced Chain Signatures (ECS), which is an extension of Chain Signatures (CS) of [5]. The main property of CS and ECS that differentiates them from other multisignature schemes is that in addition to standard authentication, both primitives also provide truncation resilience (see [5] for a formal discussion of this concept). In our context, this property translates to route truncation resilience in a stateless implementation of BGP.
In summary, S-BGP incurs the following overhead: (1) neighbor discovery, (2) multiple signature computation, (3) multiple broadcasts, and (4) multiple signatures in each broadcast. Although the signature schemes of [6,10] are able to address issue (4), they do not address the remaining three. SS-BGP based on ECS is as secure and computationally efficient as S-BGP based on the signature schemes of [6,10] without any of the above overheads. This feature makes SS-BGP particularly suited for use in a wireless environment.