In this article, in order to identify and prevent this type of attacks, the principle of clustering and moving similar nodes together in highways and high-traffic routes is used for local search and reducing the sending and receiving messages, as well as accelerating the recognition. Fuzzy system is used as follows for determine the cluster head by RSU.
First step: real value input and conversion to fuzzy
The first step in the fuzzy decision making process is to reconstruct the real variables; That is, at this stage, the real variables become linguistic variables. The three parameters of the distance between the vehicle and the neighboring vehicles, the number of nodes around the vehicle, and the speed difference between the vehicle and the neighboring vehicles are used as the input of a fuzzy system. These values are all converted to values between zero and one to determine their membership ratio.
Step 2: Check the law:
Based on the previously obtained fuzzy values, the elicitation of these values is determined to specify the new fuzzy output set. With the help of if-then rules, the behavior of the system is determined. For example, a vehicle that has a small speed difference with the rest and a small distance difference with other vehicles, and a large number of nodes that have a direct connection with that node, this node is the most suitable node to become a cluster head. Table 2 shows the set of rules used in this fuzzy system
Table 2
Fuzzy rules for cluster head selection
Rule #
|
Input parameters
|
Output parameter
|
number of surrounding vehicles
|
distance difference
|
speed difference
|
probability of cluster head
|
1
|
high
|
high
|
high
|
medium
|
2
|
high
|
high
|
medium
|
medium
|
3
|
high
|
high
|
low
|
high
|
4
|
high
|
medium
|
high
|
low
|
5
|
high
|
medium
|
medium
|
medium
|
6
|
high
|
medium
|
low
|
high
|
7
|
high
|
low
|
high
|
high
|
8
|
high
|
low
|
medium
|
high
|
9
|
high
|
low
|
low
|
high
|
10
|
low
|
high
|
high
|
low
|
11
|
low
|
high
|
medium
|
low
|
12
|
low
|
high
|
low
|
low
|
13
|
low
|
medium
|
high
|
low
|
14
|
low
|
medium
|
medium
|
medium
|
15
|
low
|
medium
|
low
|
high
|
16
|
low
|
low
|
high
|
low
|
17
|
low
|
low
|
medium
|
medium
|
18
|
low
|
low
|
low
|
high
|
19
|
medium
|
high
|
high
|
low
|
20
|
medium
|
high
|
medium
|
low
|
21
|
medium
|
high
|
low
|
medium
|
22
|
medium
|
medium
|
high
|
medium
|
23
|
medium
|
medium
|
medium
|
medium
|
24
|
medium
|
medium
|
low
|
medium
|
25
|
medium
|
low
|
high
|
medium
|
26
|
medium
|
low
|
medium
|
medium
|
27
|
medium
|
low
|
low
|
high
|
Step 3- In this step, the fuzzy output is specified for each vehicle
Step 4 In this step, the real output of the final fuzzy system is determined for each of the vehicles.
The fuzzy output value is a real number that determines the rank of each vehicle to be cluster head.
Mamdani method was used to calculate the inferred value. With the help of appropriate fuzzy rules and Mamdani analysis method, the output of the system has been determined. The output of the fuzzy system is calculated into the components of each of the neighboring nodes of the RSU, and among the obtained values, the node that obtained the largest output value is introduced as the cluster head. Of course, in the proposed method, each RSU must determine both the left path cluster head and the right path cluster head.
In this article, directional antennas installed on vehicles and capable of receiving messages by determining the radar angle are used to identify the vandal node, and also a fuzzy system is used to validate the vehicles. As soon as the message is received, its position is checked, and it is confirmed or rejected by checking the positions of the nodes in the cluster, and the reception angle is calculated with the help of the location coordinates of the cluster head and the sender. Then the angle of the antenna and the angle of the message are compared and if there is a discrepancy, the message is suspicious and the sending node is known as Sybil. The cluster head introduces the Sybil node to the cluster members and RSUs to remove it from the network and ignore its messages.
The routing algorithm used to send messages in this article is the AODV routing protocol. Using the AODV routing protocol makes the routes not include loops and the shortest possible route is also selected. Also, this protocol can make manual changes in routes and if there is an error, it will be able to find and replace new routes. The AODV protocol quickly adapts to the dynamic topology conditions of the VENET. Another feature of this protocol is the low amount of processing and memory required. The AODV protocol uses the destination sequence number to prevent loops.
Objectives of the plan
Sybil attack detection scheme in VENT networks should achieve three goals:
- Privacy: The vehicle does not want to share its information with other vehicles and RSUs because such information can be confidential. The detection scheme should prevent vehicle information leakage.
- Rapid detection: When a Sybil attack occurs, the detection scheme must react before the attack ends. Otherwise, the attacker can reach his goal.
- Individual diagnosis: The principle of Sybil attack is that the decision is made based on group discussions. To eliminate the possibility of starting an attack, the diagnosis should be done independently by the checker without collaboration with others.
assumptions
-
All nodes periodically broadcast the beacon packet
-
Each beacon package includes: nickname and position coordinates at the moment of sending the message, timer - speed and direction, etc.
-
RSUs are installed in the road area
-
The TA authority is responsible for assigning vehicle nicknames and transferring them to nodes and RSUs
-
There is a reliable connection between TA reference and RSUs
-
RSUs and TA are valid
-
All vehicles are equipped with OBU device and directional antenna
In the proposed method, same direction vehicles are divided into separate clusters, and the task of finding the malicious node is the responsibility of the cluster head and cluster members, as well as the RSU. In addition to determining the cluster head, RSUs are also responsible for identifying the malicious node. For this purpose, as soon as each vehicle enters the area of an RSU, it sends a beacon message to introduce itself, the RSU checks the position of the node with the help of a directional antenna, and then Confirms or rejects the node If the node is valid, the RSU stores the vehicle ID to participate in the cluster head determination. The RSU determines the cluster head from among the surrounding vehicles within certain period of time; In this paper, this duration is equal to the time a vehicle travels the RSU range with an average speed. Figure 2 shows the flowchart of cluster head selection steps.
Figure 3 shows the fuzzy system of cluster head determination, where the inputs and outputs of the trapezoidal membership functions and Mamdani system are used to analyze the inputs.
The inputs of the fuzzy system are the sum distance difference of the vehicle with the surrounding vehicles ADL, the number of nodes around the vehicle NCL and the sum speed difference of the vehicle with the surrounding vehicles AVL.
Number of neighboring nodes: RSU counts neighboring nodes each node (refers to nodes that directly communicate with the node and their distance is less than 300 meters) and assign to each node as the number of neighboring nodes. Eq. 1 shows the number of neighboring nodes
$$NCL=n {d}_{k}<300$$ (1)
dk is the distance of the node with other nodes and n is the number of nodes whose distance with the desired node is smaller than 300. In Fig. 4 shows the membership function of neighboring groups, which is trapezoidal-triangular.
Average Distance difference: RSU, using the formula\(\)2
Where (x, y) are the coordinates of the location of the vehicles, it obtains the distance of each node with the others and sums the results and assigns it to each node as the distance difference (the purpose calculating the distance between each node and other nodes is adjacent to RSU). Formula 3 is used to calculate the average distance difference of each node with other nodes
$$ADl=\frac{\sum _{i=1}^{n}({d}_{k}-{d}_{i})}{n}$$ (3)
Where d is the distance between the nodes, k is the desired node, and n is the number of nodes around the RSU.
Figure 5 shows the membership function of the average distance difference. This function has been selected as trapezoidal-triangular for more accurate performance.
Average Speed difference: The speed difference of the node with neighboring nodes is measured by RSU at the moment of cluster head calculation. This speed difference is calculated for all nodes and is used as one of the input parameters for each node in the cluster head selection. (The goal is to calculate the average sum of the speed differences between each node and the other nodes). Eq. 4 is used to calculate the average speed difference of each node with other nodes
$$AVl=\frac{\sum _{i=1}^{n}({v}_{k}-{v}_{i})}{n}$$ (4)
Where vk is the speed of the target node, vi is the speed of other neighboring nodes RSU.
Figure 6 shows the membership function of the average distance difference. This function has been selected as trapezoidal-triangular for more accurate performance.
System output: Finally, each RSU gives the calculated information of its neighboring nodes as input for each node to the fuzzy system, and then the node that has the best state in the output of the fuzzy system is selected as the cluster head. and to other nodes introduce. The steps to select the cluster head are as follows
RSU selects the node that has the most neighbors, the smallest distance difference, and the smallest speed difference as the cluster head. if several nodes have equal chances to be the cluster head, the node with the lowest speed difference is selected.
The output of the fuzzy system is calculated according to the values of the input parameters for each node, and each RSU determines two cluster heads, one for the nodes that move from left to right and the other for the nodes that move from right to left. This value is extracted from the fuzzy set using Eq. 5, which uses the Center of Surface (COA) method to obtain the output. In this equation, a(x) represents the membership function of fuzzy sets.
COA=\(\frac{{\int }_{Z}^{}{\mu }A\left(x\right)zdz}{{\int }_{Z}^{}{\mu }A\left(z\right)dz}\) (5)
Figure 7 shows the output membership function what has been selected as trapezoidal-triangular
After determining the cluster head, the nodes introduce themselves to the surrounding cluster heads by sending a message. Cluster headers check the received message and determine its validity. And if they are valid, they will join the node and they will be allowed to send messages.
Nodes use the beacon received from the cluster head and their locator to confirm the cluster head of their range.
Each cluster head moves along the path along with its members. Along the way, some vehicles are removed from the cluster and others are added to the cluster.
If the connection between the node and the cluster head is interrupted, the node again requests membership to the surrounding cluster heads.
Nodes use AODV algorithm to send messages.
The steps to confirm and join the node in the cluster are as follows:
In order to identify the malicious node with the help of directional antenna and the position in the message, the cluster head checks the validity of the claim, if the angle obtained from the directional antenna and the angle calculated using the position in the message are not equal, the claim is not confirmed and the node is introduced as Sybil. The position angle in the message is calculated using the following formula
Where (x1, y1) are the coordinates of the cluster head and (x2, y2) are the coordinates of the node sending the message.
If the above two angles are equal, the cluster head looks for the node ID in the neighbor list, if it exists, it is allowed to connect, otherwise, the node membership is checked with the help of the fuzzy system. If the node obtains the necessary score in the fuzzy system, it is allowed to communicate. Otherwise, communication is not allowed.
In this article, fuzzy system is used to determine the membership. This system uses four inputs: velocity difference (VD) with the cluster head, distance difference (DD) with the cluster head, presence time (PT) in the cluster and received signal strength. Each of the modes can have three modes: low, medium and high. And with the help of fuzzy rules and Mamdani inference, they are converted into three good, average and bad output states. The true value of the output expresses the cluster membership score. The Fig. 8 shows the architecture of fuzzy membership determination system
The fuzzy membership determination system has three inputs: distance difference and speed difference with the cluster head and the time of being in the cluster. If the output of this numerical fuzzy controller is less than 0.4, the membership of the node is not accepted. But if it is 0.4 or more, its membership is accepted. Triangular membership functions have been used in the inputs and outputs of the fuzzy system, and the analysis of the rules has been done with the help of Mamdani's fuzzy system.
Sybil node identification and its membership in the cluster happen at the same time, that is, if the node is valid, it is allowed to join and can send messages, but if the node's validity is not confirmed, it cannot operate in this cluster. Figure 9 shows the flowchart of node identification and membership in the cluster.
The proposed algorithm detects the Sybil node by determining the cluster locally with the least sending and receiving messages. In addition to reducing the traffic load of the network, this work also makes Sybil node detection faster. The fuzzy system helps to select the cluster members more optimally and establish stronger connections between the cluster head and its members by finding the node with the right position to become the cluster head and also to be a member of the cluster.