CoopECC: A Collaborative Cryptographic Mechanism for the Internet of Things

The emergence of IoT applications has risen the security issues of the big data sent by the IoT devices. The design of lightweight cryptographic algorithms becomes a necessity. Moreover, elliptic curve cryptography (ECC) is a promising cryptographic technology that has been used in IoT. However, connected objects are resource-constrained devices, with limited computing power and energy power. Driven by these motivations, we propose and develop a secure cryptographic protocol called CoopECC which leverages the organization of IoT nodes into cluster to distribute the load of cluster head (CH) among its cluster members. This technique proves that it optimizes the resource consumption of the IoT nodes including computation and energy consumption. Performance evaluation, done with TOSSIM simulator, shows that the proposed protocol CoopECC outperforms the original ECC algorithm, in terms of computation time, consumed energy, and the network ’ s lifespan.


Introduction
The emergence of IoT technology resulted in its integration in various applications including smart cities, healthcare, machine to machine systems, connected vehicles, and smart homes. Moreover, IoT technology was used within other cutting-edge technologies such as cloud computing, big data, and blockchain. This widespread of IoT integration raises the security issues and pushes the requirement of a reliable security protocols. However, the limited resource characteristic of IoT devices makes the development of lightweight algorithms a challenge.
Moreover, the big data volume generated by IoT devices increases the necessity of lightweight cryptographic algorithm to encrypt such data in privacy aware applications.
Although these security needs, recent studies [1] show that existing security protocols fail to fulfill the characteristics and requirements of IoT devices.
Moreover, as security protocols are based on cryptographic algorithms, their efficiency mainly depends on the efficiency of these cryptographic algorithms. Therefore, recent studies [2] have focused on the cryptographic algorithm for IoT.
Cryptographic systems are currently divided into two main areas: symmetric cryptography and asymmetric cryptography. While symmetric cryptography is often used for symmetric encryption, asymmetric cryptography encompasses two main use cases: asymmetric encryption and digital signature. Asymmetric cryptography is the choice of the most system due to its level of security. The most used asymmetric cryptographic methods are RSA [3] and ECC [1].
However, the RSA algorithm is not adapted to IoT devices due to its high key length [4]. An alternative to the RSA algorithm is the ECC algorithm. Indeed, ECC offers the same level of encryption strength for much shorter keys up to 160 bits instead of 1024 bits for the RSA. Therefore, ECC provides better security level while reducing computation power. Shorter keys make ECC more adequate for devices with limited storage capacity and processing power, such as those used in the Internet of Things.
However, elliptic curve operations still require a computation power that is not supported by IoT devices. The main complex ECC operations are the point multiplication, which is also called the scalar multiplication.
In this paper, we have used the paralleling technique. The latter makes it possible to distribute the tasks between the various nodes to accelerate the computation of the scalar multiplications. The proposed solution benefits from the massive node deployment and leverage the cooperation of these nodes to achieve the cryptographic task.
More precisely, our solution is more adapted to clusterbased network architecture, and it allows the cluster head (CH) to break down the computation task between the different members of the cluster. This permits to lighten the cryptography processing at IoT nodes.
The organization of this article is presented as follows: in Section 2, we present overviews of related works. Then, Section 3 is devoted to the presentation of the CoopECC for asymmetric cryptography. Subsequently, Section 4 presents the simulation results of the CoopECC protocol in relation of work subsequent and discussions. Finally, Section 5 concludes this paper and describes future perspectives.

Related Works
The clustering technique consists in partitioning the network into a set of clusters as presented in Figure 1. Each cluster contains a leader sensor node called CH. The role of CH consists of coordinating between the members of its cluster, thus collecting data and aggregating it and then transmitting it to the base station. The CH is selected to facilitate this role according to specific metrics including remaining energy power, its position. The most known protocols for clustering are LEACH [5] and HEED [6].
WSN are subject to various attacks like all computer networks. To mitigate these attacks, the adequate solution is to protect the data circulating between the nodes with the installation of a set of techniques and security mechanisms. Moreover, one must consider the resources of the sensor (computation power, energy level, etc.). The candidate security techniques must meet the main security requirements including integrity, confidentiality, authentication, and freshness of data. Integrity means that the data must not be modified during transmission [7]. Confidentiality ensures that information should never flow in a clear way between nodes, especially in critical applications such as military and healthcare. The data will be encrypted and, therefore, not interpretable and understandable by eavesdroppers [8]. Then, authentication protects the network against identity theft attacks by verifying the identity claimed by a node. Subsequently, the freshness technique ensures that the data received are recent.
In [9], the key Distribution Protocol to Secure Routing (KDSR) presents an efficient process to share local key distribution. Extend the OneTime Password (OTP) principle and propose a novel approach of OTP generation that relies on the ECC algorithm in order to ensure IoT security [10,11]. [12] allows discovering the correlations among sustainable development goals and information and communica-tions technologies. In [13], the author presents the security threats in mobile edge computing of IoT and proposes a physical layer authentication method which exploits channel state information to mitigate threats via detecting spoofing attacks in wireless networks.
In [14], the protocol KMMR presents three operations. At the beginning, it deals with light local processes orchestrated in ascending and descending levels. Second, it limits the impact of compromised nodes to local links only. Third, KMMR adds and revokes efficient secure nodes. ECC is an ondemand routing network protocol which is specially design for wireless sensor network and ad hoc [15,16].
In [17,18], the proposed protocol makes it possible to distribute the computation between the CH and the different members of the cluster. The CH requests these members nodes to calculate well-defined tasks. This operation saves energy and computation at the level of CH. However, the energy will be equal between the different nodes of the zone to oversee, which allows an extension of the life of the network. [19] uses the paralleling technique which makes it possible to accelerate the computation of scalar multiplications. This technique helps to make the work of the CH lightweight.
Currently, there are several challenges related to the development of WSN which is being researched with different technologies and various security-based studies. The authors conducted also their research on factors such as constraints, threats and actions to be taken, vulnerabilities, and security requirements. Based on the situation mentioned above, we have classified the different studies proposed according to the security strategies that were described in each study. These studies can be presented in two essential categories. Studies [20,21] are related to threats, and adopting proactive security measures helps prevent these attacks more effectively such as constraints and vulnerabilities in WSN networks, and other studies [22,23] show security requirements, such as how to take countermeasures and the solutions adopted.

The Proposed Protocol: CoopECC
Currently, the IoT is a global network where each entity has a unique address and is connected to the Internet. Any IoT device, including sensors and actuators, can be controlled by mobile phones; so, it will be possible to send data and receive commands. The IoT opens the way to a multitude of applications based on the interconnection between the physical world and cloud computing systems. However, before the large deployment of IoT applications, a number of challenges need to be resolved.
One of these challenges that IoT faces is security and privacy issues. In fact, lack of security increases the risk of users' personal information leakage, while the data is being collected and transmitted through the IoT devices.
Therefore, we propose in this paper a lightweight cryptographic protocol based on collaborative cryptographic mechanism. Our contribution aims to lighten the cryptographic task of the cluster head (CH) by distributing it among cluster members. This technique permits to prolong the network life. More precisely, we leverage the parallelization of scalar multiplications to distribute ECC operations between cluster members.
3.1. CoopECC Description. The ECC algorithm brings together a set of cryptographic techniques which use one or more properties of elliptic curves or more generally of an abelian variety. The use of this technique makes it possible to improve the existing cryptographic primitives, for example, by reducing the size of the cryptographic keys or to construct new cryptographic primitives which were not previously known. ECC is a collection of techniques that ensure data security between nodes while consuming less resource. This makes it possible to attract the attention of researchers more and more.
The advantage of ECC over other cryptography algorithms, e.g., RSA and AES [40], is to have secure communication with a short key size. An experiment was done by Gura et al. [48] that showed by a test with ECC, and only 160 bits are used compared to other asymmetric cryptography algorithms as RSA uses a 1024 bit key. Therefore, the short size of the ECC key enables fast computation, memory saving, and energy.
Our goal is to distribute tasks and simplify the cryptographic operations computation between the CH and its cluster members. More precisely, the proposed CoopECC protocol has the following characteristics: (i) Task distribution: this method permits to lighten the load of the CH. The CH distributes the main pro-gram among the members. This permits to execute the program faster (ii) Task parallelization: task parallelization allows procedures or threads to be executed by cluster members in parallel (iii) A lightweight computation: the proposed Coo-pECCconsumes less computation and energy power than the original ECC, and therefore, it fits the limited resources of IoT devices To provide parallel computation, we propose to share the memory of the CH between the different cluster member nodes. This shared memory will serve as a communication buffer between CH and its members, and therefore contains the exchanged data, as shown in Figure 2.
All cluster member nodes participate in parallel computations and can perform necessary data updates. This is a reliable and scalable configuration based on the available cluster members. Therefore, the operation of the system will greatly improve its performance.
Depending on the type of the used memory, the time management mechanism to be implemented may be different. The use of shared memory architecture allows easier cooperation between cluster members and therefore faster completion of their tasks. Figure 3 shows that n1 detects the memory block containing, writing, uploading, and reading data exchange X which is momentarily occupied by n2, and it is imperative that n1 will wait for n2 to terminate its current operation as illustrated in equation (1).
We propose a security algorithm in wireless communication deployed for IoT. We consider cluster-based network topology where a CH is responsible to collect, encrypt, and forward data to the destination. To ensure the security that preserve the confidentiality of data in particular, the ECC algorithm has been used initiated by a CH. As the sensor nodes are resource constraints including, energy, memory, and computation, the scaler multiplications of ECC (the more computational tasks) are done by a set of member nodes in parallels in a cluster provided by the CH.
The technical contribution of the paper is to perform multiplication calculations more efficiently, and the following approach is proposed: The objective is to calculate k * G, where G is a known fixed number and k is the input. The bits of k are divided into n equal parts. Each part is given to different nodes in a 3 Journal of Sensors cluster. Each of these nodes multiplies its part of k by G and returns the result to CH. The latter collects all the results after appropriate bit shifts to obtain k * G.
The CH decomposes the integer k into n segments S i of length b = dl/ne: G is a generator point and does not change during the life of the network. K * G will be broken down as follows (G i = 2 ib G is possible): Using equation (3), each member computations Q i and transmits the result to the CH. The latter combines them to have the final result.
3.2. CoopECC Operations. The CH receives data revealing a critical event from one of these member nodes. At this time, the CH must inform the BS to take the necessary precautions for all the nodes of the network. The other available members of the same cluster are asked to participate in the cryptographic computation to speed up the encryption procedure. The description of different steps is shown in Figure 4 and given below: (1) First, the CH authenticates the cluster member (2) Then, the CH requests the participation of each member node which has enough residual energy for parallel computation

Performance and Evaluation of CoopECC
In order to evaluate the performance of our CoopECC protocol, we implemented it on Telosb sensors, which are designed by Crossbow Technology for research purposes. The technical characteristics of Telosb sensors are presented in Table 1.
The development of the CoopECC protocol was carried out by the NesC (C for network and embedded system) language [49] and development language Tinyos [50]. In Table 2, we present the computation time in ms of our parallelism protocol. The gain expressed as a percentage, and it is calculated according to equation (6).
The gain obtained using the parallelism technique is shown in Table 2 and Figure 5. Figure 5 shows the computation time of ECC and CoopECC. More precisely, the computation time decreases progressively when more member nodes participate in the parallel computation.
We can notice a significant drop in acceleration as soon as we use more than 45 nodes. The cluster head needs additional time, called overcost, to coordinate radio communications, combine the results received, and calculate the final result.
We used scalar computation up to 60 nodes managed by a single CH in a single cluster. Compared to ECC, gain starts when a cluster contains more than 10 member nodes, and we have obtained a maximum gain of 60% when the number of members reaches 45 nodes. Each node performs the requested computation in minimum time and with very low power consumption. Every time, the number of nodes participating in the computation increases, and there will be an improvement in the life of the network. This implies that the CoopECC protocol presents a better design and a good functioning which allows it to properly manage its cluster composed of CHs and these members.
We define the computation time with p nodes as Tp, and we evaluate the performance of our method with its speed as Sp which is defined in equation (7), and results are cited in Table 3 and presented in Figure 6. Figure 6 shows that the curve is ascending when it exceeds 10 nodes. This acceleration allows to get results quickly without consuming high energy. Each time the number of nodes increases, the more gains we obtain. The role of the CH is to break down the tasks to simplify the processing by the members.   According to Figure 7, the number of nodes is less than 10, a higher energy consumption for the CoopECC protocol, and this is due to message transmission. Starting from 10 nodes participating in the computation task, the energy consumption of the CoopECC protocol is reduced compared to the ECC algorithm. In ECC, each time a node is elected as CH, it consumes energy, which might leads to its energy depletion and, therefore, a risk of having a limited lifetime of the network.
A very important energy gain when the computation is distributed between a CH and its members. CoopECC offers low energy consumption, good acceleration, and long network lifetime. Figure 8 illustrates the lifetime of the CoopECC protocol compared to the number of live nodes per round. The first nodes start dying for CoopECC at the 700 rounds, while in the ECC, the first nodes start dying at the 500 rounds. At the end of the simulation, the number of living nodes reaches 1400 rounds for CoopECC and 1200 for ECC. Consequently, CoopECC allows extending the lifetime of the network compared to ECC by maximizing the lifetime of CHs.

Conclusion
Cryptography is a widely used solution to secure communication between IoT devices. Our proposed CoopECC protocol is well suited to resource constrained devices. Indeed, CoopECC permits to speed up the cryptographic operations computation based on parallelism concept. More precisely, a computation task is distributed among cluster members to offload the CH. To prove the efficiency and robustness of our approach, we set up a simulation using the TOSSIM simulator. The performance evaluation results have proven the    Journal of Sensors efficiency of our protocol. More precisely, results show that CoopECC offers an interesting gain in terms of energy consumption, good acceleration, computation time, and an extension of network's lifespan. The proposed CoopECC fits the requirement of real-time applications, where the network needs to report an urgent event to the base station, for example, the detection of a natural disaster in environmental monitoring application.
As future work, we plan to work on cryptographic solution for cognitive IoT and using federated learning technique.

Data Availability
The data used to support the findings of the manuscript are available within the article.

Conflicts of Interest
The author(s) declare(s) that they have no conflicts of interest.