Secure Precise Clock Synchronization for Interconnected Body Area Networks

1 Department of Information and Communication Technologies, Pompeu Fabra University, 08018 Barcelona, Spain 2 Department of Signal Theory and Communications, Polytechnic University of Catalonia, 08034 Barcelona, Spain 3 Department of Engineering Informatics and Telecommunications, University of Western Macedonia, 50100 Kozani, Greece 4 Intelligent Energy Area, Telecommunications Technological Centre of Catalonia, 08860 Barcelona, Spain


Introduction
Body area networks (BANs) are receiving a lot of attention for civilian applications [1]. A BAN consists of wireless connected sensors nodes worn by or implated to a human body. Each BAN includes a controller node. The role of this node can be assigned either to a single sensor node or dynamically to any of the nodes of the BAN.
In this paper, we consider the interconnection of multiple BANs by means of the controller nodes. This setup enables quick, modular, and inexpensive deployment of a long range distributed wireless sensor network (WSN) for key applications, such as patient monitoring, for instance, for quick deployment of a medical WSN in a field hospital after disaster events. Each BAN collects vital parameters of a single patient. The cooperation between the different controllers allows for monitoring of multiple patients from a single central or remote location.
In the rest of the paper, we use WSN to refer to the long range wireless network formed by the interconnection of multiple BANs through the controller nodes.
The WSN can be formed in public or hostile areas, where wireless communications can be easily eavesdropped, deleted, and/or modified. In some applications, sensor nodes are left unattended (when detached from the monitored body), being then prone to capture and manipulation by an attacker. The monitored human itself may also be an intruder and, thus, may manipulate its body-attached nodes.
Time synchronization is a key service in WSNs for a diversity of purposes; including data fusion, power management, positioning, message integrity, coordination of future actions, and timestamping of sensed events. However, sensor node clocks have arbitrary starting offsets and nondeterministic fluctuating skews.
Moreover, the special nature of WSNs imposes challenging and intertwined requirements on secure time synchronization design. Firstly, time synchronization must be highly energy-efficient, since sensor nodes operate with batteries. Secondly, time synchronization must be accurate to the microsecond level as to fulfill time-critical BAN applications. Thirdly, time synchronization must be 2 EURASIP Journal on Wireless Communications and Networking secure against passive, active, internal, and external attackers.
Existing secure pairwise time synchronization approaches are based either on receiver-receiver synchronization [2,3] or on sender-receiver synchronization [3][4][5][6]. Based on pairwise time synchronization, secure global time synchronization is achieved by transferring global time from a source node to all the nodes of the network.
Security and accuracy cannot straightforward be provided in WSNs to the cost of sending a larger number of or more frequent synchronization messages for two reasons. Firstly, these solutions impose a high energy cost. Secondly, they do not guarantee that the synchronization of nodes will remain precise between two successive resynchronizations.
We propose a secure, accurate, precise, and energyefficient time synchronization system for a WSN. We combine secure pairwise synchronization protocol (SPS) [4], rate adaptive time synchronization (RATS) [7], and μTESLA [8]. SPS is used to achieve highly accurate and pairwise secure synchronization. RATS is used to maintain the accuracy achieved by SPS throughout a long period of time. μTESLA is employed to enable efficient digital signatures for BAN-wide broadcast message synchronization.
The system can be used in WSN with extremely low-duty cycle nodes. The system achieves resiliency against compromised nodes without requiring repeating synchronization messages or continuous media sensing. The energy cost of the system is also very low.
The contributions of this paper are fivefold. Firstly, we derive the requirements for a secure time synchronization service for WSNs. Secondly, we exhaustively evaluate existing secure time synchronization proposals for WSN. Thirdly, we propose the SPS with sample exchange (SPS-SE) protocol, a SPS-based protocol for synchronizing two nodes and exchanging time observations for RATS. Fourthly, we propose a novel system for secure time synchronization in a WSN. Finally, we exhaustively evaluate the time synchronization proposal. These results are based on computations.
Temperature is a key parameter influencing clock skews. Therefore, we analyse our proposal for indoor and outdoor scenarios. A representative indoor scenario is a conventional hospital floor with a WSN. A representative outdoor scenario is a field hospital with a WSN.
The remainder of this paper is organized as follows. Section 2 derives the requirements for a secure time synchronization service and evaluates existing secure time synchronization proposals. In Section 3, we present the model of WSN for our system and we give important definitions and background. We describe our time synchronization system in Section 4. Sections 5 and 6, respectively, evaluate the security and performance level of the system. Finally, Section 7 concludes and discusses our future work.

Evaluation of Secure Time Synchronization Approaches
We first derive the requirements for a secure time synchronization service for WSNs. Secondly, we classify and evaluate existing secure time synchronization schemes against these requirements.

Requirements.
A secure time synchronization service for WSNs must comply and trade off the following requirements: low cost, accurate, precise, secure, and periodicallyscheduled.
Firstly, among all sensor node components, the radio consumes the most significant amount of energy [9,10]. Therefore, the synchronization service must minimize the number of messages exchanged by sensor nodes. Secondly, the time synchronization service must enable applications with time accuracy demands at the tens of μs level. Thirdly, time synchronization among nodes must be precise up to the hundreds of μs for long periods. This requirement is particularly challenging to comply with for low-cost sensor nodes. Fourthly, WSNs are especially vulnerable to security attacks. Since sensor nodes use wireless communications, an external attacker may easily delete, forge, and modify time synchronization messages. Additionally, the attacker may launch pulse-delay [4] and/or wormhole [11] attacks, in which the adversary delays and/or rushes the authenticated synchronization messages, respectively. Since sensor nodes are not tamper-proof, an attacker may also compromise a (or a few) sensor node(s). Then, the attacker can use the sensor node(s) to inject false time synchronization messages. In addition, the attacker may instruct the sensor node(s) not to cooperate in the synchronization protocol. Finally, substantial clock drift during sleep periods requires fine scheduling of the time synchronization protocol.

Existing Techniques.
Ganeriwal et al. [4] proposed several techniques for secure pairwise synchronization (SPS), multihop synchronization, and groupwise synchronization. The SPS adds timestamps and message integrity codes (MICs) to protect the synchronization messages. To remove the time uncertainty introduced by the MAC access waiting time, they propose to timestamp the message below the MAC layer. Their practical measurements show that SPS can synchronize two Mica2 motes with an accuracy of 10 μs. An attacker can delay a time synchronization message only up to 20 μs without being noticed. However, SPS exhibits no resiliency to compromised nodes.
Secure multi-hop synchronization [4] can be used to synchronize sensor nodes not within direct wireless communication range. Ganeriwal et al. propose three similar techniques: secure opportunistic multi-hop (SOM), secure direct multi-hop (SDM), and secure transitive multi-hop (STM). The three techniques extend SPS by using one or a set of intermediate trusted nodes. For five hops, SDM and STM provide a 25 μs time synchronization accuracy and exhibit a pulse-delay attack vulnerability window of 50 μs to 120 μs, respectively. However, they exhibit no resiliency to compromised nodes. SOM can cope with compromised nodes but exhibits very poor accuracy and pulse-delay protection.
Group multi-hop synchronization [4] can be used to synchronize a group of sensor nodes of a wireless neighborhood. They first propose a lightweight secure group synchronization (L-SGS) that exploits multicast authentication to synchronize the neighborhood. This technique is also vulnerable to compromised nodes. To solve this vulnerability, Ganeriwal et al. propose secure group synchronization (SGS). SGS requires nodes to exchange and process messages after the initial multicast exchange to check time consistency. SGS and L-SGS provide 10 μs accuracy and 20 μs pulse-delay vulnerability window. The consistency check is inefficient, since it does not exploit the broadcast nature of the wireless neighborhood. Moreover, the consistency check can only tolerate one compromised node, and no provision is made to cope with a subset of compromised nodes. Moreover, they allow for whatever neighborhood member to anarchically start the (L-)SGS protocol, which can be exploited for battery depletion attacks.
Manzo et al. [2] discuss several internal attacks against and countermeasures for Reference Broadcast Synchronization (RBS) [12], Timing-sync Protocol for Sensor Networks (TPSN) [13], and Flooding Time Synchronization Protocol (FTSP) [14]. The internal attacks can be summarized as different flavors of injecting false information to disrupt the time synchronization protocol operation, for example, introducing false timestamps. To secure time synchronization protocols, they suggest to elect time root nodes probabilistically, to send time synchronization messages through alternate paths, and to use μTESLA [8] to authenticate broadcast synchronization messages. Unfortunately, the strength and performance of these countermeasures is not analyzed. Moreover, they provide no mechanism to authenticate the timeliness of synchronization messages and thus no protection against pulse-delay and wormhole attacks.
Song et al. [3] investigated countermeasures for delay attacks against synchronization messages launched from compromised nodes. They proposed two methods for detecting and tolerating delay attacks: a generalized extreme studentized deviate (GESD) based and a threshold based. The general idea is to identify the malicious time offsets that are under delay attacks after collecting a set of time offsets from multiple involved nodes. The underlying assumption is that a malicious node magnifies its clock offset to accomplish the delay attack. Then, the GESD-based method filters out an outlier by applying the assumption that clock offsets from benign nodes follow the same (or similar) distribution or pattern. Similarly, the threshold-based method filters out outliers by rejecting clock offsets above an upper bound. They also show that these methods can be used to improve the accuracy of RBS in the presence of clock offset outliers. However, Song et al. do not provide arguments and/or proofs validating that benign clocks follow the same (or similar) distribution in practice. Moreover, both methods require each node to receive a sufficiently large number of messages to detect outliers, thus the accuracy improvement comes at a substantial energy cost.
Sun et al. [6] proposed to leverage SPS and μTESLA to provide global time synchronization in multi-hop static WSNs. SPS is periodically and asynchronously employed to pairwise synchronize all the nodes of the WSN. Subsequently, global time is transferred from (set of) source nodes to the rest of sensor nodes. To improve the communication efficiency, authenticated global time synchronization messages are broadcasted locally in a wireless neighborhood (cf. L-SGS and SGS). To be resilient against compromised nodes, nodes already synchronized to global time rebroadcast synchronization messages. To tolerate up to t compromised neighbor nodes, the receiver must select among 2t + 1 clock differences through different neighbor nodes.
Sun et al. demonstrated experimentally that for a WSN with only 60 nodes and to tolerate up to 4 compromised nodes per neighborhood, their approach reaches an average global time accuracy below 52.08 μs and a minimum accuracy below 121.52 μs right after running the protocol. These numbers correspond to global time synchronization intervals of 5 to 10 seconds. Unfortunately, they do not discuss how this accuracy evolves through the 5-or 10second interval. Since the clock drift of the CC2420 is 40 ppm [9], the time accuracy of two nodes can diverge up to 80 μs per second after the synchronization. Then, in practice in 5 and 10 seconds the synchronization can loose precision up to 521.52 μs and 921.52 μs, respectively.
To avoid such poor accuracy, we can set up a lower global synchronization interval and, accordingly, also a lower pairwise synchronization interval. However, simple analysis shows that the effect is a substantial increase in energy consumption needed to send multiple re-synchronization messages.
The connectivity of the nodes with the rest of the network is not motivated or argued by Sun et al.'s proposal. In cases with cliquish neighborhoods the resiliency improving approach can turn out to be useless, since neighborhood nodes cannot get global time through different wireless paths to the rest of the WSN.
We identify a number of open issues in the previous proposals. Firstly, none of the above presented approaches analyze the period of time required to synchronize nodes with any of their proposed techniques, failing then to prove effective and efficient for low-duty cycle sensor nodes. For instance, if a WSN application requires nodes to sleep 99% of time, is 1% of time sufficient to synchronize time of sensor nodes? Which fraction of time out of that 1% is to be dedicated for time synchronization? Which is the maximum accuracy the sensor clocks will achieve? Yet more important, which accuracy will the sensor clocks maintain during each synchronization interval? and how much power needs a sensor to invest to achieve such accuracy level?
Secondly, none of these proposals discuss the scheduling of the time synchronization protocol. Unless we assume unsustainable 100% duty cycles, time synchronization cannot be completely asynchronous, but nodes need to prearrange well-delimited intervals of time to synchronize.
Finally, protection for time synchronization protocols against wormhole attacks is not analyzed. Sun et al. [6] propose to detect wormholes by detecting that the transmission delay is less than the maximum expected delay. However, this solution is at odds with the nature of a wormhole, since a wormhole attack decreases the latency of messages 4 EURASIP Journal on Wireless Communications and Networking exchanged by two nodes at different locations in the WSN [15].
Hoepman et al. [16] consider an adversary that aims at tampering with the clock synchronization by intercepting messages, replaying intercepted messages, and capturing nodes (i.e., revealing their secret keys and impersonating them).
They present a clock sampling algorithm which tolerates attacks by this adversary, collisions, a bounded amount of losses due to ambient noise, and a bounded number of captured nodes that can jam, intercept, and send fake messages. The algorithm is self-stabilizing, so if these bounds are temporarily violated, the system can stabilize back to a correct state.
The core of their clock synchronization algorithm is a mechanism for sampling the clocks of neighboring nodes at reception of broadcasts called beacons. A beacon acts as a shared reference point.

Wireless Sensor Network Model
A BAN consists of wireless connected sensors nodes worn by or implated to a human body. A sensor node is a lowcost, low-power, wireless-enabled computing device. New sensor nodes can be incrementally added after the initial deployment. The BAN ranges a few meters around a human body.
Each BAN includes a controller node (CN) with routing, data fusion, and other functions. The role of this node can be assigned either to a single sensor node or dynamically to any of the nodes of the BAN. Let us assume that in average a BAN includes n sensor nodes. Two neighbour CNs are connected by a direct wireless link.
A WSN is the interconnection of multiple BANs by means of the controller nodes. The number of WSN nodes can range up to thousands of nodes. Therefore, the WSN can occupy a huge area.
The WSN can be formed in public or hostile areas, where wireless communications can be easily eavesdropped, deleted, and/or modified. In some applications, sensor nodes are left unattended (when detached from the monitored body), being then prone to capture and manipulation by an attacker. The monitored human itself may also be an intruder and, thus, may manipulate its body-attached nodes.
We also assume that nodes share pairwise keys [17]. Alternatively, each pair of nodes can directly derive a pairwise key [18,19] just by knowing each node ID, without the need to exchange further messages.
Integrity-protected messages are timestamped below the MAC layer using existing techniques. Therefore, the period of uncertainty needed for the host to access the network interface card and to backoff is removed as demonstrated in [6].
Data sensed by sensor nodes is to be sent to a (small number of) base station(s) in a central or remote location.

Power Management.
The WSN is provided of a power management service to save energy of sensor nodes. This service, in turn, guarantees the longest longevity for the WSN. The basic idea of the power management service is to put the radio of sensor nodes to sleep during idle times and wake it up right before message transmission and/or reception.
To allow communication in WSNs formed of low-duty cycle nodes, sensor nodes need to synchronize active and wake periods of time. This synchronization can be achieved synchronizing each sensor node to a common reference time. However, sensor nodes embed low-cost crystal oscillators which drift from the reference time. Consequently, sleep T sleep and wake T wake periods are not equally measured by all the sensor nodes.
A time period of guard T guard is defined to enable active periods from two sensor nodes to overlap despite their respective clock drift errors. The time of guard T guard is a local time measure. During its time of guard, a sensor node can receive but cannot send data.

Definitions.
In the rest of the paper we use the following definitions. (iv) Coordinated Universal Time (UTC). This is the global synchronized time used by humans.
(v) Clock Accuracy. Clock accuracy is the degree of closeness of a measured time value to that of a reference clock. For instance, let us consider a reference clock at 12:00:00. A clock c 1 measuring 12:05:00 after 2 days of having been perfectly synchronized is considered to be inaccurate.
(vi) Precision. Precision is the degree of closeness to which repeated measured time values agree with each other under unchanged conditions. Let us consider again the clock c 1 . During 10 consecutive days, we obtain time readings differing 10 seconds from each other and differing an average of 5 minutes from the reference clock. We consider c 1 to be a precise yet inaccurate clock.

Prediction of Clock Skew.
The time difference measured by two different clocks t u and t v depends on differences in phase and frequency of oscillation of each clock. The phase and the frequency oscillation variation of a clock is often referred in the literature to as clock offset and clock skew, respectively. Initially, the offset counts the elapsed time from the time of start of t u in respect to t v or vice versa. Note that instantaneously correcting the offset between two clocks is relatively simple by running for instance a pairwise synchronization protocol. However, because of the effect of the clock skew, the two clocks drift after the initial synchronization. Therefore, to keep the clock drift under a required upper bound, all the related schemes in Section 2.2 propose to resynchronize frequently. Instead, to reduce the frequency of re-synchronization and, thus, the energy consumption of sensor nodes, we propose to predict the clock skew of each sensor node clock.
The variation of clock skew depends on different nondeterministic factors: including aging, noise, warmup, variations in temperature, atmospheric pressure, acceleration, voltage, radiation, and magnetic fields [20,21].
We observe that temperature is the factor most influencing the frequency of the clocks. Temperature can cause variations up to several tens of ppm while the aggregated variation caused by other factors is far below 1 ppm [21].
We also observe that in typical WSN environments temperature changes smoothly. For instance, outdoors the temperature changes smoothly because of weather conditions. The temperature keeps relatively constant in normal circumstances in most indoor scenarios. In BANs, the effect of temperature change rate is even more negligible, since sensor nodes are separated just a few centimeters from each other.
Hereafter, a time period of no substantial temperature change is referred to as epoch. We assume that the clock skew for each sensor node and, thus, the relative clock skew for two nodes remain constant during an epoch [21].
Ganeriwal et al. [7] designed a prediction-based algorithm to model long-term clock skew between two sensor node clocks t u and t v . Wu et al. [21] and Elson et al. [12] developed similar concepts, demonstrating thus its suitability for WSNs.
After Ganeriwal et al. [7], the following P-degree polynomial represents the relative clock model between two nodes u and v: where t v (t u ) is the prediction of of the actual t v measured with the clock of node u. The error includes both measurement errors and environmental factors that influence the clock stability. Over short timescales, there is the general agreement that a linear relative clock model (P = 1) is sufficient [7,[12][13][14]. Given a window of W past observations (t u,i , t v,i ), i = 1, 2, . . . , W, the parameters β 0 and β 1 are the values which minimize the residual sum of squares (RSS): (2) It is easy to see that finding the values β 0 and β 1 which minimize RSS is an extremely low-complexity problem. Then, the energy consumed by calculating these parameters can be neglected in comparison to the cost of sending a bit.
We define a sampling period S as the interval of time separating two consecutive observations (t u,i , t v,i ) and (t u,i+1 , t v,i+1 ). Naturally, shorter values of S minimize the error of the prediction.
Given S, there exists an optimal window size W which minimizes the error of the prediction. For instance, Ganeriwal et al. [7] experimentally showed that W = 8 and S = 60 seconds minimize the prediction error E p for indoor environment at a temperature range from 25 to 26 • C.
In practice, each time we obtain new time observations, by using the low-cost rate adaptive time synchronization algorithm (RATS) [7], we can calculate two optimal values S and W which maintain the error of the prediction within a desired error bound for the calculated S.

Estimation of Prediction Error.
Given a time window of W observations, (t u,i , t v,i ), the time at node v, t v , can be predicted using time at node u, t u , with (1). Following standard regression theory, we can construct a (1 − α) confidence interval for this prediction as where The first term of the product in (4) refers to an upper quantile of the t v distribution with W −2 degrees of freedom. The second term is the standard error (SE) of the predicted value.
3.5. The RATS Algorithm. The objective of RATS is to repeatedly calculate a new sampling period S so that the synchronization error remains bounded within the user specifications. The pseudocode for the RATS algorithm is as follows: (1) compute W = max(P + 1, T/S), (2) calculate (β 0 , β 1 ) using a window of W samples in (2), RATS starts with calculating the optimal window size W using the optimal time window T for the given sampling period S. The relative clock model is estimated using a linear estimator on the sample history equal to W. The estimation of the prediction error, E p , is then computed and scaled using the scaling factor Δ.
If the error of the prediction E p is below the lower threshold, we multiplicatively increase the sampling period. Conversely, if it is above the higher threshold, the sampling period is decreased multiplicatively. The sampling period remains unchanged if the error is between the two 6 EURASIP Journal on Wireless Communications and Networking thresholds. At the end, we make sure that the new sampling period is within [S min , S max ] to avoid an unbounded increase/decrease of the sampling period.
During a 2-4-hour learning phase, the nodes derive the values of the optimal time window T and scaling factor Δ for a wide range of S values. In [7], it is showed that this initial calibration is consistent with a great number of environments and for long periods of time. In deterministic WSN deployments, the initial calibration can be performed in factory to save postdeployment energy [7]. In random and mobile WSN deployments in factory calibration would not scale, since we ignore which sensor nodes will be neighbors after the deployment. Therefore, in these cases, the calibration must be performed autonomously by the nodes at the deployment site.

Secure WSN-Wise Synchronization
Our proposal consists of two periodic phases. In case the WSN needs to also synchronize to UTC time, we propose to add a third phase. In the remainder of this paper, let us consider that at each period R a new controller node is elected in each BAN. Note that if the controller node is fixed, then R is the WSN lifetime.
We These steps are repeated after each controller node reelection.
In the rest of the section, we thoroughly describe the SPS-SE protocol and each of the phases of the synchronization system.

Secure Pairwise Synchronization with Sample Exchange.
We propose a protocol for secure pairwise synchronization and sample exchange that leverages SPS [4]. SPS is based on sender-receiver synchronization. It performs a handshake protocol between two nodes u and v.
The integrity and authenticity of SPS-SE messages are guaranteed using message integrity codes (MICs) and a shared key K u,v . Moreover, the MIC provides resistance to pulse-delay attacks and external attackers.
The SPS-SE protocol consists of the following message exchanges (time samples between brackets denote message time of send (tos) or time of arrival (toa)): where MIC 2 = MIC Ku,v (ID v , ID u , tos u1 , toa v1 , and tos v2 ), MIC 3 = MIC Ku,v (ID u , ID v , toa u2 , and tos u3 ), and K u,v is the key shared by u and v. At the end of the protocol, both nodes calculate the SPS message end-to-end delay d u,v as specified in [4]: The end-to-end delay is used to detect pulse-delay attacks against SPS-SE.
The clock offset δ u,v is also calculated as follows: Subsequently, u and v add the new time sample (tos u2 , toa v2 − d u,v ) to their respective sample repository. For sensor nodes using crystal oscillators with stability up to 100 ppm, the duration of the protocol is to be bounded to a few hundred milliseconds. In such case, we can assume the clock drift to be negligible and accept the time observations accurate enough for the prediction.

Synchronization
Method. The synchronization method allows two nodes to adapt their respective time measures. We distinguish two methods: short-lasting synchronization and long-lasting synchronization.

Short-Lasting Synchronization.
Short-lasting synchronization is used during the initialization phase of RATS for the nodes to establish short-lasting accurate clock synchronization and for exchanging samples for a clock estimation with the required target precision.
Note that because of the low quality of clock crystals, this method cannot be used to maintain a high precision during a relative long time without an expensive energy cost. For instance, the CC2420 can drift up to 80 μs per second, and in 60 seconds the clocks may drift up to 4810 μs. To guarantee a precision below the 100 μs, the nodes would need to synchronize each second.
The method works as follows. Firstly, by using the SPS-SE protocol, two nodes u and v calculate their relative clock offset. Subsequently, to synchronize a node's time measure, with another's clock measure the clock offset is added (or subtracted, as needed). For instance, if sensor u collects and timestamps a data sample at tc u4 , v translates data collection time to tc u4 − δ u,v to get the time measure relative to its own notion of time.
For subsequent message exchanges between u and v, the message delay d needs also to be taken into account to calculate the synchronized time. For messages timestamped below the MAC layer immediately prior to their transmission, the delay (d) adds the contribution of the transmission time, the propagation time, and the reception time. The transmission time is the time needed for the sender to transmit the message bit by bit at the physical layer. This time can be easily calculated by the receiver by knowing the length in bits of the message and the radio speed. The propagation time is the actual time taken by the message to traverse the wireless link from the sender to the receiver. In WSN, the distance among neighbor sensor nodes is of a few meters. Therefore, because radio waves move at the speed of light and the radio speed is up to a few Mbit/s, the propagation time is neglected compared to the rest of times. The reception time accounts for the time taken by the receiver in receiving the bits and passing them to the MAC layer. This time can also be easily calculated by the receiving node. Thus, d ≈ transmission time + reception time.
For instance, for a timestamped message that u sends at time tos u5 and reaches v at time toa v5 , v will interpret sent time as toa v5 − d + δ u,v . For instance, v can check the time integrity of the message by verifying that the difference between tos u5 and toa v5 − d +δ u,v is below a certain threshold.

Long-Lasting Synchronization.
Long-lasting synchronization is used to maintain precise clock synchronization with fine-tuned RATS.
Each new time sample (e.g., (tos u2 , toa v2 − d u,v )) exchanged with SPS-SE includes the offset but not the delay contribution, which is a particular measure of each exchanged message. Therefore, with estimated clocks, for a timestamped message that u sends at time tos u4 and reaches v at time toa v4 , v will interpret sent time as t u (toa v4 ) − d. Furthermore, if sensor u collects and timestamps a data sample at tc u5 , v translates data collection time to tc u5 − (t v − t u (t v )) to get the time measure relative to its own notion of time. Here t v − t u (t v ) is an estimation of the current offset between t v and t u .

Secure CN Pairwise (Re-)Synchronization.
Secure CN pairwise (re-)synchronization is used to periodically synchronize two neighbor CNs. Each and every pair of neighboring CNs of the WSN is to synchronize following this method. In this manner, WSN time is established.
The interval of time S 1 CNu,CNv starts right after two newly elected CNs CN u and CN v discover each other by physical and MAC layer means (the description of these means is out of the scope of this paper).
During time periods S j CNu,CNv , j = 1, 2, . . . , W d , BAN controller nodes use the short-lasting synchronization method. Additionally, this time is also employed to exchange the first W d time samples. Right at the beginning of each time period S j CNu,CNv , j = 1, 2, . . . , W d , by using the SPS-SE protocol nodes CN u and CN v synchronize and exchange a time sample (t CNu, j , t CNv, j ), j = 1, 2, . . . , W d . To detect wormhole and pulse-delay attacks, each CN also measures the maximum SPS-SE expected message delay d CNu,CNv .
At the beginning of period S Wd +1 CNu,CNv both CNs calculate the first clock estimations and initialize RATS for the first time. At the end of S Wd +1 CNu,CNv both CNs estimate their relative clock offset as follows: If δ CNu,CNv is below the required accuracy threshold max , then RATS is considered to be fine-tuned. Consequently, BAN controller nodes switch to the long-lasting synchronization method for the following BAN periods.
Otherwise, yet the synchronization method to be used is short-lasting synchronization for subsequent BAN periods S j CNu,CNv , W d + 2 ≤ j ≤ r j , till the condition δ CNu,CNv ≤ max is satisfied. Let us refer to the period when this condition is satisfied as S jopt CNu,CNv . Typically, W d + 2 ≤ j opt r j . During BAN periods S j CNu,CNv , j opt + 1 ≤ j ≤ r j , BAN controller nodes use the long-lasting synchronization methods. Right at the beginning of each of these periods, CN u and CN v exchange a new time sample (t CNu, j , t CNv, j ) by using the SPS-SE protocol and add it to their respective sample repository. RATS is employed to periodically recalculate S j CNu,CNv (see Section 4.3.1). Additionally, the clock estimations are recalculated using (1). Finally, a real measure of the clock offset is calculated using the SPS-SE protocol 8 EURASIP Journal on Wireless Communications and Networking to validate the estimation of the clock offset and, thus, to continuously monitor the quality of the clock estimations.
Since the clocks of CN u and CN v drift throughout S j−1 CNu,CNv , j opt + 1 ≤ j ≤ r j , the measure of S j−1 CNu,CNv at the end of the period will likely be different at t CNu and t CNv .
To counter this relativistic effect, we define pairwise perioddependent time of guard. Despite the fact that clocks can get desynchronized, the time of guard guarantees that both CNs are ready to concurrently use the radio channel after long sleeping periods. In order to preserve energy of nodes the time of guard needs to be accurately minimized.
The pairwise period-dependent time of guard to be used at the beginning of S j CNu,CNv , j opt + 1 ≤ j ≤ r j , is calculated as follows: During its T guard each CN is only allowed to receive messages. The first CN exhausting its T guard triggers the resynchronization.
At the very end of each period S j−1 CNu,CNv , j opt + 1 ≤ j ≤ r j , the offset δ CNu,CNv is accurately predicted by using (8).
The uncertainty included by the data rate r b is just 4 ppm at 250 kbps. Because nodes of a WSN are separated at most a few tens of meters, the contribution by the propagation delay can be neglected.

Calculation of Optimal Sample Period and Window Size.
By using RATS, the two CNs calculate the optimal window size W j CNu,CNv for the current period S j CNu,CNv . Additionally, the optimal duration for the the current period S j CNu,CNv is recalculated. The pseudocode for the RATS algorithm is as follows: calculate (β 0 , β 1 ) using a window of W j CNu,CNv samples in (2), (3) compute E p using (4),  (1) and (2), nodes CN u and CN v estimate t CNv (t CNu ) and t CNu (t CNv ), respectively.

Secure BAN (Re-)Synchronization.
Secure BAN (re-)synchronization is used to periodically synchronize BAN members with the CN. This, in turn, guarantees that each BAN member is synchronized to the same reference time. This process establishes BAN time without the need for each BAN member to pairwisely synchronize.
BAN wise synchronization can be scheduled in two different manners. First, we let each node to independently schedule its re-synchronization interval. That is, each node has an own measure of the BAN period S CL,u . At the beginning of each node-dependent BAN period, the node synchronizes with the CN. This manner requires the CN to be asleep each time a BAN member u is to synchronize. Because of the independency of the length of each S CL,u , u = 1, 2, . . . , n, the requirement of low-duty cycling is hard to comply for the CN.
A second manner consists of letting the CN to schedule a unique re-synchronization interval S CL for all the BAN members. At the beginning of each BAN period, a slot of time is reserved for each node to synchronize with the CN. This scheduling can be designed to accommodate for CN duty cycling requirements.
Observe that to comply that clock estimations are below the required accuracy level during the period S CL , then the CN must select as S CL the minimum duration for a BAN period required by all the nodes of the BAN.
To solve this issue, we have again two possible approaches. The first approach consists of letting each node u of the BAN, u = 1, 2, . . . , n, calculate its own measure of S CL , that is, S CL,u . Then, each node independently sends S CL,u to the CN. Finally, the CN heads select S CL = min(S CL,u ) for all u.
The second approach consists of the CN calculating S CL,u for all u, u = 1, 2, . . . , n. Then, the CN heads select S CL = min(S CL,u ) for all u.
We favor the second approach because it does not require the nodes to send S CL,u to the CN. The need to send messages has implications of added energy consumption and delay both for the BAN members and the CN. The second approach requires much more computational effort in the CN than the first approach. However, the implied energy consumption and delay are neglected compared to the overhead of the first approach.
The rest of the section describes the details of this second approach.
The interval of time S 1 CL starts right after the BAN is formed. Right at its beginning the CN generates a BAN broadcast key chain of length q by repeatedly hashing a random value K CL . The successive keys h i (K CL ), i = 0 · · · q − 1, q, are to be used with μTESLA to protect broadcast synchronization messages. We assume that the reader is familiar with μTESLA [8].
The duration of the first W d time periods S k CL , k = 1, 2, . . . , W d , is fixed by default. The intervals S k CL , k = 1, 2, . . . , W d , are used to exchange the first W d time samples that allow for RATS initialization and for the first clock estimations. At the beginning of each of these periods the CN and each node u of the BAN, u = 1, 2, . . . , n, synchronize and exchange a new time sample (t CN,k , t u,k ), k = 1, 2, . . . , W d , by using the SPS-SE protocol. In one of these SPE-SE exchanges, the CN sends the last value of the key chain h q (K CL ) for each BAN member.
Because the clocks are not yet estimated, during time periods S k CL , k = 1, 2, . . . , W d , the CN and each node u of the BAN, u = 1, 2, . . . , n, use the short-lasting synchronization method. Note that because of clock drifts, CN and each node u may need to re-synchronize multiple times during the duration of any period S k CL , k = 1, 2, . . . , W d . At the beginning of period S Wd +1 CL the CN calculates the first clock estimations t u (t CN ), u = 1, 2, . . . , n, and initializes RATS for the first time. At the end of S Wd +1 CL the CN and each node u estimate their relative clock offset as follows: If δ CN,u is below the required accuracy threshold max , then RATS is considered to be fine-tuned for the CN and the corresponding node u. Consequently, the CN and the node u complying δ CN,u ≤ max switch to the long-lasting synchronization method for the following BAN periods.
The nodes not yet complying δ CN,u ≤ max are to use the short-lasting synchronization method for subsequent BAN periods S k CL , W d + 2 ≤ k ≤ r k , till the condition δ CN,u ≤ max is satisfied.
In this moment the BAN can have from 0 to n nodes synchronized with the long-lasting method. The remaining nodes, up to the n nodes still use the short-lasting method. This status exists till all the BAN members switch to long-lasting synchronization. For both groups of nodes the subsequent measure of S CL is different. The first adapts the measure of S CL by using RATS. The second keep using the default value of S CL .
Let us refer to the period when one or more BAN members first switch to long-lasting synchronization as S kopt CL . Typically, W d + 2 ≤ k opt r k . Let us use n to refer to the BAN members using long-lasting synchronization. In the rest of the section we describe the details of long-lasting synchronization.
Secure BAN long-lasting re-synchronization is performed at the beginning of each period S k CL , W d + 2 ≤ k opt r k . By using the SPS-SE protocol, nodes CN and u, u = 1, 2, . . . , n , re-synchronize and exchange a new time sample (t CN,Wd +k−1 , t u,Wd +k−1 ) and add it to their respective repository. Additionally, each node u calculates t CN (t u,Wd +k−1 ). RATS is employed to periodically recalculate S k CL (see Section 4.4.1). When each and every pair (CN, u), for u = 1, 2, . . . , n , of the BAN is synchronized, then BAN time is established.
Since the clocks of CN and u, u = 1, 2, . . . , n , drift throughout S k−1 CL , the measure of S k−1 CL at the end of the period will likely be different at t CN and t u . To counter this relativistic effect, we define BAN period and node-dependent times of guard T guard,u (see Figure 1) to be used at the beginning of S k CL : where u, 1 ≤ u ≤ n , is the local identifier of each BAN member and B is the time required to run the SPS-SE protocol in three steps. This method allocates a different time slot for SPS-SE-based synchronization between the CN and a node u.
At the very end of each period S k−1 CL the CN calculates δ CN,u = t CN − t u (t CN ), for u = 1, 2, . . . , n . Each node u calculates δ CN,u = t CN (t u ) − t u .
The CN does not need to contend to access the wireless media. After S k−1 CL and each subperiod T guard,u are exhausted, the CN is the only node in the BAN allowed to start communication. After receiving an initial message from the CN, just the corresponding node u, u = 1, 2, . . . , n , is allowed to answer.

Calculation of Optimal Sample
Period. By leveraging RATS, the CN calculates the optimal duration for the current period S k CL . The pseudocode for the RATS algorithm is as follows: calculate (β 0 , β 1 ) using a window of W k CN,u samples in (2), (3) compute E p using (4), Finally, S k CL = min(S k CN,u ) for all u, u = 1, 2, . . . , n . Right after T k guard,n + B, the CN broadcasts the current period S k CL in an integrity-protected message under key h q−k (K CL ). After max(d CN,u ) seconds, for all u, the CN reveals h q−k (K CL ) (see Figure 2).
In receiving h q−k (K CL ) each node u first validates the authenticity of the key by hashing it and comparing it with the previous stored authentic value h q−k+1 (K CL ). If the validation is positive, then the node stores h q−k (K CL ) to be used in the next BAN time period. Subsequently, the integrity of the message containing S k CL is verified. Finally, the value S k CL is stored for scheduling the next re-synchronization.

Estimation of CN Time.
By leveraging RATS, each node u, for u = 1, 2, . . . , n , independently calculates W k CN,u with the same pseudocode the CN used (see Section 4.4.1). The node stores the obtained W k CN,u but ignores the obtained S k CN,u . Instead, it will use S k CN,u = S k CL as next sampling period. By using the time observations (t CN,i (1) and (2), each node u estimates t CN (t u ).

UTC Synchronization.
We propose to securely pairwise synchronize the base station(s) with the CNs to which it is wireless connected using secure pairwise CN synchronization. Additionally, the base station is to be securely synchronized to UTC time by other means (the details of this synchronization means is out of the scope of this paper).

BAN time
Cluster(Re-)synchronization Data communication  Then, a correspondence WSN to UTC is then simple at the base station.

Security Analysis and Countermeasures
In this section, we identify threats and propose countermeasures to strengthen the security of our synchronization system. Because all the messages are integrity protected, confidentiality protection is provided when needed, and SPS is robust to pulse-delay attacks, the system is robust against external attackers.
In the rest of the section, we present threats and countermeasures for compromised nodes.

Coping with a Compromised CN.
Because of their key mission in the synchronization system, CNs are an interesting target for attackers. In any case the effect of a compromised CN is bounded to the interval R.
A compromised CN c may fake (a subset of) the time samples t CNc,i to be sent to v, i = 1, 2, . . . , W d + k − 1.
To detect this attack, we use the end-to-end delay. The end-to-end delay is bounded by the maximum and minimum expected delay d max and d min , respectively. After the SPS-SE protocol is run, v can confidently approximate d CNc,v  for all u becomes contracted. Additionally, the nodes need to re-synchronize more frequently than the optimal resynchronization period. In both situations, the effect is to increase the required duty cycle in nodes and, in turn, to consume more energy than the optimal. To overcome this threat, when a CN broadcasts S k CL , it must commit the identity of the node u x such that W k Node u x verifies that the released S k CL corresponds to W k CN,ux . Alternatively, especially to cope with scenarios where CN and node u x are compromised, lower and upper acceptable bounds for S k CL can be calculated by each node.

Coping with Colluding CNs.
A number of neighbor compromised CNs may collide together to create a delayed path through them. We discuss this attack by assuming the BAN controller nodes in the path CN c1 − CN c2 − CN c3 collide, that is, in the moment of secure pairwise CN synchronization they introduced an additional delay in the links CN c1 − CN c2 and CN c2 − CN c3 .
To solve the attack we exploit a design property of WSNs for increased reliability and power-efficiency. We assume that there exist multiple routes connecting each pair of CNs.
We propose that a fourth legitimate BAN controller node CN 4 , which is connected to any of the colliding nodes, detects the delay attack. CN 4 compares the delay introduced by the compromised path with the delay introduced by any or a number t of other paths. The countermeasure consists of adding CN c1 , CN c2 and CN c3 to a blacklist of untrusted nodes and trigger re-election of controller node.

Coping with Compromised BAN Members.
A compromised node u c can fake (a number of) time samples t uc,i to be sent to its CN, i = 1, 2, . . . , W d + k − 1.
The CN can detect the attack by using the end-to-end delay, as in the case for a CN cheating a node. To counter this attack, u c is added to the blacklist of untrusted nodes.

Temperature Attacks.
In order to de-synchronize some nodes, an attacker may select a location and rapidly vary the temperature in the surroundings of one or group of BANs. For instance, in an indoor scenario, the attacker could increase the heating temperature or decrease the cooling temperature.
We believe this kind of attack to be unpractical in BAN applications since the users would quickly realise and stop the heating or cooling system.

Performance Analysis
In this section, we analyse the level of accuracy, precision, energy-efficiency, low-duty cycling, and communication overhead that the system can achieve for MICA2 motes.
The results of accuracy and precision are based on experimental findings borrowed from [4,7]. We assume MAC layer time stamping and cryptographic computation to achieve a high degree of accuracy.
The rest of properties are derived theoretically. The parameters on Table 1 are used for the performance evaluation of the proposed system.
For simplicity's sake, in the rest of the section, we consider the case with no compromised nodes.

Pairwise Accuracy and Precision of SPS-SE.
The minimum pairwise clock precision (maximum error) of the SPS-SE protocol is 8.46 μs. Therefore, right after two sensors run the SPS-SE protocol, the accuracy of their synchronized clocks ranges from 0 to 8.46 μs.
This high level of accuracy can only be maintained at a expensive energy cost, since the node clocks can drift up to 80 μs per second. For instance, in 60 seconds the clocks may drift up to 4810 μs.
Therefore, SPS-SE clock synchronization is to be used uniquely to initially exchange the samples for RATS and/or to synchronize the clocks for application requirements.  Figure 3 shows the minimum precision for a range   Figure 3 shows that the sampling period S k CL does not significantly affect precision of the clock prediction in Indoor and Outdoor II. Indoor achieves a precision of 20.96 μs with S k CL 16 minutes. This result is a great achievement for BANs in terms of expected accuracy level and energy requirements.

SPS-SE Duration.
The length in time of the SPS-SE protocol can be approximated by the time needed to exchange three messages containing 6 node IDs, 6 timestamps, and 2 MICs. A sufficient number of nodes can be accommodated with 8-byte node IDs (such as in ZigBee networks). A length of 8 bytes is also a fair number for timestamps. A MIC of 16 bytes offers enough security for WSN applications. The physical and MAC layer add a minimum of 17 bytes per message [22]. Then, neglecting other sources of delay, at 250 kbps the SPS-SE protocol exchange lasts approximately 5,72 ms. Table 2 show the parameters used to compute the SPS packet length. times after the initial one. Therefore, the minimum accuracy of WSN time can be approximated as 8.46 + 0, 2288(N CN − 2) μs.
During the RATS phase, the precision of WSN time depends on the values S k CL , W k CL and on the number of intermediate CNs. Figure 4 shows the minimum precision for N CN = 10 and a range of S k CL values for three scenarios: Indoor with a temperature range of 25-26 • C, Outdoor I with a temperature range of 17-21 • C, and Outdoor II with a temperature range of 22-27 • C. The value of W k CL used in the experiments is 2. Figure 4 (cf. Figure 3) demonstrates that the number of intermediate CNs N CN does not significantly affect precision of the clock prediction.

Applicability for Low-Duty Cycle Nodes.
In this section we demonstrate applicability of the synchronization system for low-duty cycle nodes. Since CNs need to be active longer periods than BAN members and any node may become CN, we only analyze the minimum duty cycle required for a CN.
We use sampling window size W k CL = 2 and period S k CL < 16 minutes, which allow a high level of precision in any scenario, as demonstrated in Figures 3 and 4.
During the RATS phase, a CN needs to be active for each secure pairwise CN re-synchronization and for secure BAN re-synchronization. The initial synchronization is ignored in this analysis as it occurs when nodes need to otherwise increase their duty cycle for BAN formation purposes.
For BAN time synchronization, in each period S C,k , a CN needs to be active a minimum of n · T k guard,u + max(d CN,u ) for all u seconds, where T k guard,u is given by (11). Again, we consider a worst case where the maximum clock skew during the re-synchronization period is the minimum BAN time precision: (i) Indoor: δ k−1 max = 20, 96 μs, (ii) Outdoor I: δ k−1 max = 60, 46 μs, (iii) Outdoor II: δ k−1 max = 23, 46 μs. Similarly, the period of activity of a CN is the time used for secure pairwise CN re-synchronization. Its value is ch · T k guard,CNu + max(d CN,CNu ) for all CN u seconds. Here ch accounts for the maximum number of neighboring CNs, and ch ≤ n, so that WSN reliability and scalability is maximized.
The value of max(d CN,u ) can be approximated by the time to send the largest message (in step (2)) of SPS-SE. This adds 2.34 ms. The optimal BAN size of a WSN is 5 ≤ n ≤ 8 [23]. For this study, we consider the upper limit for a BAN size, that is, n = 8. We also assume that a CN may have up to ch = 8 neighbouring CNs. Table 3 shows the period of activity and the duty cycle for the CN. As it can be seen, the duty cycle is much below 1% (considering a sampling period S k CL of 16 minutes). We can codify periods S k CN of 16 minutes at the μs precision with 4 bytes. A key length of 16 bytes is considered to be secure for WSNs. As in the previous section ch is bounded by n, and we consider n = 8.
Further considering the values for IDs, timestamps, and MICs of previous sections, the maximum number of bytes sent and received by a CN is 1580 and 1095, respectively. 6.7. Energy Efficiency. The number of Ah consumed by the CC2420 can be calculated according to the formulas in [10]. To send 1580 bytes, the radio module consumes 276.67 nAh, and, to receive 1095 bytes, consumes 169.36 nAh. The total battery consumption for a CN for synchronization is 446.03 nAh over 16 minutes.
Equipped with a 30 mAh cell battery, the node can assume the CN role for over 2 years. If the n = 8 nodes of the BAN, rotate the CN role, then the BAN will survive approximately 16 years (assuming that the nodes do nothing else but synchronizing).

Conclusions and Future Work
In this paper we have addressed the issue of secure, accurate, and precise synchronization in a WSN formed by the interconnection of multiple BANs.
We have exhaustively analyzed the related work and found a number of open issues for research. Additionally, we have proposed secure, accurate, and precise synchronization EURASIP Journal on Wireless Communications and Networking 13 service for this particular kind of WSN. It can be used to provide secure pairwise, BAN-wise, and WSN-wise clock synchronization. We have also discussed a means to synchronize WSN time to UTC time.
We have analyzed both the performance and security of our proposal. We have presented very simple countermeasures to cope with compromised nodes. We have also shown that the synchronization service achieves minimal pairwise accuracy of 8.46 μs.
We have obtained the BAN clock synchronization precision of our system in three scenarios for re-synchronization periods of up to 16 minutes: The minimum precision of WSN time is 22.79 μs, 68.46 μs, and 31.34 μs, for each aforementioned scenario, respectively. For these calculations, we considered a number of 10 consecutive BAN controller nodes and a resynchronization period of 16 minutes.
Yet another interesting result is that sensor node equipped with a 30 mAh (low-resource) cell battery can assume the CN role and help BAN members to synchronize for over 2 years without changing batteries. If the n = 8 nodes of the BAN, rotate the CN role, then the BAN will survive approximately 16 years (assuming that the nodes do nothing else but synchronizing).
These results are based on computations.