Journal of Information Security
Vol.05 No.04(2014), Article ID:50313,14 pages
10.4236/jis.2014.54018
An Efficient Trusted Computing Base for MANET Security
Somya D. Mohanty1, Vinay Thotakura2, Mahalingam Ramkumar3
1Social Science Research Center, Mississippi State University, Starkville, USA
2Microsoft, Seattle, USA
3Department of Computer Science and Engineering, Mississippi State University, Starkville, USA
Email: somya.mohanty@ssrc.msstate.edu, tvinay.thotakura@gmail.com, ramkumar@cse.msstate.edu
Copyright © 2014 by authors and Scientific Research Publishing Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/



Received 28 July 2014; revised 25 August 2014; accepted 20 September 2014
ABSTRACT
Devices participating in mobile ad hoc networks (MANET) are expected to strictly adhere to a uniform routing protocol to route data packets among themselves. Unfortunately, MANET devices, composed of untrustworthy software and hardware components, expose a large attack surface. This can be exploited by attackers to gain control over one or more devices, and wreak havoc on the MANET subnet. The approach presented in this paper to secure MANETs restricts the attack surface to a single module in MANET devices a trusted MANET module (TMM). TMMs are deliberately constrained to demand only modest memory and computational resources in the interest of further reducing the attack surface. The specific contribution of this paper is a precise characterization of simple TMM functionality suitable for any distance vector based routing protocol, to realize the broad assurance that “any node that fails to abide by the routing protocol will not be able to participate in the MANET”.
Keywords:
Algorithm/Protocol Design and Analysis, Network Protocols, Cryptographic Controls, Mobile Ad-Hoc Networks (MANET), Distance Vector (DV) Protocols, Authenticated Data Structures (ADS)

1. Introduction
A mobile ad hoc network (MANET) [1] is a dynamic subnet constituted of mobile computers (or devices) with limited wireless transmission range. MANET devices rely on each other for routing packets among themselves, and consequently, do not depend on a dedicated routing infrastructure.
A MANET routing protocol is a set of rules which dictate the tasks to be performed by every device in a MANET subnet to enable discovery of multi-hop paths for relaying data packets. Such rules govern processes like discovery of neighbors (devices within limited wireless transmission range), exchange of routing infor- mation between neighbors, maintaining a destination table (DT) and a neighbor table (NT) at every device, using information in the DT and NT to forward data packets, etc.
The rules that govern the actions of a MANET device are typically encoded as software executed by the device. Unintended functionality either deliberately hidden malicious functionality, or accidental bugs-in any component of a mobile device could potentially be exploited by attackers to 1) modify the functionality (routing software) of the device, or 2) modify the information stored by the device (in DT and NT), or 3) expose secrets of the device, thereby enabling the attacker to impersonate the device to advertise arbitrary “routing information”. Attackers could be legitimate owners of a device, or entities who may have exploited some hidden functionality in the device to acquire some extent of control over the device. Many such attackers may even collude together to wreak havoc on the ad hoc subnet.
A practical MANET device can come in several shapes and sizes, ranging from laptops to smart phones to special purpose sensors, constructed using a wide range of hardware/software components. It is obviously far from practical to rule out the presence of undesired functionality in every hardware and software component of every device that could take part in a MANET subnet, or malicious behavior/incompetence in every entity that has the ability to gain control of a device. It is, however, far more practical to assure the integrity of a single component in every device. For example, every MANET device could be required to possess a trustworthy chip/ module.
In the rest of this paper we shall refer to such a module/chip as a trusted MANET module (TMM). It is assumed that secrets protected by TMMs cannot be exposed, and the functionality of TMMs cannot be modified. All other software and hardware in every MANET device, and the user in control of the device (either through legitimate or illegitimate means), are assumed to be untrusted/hostile. The trust in TMMs, and more importantly, only the trust in TMMs, is leveraged to realize the assurance that “any device that does not strictly abide by the protocol will not be able to participate in the MANET”.
1.1. Trusted Computing Base for a MANET Device
For any computing system with a desired set of assurances, the trusted computing base (TCB) “is a small amount of software and hardware we need to rely on” [2] to realize the desired assurances. In other words, the desired assurances can be realized even if all other components of the system misbehave. From this perspective, TMMs can be seen as the TCB for MANET devices. As a specification of the TCB we provide a comprehensive functional description of TMMs.
In general, the lower the complexity of any hardware/software component, the lower the risk of unintended functionality. Towards this end, it is desirable that TMM functionality be deliberately constrained to demand low computational and memory resources to enable consummate verification, and thereby rule out hidden functionality in TMMs. Consequently, TMM functionality is restricted to simple sequences of cryptographic hash and logical operations, and to demand only a small constant memory size for their execution.
In the proposed approach the protocol specific rules to be followed by every MANET device are expressed as a simple algorithm
consisting of sequence of logical operations. The TMM functionality necessary to achieve the desired assurances can then be seen as functionality required to a) execute algorithm
inside the TMM and b) TMM functionality necessary to assure the integrity of the dynamic inputs and outputs of
. While the proposed approach has a broad range of applicability (where rules expressed by algorithm
will be different for different application scenarios) in this paper we restrict ourselves to MANET devices adhering to distance vector (DV) based routing protocols.
1.2. Organization
Section 2 sets the background with a review of MANET routing protocols, and attacks on MANET routing that exploit the substantial attack surface exposed by MANET devices. Section 3 provides an overview of the proposed approach in which TMMs serve as the TCB for a MANET node. Section 3.4 outlines protocol specific components of TMM functionality, which include a specification of constants, and an algorithm
for distance vector based routing protocols. The inputs to
are identified as 3 records (a destination records, and 2 neighbor records), and protocol-specific constants, and the outputs are different types of messages created by the TMMs.
In the proposed approach the dynamic DT and NT are stored by the untrusted device as leaves of two index ordered merkle trees (IOMT). Only the roots of the two trees are tracked by the TMM. Section 4 outlines TMM functionality necessary to maintain an IOMT. Section 5 outlines the architecture of TMM and depicts how different elements of TCB functionality come together to provide the guarantee that devices will that do not strictly abide by protocol specific rules (for modifying NRS and DRs, and sending routing information and data packets consistent with the stored NRS and DRs), will not be able to take part in the MANET. Some relevant work in the area is discussed in Section 6.
2. Background
Any routing protocol can be seen as an extension of two basic routing strategies-distance vector (DV) or link-state (LS) approaches. In LS protocols information regarding a destination
is in the form of the state of all links of
(to neighbors of
). All nodes in the subnet possess the same information regarding
.
In DV protocols information regarding
is a destination record (DR) that indicates the hop count to
, and the next hop in the path to
. In general, every node possesses a different DR for destination
. Neighbors exchange DRs amongst themselves, and by comparing DRs for a destination
obtained from all neighbors, a node can determine its best DR for
, which is then stored in a table of DRs-the destination table (DT).
2.1. Distance Vector Protocols
A majority of popular MANET routing protocols are based on the DV approach in which every node maintains a destination table (DT) and a neighbor table (NT). The DT consists of a destination record (DR) for each possible destination. The NT consists of a neighbor record (NR) for each neighbor.
A DR 







In all DV protocols, a DR for destination 







In this fashion, any node in a connected subnet can acquire a DR for destination





Ultimately, the purpose of maintaining the DT and NT is to relay data packets. A device 


















In proactive DV protocols like destination sequenced DV (DSDV) [3] every node initiates a DR periodically- each time with a higher sequence number






2.2. Covert and Overt Attacks
Broadly, an attack by a participating device (say,

An attack is successful if 






Attacks that can be inflicted on a MANET subnet by a participating device can be broadly classified into overt and covert attacks. Overt attacks include incorrect packet formats, and illegal modifications to a relayed DR (for example, changing sequence number, expiry time, or changing hop count in any other way except incrementing by one, etc.). The reason that such attacks are overt is that 1) attacks like incorrect formats can be readily identified, and 2) if suitable cryptographic authentication strategies are used to protect the integrity of DRs advertised by devices, then the receiver of such a packet can readily detect illegal modifications and drop the offending packet.
The main challenges in the practical realization of assurances against overt attacks are two fold. The first stems from the overhead for cryptographic authentication schemes-especially for carrying over authentication over multiple hops. The second is that cryptographic strategies are (ultimately) at most only as strong as the mechanism used for protection of a device’s secrets. The absence of reliable mechanisms to protect secrets assigned to devices from attackers (who may even be the owner of a device) implies that attackers may even share secrets exposed from multiple devices to advertise misleading (but duly authenticated) “routing information” at will.
Unlike overt attacks, covert attacks may not be readily discernible by the receiver of a packet-even with sophisticated cryptographic authentication schemes. Examples of such attacks include 1) replaying DRs that were invalidated (or rendered sub-optimal) due to recent changes in topology; 2) rebroadcasting RREQs (instead of responding with an RREP) when a usable path exists; 3) not relaying data packets, or relaying data packets incorrectly (for example, to a device that is not the next hop in the best DR for the destination); 4) invoking unwarranted RERR packets (even when the link to the next hop is not broken); 5) accepting packets from (or relaying packets to) “neighbors” to whom a bidirectional link does not exist (thereby, making sure that the reverse path will fail), etc. 6) attacks based on misrepresentations of current time; for example, the clock of a device may be modified to make it think that a DR has expired.
The reason that such attacks may not be easily detectable is that in a scenario where a device 













Furthermore, it is also possible for an attacker 










From a broad perspective, covert attacks can be seen as replay attacks where the sender is able to make contradictory statements to different entities. Any rogue process in a MANET device may be able to perpetrate such attacks by either modifying the routing process, or hardware drivers, or modifying the contents of the DT/NT, or by modifying MANET parameters like 
3. Overview of TMM Based Approach
To our knowledge, the proposed approach is the first to address both overt and covert attacks, under the reasonable assumptions of 1) a secure pre-image resistant cryptographic hash function 
All TMMs are identical except that each have a unique identity, and possess unique secrets which enable any two TMMs to compute a pair-wise secret. Every TMM has a clock which ticks at (very close to) the same frequency. However, the clocks of TMMs are not synchronized. In this paper we shall assume that the identity of the TMM in a device 





It is assumed that all components of MANET devices and the user(s) in control of the device are untrusted/ hostile. In other words, the untrusted user/device is able to modify the routing software, and/or the device’s clock, and/or the DT/NT, and may possess complete control over the wireless interface. Not with standing such capabilities attributed to the rogue software/hardware in the device or the user controlling the device, the goal is to ensure that “all devices will indeed abide by the protocol rules”.
Any MANET packet sent by a device 










The TMM approach to secure MANET routing can be seen as consisting of two broad steps: a) representation of protocol rules as a simple algorithm 
Towards the first step we outline an algorithm 

An event can be the a message received from another TMM, or a request from the device. The occurrence of an event may necessitate i) a modification to the DR (say, for destination










Towards assuring the integrity of inputs/outputs of 
3.1. Integrity of Inputs and Outputs
Resource limited TMMs can not store the entire DT and NT inside their protected boundary. TMMs maintain a succinct summary of the DT and NT in the form of two cryptographic hashes 





Similar to the Merkle tree [5] , the IOMT is a binary hash tree maintained by an untrusted prover to demonstrate the integrity of dynamic records (also maintained by the prover) to a resource limited verifier that stores only a single cryptographic hash-the root of the tree. For a database with 



In order for a resource limited verifier (for our purposes, the TMM) to be able verify the integrity of any number of dynamic records stored in an untrusted location (the untrusted device), even a plain merkle hash tree can be used. However, to address covert attacks, it is not sufficient for a TMM to be able to merely verify the integrity of a DR for a destination 



The integrity of constants are assured by including a one-way function of the constants in the process of computing shared secrets between TMMs. Protocol specific constants are used in the process of initializing a TMM to operate in a specific MANET. All TMMs in a MANET will need to be initialized with the same constants, as TMMs initialized with different constants will not be able to agree on a shared secret. Such pairwise secrets are used for computing message authentication codes (MAC) for TMM messages to assure the integrity of messages in transit.
However, protecting the integrity of messages in transit is not sufficient. It is also necessary to have proactive strategies to guarantee that messages created by a TMM 






This issue is addressed by employing “locks”. A lock is a special field 















3.2. Records and Messages
From the perspective of a TMM, a record is of the form

A destination record (DR) for a destination 





The NR 




TMMs exchange authenticated messages (authenticated using pairwise secrets) of three types-HLO messages, DR messages that convey a DR, or data messages that convey the hash of a data packet. All messages have a common format

where 






In DR messages 







3.3. TMM Functions
The functional components of TMM can be broadly classified into a) IOMT functions that enable the TMM to maintain two virtual databases-a DT and NT-by storing only the IOMT roots; b) mutual authentication functions; and c) protocol specific functionality expressed as an algorithm 
These functional components are accessed through interfaces exposed by the TMM. IOMT related functions



Function 









Function 










Inputs to 










3.4. Distance Vector Algorithm
Protocol specific components of the TMM based approach include a specification of constants, and the algorithm 




















In the algorithm in Figure 1 the events can be classified into three broad categories: 1) request from the device (









The constant 







Adding a NR for 





The value 








Figure 1. DV Algorithm.
acknowledgement, the inactive NR is retained for duration 


DR and DATA messages can be sent only to active neighbors, and only if the neighbor does not have the lock 














An acknowledgement for a DR/DATA message from 








For example, when a DATA message is received from 















Creating a new DR for itself implies incrementing the monotonic counter 



Lines 9 - 13 depicts events for which DR 



Lines 13 - 15 depicts events for sending a DR to an active neighbor 



Lines 17 - 29 correspond to events where a message has been received from active neighbor








DATA message (lines 25 to 27) from 








Lines 30 - 33 






4. Index Ordered Merkle Tree
A binary Merkle hash tree is constructed using a pre-image resistant hash function 











4.1. IOMT Leaves and Nodes
An IOMT is very similar to a merkle tree except for the imposition of a special structure for every leaf. The leaves of an IOMT take the form

where 





Corresponding to a leaf 

Two sibling nodes 



At level 





Prover and Verifier: The prover stores all records, leaves, and nodes. The verifier stores only the root of the tree. For purposes of this paper, the prover is the untrusted device; records are DRs/NRs in the DT/NT maintained by the device. The verifier is the TMM in the device.
In the tree maintained by the prover, if a node 
















Thus, if the root of the IOMT is







Inserting/deleting a place holder does not affect the integrity of the NT/DT. However, the roots before and after insertion of a place holder are different. Two roots 

4.2. IOMT Functions
TMMs expose a function 










This secret is used to compute message authentication codes (MAC) for such self-memoranda. Three type of self-memoranda are issued by TMM functions.

A function 














Function 




































If the input 


Note that if changing an IOMT root from 

Two IOMT roots 




Specifically, function 


Form the perspective of TMMs a self-certificate satisfying 
















A DR is of the form 



5. TMM Architecture
TMMs are resource limited modules that have only modest computational and storage abilities. They perform only simple logical operations necessary to execute 
Figure 3 depicts the internal registers of TMMs. Protected non-volatile registers are reserved for the TMM identity






The volatile registers include the IOMT roots 






Figure 2. Algorithmic representation of TMM Functionality.
Figure 3. TMM Non-volatile and volatile registers.
A function 



5.1. Mutual Authentication
Several low complexity key distribution schemes exist to facilitate computation of pairwise keys between two entities. The Modified Leighton Micali Scheme (MLS) [6] is well suited for dynamic networks with a soft limit on the maximum network size. In MLS scheme every node needs to store a single secret, and a pairwise public value corresponding to every node that was inducted earlier into the network. At a time a network has grown to (say) a million entities, the worst case storage requirement is for the last entity inducted into the network, which will need to store a secret and 999,999 public values. The 1000th entity will need to store only 999 public values.
Even if each public value is 16 bytes long, the worst case storage for a network that is expected to support up to 10 million entities is only 160 MB. In practice, as storage-especially unprotected storage-is indeed an inexpensive resource, even for mobile devices. Thus MLS, which requires only a single hash operation to compute a pairwise secret is especially well suited for computing pairwise secret between TMMs. The TMM needs to store only a single secret. The public values can be acquired (from the network operator) and stored by the untrusted device.
The secret 






where 










The MAC secret shared between two TMMs 






The MAC secret 






If the MAC secret employed for a message is



Note that as the MAC secret 











Receiving Messages: TMMs accept messages from other TMMs, or request from the device, and store contents of the message/request in the event register

Note that apart from the contents of the message, the time at which the message was submitted is also recorded in the field 
A function 












5.2. Updating TMM State Using
Function 








As the response to the event may require modification of 3 records, the TMM will expect a 











The register I is used to store other inputs necessary to process an event by executing








The contents of the input register are provided as inputs to a function 









Function 




The protocol specific function 









Till this point 





By providing contents of a leaf in the DT and two leaves in the NT, the device claims that such such leaves are consistent with the IOMT roots 


















If the preconditions (before execution of



Finally, output messages are created depending on the values 
















5.3. Deploying TMM Based MANETs
For MANET secured using TMMs every device has a TMM. A (perhaps off-line) administrator/operator of the MANET specifies the constants to be used. The off-line administrator is also responsible for ensuring that every device has access to public values necessary to facilitate computation of pairwise secrets between TMMs in devices.
To operate in a MANET the device is required to initialize it’s TMM. At this point the device has no records, and the IOMT roots are zero. From this point onwards the device has to maintain it’s DT/NT and the corresponding IOMTs to be in sync with the roots stored inside the TMM. Any number of place holders can be added in either tree by using certificate generation functions to create equivalence certificates and using 
As soon as a TMM is initialized the device can use 






The broad assurance that all devices taking part in a MANET will modify DRs and NRs in exactly the same manner as dictated by the protocol (algorithm
1) Only TMMs initialized with the same set of protocol-specific constants will agree on a pairwise secret. This feature is used to assure the integrity of protocol-specific constants.
2) IOMTs are used to ensure that only DRs/NRs consistent with the IOMT roots stored inside the TMM will be considered as valid;
3) As the function 

4) After modification of the records the device is forced to modify it’s copy of the records in the same way.
5) If messages mandated by 
6. Related Work and Conclusions
Devices taking part in MANET offer an enormous attack surface that can be exploited by attackers. Specifically, hidden malicious functionality in component of the MANET device could be exploited to illegally modify 1) the MANET software, or 2) the DT/NT or the device’s clock, or expose secrets protected by the device to advertise arbitrary routing information, and/or construct clone devices with arbitrary functionality. Current efforts to secure MANETs simply ignore a wide range of attacks stemming from such issues. In the proposed approach to secure MANETs all such attacks are side stepped as no component of the device is trusted in the first place.
Prior efforts in the literature that attempt to secure MANET by leveraging a trustworthy computing module include [7] [8] that attempt to offer some assurances regarding the medium access control layer; the “nuglets of currency” approach in [9] ; the Bloom filter [10] approach in [11] , and the predecessor of the current work in [12] .
In [7] , the wireless transceiver is assumed to be inside a trusted boundary; in [8] the wireless driver is executed inside a trusted boundary. In [9] , nuglets of currency are maintained inside the trusted boundary; they are incremented/decremented based on selfish/selfless acts performed by the device. However, [9] does not address specific mechanisms that will enable a trusted module to unambiguously infer that the associated device has indeed performed a selfish/selfless task.
Gaines et al. [11] argued that mechanisms to guarantee integrity of MANET require resource limited trusted modules to be able to vouch for the integrity of destination table and neighbor table stored by the device. They also recognized the need for the trusted module to identify non existence of routing information. For this purpose, [11] suggested the use of Bloom filters to store succinct summaries of routing records.
In [12] the authors employed an index order merkle tree (IOMT) for keeping track of routing records. The specific improvements in this paper compared to [12] are extending assurance to relay of data packets, and locking mechanism to ensure that messages are not dropped by untrusted middle-men. The proposed approach can be easily extended to other routing protocols by specifying an alternate set of rules in place of
References
- Royer, E.M. and Toh, C.K. (1999) A Review of Current Routing Protocols for Ad-Hoc Mobile Wireless Networks. IEEE Personal Communications, 6, 46-55. http://dx.doi.org/10.1109/98.760423
- Lampson, B., Abadi, M., Burrows, M. and Wobber, E. (1992) Authentication in Distributed Systems: Theory and Practice. ACM Transactions on Computer Systems, 10, 265-310. http://dx.doi.org/10.1145/138873.138874
- Perkins, C.E. and Bhagwat, P. (1994) Highly Dynamic Destination-Sequenced Distance-Vector Routing (dsdv) for Mobile Computers. Proceedings of the Conference on Communications Architectures, Protocols and Applications, SIGCOMM ‘94, New York, 234-244.
- Perkins, C. and Royer, E. (1999) Ad-Hoc on-Demand Distance Vector Routing. Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications, WMCSA ’99, 90-100.
- Merkle, R.C. (1980) Protocols for Public Key Cryptosystems. IEEE Symposium on Security and Privacy, 122.
- Ramkumar, M. (2008) On the Scalability of a “Non-Scalable” Key Distribution Scheme. IEEE SPAWN, Newport Beach.
- Song, J.-H., Wong, V., Leung, V. and Kawamoto, Y. (2003) Secure Routing with Tamper Resistant Module for Mobile Ad Hoc Networks. ACM SIGMOBILE Mobile Computing and Communications Review, 7, 48-49. http://dx.doi.org/10.1145/961268.961286
- Jarrett, M. and Ward, P. (2006) Trusted Computing for Protecting Ad-Hoc Routing. Proceedings of the 4th Annual Communication Networks and Services Research Conference, CNSR ‘06, Washington DC, 61-68.
- Hubaux, J.-P., Buttyán, L. and Capkun, S. (2001) The Quest for Security in Mobile Ad Hoc Networks. Proceedings of the 2nd ACM International Symposium on Mobile Ad Hoc Networking & Computing, MobiHoc ‘01, New York, 146-155.
- Bloom, B.H. (1970) Space/Time Trade-Offs in Hash Coding with Allowable Errors. Communications of the ACM, 13, 422-426. http://dx.doi.org/10.1145/362686.362692
- Gaines, B. and Ramkumar, M. (2008) A Framework for Dual-Agent Manet Routing Protocols. IEEE GLOBECOM 2008 Global Telecommunications Conference, 1-6.
- Thotakura, V. and Ramkumar, M. (2010) Minimal Trusted Computing Base for Manet Nodes. 2010 IEEE 6th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), 91-99.





