1 Improvements to TESLA Protocol: Using Secret Sharing Scheme N. Ton, L. Yang, K. Mohamed, and K. Thirumalasetty Abstract— In the wireless environment, the communication medium is often untrusted and insecure. We study a general version of the multicast authentication problem where the underlying network, controlled by an adversary, may drop chosen packets, rearrange the order of the packets in an arbitrary way, and inject new packets into the transmitted stream. Multicast authentication protocols such as TESLA employ the principle of delayed key disclosure. These methods introduce delay in authentication, force receiver side buffers, and consequently are susceptible to denial of service (DoS) attacks. Based on Shamir’s Secret Sharing Scheme and standard cryptographic primitives, we propose a new and efficient group multicast authentication (GMA) protocol that can be used to augment the TELSA protocol for real time authentication. Our GMA protocol can authenticate a potentially large number of recipients. We prove the security of our scheme and analyze its performance in terms of the computational efficiencies at the sender and receiver and the communication overhead. We also show that our scheme is robust to DoS attacks while providing confidentiality and message integrity as well. Index Terms— broadcast authentication, DoS attack resistant, multicast authentication, secret sharing scheme I. INTRODUCTION D enial-of-service (DoS) attacks that exhaust the senders’ and receivers’ resources are a growing concern on the Internet and other open communication systems. Due to the nature of wireless communication in sensor networks, attackers can easily inject malicious data messages or alter the content of legitimate messages during multi-hop forwarding. Sensor network applications, therefore, need to rely on authentication mechanisms to ensure that data from a valid source was not altered in transit. Authentication is arguably the most important security primitive in sensor network communication. Source authentication ensures that the message originated from the claimed sender, and data authentication ensures that the data from that sender was unchanged (thus also providing message integrity). Broadcast authentication is a challenging problem, yet it is of central importance as broadcast communications are used in many applications. For example, routing tree construction, network query, software updates, time synchronization, and network management all rely on broadcast. Without an efficient broadcast authentication algorithm, the sender and receiver would have to resort to per-node unicast messages, which do not scale well for large networks. The practicality of many secure sensor network applications thus hinges on the presence of an efficient algorithm for broadcast authentication. Point-to-point authentication can be achieved fairly easily through a purely symmetric mechanism: the sender and receiver share a secret key used to compute a cryptographic message authentication code (MAC) for each message. When a message with a valid MAC is received, the receiver can be assured that the message originated from the sender. However, authentication of broadcast messages, especially in wireless sensor networks, is much harder than point-to-point authentication. In the broadcast communication environment, problems such as non-repudiation and key management become a serious issue. A possible solution to this problem is to employ a public key-based protocol to authenticate sender and receiver. Unfortunately, asymmetric cryptographic mechanisms have high computation, communication, and storage overhead, making their usage on resource-constrained devices impractical for many applications. On the other side of the same equation, multicast source authentication based on symmetric cryptography has attracted intense research efforts for the past few years. Canetti presented a solution to multicast source authentication based on verifying each different MAC using unique keys for each message [2]. Another popular symmetric key approach for multicast authentication uses delayed key disclosure. Delayed key disclosure was first introduced by Cheung [3] to achieve efficient authentication for link state routing. Chained Stream Authentication [4] and FLAMeS [5] used similar ideas for multicast source authentication. In this paper, we propose a symmetric-based authentication method, which we call Group Multicast Authentication (GMA) protocol to improve upon the popular TESLA protocol. The GMA protocol uses a group key that is derived from Shamir’s Secret Sharing Scheme [29]. The premise of using a secret sharing scheme is to allow a trusted group to authenticate broadcast messages. More precisely, only those participants within the network can generate the secret and authenticate messages. In light of the known security weakness of TESLA, our main objective is to design and develop the GMA protocol to help eliminate DoS attack, while maintaining the requirements of low communication and computation overhead. 2 Organization This paper is organized into the six sections. In section 2 section we describe the TESLA protocol and its weakness against DoS attack. In section 3, we describe current improvements to broadcast authentication protocols against DoS attacks. In section 4 we describe our solution, as the GMA protocol. In section 5, we describe experimental details and analysis of results. Finally in section 6 we summarize our findings and suggest possible future research avenues towards improving the TESLA protocol. protocols [1] using the scheme represented in Figure 1 below: II. TESLA OVERVIEW A. Description of TELSA Protocol TESLA, the Timed Efficient Stream Loss-tolerant Authentication protocol, provides source authentication in multicast scenarios. TESLA is an efficient protocol with low communication and computation overhead that scales to large numbers of receivers and also tolerates packet loss. It is based on loose time synchronization between the sender and the receivers. Source authentication is realized in TESLA by using Message Authentication Code (MAC) chaining [6]. The essential concept of TESLA is that the sender attaches to each packet a MAC computed with a key k that is only known to the sender. The receiver buffers the received packets without being able to authenticate them. Finally, the sender discloses k and the receiver is able to authenticate the packet. Consequently, a single MAC per packet suffices to provide broadcast authentication, provided that the receiver has synchronized its clock with the sender ahead of time [1]. TESLA has the following properties: Low computation overhead for generation and verification of authentication information. Low communication overhead. Limited buffering required for the sender and the receiver, and therefore timely authentication for each individual packet. Strong robustness to packet loss. Scales to a large number of receivers. Each receiver cannot verify message authenticity unless it is loosely time-synchronized with the source, where synchronization can take place at session setup. Non-repudiation is not supported; each receiver can know that a stream is from an authentic source, but cannot prove this to a third party [6]. B. Time Synchronization For TESLA to be secure, the sender and the receiver need to be loosely time synchronized. The synchronization does not need to be precise; however the receiver needs to know an upper bound on the sender’s time. To achieve synchronization, TESLA does not need strong time synchronization properties that sophisticated time synchronization protocols provide. Instead, it can avoid the complexity and the high overhead associated with such Figure 1: The Receiver Synchronizes its Time with the Sender [Courtesy of Perrig et al CryptoBytes, 2002]. Figure 1 shows the time synchronization process between the receiver and the sender. In the protocol, the receiver first records its local time tR and sends a time synchronization request containing a nonce to the sender. Upon receiving the time synchronization request, the sender records its local time tS and replies with a signed response packet containing tS and the nonce. Upon receiving the signed response, the receiver checks the validity of the signature and verifies that the nonce in the response packet equals the nonce in the request packet. If all verifications are successful, the receiver uses tR and tS to compute the upper bound of the sender’s time. When the receiver has the current time tr, it computes the upper bound on the current sender’s time as ts ≤ tr – tR + tS1. The real synchronization error after this protocol is δ. The receiver, however, does not know the propagation delay of the time synchronization request packet, so it must assume that the time synchronization error is Δ [6]. C. Protocol Stages We now describe the stages of the basic TESLA protocol in the following order: Sender setup; Bootstrapping a new receiver; Sender Transmission of authenticated broadcast messages; and Receiver Authentication of broadcast message. 1) Sender Setup A sender distributes a stream of data composed of message chunks Mi. Generally, the sender sends each message chunk Mi in one network packet Pi. Many multicast distribution protocols do not retransmit lost packets. The goal, therefore, is that the receiver can authenticate each message chunk Mi separately [1]. For the purpose of TESLA, the sender splits the time into even intervals Ii, where each duration of time interval can be 1 t (uppercase ‘S’) = the sender actual time ; t (lowercase ‘s’) = an upper S s bound on the sender’s local time calculated by the receiver. 3 designated as Tint, and the starting time of the interval Ii as Ti. Thus, we have Ti = T0 + i*Tint. In each interval, the sender may send zero or multiple packets. Before sending the first message, the sender determines the sending duration (possibly infinite), the interval duration, and the number of keys N of the key chain. The sender then picks the last key KN of the key chain randomly and precomputes the entire key chain using a pseudo-random function F, which is by definition a one-way function. Each element of the chain is defined as Ki = F(Ki+1). Each key can be derived from KN as Ki = FN-i (KN), where Fj (k) = Fj-1(F(k)) and F0 (k) = k. Each key of the key chain corresponds to one interval, i.e., Kj is active in interval Ij. Since it is not recommended to use the same key multiple times in different cryptographic operations, a second pseudorandom function F’ is used to derive the key used to compute the MAC of messages in each interval. Hence, K’i = F’ (Ki). Figure (2) below depicts this key derivation [7]: key which corresponds to that interval is used to compute the MAC of all included messages. This allows the sender to send packets at any rate and to adapt the sending rate dynamically. The key remains secret for d-1 future intervals. Packets sent in interval Ij can therefore disclose key Kj-d. As soon as the receivers receive that key, they can verify the authenticity of the packets sent in interval Ij-d. The construction of packet Pj sent in interval Ii is: {Mj | MAC(K’i,Mj) | Ki-d}. As shown in Figure (2), if the disclosure delay is 2 intervals, the packet Pj+4 sent in interval Ii+2 discloses key Ki. From this key, the receiver can also recover Ki-1 and verify the MAC of Pj, in case Pj+3 is lost [7]. 4) Receiver Authentication When the sender discloses a key, all parties potentially have access to that key. An adversary can create a bogus message and forge a MAC using a disclosed key. So as packets arrive, the receiver must verify that their MACs are based on safe keys: a safe key is one that is only known by the sender, and safe packets or safe messages have MACs computed with safe keys. Receivers’ primary function must therefore be able to identify and discard any packets that are not safe before receiving the keys from the senders, since they may have been forged [1]. Figure 2: TESLA Key Chain and the Derived MAC Keys [Courtesy of Perrig et al, CryptoBytes, 2002]. 2) Bootstrapping a New Receiver Before a receiver can authenticate messages with TESLA, it needs to be loosely time synchronized with the sender, know the disclosure schedule of keys, and receive an authenticated key of one-way key chain. The sender sends the key disclosure schedule by transmitting the following information to the receivers over an authenticated channel (either via a digitally signed broadcast message, or over unicast with each receiver) [6]: Time interval schedule: interval duration Tint, start time Ti and index of interval i, length of one-way key chain. Key disclosure delay d (number of interval). A key commitment to the key chain Ki (i < j-d where j is the current interval index). 3) Sending Authenticated Packets Each key of the key chain is used in one time interval. Regardless of the number of messages sent in each interval, the D. Concrete Example We now explain how the authentication with TESLA works with the following example2: When the receiver receives packet Pj sent in interval Ii at local time tc, it computes an upper bound on the sender’s clock tj (we describe in section II.B). To evaluate the security condition, the receiver computes the highest interval x the sender could possibly be in, which is x = [(tj - T0)/Tint]. The receiver now verifies that x < Ii + d (where Ii is the interval index), which means that the sender must not have been in the interval in which the key Ki is disclosed. Therefore no attacker can possibly know that the key and spoof the message contents. The receiver cannot, however, verify the authenticity of the message yet. Instead, it stores the triplet (Ii, Mj, MAC(K’i,Mj)) to verify the authenticity later when it knows K’i. The receiver will therefore buffers Mj until the authenticity can be checked. 2 This example is further described by Perrig et al [6]. 4 If the packet contains a disclosed key Ki-d (recall that d is the key disclosure delay, or the number of intervals that the key disclosure is delayed), regardless of whether the security condition is verified or not, the receiver attempts to use Ki-d to authenticate previous packets. If the receiver has received Ki-d previously, it does not have any work to do. Otherwise, let us assume that the last key value in the reconstructed key chain is Kv (v < i). The receiver verifies that Ki-d is legitimate by determining whether Kv = Fi-d-v(Ki-d). If that condition is correct, the receiver updates the key chain. For each new key Kw, it computes K’w = F’(Kw) which might allow it to verify the authenticity of previously received packets. Note that the security of TESLA protocol does not rely on any assumptions on network propagation delay, since each receiver locally determine if the packet is safe, i.e., whether the sender disclosed the corresponding key. However, if the key disclosure delay is not much longer than the network propagation delay, the receivers will find that the packets are not safe. E. Robustness to DoS Attacks In an IP multicast environment, Denial-of-Service (DoS) is a considerable threat and requires careful consideration. A major drawback of the original TESLA protocol lay within its high vulnerability to DoS attacks particularly at the receiver side. Below is a discussion of how these types of attacks are quite possible: F. DoS Attack on the Receiver A particularly powerful attack method on a broadcast environment is to flood the communication channel with bogus data packets in order the increase the communication traffic. This attack is serious because current multicast protocols do not enforce sending access control. If the receiver has a certain size buffer, flooding cannot do much harm. The TESLA protocol requires the receiver to buffer packets for the duration of one disclosure delay until the authenticity of the packets can be verified; hence the buffer size only needs to be the multiplication of the network bandwidth and the disclosure delay time. However, if the receiver's buffer size is not large enough, flooding could result a full-interruption of the communication channel because the receiver would drop packets due to a lack of buffer space. III. IMPROVEMENTS AGAINST DOS ATTACKS A. Symmetric Improvements on TESLA After the introduction of TESLA by Perrig et al., several improved versions have been proposed. TESLA (Micro Timed Efficient Stream Loss-tolerant Authentication) [8] and multi-level TESLA [9] have been developed to implement the TESLA based algorithm in Wireless Sensor Networks (WSN). The former promises much lower power consumption for a severely resource-constrained environment, and the latter focuses on solving the scalability problem of TESLA. But according to Kui Ren et al., neither of those two schemes is sufficient to be immune to DoS attacks because of the delayed message authentication [10] common to both. TESLA with Instant Key Disclosure (TIK) [11] eliminates the authentication delay of TESLA. Unfortunately, it requires precise time synchronization among all the nodes. In certain circumstances, it is easy to achieve precise timing using services such as Global Positioning System (GPS). GPS receivers can synchronize nodes to a persistent-lifetime time standard that is Earth-wide in scope to a precision of 200ns [12] [13]. However, GPS units often cannot be used (e.g., inside buildings), and require several minutes of settling time. In some cases, GPS units might also be large, high-power and expensive compared to small sensors. Qing Li, et al, propose an improvement called Staggered TESLA [14], a method to reduce the delay of key disclosure, and consequently mitigate the effects of DoS attacks. He introduces the concept of multiple, staggered authentication keys that can be used to create message authentication codes (MACs) for a multicast packet. As a result, it requires an adversary to attempt a DoS attack at a higher attack rate than is necessary in conventional TESLA. Essentially, it merely makes it harder for the adversary to execute DoS attacks towards TESLA. The side effect of staggered TESLA is the increased computational overhead due to multiple MAC generation for each message. B. Public Key Cryptography (PKC) to replace TESLA The vulnerability of the family of TESLA protocols comes from the time delay of key disclosure, which requires either the sender or receiver to buffer the packets without immediate authentication. The necessity for delay key disclosure is rooted in the fact that regular symmetric MAC authentication is insecure in a broadcast environment. As mentioned in RFC 4082 [15], TESLA, as a symmetric approach, tries to use timedelayed key disclosure to emulate the required asymmetric property in broadcast authentication. As stated previously, this delay key disclosure invites potential DoS attacks. An asymmetric scheme like digital signature can easily solve the broadcast authentication problem, but it is too costly for resource-constrained environments such as WSN. Recently, Kui Ren and colleagues are challenging the principle that Public Key Schemes are not suitable for resource-constrained environments like WSN [10] [16] based on the following three factors: 1. New faster and low cost PKC are emerging; 2. Power Scavengers provide continuous energy for WSN nodes; 3. Chips are becoming faster and smaller based on Moore’s Law. 1) New emerging PKC Perrig et al. [17] introduces a scheme called Efficient MultiChained Stream Signature (EMSS), which amortizes one Digital Signature over numbers of packets. Thus the receiver does not have to verify the signature for every packet. This scheme reduces the power and computation consumption of the receiving nodes. 5 In the basic scheme: Every packet will include a hash value of its direct previous packet, i.e., Packet Pi = Mi + H(Pi-1). The next packet will include a hash value Pi+1 = Mi+1 + H(Pi). By sending a signature packet at the end of the stream, which contains the hash of the final packet along with a signature, the scheme achieves non-repudiation and authentication for all the packets. Perrig also recommends two extensions to combat the packet loss that makes it impossible for the receiver to verify a chain of packets: Attach multiple previous packets’ hash values as redundant; Split the hash into K chunks, where a quorum of any K’ chunks is sufficient to allow the receiver to validate the information. Though this scheme makes it possible to utilize the traditional PKC algorithm to achieve non-repudiation and authentication in broadcast applications, it still suffers from the possible DoS attack. The receiver needs to wait for the final packet’s arrival to verify a chain of previous packets. Thus receiver buffering is necessary which induces the same problem as TESLA. New PKC algorithms are considered and tested in WSNs. One of the alternatives is Elliptic curve cryptography (ECC). The key size of ECC is much shorter than RSA at the same security level. For example, ECC 160 bit is equivalent to RSA 1024 bit at security. Thus ECC achieves a significant computational advantage over RSA. According to Wander’s analysis [18], ECC 160 signature verification could take 1.61s on Atmega 128 8 MHz processor, which is used in most wireless senor node. Using custom-designed low power coprocessor, the time consumption could be reduced to only half [19]. The result shows ECC’s possible role in WSNs. Recently a company called NTRU Inc. introduces two PKC products called NTRUEncrypt and NTRUSign. According to Phong Nguyen, NTRU is a Lattice-based Cryptosystem [20]. Lattice-problem is one of hard problems like factoring problem in RSA, which can be utilized as the base of PKC. NTRU gains speed over RSA by using convolution product, instead of the modular multiplication approach common to RSA. Tables 1 and 2 describe this advantage. Table 1: NTRU-251 vs RSA-1024 on 800MHz Pentium III [21]. Encrypt Decrypt NTRU Blocks/sec Blocks/sec NTRU 22727 10869 RSA 1280 110 Advantage 17 to 1 99 to 1 Table 2: NTRU-251 vs RSA-1024 on Palm V [21]. Encrypt Decrypt NTRU Blocks/sec Blocks/sec NTRU 21 12 RSA 0.5 0.036 Advantage 42 to 1 333 to 1 Evaluations also prove that NTRU-251 is 52.5 times faster during Encryption than ECC 160 and 9 times faster than ECC 160 during decryption in PDA platform [23]. NTRU may become a good PKC for the WSN in the near future. NTRUEncrypt is currently under review by the IEEE P1363 working group for inclusion in the 1363B standard. The only disadvantage of NTRU is that the cipher text size is much bigger than the message. NTRU is currently targeting at cell phone and Radio Frequency Identification (RFID) chips market. 2) Power Scavengers Power Scavengers are devices able to harvest small amounts of energy from ambient sources such as light, heat or vibration [10]. In the next generation sensor node, ultra-low power circuitry will be combined with power scavenger technology such as Heliomote [23] [24]. The results indicate that, with the advance of fast growing technology, PKC is no longer impractical for WSNs. Although still prohibitively expensive for the current generation sensor nodes, wide acceptance is expected in the near future [25]. 3) Crypto-Chips follows Moore’ Law Moore’s law defines that chips computation power doubles every 18 months. In 2000, for example, the crossbow wireless sensor like Dot2000 was introduced with only 16KB Program Memory, an outdoor range of 1-to-300 feet, data rate of 10 Kbps, and consumption of 15 mW during active. In 2002, the wireless sensor Mica2Dot was introduced with 128KB Program Memory, an outdoor range of 1,000 feet, data rate of 38.4 KBauds, and yet it only consumes 8 mW during active [26] [27]. All the results above indicate that with the development of fast growing technology, PKC is no longer impractical for WSNs. Although it is still considered costly for the current 3rd generation sensor nodes, its wide acceptance is expected in the near future [28]. C. Group Authentication Scheme as a supplement to TESLA Although public-key-based authentication is becoming more efficient and possibly suitable for WSN, we believe that a simple but effective solution to the TESLA DoS attack problem can be achieved by supplementing TESLA with an additional group authentication [15] as follows: 1) Group authentication using group shared key In this step, a secret key Kg is used as a shared secret among group members. When broadcasting the packet Pj, the sender (usually the base station in WSN) uses Kg to generate a group MAC - MACKg(Pj). The receiver (usually the sensor node in WSN) uses Kg to verify the MAC to ensure the packet comes from within the group. The packets from the outside, without a correct MAC, will be dropped. This immediate authentication of packets using a group key mitigates DoS attacks from outside adversaries. Of course, the outside adversary can copy the legitimate packet with legitimate group MAC and continue executing replay attack. To avoid this, we can add timestamp 6 value Ts or a random nonce during MAC generation provided that loose synchronization (between the sender and the receiver) has already been achieved. secret S. (T-1) shares or less will not work (where T is the threshold). This property can be achieved by a mathematical scheme such as Shamir’s threshold scheme as follows: 2) TESLA authenticating the sender within the group In step 1, only the receiver nodes know whether the sender belongs to the group or not. Furthermore, the receiver nodes cannot differentiate among senders within the legitimate group, because every sender within the group has the same shared key Kg and therefore could impersonate or even forge messages. We suggest using TESLA to solve this insider cheating, since TELSA is designed to specifically to identify the sender through key commitment schedule. The modification to the TELSA packet can be defined as follows: Pj’= Pj||Ts || MACKg (Pj||Ts); where Pj = {Mj || i || MAC Ki '(M j) || Ki-d} is the original TESLA packet. 1) Dealer Phase Only dealer knows the secret S. The dealer creates secret shares using the following steps: 1. Choose a very large prime number p, where p > max(S,n) (n is the number of users). 2. Let a0 = S, where S is the secret. 3. Pick a coefficient of a polynomial function ai = [0,p) for a1, ….,at-1, 0<aj <p-1 4. Compute the polynomial function to get S(i) S (i) = a0+ a1i1 + a2i2 +…+ at-1it-1 IV. GROUP MULTICAST AUTHENTICATION PROTOCOL We now describe our approach to solving the DoS attack problem for broadcast authentication. The Group Multicast Authentication uses Secret Sharing Scheme as a basis establishing authentication of the sender. In our research approach we assume that only the base station will broadcast messages. All other nodes within the network topology will receive and authenticate messages. The GMA Protocol has three stages: Protocol Setup, Secret Share Exchange, and Message Authentication. We now provide details on Shamir’s Secret Scheme and the protocol steps. A. Shamir’s Secret Sharing The most notable property to this scheme is that it is very efficient, using only one additional symmetric key and processing one additional MAC. However, we believe that this scheme is not secure against an adversary that can obtain the group key. Since every node uses the same group key Kg at all times, it is vulnerable to attack. We recommend using the Secret Sharing Scheme to construct the key Kg dynamically. After the key Kg is used, it should be destroyed in case of unnecessary disclosure. The idea of secret sharing is to start with a secret and divide it into pieces, called shares, which are distributed amongst users such that the pooled shares of specific subsets of users allow reconstruction of the original secret [29]. A simple example of secret sharing is as follows: A bank vault, secured with a combination lock, requires at least two managers to open the vault; One combination code (the secret) is divided into two sections (shares) S1 and S2 and assigned to those two managers separately; In order to open the vault, the complete secret must be used; The shares are combined to form the correct combination to open vault. Obviously this scheme is not convenient and does not scale if the number of users increases. The (t, n) threshold scheme (t n) is a method to solve this problem. In the threshold scheme, the secret S is shared by n users, each has Si, 1< I ≤ n. Any group knowing T or more shares can reconstruct the 2) Reconstruction Phase Any group of t or more users can pool (combine) their shares to reformulate the secret. For example, users 1 through t can pool their shares to reformulate the secret as follows: S (1) = a0+ a111 + a212 +…+ at-11t-1 S (2) = a0+ a121 + a222 +…+ at-12t-1 …… S (t) = a0+ a1(t)1 + a2(t)2 +…+ at-1(t)t-1 The secret a0 = S can be recovered by using the Lagrange interpolation formula to solve the above t numbers of polynomials. B. Protocol Setup The nodes, upon deployment, establish connection with their neighbors within the initial T seconds. At the end of this connection establishment process, the routing table for each node is configured. In the routing table, each node knows only its neighboring nodes. The value of T is chosen based on the number of nodes deployed and number of shares needed to create the secret S – which would be used to authenticate the messages from the base station. The nodes also need to authenticate each neighbor, for which a session key is required. In our research, we identified two possible session keys. 1) GROUP KEY A given node and its immediate neighbors are called a group. A group key can be used to authenticate messages coming from other group nodes. This key cannot be preprogrammed, as the nodes need not always be within each others radio signal radius upon deployment. Hence, the group key should be shared during the initial T seconds. Remember, the need for this group key is to authenticate neighbors, a one time process. Once the group key is shared, the nodes are ready to authenticate the secret Si received from neighboring nodes. 2) LINK KEY In this approach, Node A generates a session key KAB and sends it to its neighboring Node B during the initial setup time t seconds. It does the same to all other neighbors as well. A Link Key allows a node to authenticate each transmission 7 received at the expense of more computational time and memory. In our research, we found that the use of a Group Key Scheme would increase the chances of an attacker guessing the packet pattern and the group key due to the number of transmissions made within a group. The probability increases with the threshold of the number of shares Si needed to form the secret S. Thus, we use a link key to make it difficult to cryptoanalyze the key pattern between any two nodes. This approach does have a negative effect of difficult key management. However, we also found that using a Group key approach poses some difficulty because within N network nodes, there would be N-1 group keys. C. Secret Share Exchange The secret S, which is needed to authenticate the broadcast messages from the base station is divided into t shares and are pre-programmed in the nodes. Each node is initialized with one share Si along with the threshold value t. Once the session keys are established, the nodes start exchanging the shares. In the simulations, we assume that the node 0 initiates the share transmission. The share S0 is encrypted, using the session key K of each neighbor, and then transmitted. Once the receiver receives the share, it transmits its share back to node 1 and then to all its other neighbors. Each node starts transmitting shares after it receives a share from any one of its neighbors and each node transmits the shares it receives to its other neighbors. This process continues until all nodes reach the threshold t. To better illustrate this process, let us consider a network of 10 nodes with a threshold t = (n-1) / 2 = 4 shown in Figure 3 below: Figure 3: Sample Ten Node Topology In this example, during the first iteration, node n0 sends one share to its neighbor, n1. In iteration 2, n1 broadcast its shares to neighbors, n2 and n3. The process continues with iteration 3 where n2 will broadcast to n6, n7, and n8; while n3 will broadcast to n4, n5, and n9. The cascading effect allows the shares to be transmitted to all neighboring node. The termination criterion is reached when all nodes achieve share threshold accumulation. Once the threshold is reached a node will not accept any additional shares, instead it continues to transmit shares to its neighbor until an internal threshold counter for neighboring node is reached. D. Message Authentication Unlike TESLA protocol, GMA protocol decrypts the packets as soon as they are received and verified. The receiver accepts the packets only if the MAC ID attached to the packet belongs to one of the neighbors attached to it, otherwise the packet is immediately rejected. In this way, message authentication is provided at the receiver end. The base station, which is pre-programmed with all the MAC IDs of the nodes deployed, decrypts the message as soon as it arrives and is verified as originating from one of its nodes. This process of immediate authentication allows the nodes to authenticate the packet instead of buffering it; hence avoiding the chances of being vulnerable to DoS attacks due to buffer overflow. V. EXPERIMENTS & RESULTS Analytically, we have shown that GMA protocol’s instant authentication of multicast message provides protection against DoS attack, and would be a suitable improvement to the TESLA protocol. The focus of our experiment is to analyze the GMA protocol’s efficiency and performance under realistic network conditions. To collect these metrics, we simulated the GMA protocol in Network Simulator (NS2 version 2.30) C++ simulation framework [30]. We subjected the GMA protocol to a computing resources limited environment such as a wireless sensor network in order to understand its limits. For the simulation experiment we collected the following metrics: Convergence time – the time for all nodes in the network to receive enough shares to satisfy the threshold requirement t. Round trip time – the time for node 0 to broadcast a request message and receive responses from all participating nodes. We now summarize our procedure, experimental results, and analysis. A. Experimental Procedures 1) GMA Protocol in NS2 Implementation There are several ways to implement network protocols in NS2. The main approach is to subclass from the NS2 Agent class and to implement a receive and send method. The other option is to subclass from the NS2 Apps class. The main difference is whether the protocol to be implemented is a transport layer or a service layer. Protocols such as FTP are developed as a subclass of the NS2 Apps class. We chose to develop the GMA protocol as a direct subclass of the NS2 Agent for simplicity and ease of configuration of the simulation experiments. Furthermore, we divided the GMA protocol into two agent classes, GMA Agent and GB Agent (Group Broadcast). This allows us to test the functionalities of the GMA protocol individually. The GMA Agent class is responsible for secret share transmission, accumulation and reconstruction. The GB Agent class is responsible for broadcast message and authentication. The GMA Agent tests for convergence time for secret share exchange and reconstruction. The GB Agent tests for round-trip group broadcast authentication. The GMA protocol was developed to only measure the processing time of the protocol, thus the actual cryptographic 8 process is replaced by timing constants derived from internal experiments and benchmark data [31][32]. The following constants were used for cryptographic timing in the simulation experiments: Share Reconstruction Time – the time taken to reconstruct secret key S. The share reconstruction time was derived from an implementation developed by Crypto++ 5.2.1 [31]. The time is linearly approximated for an 8 MHz processor WSN node [34]. Encryption/Decryption time – the time taken to encrypt and decrypt secret share and broadcast messages. We use benchmark data from the crypto++ website to estimate the encryption and decryption time for Rijndael 128-bit [31]. We further linearly approximate the timing process for a WSN processor. Although not necessary, we choose to use Rijndael 1283 to simulate upper bound symmetric encryption process. Table 3 summarizes the parameters used for the simulation experiments. All timing data was calculated for 128-bit data packet. Table 3: Parameter used for Experiments (128-bit data packet) Processor Share Reconstruction (sec) Encryption (sec) Decryption (sec) Host 1.8 GHz 0.0043 2.1x10-6 2.1x10-6 Simulated 8MHz 0.02 0.04 0.04 We believe that these timing parameters provide a realistic approximation of the behaviors on a WSN node to give insights to the efficiency of the GMA protocol. There are other cryptographic libraries that provide similar functionalities such as libcrypt; however we only focus on Crypto++ because of its simplicity and ease-of-use. Along with the development of the GMA Agents, GMA packet definitions are also developed. These packet classes describe the characteristic packet structure used by the GMA protocols. For simplicity, we define the GMA and GB packets to include the following data: Src – the address of the sender. Seqno – the unique packet sequence number derived for each each instance of the GMA protocol. qLength – the sender accumulated secret shares. ack – a flag to designate request acknowledgement. Data – the actual share or message. Once the GMA protocol was developed in C++, additional modifications are made to integrate the GMA protocol into the NS2 executable. Figure 4 below outlines the additional steps: 3 Currently Figure Steps AddDES New even4:AES andto Triple arePacket difficultto to NS-2. implement on WSN [34]. These steps are described in Marc Greis online NS2 tutorial [34]. Additional modifications to the NS2 Node class were required to re-implement the add neighbor method because of a potential memory leak. The modification is required since each node within the GMA protocol requires a record of its neighbor in order to send data packets to a neighboring node. 2) Simulation Testing Our testing approach for the GMA protocol is to develop random topologies for 50, 100, and 200 node networks. We also assume that message packets are received based on the defined links of the topology. That is, although messages are broadcasted in free space, the reception of the packets is defined by the pre-established routing table. We also further assume that the nodes are closely spaced to reach their neighboring nodes. To facilitate rapid test execution and data collection, we developed python scripts to automate the test generation. The timing data from the simulation are then logged into text files. We now briefly describe our approach to topology generation and test creation. a) Topology Generation To create large random topology for our simulation, we employed the Georgia Tech Internetwork Topology Model (GT-ITM). The GT-ITM can create two classes of typology, hierarchical or transit-stub. We chose to use the transit-stub model because it closely represents the types of topology commonly found in wireless sensor networks. Furthermore we found that the transit-stub model was more stable and easier to configure than the hierarchical model. Figure 5 shows a sample GT-ITM input script: ts 5 33 3 0 0 1 20 3 1.0 2 20 3 0.6 8 10 3 0.42 Figure 5: Sample gt-itm Transit-stub Input Script. A transit-stub model produces hierarchical graphs by composing interconnected transit and stub domains, as shown in Figure 6 [30]. GT-ITM first constructs a connected random graph where each node in that graph represents an entire transit domain. Each node in that graph is then replaced by another connected random graph representing the backbone topology of one transit domain. Next, for each node in each transit domain, it generates a number of connected random graphs representing the stub domains attached to that node. Finally, it adds some number of additional edges between pairs of nodes, one from a transit domain and one from a stub domain. 9 Figure 7 below shows various topologies that we initially analyzed. Figure 6: Transit-stub Graph Model. Figure 7: Sample Topology Analyzed. From the GT-ITM input script, 5 transit-stub graphs of 50 nodes will be created upon execution. Each graph will have three stub-stub edges per transit node, with no extra transitstub or stub-stub edges. The line “1 20 3 1.0” indicates that there will be one transit domain. The next line “2 20 3 0.6” specifies domains have (on average) two nodes, and an edge between each pair of nodes with probability 0.6. The last line “8 10 3 0.42” indicates that each stub domain will have (on average) eight edges, and edge probability 0.42. The number of nodes is calculated as 1*2* (1+ 3*8) = 50. b) Test Creation The test scripts are created from the output of the GT-ITM utility, and the NS2 template file is manually created. A python script was developed to clean up the GT-ITM output and additional NS2 commands are added for executed test file. Specifically we add commands to instantiate the GMA Agents and to add neighbors to each network node. We change the duplex-link-interface command to duplex-link in order correct the version difference between GT-ITM and the latest NS2. Finally, we also add the appropriate link bandwidth to simulate a wireless sensor node. For our experiment we use a link bandwidth of 10 Kbps [32]. The packet size is initially set to 128 bits to simulate large size packets, and to simulate when the secret shares are divided into large numbers from a very large prime number. The same tests are applied to the second half of the GMA protocol to test the group broadcast authentication. In this round of tests, we simply duplicate the GMA Agent test file and perform a search and replace of the GMA Agent to GB Agent. These tests are designed to collect data on round-trip acknowledgement of the node 0 transmission. For the sake of simplicity we model node 0 as the base station. At a particular instance in time we give the command to node 0 to initiate a broadcast message to its neighbor. This message would cascade down the network until all nodes received and responded to node 0’s request. B. Analysis of Results Prior to running the simulation, we manually calculate the share transmission of a network of ten nodes to determine the initial observables. From our manual calculation, we hypothesize that the root node (node 0) would be the first node to reach threshold share accumulation. Likewise, leaf nodes would be the last nodes to reach threshold. Furthermore, these observations seem to be independent of the node topology. A set of five random topologies for a network of 50, 100, and 200 nodes are simulated in NS2. Figure 8 shows a sample output for a 50 node topology test. The convergence time and round-trip time are collected for the test cases individually. Figure 8 shows the result for convergence time for different share threshold, and network topology size. Figure 8: Transit-stub Network with 50 Nodes at10 Kbps. From the convergence timing data, we found that the simulation supported our analytical (manual calculation) observation. Specifically, we found that the root node (node 0) is the first node to achieve threshold share accumulation; while leaf nodes tend to be the last nodes to achieve threshold share accumulation. The two observations seemed to also be independent of the network topology shape. The experimental result also provided us with a very useful observation. For a large packet size such as 128 bit and limited bandwidth, there is a critical point where threshold share accumulation will never be achieved by any nodes. This phenomenon is shown in Figure 9 for a network of 200 nodes and secret share threshold of 20. The phenomenon occurred as a result of packet drops due to limited bandwidth and large secret share size. This observation suggests that the initial secret share generation must be carefully crafted such that it is a function of network size and bandwidth. We believe that the secret share size is inversely proportional to the network size. Further research is required to define the optimum share size with respect to the network size. 10 research to fully understand its potential. We identify the following areas for further research and development: Protocol analysis of the secrecy of shared secret key. Analysis of dynamic secret share distribution for adhoc networks. Analysis of the scalability of group multicast authentication for very large networks. Implementation of the GMA protocol within OmNet++. Implementation of the GMA protocol on WSN node. ACKNOWLEDGEMENT Figure 9: Convergence Time for Threshold t= 3, 10, and 20. The experimental data for round-trip time was also comparable with our analytical hand-calculation observation. In particular, we anticipated that the round-trip time would be exponentially proportional to the network size. Figure 10 provides partial evidence that supports our conclusion. We believe that this phenomenon is the result of highly connected network topology structure as shown in Figure 8. The message packets travel redundant paths causing duplication of the original message. The data also suggests that GMA protocol could be a viable multicast authentication protocol for small to medium size network topology. For large and very large (i.e. network size exceeding 1000 nodes) networks the GMA protocol could operate in a regime that may be unsuitable for highdemand/high-throughput operations, but usable for sporadic communication environment. The authors wish to thanks Dr. Jens-Peter Kaps for his time and support. The authors also wish to thank our families for their enduring patience and support. REFERENCES [1] [2] [3] [4] [5] [6] 12 [7] 10 Round-trip time (seconds) [8] 8 6 [9] 4 2 [10] 0 50 100 200 # of nodes Figure 10: Round-trip Time for 50,100,200 Node Topology. VI. CONCLUSION [11] From our preliminary research we have shown that our Group Multicast Authentication Protocol (GMA) can provide protection against broadcast and multicast DoS attack through immediate packet authentication. Our experiment also showed that GMA protocol is efficient when designed properly with the appropriate share size with respect to network group size. However, we believe that the GMA protocol requires further [12] [13] A. Perrig, R. Canetti, J. Tygar, and D. Song, “The TESLA broadcast authentication protocol”, RSA CryptoBytes, 2002. R. Canetti, J. Garay, G. Itkis, D. Micciancio, M. Naor, and B. Pinkas, “Multicast security: A taxonomy and some efficient constructions”, in INFOCOMM’99, 1999. S. Cheung, “An efficient message authentication scheme for link state routing”, in Proceedings of the 13th Annual Computer Security Applications Conference, December 1997, pp. 90–98. F. Bergadano, D. Cavagnino, and B. Crispo, “Chained stream authentication”, in Proceedings of the 7th Annual Workshop on Selected Areas in Cryptography, August 2000, pp. 144–157. B. Briscoe, “FLAMeS: Fast, loss-tolerant authentication of multicast streams,” Technical report, BT Research, 2000. A. Perrig, J. Tygar, “Secure Broadcast Communication in Wired and Wireless”, Kluwer Academic Publishers, Norwell, MA 2003. A. Perrig, R. Canetti, D. Song, and J. D. Tygar, “Efficient and secure source authentication for multicast”, in Proceedings of Network and Distributed System Security Symposium, February 2001. Adrian Perrig, Robert Szewczyk, Victor Wen, David Culler, J. D. Tygar, “SPINS: Security Protocols for Sensor Networks”, in Proceedings of Seventh Annual International Conference on Mobile Computing and Network, July 2001. Donggang Liu, Peng Ning, “Multi-Level µTESLA: A Broadcast Authentication System for Distributed Sensor Networks”, ACM Transactions on Embedded Computing Systems (TECS), Vol. 3, No. 4, pages 800--836, November 2004. Kui Ren, Kai Zeng, Wenjing Lou, and Patrick J. Moran, "On broadcast authentication in wireless sensor networks", Lecture Notes in Computer Science, vol. 4138, pp. 502-514. International Conference on Wireless Algorithms, Systems, and Applications (WASA 2006), Xi'an, China, August 15-18, 2006. Yih-Chun Hu, Adrian Perrig, David B. Johnson, "Packet Leashes: A Defense against Wormhole Attacks in Wireless Ad Hoc Networks” Technical Report TR01-384 December 17, 2001, Revised: September 25, 2002, http://monarch.cs.cmu.edu/monarchpapers/tikreport.pdf Jeremy Elson, Deborah Estrin, “Time Synchronization for Wireless Sensor Networks”, http://www.circlemud.org/~jelson/writings/timesync J. Mannermaa, K. Kalliomaki, T. Mansten, and S. Turunen. “Timing performance of various GPS receivers”. In Proceedings of the 1999 Joint 11 [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] Meeting of the European Frequency and Time Forum and the IEEE International Frequency Control Symposium, pages 287–290, April 1999. Q. Li and W. Trappe, “Staggered TESLA: A Scheme for Multi-grade Multicast Authentication,” submitted to IEEE Globecom2005. A. Perrig, D. Song, R. Canetti, J.D.Tygar, B. Briscoe, RFC 4082 Timed Effiecient Stream Loss-Tolerant Authentication (TESLA): Multicast Source Authentication Transform Introduction. Gunnar Gaubatz, Jens-Peter Kaps, Berk Sunar, Public Key Cryptography in Sensor Networks Revisited, retrieved on December 9 th, 2006 from: http://www.crypto.wpi.edu/Publications/Documents/Gaubatz KapsESAS04.pdf Adrian Perrig, Ran Canetti, J.D. Tygar, Dawn Song, “Efficient Authentication and Signing of Multicast Streams over Lossy Channels”, retrieved on December 9th 2006 from www.ece.cmu.edu/~adrian/projects/stream/stream.pdf A. S. Wander, N. Gura, H. Eberle, V. Gupta, and S. Chang Shantz. “Energy Analysis of Public-Key Cryptography on Small Wireless Devices,” IEEE PerCom, March 2005. G. Gaubatz, J.-P. Kaps, E. Öztürk, and B. Sunar, "State of the art in ultra-low power public key cryptography for wireless sensor networks", Workshop on Pervasive Computing and Communications Security PerSec'05, IEEE Computer Society, pages 146-150, March, 2005 Phong Nguy, “Lattice-based cryptosystems”, presentation made on November 26th, 2002, retrieved on December 9th, 2006 from http://www.stork.eu.org/slides/12_stork-phong.pdf Cryptolab FAQs, Ntru Inc., retrieved on December 9 th, 2006 from http://www.ntru.com/cryptolab/faqs.htm#two Diniel Bailey , “Performance and Security of NTRU Security Suite” , Presentation in Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANs) February 22, 2000. G. Gaubatz, J. Kaps, and B. Sunar, “Public Keys Cryptography in Sensor Networks – Revisited,” In the Proceedings of the 1st European Workshop on Security in Ad-Hoc and Sensor Networks (ESAS 2004). A. Kansal, D. Potter and M. Srivastava, “Performance Aware Tasking for Environmentally Powered Sensor Networks,” ACM Joint International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS), 2004. W. Du, R. Wang, and P. Ning “An Efficient Scheme for Authenticating Public Keys in Sensor Networks,” In Proceedings of The 6th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), Pages 58-67, May 25-28, 2005. Dario Rossi, “Sensors as hardware Motes Evolution”, presentation retrieved on December 17th, 2006 from www.telematica.polito.it/wsn/ppt/WSN1_Hardware.pdf Mica2Dot Datasheet, retrieved on December 17th, 2006 from http://bullseye.xbow.com/Products/Product_pdf_files/Wireless_pdf/MIC A2DOT_Datasheet.pdf W. Du, R. Wang, and P. Ning “An Efficient Scheme for Authenticating Public Keys in Sensor Networks,” In Proceedings of The 6th ACM International Symposium on Mobile Ad Hoc Networking and Computing (MobiHoc), Pages 58-67, May 25-28, 2005. A. J. Menezes, P. C. V. Oorschot, and S. A. Vanstone. Handbook of Applied Cryptography. CRC Press, Boca Raton, FL, 1997. pp 524-528. The Network Simulator – ns-2, Information Sciences Institute. [Online] http://www.isi.edu/nsnam/ns/. [Accessed Sept. 12, 2006] Crypto++ 5.2.1 Benchmarks, Cryptopo Website. [Online] http://www.cryptopp.com/benchmarks.html. [Accessed October 28, 2006]. [32] Y. Law , J. Doumen , P. Hartel, “Survey and benchmark of block ciphers for wireless sensor networks,” ACM Transactions on Sensor Networks (TOSN), v.2 n.1, p.65-93, February 2006. [33] Marc Greis, “Tutorial for the ns”, Information Sciences Institute. [Online] http://www.isi.edu/nsnam/ns/tutorial/. [Accessed November 11, 2006]. [34] C. Karlof, N. Sastry, D. Wagner,” TinySec: a link layer security architecture for wireless sensor networks”, SenSys '04: Proceedings of the 2nd international conference on Embedded networked sensor systems, 2004, pp-162-175.