# A Secure Protocol against Selfish and Pollution Attacker Misbehavior in Clustered WSNs
## 2 Related Work  
In this section, we present feedback on the literature on secure protocols dealing with availability and integrity requirements in _WSNs_. Many studies have been conducted to propose solutions that provide data availability to routing protocols, whether by preventing or detecting _DoS_ attacks in _WSNs_. In Ref. [16], the authors proposed a protection against _DoS_ attacks in _WSNs_. Their solution is based upon two phases. The first phase partitions the network into clusters via the Hybrid Energy-Efficient Distributed clustering (_HEED_) protocol. The second sets up a Key Distribution Server (_KDS_), which supplies each node with session keys and unique _ID_s. Then, it executes a mutual authentication process between server and _CH_s and then between _CH_s and cluster members using a hash function. When a _CH_ detects a malicious node after an unsuccessful authentication process, it requests the _KDS_ to delete its secret key and requests all the other _CH_s to block it from inter-cluster communication. Consequently, this node becomes keyless and all the services related to it are arrested. After a certain period of time, the _KDS_ calculates new session keys for each _CH_ to communicate with the server and with the cluster members. Although the proposed mechanism can prolong the network lifetime and reduce the overhead using HEED clustering protocol, the cryptography-based mechanism used for defending _DoS_ attacks is computationally expensive and also energy consuming. [PERSON] et al. designed a clustering-based approach to address _DoS_ attacks in _WSNs_[17]. Their approach is conducted in two phases. The first phase elects a control node (_Crode_) with a recursive low-energy adaptive clustering hierarchy (_LEACH_) processing algorithm, for each cluster. The second phase permits detecting and blocking of compromised nodes by the _Crode_. When a node sends a number of messages that are greater than a threshold, the _Crode_ identifies that node as a compromised node. All messagessent by the compromised node will be rejected and ignored by the neighboring nodes. The proposed protocol tends to provide significant results in term of time detection and throughput. However, it only deals with a specific type of _DoS_ attack, which is excessive data transmission to drain the node's energy. In addition, it does not consider the case when a _CH_ node executes the attack. In Ref. [18], the authors adopted recursive clustering based on the _LEACH_ algorithm. However, they enhanced it by using a novel algorithm named Fast and Flexible Unsupervised Clustering Algorithm (_FFUCA_). In this approach, the recursive clustering is used to identify the _CH_ node and control nodes (_Cnode_) in each cluster, taking into account the node's location and energy consumed. The authors compared the relevance of these two algorithms (_FFUCA_ and _LEACH_). _FFUCA_ generates an optimal solution for minimizing distances between _Cnode_ and sensor nodes when deploying the network compared to _LEACH_. It also achieves better _DoS_ detection for false positive and false negative rates. However, this approach still does not deal with the case when the _CH_s are compromised. [PERSON] et al. proposed a new approach for detection of selfish node's behavior in _WSN_[19]. They used average and maximum values of re-transmissions in several nodes aimed to detect selfish nodes in the network. First, the protocol sets the shortest routes using [PERSON]'s algorithm. Then, it decides on a node type, whether it is a partially selfish node, a fully selfish node or a non-selfish node, using a threshold value and the calculated maximum value of re-transmissions. This system detects but does not prevent selfish behavior when routing data in the network. [PERSON] et al. [20] introduced an exponential trust-based mechanism to identify malicious nodes in a clustered network. Heads of clusters are selected based on their higher energy level.