# A Lightweight Authentication and Key Management Scheme for Wireless Sensor Networks

Authors: Danyang Qin; Shuang Jia; Songxiang Yang; Erfu Wang; Qun Ding
Journal: Journal of Sensors
 (2016)

---

## Abstract

Security problem is one of the most popular research fields in wireless sensor networks for both the application requirement and the resource-constrained essence. An effective and lightweight Authentication and Key Management Scheme (AKMS) is proposed in this paper to solve the problem of malicious nodes occurring in the process of networking and to offer a high level of security with low cost. For the condition that the mobile sensor nodes need to be authenticated, the keys in AKMS will be dynamically generated and adopted for security protection. Even when the keys are being compromised or captured, the attackers can neither use the previous keys nor misuse the authenticated nodes to cheat. Simulation results show that the proposed scheme provides more efficient security with less energy consumption for wireless sensor networks especially with mobile sensors.


---

## Body

## 1. Introduction

Wireless sensor networks (WSNs) [1] consist of a large number of nodes in a self-organized manner, where there are no central control nodes, and the nodes lying out of the transmitting range can communicate in a multihop way. As the wireless sensor network is independent of the predeploy infrastructure, it has broad application prospects in the battlefield environment, disaster relief, and environmental threats exploration, which make the security and efficiency the most basic requirements and the most popular research areas [2].The characteristics of wireless sensor networks determine the network security threats, the security systems, and security algorithms that are quite different from those in traditional networks [3], and the traditional network security systems and security algorithms cannot be introduced directly. Meanwhile, the inherent essence of limited storage space, computational capabilities [4], bandwidth, and communication energy does not make the computational data encryption and public key cryptography based on the traditional cryptographic techniques adapt to wireless sensor networks. The security system and algorithm for WSN are mainly focused on in this paper to design an effective Authentication and Key Management Scheme with low computing and energy cost.


## 2. Related Work

With the development of security technology in wireless sensor networks, the research on routing protocols has been increasing in recent years. This section describes the three existing master key-based key management protocols: LOCK [5], SPINS [6], and BROSK [7]. These protocols have been widely discussed in this area.The Localized Combinatorial Keying (LOCK) proposed by Eltoweissy is an Exclusion-Based Systems (EBS) dynamic key management approach for cluster-based sensor networks. LOCK takes use of three keys, including the administrative key, the group session key, and the cluster session key. A special node selected by the cluster head is called a key generation node and will perform a key generation process. LOCK is for static networks. But the proposed scheme in this paper will be suitable for dynamic networks.SPINS is a famous security framework for wireless sensor networks. Although it contains two protocols, SNEP and TESLA, which are used to achieve the confidentiality and authentication of data broadcasting, respectively, we will concentrate on the key agreement protocols [8].BROSK can be considered as a more recent ad hoc key agreement protocol compared to SPINS. There are no trusted parties or servers in this scheme, in which each node negotiates the session key directly with its neighbor node by broadcasting key agreement message.


## 3. Network Model and Key Generation

This part briefly introduces the network model, the importance of authentication, and the idea of CPK system based on ECC.


### 3.1. Network Model

The members of wireless sensor network are BS (base station), CH (cluster head), and resource-constrained nodes, which are deployed in a geographical area to perform some special monitoring functions. In most applications, especially for large scale deployment, the sensors are arranged in multiple static clusters, as shown in Figure1. The members’ changing makes the authentication and key management always a key research point in wireless network. Considering the resource-constrained essence of WSN, a lightweight scheme is badly needed, which keeps the key changeless to save the limited energy. Many applications, however, require the mobility of network nodes to support. In such a mobile sensor network, there will be always the condition that a node from an existing cluster moves into another cluster. The separated nodes may be the cluster heads or cluster members. The main reason causing the changes in cluster heads and cluster members is the mobility. The mobility of nodes together with the transient nature of the wireless media often leads to a highly dynamic network topology. In this case, security protection with moving sensors must be incorporated into wireless sensor network.Figure 1
Wireless sensor network model.Authentication is one of the security practices to verify the identity of the sensor nodes. Public key cryptography is a popular way to provide authentication for WSN. Though the easy design and effective operation make it attractive, the disadvantage of more energy requirement greatly restricts the network performance. Thus, the sensor node has to use elliptic curve digital signature algorithm to generate a digital signature authentication. The combination of pairwise, global key, cluster key, and preloaded secret information is also used to verify the sensor nodes in the network. The node mobility will lead to random topology changes, which affects the security of mobile sensor networks. The lightweight Authentication and Key Management Scheme (AKMS) proposed in this paper will adopt a Hash Message Authentication Code (HMAC) algorithm [9] and a Combined Public Key (CPK) password system based on ECC to authenticate the moving nodes within the network effectively.Sensor network has many features that make them more vulnerable to attack than the traditional computing devices. For example, the nature of the broadcasting allows the information to be intercepted, eavesdropped on, tampered with, or exchanged easily. Besides suffering the same threats with the conventional wireless networks, WSN is vulnerable to resource depletion attacks, which attempt to run out of resources, such as node battery and network bandwidth, and causes more damage. Finally, most devices in WSN cannot be tamper-resistant typically, which facilitates the physical manipulation and keys being stolen. To approach the real condition, the attack model is assumed as follows:(1)
The sensors are not tamper-resistant, so an attacker is able to access the stored information and the keys in the node storage directly.(2)
The attackers may appear not only before the network deployment but also during all the network life cycle without any assumptions about the quantity or the physical location of the attackers.(3)
The attackers may easily intercept and modify the exchanged information among the network nodes.


### 3.2. The Idea of CPK System Based on ECC

Combined Public Key (CPK) password system based on ECC is a way of authentication based on the identity. According to the mathematical principle of elliptic curve discrete logarithm, we build public key matrix and private key matrix and use the hash function to map the entity’s identity for the row and column coordinates sequence of the matrix; it is used for the selection and combination of matrix element, and it can generate a large number of public and private key pairs, so as to realize the large scale of identity-based key generation and distribution. Entity nodes need to know each other’s identity to calculate its public key, which can easily achieve authentication and security features. Among them, identify key is generated by the entity’s identity through combination matrix. The CPK system based on ECC has the following advantages.(1)
In wireless sensor network (WSN), the only legitimate nodes have the private key, and, according to the other identity ID and segmentation key, we can calculate the other Combined Public Keys (CPK), so the simple and efficient authentication process can be realized without the participation of the third party.(2)
The CPK system based on ECC can combine large public/private key pair through a small amount of public/private key matrix; nodes only need to store a small matrix to achieve a large number of nodes' security authentication in the network.Point multiplication operation is the foundation of CPK algorithm. ECC Signature Algorithm (ECDSA) is the elliptic curve version of digital signature algorithm (DSA); it is the basis for the CPK digital signature algorithm. This paper adopts ECC algorithms based on Montgomery type curve [10]. We use point multiplication operation of Montgomery type elliptic curve and the binary shift NAF coding algorithm to solve the large amount of calculation generated by ECC point multiplication. We use the point addition and times point fast operation where the value of y is not calculated to avoid modular inversion algorithm under the projective coordinates.Point addition formula is as follows:(1)Xm+n=Zm-nXm-ZmXn+Zn+Xn-Zn·Xm+Zm2Zm+n=Xm-nXm-ZmXn+Zn-Xn-Zn·Xm+Zm2.Times point formula is as follows:(2)4XnZn=Xn+Zn2-Xn-Zn2X2n=Xn+Zn2Xn-Zn2Z2n=4XnZnXn-Zn2+A+244XnZn.Calculating coordinatesX,Z of the times point dP of point P=x,y in projective coordinates, where “←” denotes mapping and (S1) means step 1, the specific algorithm is as follows:(S1)i←d-1;(S2) Calculate the integer:(3)X1⟵x,Z1⟵1;T1⟵X1+Z12-X1-Z12X2⟵X1+Z12X1-Z12;Z2⟵T1X1-Z12+A+24T1;(S3) Ifi=0, then jump to (S12), else go to (S4);(S4)i←i-1;(S5) Ifdi=0, then go to (S6), else jump to (S9).(S6) Calculate the integer:(4)T1⟵X2;X2⟵T1-Z2X1+Z1+T1+Z2X1-Z12Z2⟵xT1-Z2X1+Z1-T1+Z2X1-Z12;(S7) Calculate the integer:(5)T1⟵X2;T2⟵T1+Z12-T1-Z12X1⟵T1+Z12T1-Z12;Z1⟵T2T1-Z12+A+24T2;(S8) Jump to (S3);(S9) Calculate the integer;(6)T1⟵X1;X1⟵X2-Z2T1+Z1+X2+Z2T1-Z12Z1⟵xX2-Z2T1+Z1-X2+Z2T1-Z12;(S10) Calculate the integer:(7)T1⟵X2;T2⟵T1+Z22-T1-Z22X2⟵T1+Z22T1-Z22;Z2⟵T2T1-Z22+A+24T2;(S11) Jump to (S3):(S12) Output integerX1, Z1, as dP corresponding X, Z.


## 3.1. Network Model

The members of wireless sensor network are BS (base station), CH (cluster head), and resource-constrained nodes, which are deployed in a geographical area to perform some special monitoring functions. In most applications, especially for large scale deployment, the sensors are arranged in multiple static clusters, as shown in Figure1. The members’ changing makes the authentication and key management always a key research point in wireless network. Considering the resource-constrained essence of WSN, a lightweight scheme is badly needed, which keeps the key changeless to save the limited energy. Many applications, however, require the mobility of network nodes to support. In such a mobile sensor network, there will be always the condition that a node from an existing cluster moves into another cluster. The separated nodes may be the cluster heads or cluster members. The main reason causing the changes in cluster heads and cluster members is the mobility. The mobility of nodes together with the transient nature of the wireless media often leads to a highly dynamic network topology. In this case, security protection with moving sensors must be incorporated into wireless sensor network.Figure 1
Wireless sensor network model.Authentication is one of the security practices to verify the identity of the sensor nodes. Public key cryptography is a popular way to provide authentication for WSN. Though the easy design and effective operation make it attractive, the disadvantage of more energy requirement greatly restricts the network performance. Thus, the sensor node has to use elliptic curve digital signature algorithm to generate a digital signature authentication. The combination of pairwise, global key, cluster key, and preloaded secret information is also used to verify the sensor nodes in the network. The node mobility will lead to random topology changes, which affects the security of mobile sensor networks. The lightweight Authentication and Key Management Scheme (AKMS) proposed in this paper will adopt a Hash Message Authentication Code (HMAC) algorithm [9] and a Combined Public Key (CPK) password system based on ECC to authenticate the moving nodes within the network effectively.Sensor network has many features that make them more vulnerable to attack than the traditional computing devices. For example, the nature of the broadcasting allows the information to be intercepted, eavesdropped on, tampered with, or exchanged easily. Besides suffering the same threats with the conventional wireless networks, WSN is vulnerable to resource depletion attacks, which attempt to run out of resources, such as node battery and network bandwidth, and causes more damage. Finally, most devices in WSN cannot be tamper-resistant typically, which facilitates the physical manipulation and keys being stolen. To approach the real condition, the attack model is assumed as follows:(1)
The sensors are not tamper-resistant, so an attacker is able to access the stored information and the keys in the node storage directly.(2)
The attackers may appear not only before the network deployment but also during all the network life cycle without any assumptions about the quantity or the physical location of the attackers.(3)
The attackers may easily intercept and modify the exchanged information among the network nodes.


## 3.2. The Idea of CPK System Based on ECC

Combined Public Key (CPK) password system based on ECC is a way of authentication based on the identity. According to the mathematical principle of elliptic curve discrete logarithm, we build public key matrix and private key matrix and use the hash function to map the entity’s identity for the row and column coordinates sequence of the matrix; it is used for the selection and combination of matrix element, and it can generate a large number of public and private key pairs, so as to realize the large scale of identity-based key generation and distribution. Entity nodes need to know each other’s identity to calculate its public key, which can easily achieve authentication and security features. Among them, identify key is generated by the entity’s identity through combination matrix. The CPK system based on ECC has the following advantages.(1)
In wireless sensor network (WSN), the only legitimate nodes have the private key, and, according to the other identity ID and segmentation key, we can calculate the other Combined Public Keys (CPK), so the simple and efficient authentication process can be realized without the participation of the third party.(2)
The CPK system based on ECC can combine large public/private key pair through a small amount of public/private key matrix; nodes only need to store a small matrix to achieve a large number of nodes' security authentication in the network.Point multiplication operation is the foundation of CPK algorithm. ECC Signature Algorithm (ECDSA) is the elliptic curve version of digital signature algorithm (DSA); it is the basis for the CPK digital signature algorithm. This paper adopts ECC algorithms based on Montgomery type curve [10]. We use point multiplication operation of Montgomery type elliptic curve and the binary shift NAF coding algorithm to solve the large amount of calculation generated by ECC point multiplication. We use the point addition and times point fast operation where the value of y is not calculated to avoid modular inversion algorithm under the projective coordinates.Point addition formula is as follows:(1)Xm+n=Zm-nXm-ZmXn+Zn+Xn-Zn·Xm+Zm2Zm+n=Xm-nXm-ZmXn+Zn-Xn-Zn·Xm+Zm2.Times point formula is as follows:(2)4XnZn=Xn+Zn2-Xn-Zn2X2n=Xn+Zn2Xn-Zn2Z2n=4XnZnXn-Zn2+A+244XnZn.Calculating coordinatesX,Z of the times point dP of point P=x,y in projective coordinates, where “←” denotes mapping and (S1) means step 1, the specific algorithm is as follows:(S1)i←d-1;(S2) Calculate the integer:(3)X1⟵x,Z1⟵1;T1⟵X1+Z12-X1-Z12X2⟵X1+Z12X1-Z12;Z2⟵T1X1-Z12+A+24T1;(S3) Ifi=0, then jump to (S12), else go to (S4);(S4)i←i-1;(S5) Ifdi=0, then go to (S6), else jump to (S9).(S6) Calculate the integer:(4)T1⟵X2;X2⟵T1-Z2X1+Z1+T1+Z2X1-Z12Z2⟵xT1-Z2X1+Z1-T1+Z2X1-Z12;(S7) Calculate the integer:(5)T1⟵X2;T2⟵T1+Z12-T1-Z12X1⟵T1+Z12T1-Z12;Z1⟵T2T1-Z12+A+24T2;(S8) Jump to (S3);(S9) Calculate the integer;(6)T1⟵X1;X1⟵X2-Z2T1+Z1+X2+Z2T1-Z12Z1⟵xX2-Z2T1+Z1-X2+Z2T1-Z12;(S10) Calculate the integer:(7)T1⟵X2;T2⟵T1+Z22-T1-Z22X2⟵T1+Z22T1-Z22;Z2⟵T2T1-Z22+A+24T2;(S11) Jump to (S3):(S12) Output integerX1, Z1, as dP corresponding X, Z.


## 4. Proposed Authentication and Key Management Scheme

The lightweight AKMS proposed in this paper consists of three main phases: key predistribution phase, network initialization phase, and authentication protocol. The first phase is enabled before the nodes are being deployed. The second phase sets the security of network, and it is enabled during the network deployment. The last phase is enabled when a new node joins the network with the previous stage being over.


### 4.1. Key Predistribution Phase

Key predistribution phase is a key step for dynamic key management with moving nodes in WSN. For reasons of clarity, the symbols used in this paper are listed in the Notations.In this phase, a network-wide symmetric master key will be generated and stored securely. This key should be long enough to destroy the common attack, namely, a minimum of 128 bits. During the networking stage, each node is preinstalled with an initial authenticator. Theith cycle authenticator ∇i can be used by a node to identify another node, the superscript symbol of which indicates the cycle where the authenticator takes. It consists of the random number of n tuples and the results of using a keyed-hash function with the current authentication key over them.During the first authentication cycle, the authentication key is equal to the master keykauth0=kM before the deployment; therefore(8)∇0=ri,rikM,i=0,…,n-1.In general, the authentication key of the first cycle iskauthj=kMj; then the authenticator set is(9)∇j=ri,rikauthj,i=0,…,n-1;when the tuples are exhausted at this time, the authenticator will transmit to the next cycle.


### 4.2. Network Initialization Phase

This phase is enabled during the network deployment. In such operating environment, each node can find its neighbors within the communication range. Specific steps are as follows:(1)
Each nodei generates its unique symmetric key by the CPK system based on ECC, kenci, called the node encryption key, which is obtained by generating a random number and performing kenci=kM,ri. For example, the encryption key of some node A can be calculated as kencA=kM,rA.(2)
For a very short time, each node broadcasts its random valueri with the unit as seconds [11]. In this way, the attackers listening to the broadcast communication will get the random values.(3)
Each node receives a random value from its neighbor node and uses common master key to calculate their encryption key. In this case, each node will store a list of paired keys of its neighbor nodes.(4)
Each node hashes the common master key and keeps it with the first forms of authentication key askauth1=kM, for the easy reason that storing master key in node’s storage space has great potential danger if a node is captured. This is mainly because of the existence of the authenticator, which will help to authenticate other nodes and to verify the information of common master key without storing master key.(5)
In this stage, each node stores its encryption keykenci, the set of encryption keys of its neighbor nodes, and the keys of the next authentication cycle kauth1, which is hash function of the master key and the current authenticator, ∇0 consisting of the set of n tuples.(6)
Now, the node begins to communicate with other nodes using the encryption key in pair.


### 4.3. Authentication Operator

Authentication operation is used for network nodes to authenticate each other. The operator’s goal is to provide the ability to verify the new node in the network once the deployment phase of nodes is over. Retaining the master key in the node internal memory could cause the whole network security to be damaged. To avoid this situation, AKMS precalculates the necessary authentication material (excitation/response tuple) and the authentication key which will be deleted later. Therefore, the new node will be verified by the knowledge of the authentication key without being stored in the memory. As mentioned above, the authentication operation will adopt two encryption primitives, as the excitation/response scheme [12] and the key chain [13].


#### 4.3.1. Authenticator Generation

The authentication of any cyclej is constructed from the keys of the previous cycle j-1. In this way, the node can verify the master key, because the authentication key of the cycle j-1 can only be derived rather than storing the master key itself. If a node is destroyed, the attacker will only obtain the identity of the current cycle but not compromise the authentication and the exchange of keys performed using the previous cycles of the authenticator. As a node runs out of authenticators’ instances, it will simply generate a new set; that is, it will start a new cycle of the authenticators set. The cycle should be composed of the following steps:(1)
A new authenticators set withn tuples of random numbers is calculated and the current authentication key kauthj is applied to each of them to obtain(10)∇j+1=ri,rikauthj,i=0,…,n-1.(2)
The current authentication key is updated and hashed to obtain(11)kauthj+1=kauthj.(3)
The new key is generated by(12)kauthj+1,∇j+1=ri,rikauthj,i=0,…,n-1.


#### 4.3.2. Implementation Issues

Each of these tuples has a status label to describe its current status in the authentication process. The possible values of status are as follows:UNUSED: the tuple is unusedASSIGNED: the tuple is temporarily assigned to a node in an ongoing process of authentication; if the process fails, the label will change to UNUSED, and the tuple can be used againUSED: the tuple is used in a successful authentication process, which cannot be adopted by any other processes; in this way, the replay attack will be avoided efficientlyIn addition to these labels, there is another domain in authenticator structure, called the current tuple index denoted asδ to store the first UNUSED tuple, which will increase when each tuple changes its status from UNUSED to ASSIGNED.Finally, another important issue to be analyzed is the size of the authenticatorn. As a system parameter, the value of n should be carefully set according to the number of nodes and the moving rate. Of course, if the network status is changing dramatically, the value of n will be adjusted dynamically. A typical value of n is about 10, which is relatively reasonable taking into account the expected authentication rate and the number of the neighbor nodes in such a network [14].Although it has no direct security consequences, a very small value ofn may cause some performance problems if the network has a high new nodes ingress rate. In order to avoid these drawbacks, a new authentication cycle has to be calculated [15].An example in Table1 includes the values of the second authentication cycle. There is kauth2=kM=kM2 in this situation. From the value of the current tuple index δ, it can be inferred that the authenticator has carried out two successful authentications.Table 1
Example of the authenticator withδ=3.
Authenticator∇2 Status label of each tuple r 0 , r 0 k a u t h 2 USED r 1 , r 1 k a u t h 2 USED r 2 , r 2 k a u t h 2 ASSIGNED r 3 , r 3 k a u t h 2 UNUSED ⋯ ⋯


### 4.4. Authentication Protocol

A new node,A, wants to join in the network; excitation/response based mutual authentication protocol will be performed after deployment [16]. As a new node, node A can be regarded as the node first entering into the network in some certain sense, so the authenticator will be the first cycle ∇1. Assuming node B is the authentication node to node A, which can be adopted at any cyclej, the authentication protocol between node A and node B can be described as follows:(1)
NodeA produces an excitation to node B by generating a random number rA. Then, it will send a message to node B with the following format:(13)M1=rA.(2)
After receivingM1from node A, node B will perform the following operations:
(i)
to open the first unused tuple and mark it by the current tuple indexδ, so as to extract the corresponding random number rB and the random pair rBkauthj-1, as well as change the status label of tuple δ from UNUSED to ASSIGNED;(ii)
to respond to an excitation from nodeA using the defined keyed-function with kauthj-1 over the excitation rA to obtain rAkauthj-1;(iii)
to recover its own encryption keyskencB and the ciphers of the current authentication key to obtain kencBkauthj;(iv)
to restore the current cyclej of authenticator for the later synchronization with node A and send the message to node A with the following format:(14)M2=rB,rAkauthj-1,kencBkauthj,j.(3)
After receivingM2 from node B, node A will perform the following operations:
(i)
to calculate the current cyclej of node B (node A is considered to be a new node, so the current cycle is 1; therefore node A needs to perform j-1 times hash over kM to obtain kauthj=kMj-1 to synchronize with node B);(ii)
to check whether the response from nodeB is correct or not by comparing its own computation with the received value (passing the checks means node B has demonstrated the original master key and is successfully authenticated);(iii)
to calculate the imaginary part of the excitationrB to obtain rBkauthj-1;(iv)
to generate its own encryption keykencA and the ciphers of the current authentication key so as to obtain kencAkauthj;(v)
to send the message to nodeB with the following format:(15)M3=rBkauthj,kencAkauthj.(4)
Finally, after receivingM3 from node A, node B will compare each response of the authenticator in use with the status label ∇kj:
(i)
if they are equal, the status label∇kj is changed from ASSINGED to USED, and the new joining node is authenticated to access the network;(ii)
if they are not equal, the status label is changed to UNUSED again, which means the new joining node fails in authentication and is not allowed to access the network.The whole information exchange process can be summarized as in Figure2.Figure 2
Authentication protocol running example.Being observed in steps (2) and (3), this exchange process provides simple key establishment procedures and effective transfers of the appropriate encryption key kencA or kencB to the corresponding groups.Figure2 shows a full implementation example of the proposed authentication scheme. Node A and node B are regarded as the requester and the authenticator, respectively. The authentication parameters of node B are ∇3 and δ=2, which means that the authenticator is in the third cycle and two tuples have been successfully used. Node A is a new node, so its authenticator is in the first cycle.


## 4.1. Key Predistribution Phase

Key predistribution phase is a key step for dynamic key management with moving nodes in WSN. For reasons of clarity, the symbols used in this paper are listed in the Notations.In this phase, a network-wide symmetric master key will be generated and stored securely. This key should be long enough to destroy the common attack, namely, a minimum of 128 bits. During the networking stage, each node is preinstalled with an initial authenticator. Theith cycle authenticator ∇i can be used by a node to identify another node, the superscript symbol of which indicates the cycle where the authenticator takes. It consists of the random number of n tuples and the results of using a keyed-hash function with the current authentication key over them.During the first authentication cycle, the authentication key is equal to the master keykauth0=kM before the deployment; therefore(8)∇0=ri,rikM,i=0,…,n-1.In general, the authentication key of the first cycle iskauthj=kMj; then the authenticator set is(9)∇j=ri,rikauthj,i=0,…,n-1;when the tuples are exhausted at this time, the authenticator will transmit to the next cycle.


## 4.2. Network Initialization Phase

This phase is enabled during the network deployment. In such operating environment, each node can find its neighbors within the communication range. Specific steps are as follows:(1)
Each nodei generates its unique symmetric key by the CPK system based on ECC, kenci, called the node encryption key, which is obtained by generating a random number and performing kenci=kM,ri. For example, the encryption key of some node A can be calculated as kencA=kM,rA.(2)
For a very short time, each node broadcasts its random valueri with the unit as seconds [11]. In this way, the attackers listening to the broadcast communication will get the random values.(3)
Each node receives a random value from its neighbor node and uses common master key to calculate their encryption key. In this case, each node will store a list of paired keys of its neighbor nodes.(4)
Each node hashes the common master key and keeps it with the first forms of authentication key askauth1=kM, for the easy reason that storing master key in node’s storage space has great potential danger if a node is captured. This is mainly because of the existence of the authenticator, which will help to authenticate other nodes and to verify the information of common master key without storing master key.(5)
In this stage, each node stores its encryption keykenci, the set of encryption keys of its neighbor nodes, and the keys of the next authentication cycle kauth1, which is hash function of the master key and the current authenticator, ∇0 consisting of the set of n tuples.(6)
Now, the node begins to communicate with other nodes using the encryption key in pair.


## 4.3. Authentication Operator

Authentication operation is used for network nodes to authenticate each other. The operator’s goal is to provide the ability to verify the new node in the network once the deployment phase of nodes is over. Retaining the master key in the node internal memory could cause the whole network security to be damaged. To avoid this situation, AKMS precalculates the necessary authentication material (excitation/response tuple) and the authentication key which will be deleted later. Therefore, the new node will be verified by the knowledge of the authentication key without being stored in the memory. As mentioned above, the authentication operation will adopt two encryption primitives, as the excitation/response scheme [12] and the key chain [13].


### 4.3.1. Authenticator Generation

The authentication of any cyclej is constructed from the keys of the previous cycle j-1. In this way, the node can verify the master key, because the authentication key of the cycle j-1 can only be derived rather than storing the master key itself. If a node is destroyed, the attacker will only obtain the identity of the current cycle but not compromise the authentication and the exchange of keys performed using the previous cycles of the authenticator. As a node runs out of authenticators’ instances, it will simply generate a new set; that is, it will start a new cycle of the authenticators set. The cycle should be composed of the following steps:(1)
A new authenticators set withn tuples of random numbers is calculated and the current authentication key kauthj is applied to each of them to obtain(10)∇j+1=ri,rikauthj,i=0,…,n-1.(2)
The current authentication key is updated and hashed to obtain(11)kauthj+1=kauthj.(3)
The new key is generated by(12)kauthj+1,∇j+1=ri,rikauthj,i=0,…,n-1.


### 4.3.2. Implementation Issues

Each of these tuples has a status label to describe its current status in the authentication process. The possible values of status are as follows:UNUSED: the tuple is unusedASSIGNED: the tuple is temporarily assigned to a node in an ongoing process of authentication; if the process fails, the label will change to UNUSED, and the tuple can be used againUSED: the tuple is used in a successful authentication process, which cannot be adopted by any other processes; in this way, the replay attack will be avoided efficientlyIn addition to these labels, there is another domain in authenticator structure, called the current tuple index denoted asδ to store the first UNUSED tuple, which will increase when each tuple changes its status from UNUSED to ASSIGNED.Finally, another important issue to be analyzed is the size of the authenticatorn. As a system parameter, the value of n should be carefully set according to the number of nodes and the moving rate. Of course, if the network status is changing dramatically, the value of n will be adjusted dynamically. A typical value of n is about 10, which is relatively reasonable taking into account the expected authentication rate and the number of the neighbor nodes in such a network [14].Although it has no direct security consequences, a very small value ofn may cause some performance problems if the network has a high new nodes ingress rate. In order to avoid these drawbacks, a new authentication cycle has to be calculated [15].An example in Table1 includes the values of the second authentication cycle. There is kauth2=kM=kM2 in this situation. From the value of the current tuple index δ, it can be inferred that the authenticator has carried out two successful authentications.Table 1
Example of the authenticator withδ=3.
Authenticator∇2 Status label of each tuple r 0 , r 0 k a u t h 2 USED r 1 , r 1 k a u t h 2 USED r 2 , r 2 k a u t h 2 ASSIGNED r 3 , r 3 k a u t h 2 UNUSED ⋯ ⋯


## 4.3.1. Authenticator Generation

The authentication of any cyclej is constructed from the keys of the previous cycle j-1. In this way, the node can verify the master key, because the authentication key of the cycle j-1 can only be derived rather than storing the master key itself. If a node is destroyed, the attacker will only obtain the identity of the current cycle but not compromise the authentication and the exchange of keys performed using the previous cycles of the authenticator. As a node runs out of authenticators’ instances, it will simply generate a new set; that is, it will start a new cycle of the authenticators set. The cycle should be composed of the following steps:(1)
A new authenticators set withn tuples of random numbers is calculated and the current authentication key kauthj is applied to each of them to obtain(10)∇j+1=ri,rikauthj,i=0,…,n-1.(2)
The current authentication key is updated and hashed to obtain(11)kauthj+1=kauthj.(3)
The new key is generated by(12)kauthj+1,∇j+1=ri,rikauthj,i=0,…,n-1.


## 4.3.2. Implementation Issues

Each of these tuples has a status label to describe its current status in the authentication process. The possible values of status are as follows:UNUSED: the tuple is unusedASSIGNED: the tuple is temporarily assigned to a node in an ongoing process of authentication; if the process fails, the label will change to UNUSED, and the tuple can be used againUSED: the tuple is used in a successful authentication process, which cannot be adopted by any other processes; in this way, the replay attack will be avoided efficientlyIn addition to these labels, there is another domain in authenticator structure, called the current tuple index denoted asδ to store the first UNUSED tuple, which will increase when each tuple changes its status from UNUSED to ASSIGNED.Finally, another important issue to be analyzed is the size of the authenticatorn. As a system parameter, the value of n should be carefully set according to the number of nodes and the moving rate. Of course, if the network status is changing dramatically, the value of n will be adjusted dynamically. A typical value of n is about 10, which is relatively reasonable taking into account the expected authentication rate and the number of the neighbor nodes in such a network [14].Although it has no direct security consequences, a very small value ofn may cause some performance problems if the network has a high new nodes ingress rate. In order to avoid these drawbacks, a new authentication cycle has to be calculated [15].An example in Table1 includes the values of the second authentication cycle. There is kauth2=kM=kM2 in this situation. From the value of the current tuple index δ, it can be inferred that the authenticator has carried out two successful authentications.Table 1
Example of the authenticator withδ=3.
Authenticator∇2 Status label of each tuple r 0 , r 0 k a u t h 2 USED r 1 , r 1 k a u t h 2 USED r 2 , r 2 k a u t h 2 ASSIGNED r 3 , r 3 k a u t h 2 UNUSED ⋯ ⋯


## 4.4. Authentication Protocol

A new node,A, wants to join in the network; excitation/response based mutual authentication protocol will be performed after deployment [16]. As a new node, node A can be regarded as the node first entering into the network in some certain sense, so the authenticator will be the first cycle ∇1. Assuming node B is the authentication node to node A, which can be adopted at any cyclej, the authentication protocol between node A and node B can be described as follows:(1)
NodeA produces an excitation to node B by generating a random number rA. Then, it will send a message to node B with the following format:(13)M1=rA.(2)
After receivingM1from node A, node B will perform the following operations:
(i)
to open the first unused tuple and mark it by the current tuple indexδ, so as to extract the corresponding random number rB and the random pair rBkauthj-1, as well as change the status label of tuple δ from UNUSED to ASSIGNED;(ii)
to respond to an excitation from nodeA using the defined keyed-function with kauthj-1 over the excitation rA to obtain rAkauthj-1;(iii)
to recover its own encryption keyskencB and the ciphers of the current authentication key to obtain kencBkauthj;(iv)
to restore the current cyclej of authenticator for the later synchronization with node A and send the message to node A with the following format:(14)M2=rB,rAkauthj-1,kencBkauthj,j.(3)
After receivingM2 from node B, node A will perform the following operations:
(i)
to calculate the current cyclej of node B (node A is considered to be a new node, so the current cycle is 1; therefore node A needs to perform j-1 times hash over kM to obtain kauthj=kMj-1 to synchronize with node B);(ii)
to check whether the response from nodeB is correct or not by comparing its own computation with the received value (passing the checks means node B has demonstrated the original master key and is successfully authenticated);(iii)
to calculate the imaginary part of the excitationrB to obtain rBkauthj-1;(iv)
to generate its own encryption keykencA and the ciphers of the current authentication key so as to obtain kencAkauthj;(v)
to send the message to nodeB with the following format:(15)M3=rBkauthj,kencAkauthj.(4)
Finally, after receivingM3 from node A, node B will compare each response of the authenticator in use with the status label ∇kj:
(i)
if they are equal, the status label∇kj is changed from ASSINGED to USED, and the new joining node is authenticated to access the network;(ii)
if they are not equal, the status label is changed to UNUSED again, which means the new joining node fails in authentication and is not allowed to access the network.The whole information exchange process can be summarized as in Figure2.Figure 2
Authentication protocol running example.Being observed in steps (2) and (3), this exchange process provides simple key establishment procedures and effective transfers of the appropriate encryption key kencA or kencB to the corresponding groups.Figure2 shows a full implementation example of the proposed authentication scheme. Node A and node B are regarded as the requester and the authenticator, respectively. The authentication parameters of node B are ∇3 and δ=2, which means that the authenticator is in the third cycle and two tuples have been successfully used. Node A is a new node, so its authenticator is in the first cycle.


## 5. Performance Evaluations

In this section, the performance of AKMS will be evaluated and analyzed in terms of the average packet delivery rate, the average energy consumption, and the networking success rate with different types of attackers.


### 5.1. Simulation Settings

The performance of AKMS proposed in this paper is assessed by NS2 [17]. The simulations have been carried out 20 times in different scenarios with the results being averaged for each [18]. The simulation parameters are shown in Table 2.Table 2
Summarization of the simulation parameters (CH: cluster head; SN: sensor node).
Parameters Values Number of nodes 100,101,102 , … , 500 Area size (m2) 500 × 500 Wireless bandwidth (Mbps) 2 Simulation duration (sec) 300 Traffic source CBR Mobility speed (m/s) 0,1 , 2 , … , 25 Initial energy (J) CH = 50, SN = 5 InitialVBP (J) CH = 500, SN = 50 Radio range (m) CH = 150, SN = 50 Number of internal attackers 90% of attackers Number of external attackers 10% of attackers Number of CHs 6% of nodes


### 5.2. Simulation Results

The number of nodes remains 200 with the number of attackers being 5, 10, 15, 20, and 25, respectively [19]. Firstly, the average packet delivery rate (PDR) of AKMS is simulated compared with that of LOCK, SPINS, and BROSK, and the results are shown in Figure 3. Because of the bidirectional malware detection technology to eliminate malicious node cluster members and CH, AKMS will reduce the error packets effectively, so as to be able to send more legitimate packets to the destination compared to other schemes. Besides, AKMS adopts multipath propagation routing technology to eliminate the selective forwarding attacks, which makes the PDR even higher.Figure 3
Packet delivery ratio.Secondly, the average energy consumption of all the nodes is measured during transmission, including the energy consumption by sending, receiving, and calculating. Figure4 shows the average energy consumption comparisons of AKMS, LOCK, SPINS, and BROSK. When the number of attackers is growing, the average energy consumption will also increase. This is because the increasing attackers will cause more error packets. CH will filter out error packets based on AKMS to avoid the spreading of the packets from attackers throughout the network, so as to reduce the energy consumption. In LOCK, the CH node must initiate the key updating if it is captured. A new CH is selected as the new BS, and it will distribute new keys to its cluster members with the help of key generation node (KGN) [20], which will consume more energy.Figure 4
Energy consumption.Thirdly, the impact of network resilience ability has been analyzed and evaluated by the percentage of successful networking in the network of 500 nodes with 25% being the attacker. Three types of attack scenarios are set with only static attackers, only mobile attacker, and combination of both, and the simulating results are shown in Figures5(a), 5(b), and 5(c), respectively. AKMS will detect the malicious nodes and exclude them from the network to avoid them participating in the network activities. Moreover, network environment variation based dynamic key scheme makes it difficult for the attackers to capture node. Even if the nodes are compromised by attackers, it cannot affect the entire network with AKMS.Figure 5
(a) Successful networking rate with 25 static attackers. (b) Successful networking rate with 25 mobile attackers. (c) Successful networking rate with static and mobile attackers.
(a) (b) (c)Figure5(a) shows the successful networking rate in the presence of 25 static attackers. In LOCK, the key updating is initiated only if the node-capturing rate reaches the Network Resilience Point (Nc). If a certain node in the network is attacked before the key updating, it will be further used by the attacker to destroy the rest of the nodes in the network. Therefore, the proportion of the mobile nodes will be decreasing rapidly. AKMS, however, is able to capture the key that is hidden before distribution or stored in each node in the cluster. Once these keys are captured, the attacker will further attempt to compromise more nodes until AKMS reinitiates the key updating. Since AKMS support mobility, the neighbors of any attacker may move to another cluster, so the performance of AKMS will be better than other schemes, especially in mobile WSN.Figure5(b) shows the successful networking rate in the presence of 25 mobile attackers. The attackers in the network are moving with different speed. Generally, the attacker with the maximum speed is able to attack the most nodes by moving from one to another cluster quickly and continuously launching attacks before being recognized and separated. Simulating results and analysis both indicate that the performance of AKMS is better than that of LOCK, SPINS, and BROSK, because AKMS can identify the malicious nodes and isolate them from the network at the same time.Figure5(c) shows the successful networking rate in the presence of 10 mobile and 15 static attackers. From the simulation it can be seen that the static attackers are able to be identified before the network becomes stable; the mobile attackers will attack by moving from one to another cluster. AKMS will perform better because of the mobility-support characteristics.


## 5.1. Simulation Settings

The performance of AKMS proposed in this paper is assessed by NS2 [17]. The simulations have been carried out 20 times in different scenarios with the results being averaged for each [18]. The simulation parameters are shown in Table 2.Table 2
Summarization of the simulation parameters (CH: cluster head; SN: sensor node).
Parameters Values Number of nodes 100,101,102 , … , 500 Area size (m2) 500 × 500 Wireless bandwidth (Mbps) 2 Simulation duration (sec) 300 Traffic source CBR Mobility speed (m/s) 0,1 , 2 , … , 25 Initial energy (J) CH = 50, SN = 5 InitialVBP (J) CH = 500, SN = 50 Radio range (m) CH = 150, SN = 50 Number of internal attackers 90% of attackers Number of external attackers 10% of attackers Number of CHs 6% of nodes


## 5.2. Simulation Results

The number of nodes remains 200 with the number of attackers being 5, 10, 15, 20, and 25, respectively [19]. Firstly, the average packet delivery rate (PDR) of AKMS is simulated compared with that of LOCK, SPINS, and BROSK, and the results are shown in Figure 3. Because of the bidirectional malware detection technology to eliminate malicious node cluster members and CH, AKMS will reduce the error packets effectively, so as to be able to send more legitimate packets to the destination compared to other schemes. Besides, AKMS adopts multipath propagation routing technology to eliminate the selective forwarding attacks, which makes the PDR even higher.Figure 3
Packet delivery ratio.Secondly, the average energy consumption of all the nodes is measured during transmission, including the energy consumption by sending, receiving, and calculating. Figure4 shows the average energy consumption comparisons of AKMS, LOCK, SPINS, and BROSK. When the number of attackers is growing, the average energy consumption will also increase. This is because the increasing attackers will cause more error packets. CH will filter out error packets based on AKMS to avoid the spreading of the packets from attackers throughout the network, so as to reduce the energy consumption. In LOCK, the CH node must initiate the key updating if it is captured. A new CH is selected as the new BS, and it will distribute new keys to its cluster members with the help of key generation node (KGN) [20], which will consume more energy.Figure 4
Energy consumption.Thirdly, the impact of network resilience ability has been analyzed and evaluated by the percentage of successful networking in the network of 500 nodes with 25% being the attacker. Three types of attack scenarios are set with only static attackers, only mobile attacker, and combination of both, and the simulating results are shown in Figures5(a), 5(b), and 5(c), respectively. AKMS will detect the malicious nodes and exclude them from the network to avoid them participating in the network activities. Moreover, network environment variation based dynamic key scheme makes it difficult for the attackers to capture node. Even if the nodes are compromised by attackers, it cannot affect the entire network with AKMS.Figure 5
(a) Successful networking rate with 25 static attackers. (b) Successful networking rate with 25 mobile attackers. (c) Successful networking rate with static and mobile attackers.
(a) (b) (c)Figure5(a) shows the successful networking rate in the presence of 25 static attackers. In LOCK, the key updating is initiated only if the node-capturing rate reaches the Network Resilience Point (Nc). If a certain node in the network is attacked before the key updating, it will be further used by the attacker to destroy the rest of the nodes in the network. Therefore, the proportion of the mobile nodes will be decreasing rapidly. AKMS, however, is able to capture the key that is hidden before distribution or stored in each node in the cluster. Once these keys are captured, the attacker will further attempt to compromise more nodes until AKMS reinitiates the key updating. Since AKMS support mobility, the neighbors of any attacker may move to another cluster, so the performance of AKMS will be better than other schemes, especially in mobile WSN.Figure5(b) shows the successful networking rate in the presence of 25 mobile attackers. The attackers in the network are moving with different speed. Generally, the attacker with the maximum speed is able to attack the most nodes by moving from one to another cluster quickly and continuously launching attacks before being recognized and separated. Simulating results and analysis both indicate that the performance of AKMS is better than that of LOCK, SPINS, and BROSK, because AKMS can identify the malicious nodes and isolate them from the network at the same time.Figure5(c) shows the successful networking rate in the presence of 10 mobile and 15 static attackers. From the simulation it can be seen that the static attackers are able to be identified before the network becomes stable; the mobile attackers will attack by moving from one to another cluster. AKMS will perform better because of the mobility-support characteristics.


## 6. Conclusions

The resource-constrained essence of WSN makes the attack threat, security system, and algorithm quite different from those in traditional wireless network. In this paper, a lightweight authentication and key management protocol AKMS has been proposed for wireless sensor networks. It uses the symmetric cryptographic primitives with keyed-hash functions (HMAC) and bidirectional encryption algorithm to provide message confidentiality and authenticity for WSN and reduces the encryption overhead to the minimum as well with just a few bytes to be performed for once per authentication attempt. Simulation results show that the proposed scheme AKMS will provide more efficient security with less energy consumption, control overhead, and packet loss rate than other typical schemes, and the advantages will become remarkable with the number of nodes, attackers, and cycles increasing. Moreover, for the condition that there are mobile sensors in the network, the proposed scheme AKMS performs quite well compared to LOCK, SPINS, and BROSK. Future research will focus on the way to resist various attacks and robust routing in ubiquitous communication network.



---

*Source: 1547963-2016-10-19.xml*