- Introduction
- Issues in Designing a Transport Layer Protocol for Ad Hoc Wireless Networks
- Design Goals of a Transport Layer Protocol for Ad Hoc Wireless Networks
- Classification of Transport Layer Solutions
- TCP over Ad Hoc Wireless Networks
- Other Transport Layer Protocols for Ad Hoc Wireless Networks
- Security in Ad Hoc Wireless Networks
- Network Security Requirements
- Issues and Challenges in Security Provisioning
- Network Security Attacks
- Key Management
- Secure Routing in Ad Hoc Wireless Networks
- Summary
- Problems
- Bibliography
9.12 SECURE ROUTING IN AD HOC WIRELESS NETWORKS
Unlike the traditional wired Internet, where dedicated routers controlled by the Internet service providers (ISPs) exist, in ad hoc wireless networks, nodes act both as regular terminals (source or destination) and also as routers for other nodes. In the absence of dedicated routers, providing security becomes a challenging task in these networks. Various other factors which make the task of ensuring secure communication in ad hoc wireless networks difficult include the mobility of nodes, a promiscuous mode of operation, limited processing power, and limited availability of resources such as battery power, bandwidth, and memory. Section 9.10.1 has pointed out some of the possible security attacks at the network layer. In the following sections, we show how some of the well-known traditional routing protocols for ad hoc networks fail to provide security. Some of the mechanisms proposed for secure routing are also discussed.
9.12.1 Requirements of a Secure Routing Protocol for Ad Hoc Wireless Networks
The fundamental requisites of a secure routing protocol for ad hoc wireless networks are listed as follows:
-
Detection of malicious nodes: A secure routing protocol should be able to detect the presence of malicious nodes in the network and should avoid the participation of such nodes in the routing process. Even if such malicious nodes participate in the route discovery process, the routing protocol should choose paths that do not include such nodes.
-
Guarantee of correct route discovery: If a route between the source and the destination nodes exists, the routing protocol should be able to find the route, and should also ensure the correctness of the selected route.
-
Confidentiality of network topology: As explained in Section 9.10.1, an information disclosure attack may lead to the discovery of the network topology by the malicious nodes. Once the network topology is known, the attacker may try to study the traffic pattern in the network. If some of the nodes are found to be more active compared to others, the attacker may try to mount (e.g., DoS) attacks on such bottleneck nodes. This may ultimately affect the on-going routing process. Hence, the confidentiality of the network topology is an important requirement to be met by the secure routing protocols.
-
Stability against attacks: The routing protocol must be self-stable in the sense that it must be able to revert to its normal operating state within a finite amount of time after a passive or an active attack. The routing protocol should take care that these attacks do not permanently disrupt the routing process. The protocol must also ensure Byzantine robustness, that is, the protocol should work properly even if some of the nodes, which were earlier participating in the routing process, turn out to become malicious at a later point of time or are intentionally damaged.
In the following sections, some of the security-aware routing protocols proposed for ad hoc wireless networks are discussed.
9.12.2 Security-Aware Ad Hoc Routing Protocol
The security-aware ad hoc routing (SAR) protocol [25] uses security as one of the key metrics in path finding. A framework for enforcing and measuring the attributes of the security metric has been provided in [25]. This framework also enables the use of different levels of security for different applications that use SAR for routing. In ad hoc wireless networks, communication between end nodes through possibly multiple intermediate nodes is based on the fact that the two end nodes trust the intermediate nodes. SAR defines level of trust as a metric for routing and as one of the attributes for security to be taken into consideration while routing. The routing protocol based on the level of trust is explained using Figure 9.14. As shown in Figure 9.14, two paths exist between the two officers O1 and O2 who want to communicate with each other. One of these paths is a shorter path which runs through private nodes whose trust levels are very low. Hence, the protocol chooses a longer but secure path which passes through other secure (officer) nodes.
Figure 9.14 Illustration of the level of trust metric.
The SAR protocol can be explained using any one of the traditional routing protocols. This section explains SAR using the AODV protocol [18] discussed in detail in Chapter 7. In the AODV protocol, the source node broadcasts a RouteRequest packet to its neighbors. An intermediate node, on receiving a RouteRequest packet, forwards it further if it does not have a route to the destination. Otherwise, it initiates a RouteReply packet back to the source node using the reverse path traversed by the RouteRequest packet. In SAR, a certain level of security is incorporated into the packet-forwarding mechanism. Here, each packet is associated with a security level which is determined by a number calculation method (explained later in this section). Each intermediate node is also associated with a certain level of security. On receiving a packet, the intermediate node compares its level of security with that defined for the packet. If the node's security level is less than that of the packet, the RouteRequest is simply discarded. If it is greater, the node is considered to be a secure node and is permitted to forward the packet in addition to being able to view the packet. If the security levels of the intermediate node and the received packet are found to be equal, then the intermediate node will not be able to view the packet (which can be ensured using a proper authentication mechanism); it just forwards the packet further.
Nodes of equal levels of trust distribute a common key among themselves and with those nodes having higher levels of trust. Hence, a hierarchical level of security could be maintained. This ensures that an encrypted packet can be decrypted (using the common key) only by nodes of the same or higher levels of security compared to the level of security of the packet. Different levels of trust can be defined using a number calculated based on the level of security required. It can be calculated using many methods. Since timeliness, in-order delivery of packets, authenticity, authorization, integrity, confidentiality, and non-repudiation are some of the desired characteristics of a routing protocol, a suitable number can be defined for the trust level for nodes and packets based on the number of such characteristics taken into account.
The SAR mechanism can be easily incorporated into the traditional routing protocols for ad hoc wireless networks. It could be incorporated into both on-demand and table-driven routing protocols. The SAR protocol allows the application to choose the level of security it requires. But the protocol requires different keys for different levels of security. This tends to increase the number of keys required when the number of security levels used increases.
9.12.3 Secure Efficient Ad Hoc Distance Vector Routing Protocol
Secure efficient ad hoc distance vector (SEAD) routing protocol [26], is a secure ad hoc routing protocol based on the destination-sequenced distance vector (DSDV) routing protocol [27] discussed in Chapter 7. This protocol is mainly designed to overcome security attacks such as DoS and resource consumption attacks. The operation of the routing protocol does not get affected even in the presence of multiple uncoordinated attackers corrupting the routing tables. The protocol uses a one-way hash function and does not involve any asymmetric cryptographic operation.
Distance Vector Routing
Distance vector routing protocols belong to the category of table-driven routing protocols. Each node maintains a routing table containing the list of all known routes to various destination nodes in the network. The metric used for routing is the distance measured in terms of hop-count. The routing table is updated periodically by exchanging routing information. An alternative to this approach is triggered updates, in which each node broadcasts routing updates only if its routing table gets altered. The DSDV protocol for ad hoc wireless networks uses sequence number tags to prevent the formation of loops, to counter the count-to-infinity problem, and for faster convergence. When a new route update packet is received for a destination, the node updates the corresponding entry in its routing table only if the sequence number on the received update is greater than that recorded with the corresponding entry in the routing table. If the received sequence number and the previously recorded sequence number are both equal, but if the routing update has a new value for the routing metric (distance in number of hops), then in this case also the update is effected. Otherwise, the received update packet is discarded. DSDV uses triggered updates (for important routing changes) in addition to the regular periodic updates. A slight variation of DSDV protocol known as DSDV-SQ (DSDV for sequence numbers) initiates triggered updates on receiving a new sequence number update.
One-Way Hash Function
SEAD uses authentication to differentiate between updates that are received from non-malicious nodes and malicious nodes. This minimizes resource consumption attacks caused by malicious nodes. SEAD uses a one-way hash function for authenticating the updates. A one-way hash function (H) generates a one-way hash chain (h1, h2, . . ). The function H maps an input bit-string of any length to a fixed length bit-string, that is, H: (0, 1)* → (0, 1)p, where pis the length in bits of the output bit-string. To create a one-way hash chain, a node generates a random number with initial value x ∊ (0, 1)p. h0first number in the hash chain is initialized to x. The remaining values in the chain are computed using the general formula, hi = H(hi-1) for 0 ≤ i ≤ n, for some n. Now we shall see how the one-way hash function incorporates security into the existing DSDV-SQ routing protocol. The SEAD protocol assumes an upper bound on the metric used. For example, if the metric used is distance, then the upper bound value m 1 defines the maximum diameter (maximum of lengths of all the routes between a pair of nodes) of the ad hoc wireless network. Hence, the routing protocol ensures that no route of length greater than m hops exists between any two nodes.
If the sequence of values calculated by a node using the hash function H is given by (h1, h2, . . , hn), where n is divisible by m, then for a routing table entry with sequence number i, let &. If the metric j (distance) used for that routing table entry is 0 ≤ j ≤ m 1, then the value hkm+j is used to authenticate the routing update entry for that sequence number i and that metric j. Whenever a route update message is sent, the node appends the value used for authentication along with it. If the authentication value used is hkm+j, then the attacker who tries to modify this value can do so only if he/she knows hkm+j-1. Since it is a one-way hash chain, calculating hkm+j-1 becomes impossible. An intermediate node, on receiving this authenticated update, calculates the new hash value based on the earlier updates (hkm+j-1), the value of the metric, and the sequence number. If the calculated value matches with the one present in the route update message, then the update is effected; otherwise, the received update is just discarded.
SEAD avoids routing loops unless the loop contains more than one attacker. This protocol could be implemented easily with slight modifications to the existing distance vector routing protocols. The protocol is robust against multiple uncoordinated attacks. The SEAD protocol, however, would not be able to overcome attacks where the attacker uses the same metric and sequence number which were used by the recent update message, and sends a new routing update.
9.12.4 Authenticated Routing for Ad Hoc Networks
Authenticated routing for ad hoc networks (ARAN) routing protocol [28], based on cryptographic certificates, is a secure routing protocol which successfully defeats all identified attacks in the network layer. It takes care of authentication, message integrity, and non-repudiation, but expects a small amount of prior security coordination among nodes. In [28], vulnerabilities and attacks specific to AODV and DSR protocols are discussed and the two protocols are compared with the ARAN protocol.
During the route discovery process of ARAN, the source node broadcasts RouteRequest packets. The destination node, on receiving the RouteRequest packets, responds by unicasting back a reply packet on the selected path. The ARAN protocol uses a preliminary cryptographic certification process, followed by an end-to-end route authentication process, which ensures secure route establishment.
Issue of Certificates
This section discusses the certification process in which the certificates are issued to the nodes in the ad hoc wireless network. There exists an authenticated trusted server whose public key is known to all legal nodes in the network. The ARAN protocol assumes that keys are generated a priori by the server and distributed to all nodes in the network. The protocol does not specify any specific key distribution algorithm. On joining the network, each node receives a certificate from the trusted server. The certificate received by a node A from the trusted server T looks like the following:
Here, IPA, kA+, t, e, and kT- represent the IP address of node A, the public key of node A, the time of creation of the certificate, the time of expiry of the certificate, and the private key of the server, respectively.
End-to-End Route Authentication
The main goal of this end-to-end route authentication process is to ensure that the correct intended destination is reached by the packets sent from the source node. The source node S broadcasts a RouteRequest/RouteDiscovery packet destined to the destination node D. The RouteRequest packet contains the packet identifier [route discovery process (RDP)], the IP address of the destination (IPD), the certificate of the source node S (Certs), the current time (t), and nonce ns The process can be denoted as below. Here, KS− is the private key of the source node S.
Whenever the source sends a route discovery message, it increments the value of nonce. Nonce is a counter used in conjunction with the time-stamp in order to make the nonce recycling easier. When a node receives an RDP packet from the source with a higher value of the source's nonce than that in the previously received RDP packets from the same source node, it makes a record of the neighbor from which it received the packet, encrypts the packet further with its own certificate, and broadcasts it further. The process can be denoted as follows:
An intermediate node B, on receiving an RDP packet from a node A, removes its neighbor's certificate, inserts its own certificate, and broadcasts the packet further. The destination node, on receiving an RDP packet, verifies node S's certificate and the tuple (Ns, t) and then replies with the RouteReply packet (REP). The destination unicasts the REP packet to the source node along the reverse path as follows:
where node X is the neighbor of the destination node D, which had originally forwarded the RDP packet to node D. The REP packet follows the same procedure on the reverse path as that followed by the route discovery packet. An error message is generated if the time-stamp or nonce do not match the requirements or if the certificate fails. The error message looks similar to the other packets except that the packet identifier is replaced by the ERR message.
Table 9.3 shows a comparison between the AODV, DSR, and ARAN protocols with respect to their security-related features. ARAN remains robust in the presence of attacks such as unauthorized participation, spoofed route signaling, fabricated routing messages, alteration of routing messages, securing shortest paths, and replay attacks.
Table 9.3. Comparison of vulnerabilities of ARAN with DSR and AODV protocols
Attacks |
Protocols |
||
---|---|---|---|
AODV |
DSR |
ARAN |
|
Modifications required during remote redirection |
Sequence number and hopcounts |
Source routes |
None |
Tunneling during remote redirection |
Yes |
Yes |
Yes |
Spoofing |
Yes |
Yes |
No |
Cache poisoning |
No |
Yes |
No |
9.12.5 Security-Aware AODV Protocol
This section discusses security solutions that address a particular security flaw in the AODV routing protocol [18]. AODV is an on-demand routing protocol where the route discovery process is initiated by sending RouteRequest packets only when data packets arrive at a node for transmission. A malicious intermediate node could advertise that it has the shortest path to the destination, thereby redirecting all the packets through itself. This is known as a blackhole attack, as explained in Section 9.10.1. The blackhole attack is illustrated in Figure 9.15. Let node M be the malicious node that enters the network. It advertises that it has the shortest path to the destination node D when it receives the RouteRequest packet sent by node S. The attacker may not be able to succeed if node A, which also receives the RouteRequest packet from node S, replies earlier than node M. But a major advantage for the malicious node is that it does not have to search its routing table for a route to the destination. Also, the RouteReply packets originate directly from the malicious node and not from the destination node. Hence, the malicious node would be able to reply faster than node A, which would have to search its routing table for a route to the destination node. Thus, node S may tend to establish a route to destination D through the malicious node M, allowing node M to listen to all packets meant for the destination node.
Figure 9.15 Illustration of blackhole problem.
Solutions for the Blackhole Problem
One of the solutions for the blackhole problem is to restrict the intermediate nodes from originating RouteReply packets. Only the destination node would be permitted to initiate RouteReply packets. Security is still not completely assured, since the malicious node may lie in the path chosen by the destination node. Also, the delay involved in the route discovery process increases as the size of the network increases. In another solution to this problem, suggested in [29], as soon as the RouteReply packet is received from one of the intermediate nodes, another RouteRequest packet is sent from the source node to the neighbor node of the intermediate node in the path. This is to ensure that such a path exists from the intermediate node to the destination node. For example, let the source node send RouteRequest packets and receive RouteReply through the intermediate malicious node M. The RouteReply packet of node M contains information regarding its next-hop neighbor nodes. Let it contain information about the neighbor node E. Then, as shown in Figure 9.16, the source node S sends FurtherRouteRequest packets to this neighbor node E. Node E responds by sending a FurtherRouteReply packet to source node S. Since node M is a malicious node which is not present in the routing list of node E, the FurtherRouteReply packet sent by node E will not contain a route to the malicious node M. But if it contains a route to the destination node D, then the new route to the destination through node E is selected, and the earlier selected route through node M is rejected. This protocol completely eliminates the blackhole attack caused by a single attacker. The major disadvantage of this scheme is that the control overhead of the routing protocol increases considerably. Also, if the malicious nodes work in a group, this protocol fails miserably.
Figure 9.16 Propagation of FurtherRouteRequest and FurtherRouteReply.