Security and Self-stabilization in Sensor Network Services
Wireless sensor networks consist of small sensor nodes that monitor their environment and that together can cover vast geographical regions. It is a promising field with many possible applications in different application areas. Typically the nodes do not have any preexisting information about the network topology when deployed. Instead, they gather information about their local topology by exchanging information with the other nodes in their vicinity, using wireless communication. Using this information they can organize themselves according to the needs of the applications of the network. Sensor nodes are often very limited in computing power, memory and battery life. They have traffic patterns different from those of many other types of networks. New algorithms are often needed to suit these conditions. For networks that consist of a very large number of nodes, algorithms have to scale well.
Security and fault tolerance are of high importance for many sensor network applications. A sensor network application needs to remain functioning even when nodes fail or are attacked in different ways. Sensor nodes often reside in harsh environments that can destroy them during or after deployment. One potent form of fault tolerance is Self-stabilization. A self-stabilizing system can recover from an arbitrary state in a finite amount of time. Security in wireless sensor networks is further complicated by the fact that the nodes often are physically available for attackers to destroy, capture or manipulate in other ways. The threat of compromised nodes inside a network that are controlled by an attacker is a concern that needs to be taken into account.
High precision synchronized clocks are a fundamental need of many applications and of other services. We present the first secure and self-stabilizing clock synchronization algorithm for sensor networks that is resilient against attacks from outside as well as by compromised nodes from inside. Sensor nodes also need to organize their own network. A common way is to cluster the nodes together into groups. They are used by many applications and other fundamental services. We present a self-stabilizing algorithm for clustering. It uses redundant paths to be resilient against captured nodes in the network. It assumes perfect message transfers and lock step synchronization of the nodes. In addition, we present a clustering algorithm, that is a further development of that work, that can handle unreliable communication media and unsynchronized nodes, assuming a limit on clock rate differences.
Secure and Resilient Computer Systems